Урок 3.
Тема урока: Подпрограмма. Типы подпрограмм. Описание подпрограмм
языком
программирования. Обращение к
подпрограммам в программе. «Использование
подпрограмм - процедур».
Цели урока:
Научиться использовать структурный подход в программировании – разбиение сложной задачи на более простые. Узнать, как для этого можно использовать подпрограммы-процедуры с параметрами.
Ход урока:
I.
Орг. Момент.
Сообщение целей урока.
II. Проверка домашнего задания
1. (все ученики пишут на компьютерах программы из дом.задания).
2. Анализ задачи.
Дан пятиугольник со сторонами a,b,c,d,e и диагоналями d1,d2. Найти площадь пятиугольника. Программу написать с функцией.
program s_1;
var a,b,c,d,e,d1,d2,s1,s2,s3,s5:real;
function tre_1(m,n,k:real):real;
var p:real;
begin
p:=(m+n+k)/2;
tre_1:=sqrt(p*(p-m)+(p-n)*(p-k));
end;
begin
read(a,b,c,d,e,d1,d2);
s1:=tre_1(a,b,d1);
s2:=tre_1(d1,c,d2);
s3:=tre_1(d2,e,d);
s5:=s1+s2+s3;
write('s5=',s5:5:2);
end.
III. Актуализация опорных знаний:
A. Что такое функция Pascal?
B. Где обявляется в основной программе подпрограмма- функция?.
C. Как объявляется подпрограмма-функция?
D. Как вызывается в основной программе
подпрограмма- функция?.
IV. Новая тема.
1. Мотивация. Как написать программу д/з с процедурой? На этом занятии научимся использовать подпрограммы-процедуры с параметрами.
2. Теоретическую часть разобрать самостоятельно с помощью презентации» Подпрограммы».
Вопросы:
Procedure Ploshad3 (a, b, c: real; var s:real);
Параметры-значения Параметры-переменные
Параметры-значения используются для задания начальных значений
в процедуре,
Параметры-переменные для вывода результата.
·
Как в
основной программе вызывается процедура?
В основной программе процедура вызывается аналогично вызову функции:
Имя процедуры(фактические параметры)
Ploshad3 (AB, BC, AC,
S);
Функция:
Function имя функции(входные
данные:тип входных данных);тип результата;
Var объявление локальных
переменных;
begin
Операторы;
End;
Процедура:
V. Практическая часть урока:
Задача.
Дан пятиугольник со сторонами a,b,c,d,e и диагоналями d1,d2. Найти площадь пятиугольника. Программу написать с процедурой.
Задание. Открыть программу с функцией. Внести
изменения в программу
program
Prog2;
var
a,b,c,d,e,d1,d2,s1,s2,s3,s5:real;
Procedure
Ploshad(m,n,k:real; s:real);
var p:real;
begin
p:=(m+n+k)/2;
s:=sqrt(p*(p-m)*(p-n)*(p-k));
end;
begin
Writeln('Задайте стороны 5-и угольника и его диагонали d1,d2');
read(a,b,c,d,e,d1,d2);
Ploshad
(a,b,d1,s1);
Ploshad
(d1,c,d2,s2);
Ploshad
(d2,e,d,s3);
s5:=s1+s2+s3;
write('s5=',s5:5:2);
end.
VI.
Самостоятельная работа.
Задача. Даны 4 числа A, B, C, D. Найти наибольшее число. Программу
написать с процедурой.
VII. Итог урока. Выставление оценок за урок.
VIII.
Домашнее задание.
Задача: Составить программу с использованием процедуры, определяющей наибольший элемент одномерного массива.
Program max_tabl;
const n=5;
var
a:array[1..n] of real; i:integer;
max2:real;
procedure max(x1,x2 : real;var
max:real);
begin
if x1>x2 then
max:=x1
else max:=x2;
end;
begin
writeln ('Massiv');
for i:=1 to n do
readln(a[i]);
begin
max(a[i],a[i+1], max2);
write (max2:8:2);
end;end.