Вопросы:
Что такое подпрограмма, какие типы подпрограмм вы знаете?
Как вызвать подпрограмму, как осуществляется ее работа?
Что такое параметры, их виды?
Охарактеризовать параметры- значения.
Охарактеризовать параметры- переменные.
Основные задачи по теме подпрограммы:
Написать программу ввода одномерного массива целых чисел размера N, нахождения суммы двух массивов и вывода результата на экран, кроме этого написать процедуру- заставку, очищающую экран, выводящую в центре экрана надпись «Это программа нахождения суммы массивов».
Program _;
Uses CRT;
Const n=10;
Type mas= array[1..n] of byte;
Var a, b, c: mas;
Procedure zast;
Begin
Clrscr;
Randomize;
textcolor(red);
Gotoxy(10,10);
Writeln(‘это задача находит сумму двух массивов’)
Delay(5000);
Clrscr;
End;
Procedure vvod(var x: mas);
Var i: byte;
Begin
For i:=1 to n do x[i]:=random(50);
End;
Procedure vivod(x: mas);
Var i: byte;
Begin
For i:=1 to n do write(x[i]:4);
Writeln;
End;
Procedure sum(x, y: mas; var z: mas);
Var i: byte;
Begin
For i:=1 to n do z[i]:=x[i]+y[i];
End;
{ОСНОВНАЯ ПРОГРАММА}
BEGIN
ZAST;
VVOD(A);
VVOD(B);
SUM(A,B,C);
VIVOD(A);
VIVOD(B);
VIVOD( C );
READKEY;
END.
Написать программу, которая вычисляет среднее арифметическое двух чисел, используя функцию пользователя.
Program _;
Uses CRT;
Var a, b, c: real;
Function sr(x,y:real):real;
Begin
Sr:=(x+y)/2;
End;
{ОСНОВНАЯ ПРОГРАММА}
Begin
Clrscr;
Writeln(‘введите два числа’);
Readln(a,b);
C:=sr(a,b);
Writeln(‘среднее арифметическое =’,c:10:5);
Readkey;
End.
Написать программу, нахождения наибольшего из трех чисел, используя функцию пользователя.
Program _;
Uses CRT;
Var a, b, c: real;
Function max(x,y, z:real):real;
Var m:real;
Begin
M:=x;
If y>m then m:=y;
If z>m then m:=z;
Max:=m
End;
{ОСНОВНАЯ ПРОГРАММА}
Begin
Clrscr;
Writeln(‘введите три числа’);
Readln(a,b, c);
Writeln(‘наибольшее =’,max(a, b, c):10:5);
Readkey;
End.