Процедуры и функции в Паскале.
Использование процедуры на примере программы поиска максимума из двух целых чисел.
var x,y,m,n: integer;
procedure MaxNumber(a,b: integer; var max: integer);
begin
if a>b then max:=a else max:=b;
end;
begin
write('Введите x,y '); readln(x,y);
MaxNumber(x,y,m);
MaxNumber(2,x+y,n);
writeln('m=',m,'n=',n);
end.
Поиск максимума из двух целых чисел с использованием функций:
var x,y,m,n: integer;
function MaxNumber(a,b: integer): integer;
var max: integer;
begin
if a>b then max:=a else max:=b;
MaxNumber := max;
end;
begin
write('Введите x,y '); readln(x,y);
m := MaxNumber(x,y);
n := MaxNumber(2,x+y);
writeln('m=',m,'n=',n);
end.
Пример процедуры без параметров, которая печатает 60 звездочек, каждую с новой строки
1 2 3 4 5 6 7 8 9 10 11 | procedure pr; var i:integer; begin for i:=1 to 60 dobegin{телоподпрограммы} write('*'); writeln; end; end;{конец подпрограммы} begin pr;{вызов процедуры} end. |
Программа получения изображения в котором в первой строке 1 звездочка, во второй - 2, в третьей -3, ..., в строке с номером m - m звездочек.
var m, i,k :integer;
procedurepr (n:integer);
vari : integer ;
begin
fori :=1 tondowrite ('*'); writeln;
end;
begin
readln(m);
for i:=1 to m do
pr(i);
end.
Самостоятельная работа:
Измените программу, чтобы в первой строке было m звездочек, во второй на 1 меньше и т.д.
Измените программу, чтобы в первой строке выводилась 1, во второй - две двойки, в третьей - три тройки и т.д.
Даны 3 различных массива целых чисел (размер каждого не превышает 15). В каждом массиве найти сумму элементов и среднее арифметическое значение элементов.