Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Лабораторная работа №1. Программирование с использованием встроенных функций ввода/выводаСтр 1 из 5Следующая ⇒
Общие сведения Перед выполнением лабораторной работы студент обязан ознакомиться с теоретическим материалом по данной теме, выполнить предварительную часть отчета по лабораторной работе и составить исходный текст программы. Только после этого студент допускается к выполнению лабораторной работы за ЭВМ. Отчет по лабораторной работе должен содержать: Предварительная часть 1. Тема и цель работы 2. Условие задания (полностью) 3. Постановка задачи 4. Краткое изложение метода решения 5. Блок-схема алгоритма Основная часть 1. Отлаженный (без ошибок) текст программы 2. Результаты работы программы 3. Выводы Лабораторная работа считается отработанной, если все ее задания выполнены на компьютере, получены соответствующие результаты, составлен полный отчет по указанной форме. После выполнения студент допускается к защите лабораторной работы. На защиту выносятся: 1. теоретические сведения по теме данной лабораторной работы 2. структура алгоритмов и принципы работы программ 3. контрольные вопросы.
Лабораторная работа считается выполненной, если она отработана и защищена. Лабораторная работа №1. Программирование с использованием встроенных функций ввода/вывода Цель: Приобрести навыки программирования с использованием встроенных функций ввода/вывода. Теоретические разделы для выполнения лабораторной работы I. Структура программы. II. Описание констант и переменных. III. Стандартные функции ввода/вывода языка программирования. Задание. Составить программу, которая переводит одни единицы измерения в другие. Исходные данные вводятся с клавиатуры, результат выводится на экран. Варианты заданий указаны в приложении 1. Замечание. Для ввода данных использовать встроенную функцию InputBox. Для вывода результатов использовать встроенную функцию MsgBox. Пример. Перевести минуты в часы: Sub lr1() Const min_1h = 60 Dim min As Integer Dim Hours As Single min = Val(InputBox(" Введите количество минут" )) Hours = min / min_1h MsgBox min & " минут составляет " & Hours & " часов" End Sub Контрольные вопросы 1. Использование и описание констант. 2. Использование и описание переменных. 3. Формат функции InputBox. 4. Формат функции MsgBox. Варианты заданий лабораторной работы №1. Перевести одни единицы измерения в другие:
Лабораторная работа №2. Программирование линейных и разветвляющихся вычислительных процессов Цель: Приобрести навыки программирования линейных и разветвляющихся вычислительных процессов. Варианты заданий лабораторной работы №2.
Цель: Приобрести навыки программирования разветвляющихся вычислительных процессов. Текст программы (Часть 1, оператор If)
Sub lr2_1() Const pi=3.14 Dim y, a, b As Single a=Val(InputBox(“Введите значение a”)) b=Val(InputBox(“Введите значение b”)) If a< 0 then y=cos(b+pi)-a ElseIf a> exp(1) then y=5*(b+pi) Else y=a-sqr(b+pi)-a End If MsgBox “Результат Y = ” & y, , “Вывод результатов” End Sub
Текст программы (Часть 2, оператор Select Case)
Sub lr2_2() Const pi=3.14 Dim y, a, b As Single a=Val(InputBox(“Введите значение a”)) b=Val(InputBox(“Введите значение b”)) Select Case a Case Is< 0 y=cos(b+pi)-a Case Is> exp(1) y=5*(b+pi) Case Else y=a-sqr(b+pi)-a End Select MsgBox “Результат Y = ” & y, , “Вывод результатов” End Sub
Контрольные вопросы 1) Структура логического оператора If … Then … Else 2) Структура логического оператора If … Then … Else … End If 3) Структура логического оператора If … Then … ElseIf … Else … End If 4) Структура оператора выбора Select Case … End Select Приложение 3. Варианты заданий лабораторной работы №3. 1. w =
2. v =
3. 4.
5.
6.
7.
8.
9.
10.
11. 12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28. 29.
30.
Замечание 1) При написании программ необходимо учитывать область допустимых значений (ОДЗ). 2) Если во второй части задания А использовался оператор Do While … Loop, то в третьей части задания А лабораторной работы следует использовать оператор цикла Do…Loop Until, и наоборот. Пример Вычислить выражение
Метод разделения на части состоит в следующем: исходное выражение разбиваем на элементарные части, например: а = sin x b = x-2 c = cos x После разбиения на части расчетная формула имеет следующий вид:
ОДЗ: b< > 0, c> 0 Текст программы (Часть 2, оператор цикла Do While … Loop) Sub lr4_2() Dim x, y, a, b, c, xn, xk, dx As Single xn=Val(InputBox(“Введите начальное значение хn”)) xk=Val(InputBox(“Введите конечное значение хk”)) dx=Val(InputBox(“Введите шаг dx”)) x=xn Do While x< =xk a=sin(x) b=x-2 c=cos(x) If b< > 0 then If c> 0 then y=a/b-log(c) Else Y=“Подлогарифмическое выражение < = 0” End If Else Y= “Знаменатель = 0” End If MsgBox “Результат Y = ” & y, , “Вывод результатов” x=x+dx Loop End Sub Контрольные вопросы Оператор цикла For … Next Операторы цикла Do While … Loop, Do Until … Loop Операторы цикла Do … Loop While, Do … Loop Until Приложение 4. Варианты заданий лабораторной работы №4. Задание Б. 1. Найти сумму ряда S= с точностью до = . Результат печатать.
2. Вычислить cos ( - известная величина ) разложением в ряд Тейлора с точностью до = .
3. Вычислить sin ( - известная величина ) разложением в ряд Тейлора с точностью до = .
4. Найти среднее арифметическое целых чисел от до . 5. Найти среднее арифметическое целых чисел от до .
6. Вычислить для любого вводимого .
7. Вычислить значение при = разложением в ряд Тейлора с точностью до = .
8. Вычислить .
9. Найти сумму ряда S= + с точностью до = .
10. Найти среднее геометрическое всех четных чисел от 10 до 21 и среднее геометрическое всех нечетных чисел из того же интервала (в одном цикле).
11. Найти сумму ряда S= + с точностью до E=10 .
12. Найти сумму ряда S= с точностью до E=10 .
13. Вычислить число сочетаний из по по формуле С , где , целые числа ввести с клавиатуры.
14. Вычислить значение выражения , где ввести с клавиатуры.
15. Вычислить число размещений из по по формуле , где целые числа и ввести с клавиатуры .
16. Вычислить приближенно значение бесконечной суммы с точностью до E=10 Значение и точность расчетов ввести с клавиатуры.
17. Вычислить приближенно значение бесконечной суммы с точностью до E=10 Значение и точность расчетов ввести как константы.
18. Вычислить значение функции для . Вычисления производить до тех пор, пока . Исходные данные ввести с клавиатуры. 19. Вычислить бесконечную сумму с точностью до E=10 . 20. Вычислить бесконечную сумму с точностью до E=10 .
21. Составить программу для вычисления и вывода на экран таблицы значений сумм для , изменяющегося с шагом . Исходные данные: .
22. Переменная изменяется от до включительно с шагом . Найти наименьшее значение функции на этом интервале.
23. Переменная изменяется с шагом на интервале . Найти наибольшее значение функции для , принимающих указанное значение. Результат печатать.
24. Вычислить значение многочлена Лагерра для по рекуррентной формуле : .
25. Вычислить значение многочлена Лежандра для по рекуррентной формуле : .
26. Вычислить значение многочлена Эрмита для , по рекуррентной формуле : .
27. Вычислить с точностью до значение дилогарифма для пяти значений по его разложению в ряд , .
28. Определить относительную погрешность вычисления факториала по формуле Стирлинга для значений .
29. Посчитать, сколько отрицательных значений принимает функция , если изменяется от 0, 25 до 3 с шагом 0, 05. Предусмотреть случай, когда функция терпит разрыв. 30. Вычислить бесконечную сумму с точностью до Е=10-3. Пример (Часть 1) Дан массив а = { а1, а2, …, а15}. Найти модуль разности между максимальным и минимальным элементами массива.
Sub lr5_1() Dim a(15), min, max, mod_raz, i As Integer Dim s As String S=”” For i=1 to 15 A(i)=Val(InputBox(“Элемент вектора”)) S=S & A(i) & “ “ Next i MsgBox s, , “Введенный массив” max=a(1) min=a(1) For i=2 to 15 If a(i)< min Then min=a(i) If a(i)> max Then max=a(i) Next i mod_raz=abs(max-min) MsgBox “Min = “ & min & “ Max=” & max & “Модуль разности =” & mod_raz End Sub
Пример (Часть 2) Задана матрица А размером 4´ 4. Сумму отрицательных элементов строки с наименьшим значением матрицы.
Sub lr5_1() Dim a(4, 4), min, i, j, imin, Sum_s As Integer Dim s As String S=”” For i=1 to 4 For j=1 to 4 A(i, j)=Val(InputBox(“Элемент матрицы”)) S=S & A(i, j) & “ “ Next j S=S & Chr(13) & Chr(10) Next i MsgBox s, , “Введенная матрица” min=a(1, 1) imin=1 For i=1 to 4 For j=1 to 4 If a(i, j)< min Then min=a(i, j) imin=i End If Next j Next i MsgBox “Min = “ & min & “ imin=” & imin Sum_s=0 For j=1 to 4 If a(imin, j)< 0 Then Sum_s=Sum_s + a(imin, j) Next j End Sub
Контрольные вопросы
1. Структура оператора цикла For … Next 2. Использование вложенных операторов цикла 3. Алгоритмы нахождение минимальных и максимальных значений 4. Работа с индексами массивов и матриц
Приложение 5. Варианты заданий лабораторной работы №5. Часть 1. 1. Найти минимальный и максимальный элементы вектора y={y1, y2, …, y10} и поменять их местами. 2. Задан вектор c={c1, c2, …, cn}. Найти вектор y={c1/|c|, c2/|c|, …, cn/|c|}, где |c| - длина вектора c. 3. Даны два вектора x={x1, x2, …, xn} и y={y1, y2, …, yn}. Определить, ортогональны ли эти векторы. 4. Найти косинус угла между двумя векторами a={a1, a2, …, a20} и b={b1, b2, …, b20}. 5. Из двух векторов x={x1, x2, …, x16} и y={y1, y2, …, y16} определить тот, у которого больше длина. 6. Найти сумму s положительных компонентов вектора b={b1, b2, …, b15}. Образовать новый вектор по формуле 7. Заданы два вектора a={a1, a2, …, an} и b={b1, b2, …, bn}. Определить тот из них, который имеет наименьшую длину. 8. Найти наименьший из положительных элементов массива x={x1, x2, …, x20}. 9. Найти наибольшее значение суммы xi+yi для массивов x={x1, x2, …, x20} и y={y1, y2, …, y20}. 10. Даны векторы u={u1, u2, …, u8} и w={w1, w2, …w8}. Найти среднее арифметическое длин этих векторов. 11. Вычислить сумму отрицательных и произведение положительных элементов вектора x={x1, x2, …, x10}. Найти длину этого вектора. 12. Найти индексы наименьшего и наибольшего элементов вектора x={x1, x2, …, x10}. Определить их сумму S. 13. Определить количество положительных элементов вектора x={x1, x2, …, x20}. Образовать новый вектор y из положительных элементов вектора x. 14. Найти минимальный и максимальный элементы вектора y={y1, y2, …, y10}. Вывести на экран их значения и индексы. 15. Вычислить среднее арифметическое всех положительных элементов вектора x={x1, x2, …, x20}. 16. Заданы векторы a={a1, a2, …, an} и b={b1, b2, …, bn}. Найти скалярное произведение этих векторов. 17. Даны векторы x={x1, x2, …, x9} и y={y1, y2, …, y9}. Найти количество положительных, отрицательных и нулевых элементов в каждом из этих векторов. 18. Определить индекс наименьшего из положительных элементов вектора y={y1, y2, …, y15}. 19. Даны векторы a={a1, a2, …, a10} и b={b1, b2, …, b10}. Найти sin угла между ними. 20. Задан вектор a={a1, a2, …, a8}. Поменять его первый элемент с минимальным и последний a8 – с максимальным. 21. Определить индекс наибольшего из отрицательных элементов вектора y={y1, y2, …, y15}. 22. Определить количество положительных элементов вектора x={x1, x2, …, x20}. Образовать новый вектор y из отрицательных элементов вектора x. 23. Определить индекс наименьшего по модулю элемента вектора y={y1, y2, …, y15}. 24. Даны два вектора x={x1, x2, …, xn} и y={y1, y2, …, yn}.Найти значение z=2·|x|– |y|, где |x|, |y|- длины векторов x, y. 25. Вычислить среднее геометрическое всех положительных элементов вектора x={x1, x2, …, x20}. 26. Даны два вектора x={x1, x2, …, xn} и y={y1, y2, …, yn}. Удалить из вектора x все нулевые элементы, а из вектора y все отрицательные. 27. Дан вектор x={x1, x2, …, xn}. Найти z=sin(k)-cos(m), где k–максимальный по модулю элемент, m – минимальный элемент вектора. 28. Найти наибольший из положительных элементов массива x={x1, x2, …, x20} и количество отрицательных элементов.. 29. Дан вектор x={x1, x2, …, xn}. Найти: сумму элементов больших 10, произведение отрицательных элементов и наибольший по модулю элемент вектора. 30. Даны векторы a={a1, a2, …, a10} и b={b1, b2, …, b10}. Найти косинус угла между ними и количество элементов вектора равных нулю.
Приложение 6. Варианты заданий лабораторной работы №5. Часть 2. 1. Дано натуральное число n. Получить действительную матрицу [аij ] i,, j=1, …, n, для которой аij = ; Найти количество отрицательных элементов матрицы 2. Дано натуральное число n. Получить действительную матрицу [аij ] i, j=1, …, n, для которой
Найти количество отрицательных элементов матрицы.
3. Дана действительная квадратная матрица [аij ] i , j=1, …, n. Получить две квадратные матрицы [bij ] i , j=1, …, n, [сij ] i , j=1, …, n, для которых bij = сij =
4. Получить действительную матрицу [аij ] i , j=1, …, 7, первая строка которой задается формулой а1j = 2j+3 ( j = 1, …, 7 ), вторая строка задается формулой а2j = j ¾ ( j = 1, …, 7 ), а каждая следующая строка есть сумма двух предыдущих.
5. Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: а) каждого из столбцов; б) каждого из столбцов, имеющих четные номера.
6. Дано натуральное число n. Выяснить, сколько положительных элементов содержит матрица [аij ] i , j=1, …, n, если аij = cos ( + n)
7. Дана действительная матрица размера n х m, в которой не все элементы равны нулю. Получить новую матрицу путемделения всех элементов данной матрицы на её наибольший по модулю элемент.
8. Даны натуральное число m, целые числа а1, ……., аm и целочисленная квадратная матрица порядка m. Строку с номером i матрицы назовем отмеченной, если аi > 0, и неотмеченной в противном случае. а) Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках. б) Нужно все элементы, расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на –1, положительные – на 1, а нулевые оставить без изменения.
9. Дана действительная квадратная матрица порядка 12. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.
10. Даны действительные числа Х1, …., Х8. Получить действительную квадратную матрицу порядка 8:
11. Дана действительная матрица размера m х n. Определить числа b1, …, bm, равные соответственно: а) произведениям элементов строк; б) наименьшим значениям элементов строк; в) значениям средних арифметических элементов строк; г) разностям наибольших и наименьших значений элементов строк.
12. Все элементы с наибольшим значением в данной целочисленной квадратной матрице порядка 10 заменить нулями.
13. Дана действительная матрица размера 6 х 9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.
14. Дана действительная матрица размера 18 х n. Найти значение наибольшего по модулю элемента матрицы, а также индексы какого-нибудь элемента с найденным значением модуля.
15. Дана действительная матрица размера m х n. Найти сумму наибольших значений элементов ее строк.
16. В данной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.
17. В данной действительной матрице размера 6 х 9 поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагается, что эти элементы единственны.
18. Дано натуральное число n. Выяснить, сколько отрицательных элементов содержит матрица [аij ] i , j=1, …, n, если аij = sin (i+j/2)
19. Даны натуральное число n , действительная квадратная матрица порядка n, действительные а1, …, аn+5 Элементы последовательности а1, …, аn+5 домножить на 10, если наибольший элемент матрицы (в предположении, что такой элемент единственный ) находится на главной диагонали, и на 0.5 в противном случае.
20. В данной квадратной целочисленной матрице порядка 17 указать индексы всех элементов с наибольшим значением.
21. Дана действительная матрица размера m х n. Определить числа b1, …, bm, равные соответственно: а) наименьшим значениям элементов строк; б) значениям средних арифметических элементов строк; в) разностям наибольших и наименьших значений элементов строк.
22. Дана действительная матрица размера m х n, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением.
23. Дана действительная матрица размера m х n.Получить последовательность b1, …, bn, где br –это а) наибольшее из значений элементов r-й строки; б) сумма наибольшего и наименьшего из значений элементов r-й строки; в) число отрицательных элементов r-й строке; г) произведение квадратов тех элементов r-й строки, модули которых принадлежат отрезку [1, 1.5].
24. Дана целочисленная квадратная матрица порядка 8. Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов. Если таких столбцов несколько, то взять первый из них.
25. Даны натуральное число n, целочисленная квадратная матрица порядка n. Получить b1, …, bn, где bi- это а) наименьшее из значений элементов, находящихся в начале i – й строки матрицы до элемента, принадлежащего главной диагонали, включительно: б) значение первого по порядку положительного элемента i – й строки (если таких элементов нет, то принять bi=1); в) сумма элементов, расположенных за первым отрицательным элементом в i – й строке (если все элементы строки неотрицательны, то принять bi = 100); г) сумма элементов i – й строки (если все элементы строки неотрицательны, то принять bi = -1 ).
26. Дана целочисленная квадратная матрица порядка n . Найти номера строк: А) элементы которых – нули; Б) элементы в каждой из которых одинаковы; В) все элементы которых четны; Г) элементы каждой из которых образуют монотонную последовательность (монотонно убывающую или монотонно возрастающую)
27. Даны натуральное число n, действительное число х, действительная матрица размера n х 2n. Получить последовательность b1, …, bn из нулей и единиц, где bi=1, если элементы i– й строки матрицы не превосходят х, и bi=0 в противном случае.
28. Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найти: А) сумму всех элементов; Б) наибольший из всех элементов.
29. Дано натуральное число n. Выяснить, сколько положительных элементов содержит матрица [аij ] аij = sin .
30. Все элементы с наименьшим значением в данной целочисленной квадратной матрице порядка 8 заменить наибольшими. Задание 1. Создать на рабочем Листе1 таблицу, содержащую не менее 10 записей 2. Разработать программу, которая содержит пользовательский тип данных, производит отбор требуемых записей, согласно заданию 3. Результаты работы программы вывести на рабочем Листе2 Пример Заказы
Получить список клиентов (с указанием количества заказа), заказавших телевизоры в количестве более 30. На рабочем листе1 в ячейках А1: Е11 содержится таблица заказов. Текст программы Type zakaz Tovar As String Klient As String Price As Single Kol_vo As Integer Sum As Single End Type Sub lr6() Dim Vedom(10) As zakaz, i, j As Integer For i=1 to 10 Vedom(i). Tovar=WorkSheets(“Лист1”).Cells(i+1, 1).Value Vedom(i). Klient=WorkSheets(“Лист1”).Cells(i+1, 2).Value Vedom(i). Price=WorkSheets(“Лист1”).Cells(i+1, 3).Value Vedom(i). Kol_vo=WorkSheets(“Лист1”).Cells(i+1, 4).Value Vedom(i). Sum=WorkSheets(“Лист1”).Cells(i+1, 5).Value Next i WorkSheets(“Лист2”).Range(“A1”).Value =”Клиент” WorkSheets(“Лист2”).Range(“B1”).Value =”Количество” WorkSheets(“Лист2”).Range(“C1”).Value =”Товар” j=2 For i=1 to 10 If Vedom(i).Tovar=”телевизор” and Vedom(i).Kol_vo> 30 Then WorkSheets(“Лист2”).Cells(j, 1).Value = Vedom(i).Klient WorkSheets(“Лист2”).Cells(j, 2).Value = Vedom(i).Kol_vo WorkSheets(“Лист2”).Cells(j, 3).Value = Vedom(i).Tovar j=j+1 End If Next i End Sub Контрольные вопросы 1. Описание пользовательских типов данных. 2. Формат инструкции Type. 3. Отбор записей, удовлетворяющих условию. 4. Доступ к рабочему листу. 5. Доступ к ячейкам рабочего листа. 6. Работа с объектами WorkSheet, Range, Cells.
Приложение 7. Варианты заданий лабораторной работы №6
1. Регистрация пациентов
Получить полный список пациентов с указанием имени пациента, даты операции с успешным результатом лечения для диагноза «Язва желудка» 2. Статистика по хирургическому отделению
Получить список хирургов старше 30 лет (с указанием № и имени хирурга) выполнивших операции с диагнозом «Аппендицит» 3. Учебное заведение
Получить список учебных заведений (с указанием названия) расположенных в Тамбове и имеющих кол-во студентов дневной формы более 2000 человек, а числом профессоров более 40 человек. 4. Результаты экзаменов
В какие дни и в каких аудиториях лектор Зайцев А.И. принимает экзамен по линейной алгебре у групп, кол-во студентов в которых меньше 25. 5. Студенческая группа
Получить список кураторов групп (с указанием фамилии, кафедры, возраста, группы) экономического факультета. 6. Движение поездов
Получить список городов, в которые прибывают поезда, проходящие расстояние более 1000 км., с кол-вом проданных билетов > 60% 7. Аэропорт
Получить список всех типов самолётов для рейсов, пунктом назначения которых является Тамбов с кол-вом проданных билетов > 30 8. Театральная афиша
Получить список театров и количество мест в залах, в которых идут спектакли А.П. Чехова 9. Киноафиша
Получить список кинотеатров (с указанием района, в котором он расположен), в котором идут полнометражные фильмы Одесской киностудии. 10. Библиотечная карточка
Получить список абонентов, которые читают произведения А.С. Пушкина, изданные до 1910г. 11. Выпуск продукции
Получить список наименований продукции (с указанием фирмы и типа предприятия) заказанных в количестве более 100 штук. 12. Учёт машинного времени
Получить список кафедр, использующих ПЭВМ IBM Pentium в дисплейном классе 521 свыше 20 часов. 13. Накладная
Получить список клиентов (с указанием даты выписки счетов) из Тамбова, получивших количество товара > 10 шт. 14. Учёт служащих
Получить список служащих (с № удостоверения) старше 30 лет работающих в должности ведущих специалистов. 15. Центр занятости Популярное:
|
Последнее изменение этой страницы: 2016-05-03; Просмотров: 1078; Нарушение авторского права страницы