Тема урока "Решение задач с использованием процедур и функций"
Сегодня на уроке вы:
повторите, что такое подпрограммы-процедуры и подпрограммы-функции, для чего они применяются;
закрепите навыки составления программ, используя процедуры и функции на языке программирования Pascal.
Вспомогательными алгоритмы – это алгоритмы, которые работают в составе других алгоритмов и используются для решения отдельных подзадач.
Подпрограммы используются для записи вспомогательных алгоритмов при программировании.
Пример 1
Составить программу с функцией сложения 2-х любых чисел.
program pr1;
var a, b, c: integer;
function sum(x, y: integer): integer;
begin
sum := x + y;
end;
begin
readln(a, b);
writeln(sum(a, b));
end.
Пример 2
Написать подпрограмму-функцию степени числа, где a, х –любые числа.
Пример 3
Составить программу с процедурой сложения 2-х чисел, значения вводятся с клавиатуры.
program pr3;
var a,b,s:real;
procedure summa (x,y:real; var s:real);
begin
s:=x+y;
end;
begin
writeln ('Введите 2 числа'); read (a,b);
summa (a,b,s);
writeln ('s=', s);
end.
Пример 4
Составить программу с процедурой нахождения максимального из четырёх чисел, вводимых с клавиатуры.
program pr4;
var a,b,s,c,d:real;
procedure maxim (x,y: real; var s:real);
begin
if x<y then s: =y else s: =x;
end;
begin
writeln ('Введите 4 числа '); readln (a,b,c,d);
maxim (a,b,s);
maxim (c,s,s);
maxim (d,s,s);
writeln('max=', s);
end.
Пример 5
Написать программу, которая в первой вводимой с клавиатуры строке подсчитывает количество точек, а во второй – количество букв “я”.
Program Pr5;
Var St1, St2 : String;
Function KOL(S : String; Sim : Char): Integer;
Var I, K : Integer;
Begin
K := 0;
For I := 1 To Length(S) Do
If S[I] = Sim Then K := K + 1;
KOL := K
End;
Begin
Writeln('Введите первую строку');
Readln(St1);
Writeln('Введите вторую строку');
Readln(St2);
Writeln('Количество точек = ', KOL(St1, '.'));
Writeln('Количество букв я = ', KOL(St2, 'я'))
End.
Выполни задания
Повтори § 23.
На основе примера 5 напиши программу, которая находит в каждой строке количество букв "а", а выводит на экран только максимальное количество букв "а", найденное в одной из строк.