Лабораторная работа № 6 Программирование с использованием подпрограмм пользователя
Цель работы — овладение навыками алгоритмизации и программирования задач с использованием подпрограмм пользователя различных видов, овладение навыками написания подпрограмм и обращения к ним, выбора параметров подпрограмм.
Задания для самостоятельной подготовки
1. Изучить:
— правила записи подпрограмм различных видов и способов обращении к ним;
— способы передачи параметров в подпрограмму;
— правила записи программ, использующих подпрограммы различных видов;
— порядок выполнения программ, использующих подпрограммы.
2. Разработать алгоритм решения в соответствии с заданием.
3. Составить программу решения задачи.
4. Подготовить тестовый вариант программы и исходных данных.
Задание к работе
Задание А.
Выполнить на ЭВМ программу, использующую подпрограмму-функцию, в соответствии с номером параметра, указанным в табл. 6.1.
Таблица 6.1
Вариант | Условия задачи | Примечания |
Вычислить наибольшие корни квадратных уравнений | Все корни действительные | |
Подсчитать число точек, находящихся внутри круга радиусом г с центром в начале координат; координаты заданы массивами Х(100), Y(100) | Расстояние точки от начала координат вычислять в подпрограмме | |
Определить периметры треугольников, заданных координатами их вершин ХА (5), ХВ (5), ХС (5) YA (5), YB (J), YC (5) | Длину стороны треугольников вычислять в подпрограмме | |
Подсчитать число точек, находящихся внутри круга радиусом г с центром в точке с координатами (1, 1); координаты заданы массивами Х (80), Y (80) | Расстояние точки от центра круга определять в подпрограмме |
Таблица 6.1 Окончание
Вариант | Условия задачи | Примечания |
Вычислить , где v1, v2, v3 – объемы шаров с радиусами r1, r2, r3 соответственно | vi вычислять в подпрограмме | |
Вычислить суммы положительных элементов массивов X (N), Y (M), Z (K) | ||
Вычислить среднее арифметическое положительных элементов для массивов A (N1), B (N2), C (N3) | ||
Подсчитать количество отрицательных элементов матриц X (10, 15) и Y (20, 12) | Количество отрицательных элементов матрицы вычислять в подпрограмме | |
Вычислить суммы положительных элементов каждой строки для матриц A (10, 12) и B (15, 10) | Сумму положительных элементов строки матрицы вычислять в подпрограмме | |
Вычислить , где xm1 и xm2 - наименьшие элементы массивов X1 (70), X2 (80) | Наименьший элемент одномерного массива вычислять в подпрограмме |
2. Проверить правильность выполнения программы с помощью тестового варианта.
Задание Б.
1. Выполнить на ЭВМ программу, использующую подпрограмму-процедуру в соответствии с номером, указанным в табл. 6.2.
Таблица 6.2.
Вариант задания | Условие задачи | Примечания | |
Вычислить , где s1 и k1 — сумма и количество положительных элементов массива Х(N); s2 и k2 — сумма и количество отрицательных элементов массива Y (M) | |||
Вычислить , где s1 и k1 — сумма и количество положительных элементов массива Х(100); s2 и k2 — сумма и количество отрицательных элементов массива Y (80) | Вычислять в одной подпрограмме s и k | ||
Вычислить и запомнить суммы положительных элементов каждой строки матрицы А (10, 20), В (15, 10) | |||
Вычислить , где x1 и x2 – корни уравнения , y1 и y2 - | Все корни действительные | ||
Найти наибольшие элементы и их порядковые номера массивов Х (N) и Y (М) | |||
Переписать положительные элементы массива Х(100) и Y (80) в массив Z подряд | Запись в массив Z осуществлять в подпрограмме | ||
Найти наименьшие элементы и номера строк и столбцов, в которых они расположены, для матриц А (10, 15) и В (15, 12) | |||
Вывести на печать элементы целочисленных матриц N (5, 8) и М (10, 6), кратные трем | |||
Вычислить , где xi и yi заданы массивами | Все суммы вычислять с использованием подпрограммы | ||
Вычислить , где xmax – максимальный элемент массива Х (50); ymin – минимальный элемент массива Y (40) | xmax и ymin вычислять в подпрограмме |
2. Проверить правильность выполнения программы с помощью тестового варианта.
Контрольные вопросы
1. Указать, при каких условиях целесообразно использование подпрограмм, какие выгоды они предоставляют пользователю.
2. Указать, в чем отличие различных видов подпрограмм пользователя.
3. Указать способы обращения к подпрограммам пользователя.
4. Указать способы передачи параметров в подпрограмму.
5. Указать, как организовать подпрограмму без параметров.
6. Перечислить, как согласуются формальные и фактические параметры.
7. Указать конструкции, которые могут быть формальными и фактическими параметрами.