ЛАБОРАТОРНАЯ РАБОТА № 7 (8 часов) ТЕМА: «Работа процедур» с подпрограммами с использованием функций и Необходимые технические средства: Персональный компьютер Пентиум-4. Необходимые программные средства: Система программирования Турбо Паскаль. Цель работы: Обучить студентов методам построения блок-схем и составления программ на языке Паскаль с подпрограммами-функциями и подпрограммами-процедурами. ЗАДАНИЕ: Построить блок-схему и составить программу для решения задачи по своему варианту. При составлении программы использовать подпрограммы-функции и подпрограммы-процедуры. Осуществить вывод значений вводимых исходных данных и результаты вычисления. Варианты к заданию Вар. 1 2 3 Условия задачи Вычислить корни квадратных уравнений x2-ax+b=0 cy2-dy-f=0 Подсчитать число точек, находящихся внутри круга радиусом r с центром в начале координат; координаты заданы массивами X(100), Y(100) Определить периметры треугольников, заданных координатами их вершин XA(5), XB(5), XC(5), YA(5), YB(5), YC(5) Примечание Все корни действительные Расстояние точки от начала координат вычислять в подпрограмме Длину стороны треугольников вычислять в подпрограмме 4 5 6 7 Подсчитать число точек, находящихся внутри круга радиусом r с центром в точке с координатами (1,1); координаты заданы массивами X(80), Y(80) Вычислить Z=(V1+V2+V3)/3, где V1, V2, V3-объёмы шаров с радиусами r1, r2, r3 соответственно Вычислить Z=(V1+S1+S2+V2+V3+S3)/6, где V1, V2, V3-объёмы шаров, S1,S2,S3 – площадь шаров с радиусами r1, r2, r3 соответсвенно Вычислить квадрат положительных элементов массивов X(N), Y(M), Z(K) Расстояние точки от центра круга определять в подпрограмме V1 ,V2 V3 вычислить в подпрограмме V1 ,V2 V3, S1 ,S2 ,S3 вычислить в подпрограмме N 60, M 60, K 70 Вычислить сумму среднегеометрического и среднеарифметического значения отрицательных элементов массивов A(10), B(20), C(20) 9 Вычислить среднееарифметическое N1 100, положительных элементов для массивов N2 100, A(N1), B(N2), C(N2) N3 100 Подсчитать средне геометрическое 10 значение массивов X(10,15) и Y(20,12) 0 xij 1, 0 yij 1 11 Вычислить суммы положительных элементов каждой матрицы A(10,12), --------B(15,10) 12 Вычислить Z= X m X m , где 1 2 Xm и X m2 1 2 --------наименьшие элементы массивов X1(70), X2(80) Вычислить сумму элементов главных M 20, 13 диагоналей матриц A(N,N), B(M,M) N 30 Вычислить Z= S1 S2 , где S1 – сумма Обе суммы вычислять в 14 одной программе 2 положительных элементов массива X(50); S2 – сумма отрицательных элементов массива Y(60) Подсчитать число нулевых элементов для M 20, 15 матриц A(N,M) и B(M,N) N 20 Вычислить суммы элементов нижних 16 треугольных диагоналей для матриц --------A(15,15), B(20,20) 8 17 18 19 20 Определить число положительных элементов до первого отрицательного в массивах X(40), Y(50), Z(N) Вычислить разность между среднегеометрическим и среднеарифметическими значениями положительных элементов массивов A(10), B(15), C(10) Вычислить сумму среднегеометрического и среднеарифметического значения положительных элементов массивов A(15), B(15), C(20) Подсчитать число точек, не находящихся внутри круга с радиусом r, с центром в начале координат; координаты заданы массивами X(100), Y(100) N 50 Расстояние от начала координат до точки определять в одной подпрограмме ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Функции представляют собой группу операторов, в результате которых вычисляется одно значение, происваиваемое имени функции. Общая структура записи функции имеет вид: FUNCTION F(q1: T1; q2: T2;….): T; BEGIN P1; P2; … F:= END; где F – имя функции; qi – имена формальных параметров; Ti – типы параметров; Т – тип имени функции; Pi – операторы тела функции. Функция может иметь собственные локальные константы, типы, переменные и вспомогательные процедуры и функции. Обращение к функции осуществляется в правой части оператора присваивания, при этом в выражении записываются имя и фактические параметры в виде F(b1,b2,…), где F – имя функции; bi – фактические параметры. После выполнения функции вычисленное значение присваивается имени функции и передается в выражение. Процедуры используются в тех случаях, когда необходимо в подпрограмме получить несколько результатов. Процедура определяется в разделе описания процедур. Общая структура записи прцедуры имеет вид: PROCEDURE F(VARq1:T1; q2: T2; …); BEGIN P1 P2 … END; где F – имя процедуры; qi - имена формальных параметров; Ti - тип формальных параметров; Pi - операторы процедуры. Обращение к процедуре осуществляется опратором процедуры, в котором записываются ее имя и фактические параметры F(b1,b2,…); где bi – фактические параметры, которые сответствуют формальным по количеству, типу и месту расположения.