Читайте также:
|
|
Цель работы – исследовать механизм вызова подпрограмм из основной программыи овладеть навыками описания и использования процедур и функций как разновидностей подпрограмм.
1. Вам предстоит, действуя по шаблону, создать программы вызова подпрограмм, передачи им фактических параметров и сохранить их в виде файлов CallPr_1.pas, CallPr_2.pas.
2. Переписать из листинга № 1 и отладить программу ввода, модификации и вывода числового массива.
Листинг 1. Программа ввода, модификации и вывода числового массива.
Program CallPr_1;
Uses CRT;
Const n = 2; m = 4; k = 5;
var
A: array[1..n] of Integer;
B: array[1..m] of Integer;
C: array[1..k] of Integer;
{Раздел описания процедур. Процедура ввода массива}
Procedure Inp (Var Mas: array of Integer; size: Byte);
Var i: byte;
begin
WriteLn (‘Введите ', size, ' целых чисел');
for i:=1 to size do
Read (Mas[i]);
end;
{Процедура модификации массива}
Procedure Replace(Var Mas: array of Integer; size: Byte);
Var i: byte;
begin
for i:=1 to size do
if Mas[i]>0 then
Mas[i]:=1
else
Mas[i]:=0;
end;
{Процедура вывода массива}
Procedure Outp (Var Mas: array of Integer; size: Byte);
Var i: byte;
begin
Write('Результат преобразования массива: ');
for i:=1 to size do
Write(Mas[i]:2:0);
WriteLn(' ');
end;
{Главная программа}
begin
ClrScr;
Inp (A, n);
Replace (A, n);
Outp (A, n);
Inp (B, m);
Replace (B, m);
Outp (B, m);
Inp (C, k);
Replace (C, k);
Outp (C, k);
end.
3. Переписать из листинга № 2 и отладить программу нахождения максимального элемента в числовом массиве.
Листинг 2. Программа поиска максимального элемента в числовом массиве.
Program CallPr_2;
Uses CRT;
Const n = 2; m = 4; k = 5;
var
A: array[1..n] of Integer;
B: array[1..m] of Integer;
C: array[1..k] of Integer;
Max:Integer;
{Раздел описания процедур. Процедура ввода массива}
Procedure Inp (Var Mas: array of Integer; size: Byte);
Var i: byte;
begin
WriteLn ('Введите ', size, ' целых чисел');
for i:=1 to size do
Read (Mas[i]);
end;
{Процедура поиска максимального элемента массива}
Function Findmax(Var Mas: array of Integer; size: Byte):Integer;
Var i: byte;
maxin: Integer;
begin
maxin:= Mas[1];
for i:=2 to size do
if Mas[i]>maxin then
maxin:= Mas[i];
Findmax:= maxin;
end;
{Главная программа}
begin
ClrScr;
Inp (A, n);
Max:= Findmax (A, n);
Writeln ('Максимальный элемент массива: ', max);
Inp (B, m);
Max:= Findmax (B, m);
Writeln ('Максимальный элемент массива: ', max);
Inp (C, k);
Max:= Findmax (C, k);
Writeln ('Максимальный элемент массива: ', max);
end.
4. По аналогии с предыдущим заданием написать и отладить программы:
- вычисления суммы отрицательных элементов в каждом из трех массивов;
- вычисления разницы максимального и минимального элементов в каждом из трех массивов,
- вычисления среднего арифметического элементов в каждом из трех массивов.
Результат выполнения лабораторной работы: Вы ознакомились с приемами структурного программирования как разработкой небольших логически законченных подпрограмм, работой которых управляет главная программа. Такой подход позволяет создавать библиотеки подпрограмм для их последующего многократного использования в различных приложениях.
Форма представления результатов лабораторной работы: папка с файлами.
Дата добавления: 2015-09-11; просмотров: 59 | Поможем написать вашу работу | Нарушение авторских прав |