Использование стандартных алгоритмов. Составление программ с использованием подпрограмм процедур и функций
Цель задания: Получить представление об использовании подпрограмм на языке Паскаль, научиться программировать типовые алгоритмы, используемые при вычислении математических выражений.
Пример задания №4.
Вычислить значения максимального (Max) элемента массива K(5)
и минимального (Min) элемента массива C(9). Полученные значения подставить в формулу:
K(5)= {7, 80, 25, 72, 31}; C(9)= {6.1, 4.2, 3.3, 0.4, –1.5, –8.6, 29.7, 5.8, 17.9}.
Поиск значения максимального элемента оформить в виде подпрограммы функции, поиск значения минимального элемента – в виде подпрограммы процедуры.
Последовательность работы
Разрабатываем алгоритм решения задачи. Программирование типовых алгоритмов поиска минимального и максимального элементов описано в [1, с.115-116], [2, с.106-107], [3, с.109-110]. Программирование типовых алгоритмов вычисления суммы и произведения, вычисления факториала, нахождения количества и пр. описано в [1, с.113-132], [2, с.105-112], [3, с.107-115]. Минимальный и максимальный элементы массивов вычисляем в разных циклах. Вычисление максимального элемента будем оформлять в виде подпрограммы функции, минимального элемента - в виде подпрограммы процедуры. Программирование с использованием подпрограмм описано в [1, с.94-99], [2, с.88-92], [3, с.89-93].
Блок-схема алгоритма
Составляем программу на языке Паскаль:
Program lab_43;
Var {Описание переменных параметров}
N,Min:real; i:integer;
Type mas1=array[1..5] of integer;
mas2=array[1..9] of real;
Const {Описание постоянных параметров}
K:mas1=(7, 80, 25, 72, 31);
C:mas2=(6.1, 4.2, 3.3, 0.4, -1.5, -8.6, 29.7, 5.8, 17.9);
Function Max(K:mas1):integer; {Подпрограмма функция}
Var K1,i:integer; {Вычисление максимального элемента}
Begin
K1:=K[1];
For i:=1 to 5 do
if K[i]>K1 then K1:=K[i];
Max:=K1;
end;
Procedure Minimum(C:mas2;Var Min:real); {Подпрограмма процедура}
Var i:integer; {Вычисление минимального элемента}
Begin
Min:=C[1];
For i:=1 to 9 do
if C[i]then Min:=C[i];
end;
Begin {Основная программа}
Minimum(C,Min); {Обращение к подпрограмме процедуре}
N:=sqr(Min+Max(K))/(Min+2);
{Вывод результатов вычислений}
Writeln('Min=',Min,' Max=', Max(K), ' N=',N:5:2);
End.
В приведенном тексте программы, заключенные в фигурные скобки фрагменты являются комментариями (не воспринимаются компилятором). Комментарии используются для пояснения программы и в студенческих работах не обязательны.
Входим в среду PascalABC.NET, используя иконку на рабочем столе компьютера. Подробно работа в среде PascalABC.NET описана в методических указаниях к лабораторной работе № 1.
В верхнем окне браузера набираем текст программы на языке Паскаль.
Сохраняем текст программы в файле, присвоив ему имя, например lab4.
Воспользовавшись иконкой , выполняем программу.
При возникновении ошибок, в Окне вывода будет появляться подсказка. Следует отлаживать программу (исправлять ошибки), пока в Окне вывода не появится результат. Каждый раз после исправления ошибки следует сохранять последнюю версию, воспользовавшись иконкой и выполнять программу, активизируя иконку
Достарыңызбен бөлісу: |