Лабораторная работа №12
Вариант – 3
(из книги: “Алгоритмизация и программирование на
Турбо Паскале” В.C. Новичков)
Program MaxMin2;
{*****************************************}
{ Имя программы в банке программ: Lab14v.pas. }
{ Программа: MaxMin2, Лабораторная работа №14, вариант 3. }
{ Цель: изучить рекурсивные методы программирования и приобрести }
{ навыки по технике рекурсивных вычислений. }
{ Описание параметров и переменных: }
{ Nmax - константа; }
{ A - исследуемый массив; }
{ N - количество элементов в массиве; }
{ i - параметр цикла; )
{ Max - максимальный элемент массива; }
{ Min - Минимальный элемент массива. }
{ Требуемые подпрограммы: процедурa Vvod. }
{ Метод: использование цикла. }
{ Программист: Борискин Д.В., гр.243. }
{ Проверила: Москвитина О.А., Каф. ВПМ. }
{ Дата написания 09.03.2003 год. }
{**************************************}
Uses crt;
Const
nmax=100;
Type
mas=array[1..nmax] of real;
Var
A:mas;
n,i:integer;
max,min:real;
{ Процедура ввода массива }
{ Параметры: Z - массив; }
{ N - количество элементов. }
Procedure Vvod (n:integer; Var a:mas);
Var
i:integer;
Begin {Vvod}
Writeln('Введите массив:');
For i:=1 to n do
Begin
Write('a[',i,']= ');
Read(a[i])
End;
Writeln;
Writeln('Исходная массив:'); {Эхо-вывод}
For i:=1 to n do
Write(a[i]:4:2,' ')
End; {Vvod}
{ Основная программа }
Begin {MaxMin2}
ClrScr;
Repeat
Write('Введите количество элементов массива, меньше ',nmax,' :');
Readln(n);
Writeln('n=',n); {Эхо-вывод}
Writeln;
if (n>nmax)
then
writeln('Неправильный ввод, попробуйте еще раз!');
Until n
Vvod(n,a);
Writeln;
Writeln;
Max:=a[1];
Min:=a[1];
For i:=2 to n do
Begin
if a[i]>max
then max:=a[i];
if a[i]
then min:=a[i]
End;
Writeln('Максимальный элемент массива: ',max:4:2);
Writeln('Минимальный элемент массива: ',min:4:2)
End. {MaxMin2}
|