Урок №_______ Дата______________
Название предмета: курс по выбору «Основы визуального программирования»
Класс: 12
Тема урока: Понятие процедуры и функции. Создание и использование собственных функций. Встроенные процедуры и функции.
Цели урока:
Образовательные: ознакомить учащихся с понятием процедур и функций в языке Паскаль, рассмотреть процесс создания собственных процедур и функций
Развивающие: развитие логического мышления, памяти, внимательности.
Воспитательные: формирование интереса к познанию, трудолюбию.
Ход урока.
I. Актуализация опорных знаний.
Повторить структуру Паскаль программы:
PROGRAM
имя;
раздел описаний
BEGIN
раздел операторов
END.
Раздел описаний:
USES - подключение библиотеки
LABEL - подраздел меток
CONST - подраздел констант
TYPE - подраздел типов
VAR - подраздел переменных
PROCEDURE, FUNCTION - подраздел процедур и функций.
II. Изучение новой темы.
1.
Что такое подпрограмма?
Процедуры и функции аналогичны программам в миниатюре и имеют общее название -
подпрограммы.
Подпрограмма - это часть программы, описывающая некоторый алгоритм,
который можно многократно использовать, обращаясь к нему из различных точек
программы.
2.
Зачем нужны подпрограммы?
Применение подпрограмм дает возможность уменьшать число повторений одной и той
же последовательности операторов, а также конструировать программу как набор
отдельных подпрограмм. Это позволяет получить более логичный процесс
программирования.
3. Где располагаются подпрограммы в программе?
В программе описание процедур и функций должно располагаться между разделами переменных и операторов.
4.
Как работает компьютер по программе, имеющую подпрограммы?
Выполнение программы, имеющую подпрограмму, начинается с выполнения основной
программы. Как только в программе идет обращение к подпрограмме, данные из
основной программы (входные данные) передаются в подпрограмму, которая начинает
выполняться. Затем результаты подпрограммы (выходные данные) передаются в
основную программу в то место, откуда был сделан вызов подпрограммы, и
продолжает выполняться основная программ.
5.
Как оформляется подпрограмма?
Подпрограмма оформляется подобно основной программе, т.е. состоит из заголовка,
раздела описаний, раздела операторов.
6.
Различие глобальных и локальных переменных?
Все имена, представленные в разделе описаний основной программы, называются
глобальными. Они действуют как в разделе операторов основной программы, так и в
любой подпрограмме. Имена, представленные в разделе описаний подпрограммы,
называют локальными. Они действуют только в рамках подпрограммы и недоступны
операторам основной программы.
7.
Два вида подпрограмм в Паскале?
В языке Паскаль имеется два вида подпрограмм:
процедура (PROCEDURE), функция (FUNCTION)
8.
Оформление процедур.
PROCEDURE имя (формальные параметры);
раздел описаний
BEGIN
раздел операторов
END;
Вызывается процедура по имени:
имя (фактические параметры);
9.
Фактические и формальные параметры.
С помощью фактических и формальных параметров данные передаются из программы в
процедуру и из процедуры в программу. В качестве формальных параметров могут
быть только переменные с указанием типа, а в качестве фактических параметров
могут быть константы, переменные, выражения без указания их типа.
10.
Примеры программ с процедурами.
Пример 1. Вычислить:
XN = X * X * X* ... *X
program pr1;
var d,q,z,a,m,b:integer;
y,y1,y2,y3: real;
procedure step(x,n:integer; var w:real);
var i:integer;
begin
w:=1;
for i:=1 to n do
w:=w*x;
end;
begin
read (d,q,z,a,m,b);
step (d,q,y1);
step (z,a,y2);
step (m,b,y3);
y:=(y1+y2)/y3;
writeln ('y=',y);
end.
Пример 2. Среди трехзначных чисел найти такие, в которых сумма факториалов цифрравнялась бы самому числу.
program pr2;
var a,b,c,i,s1,s2,s3:integer;
procedure fak(x:integer; var s:integer);
var i:integer;
begin
s:=1;
for i:=1 to x do
s:=s*i;
end;
begin
for i:=100 to 999 do
begin
a:=i div 100;
b:=(i-a*100) div 10;
c:=i - a*100 - b*10;
fak (a,s1);
fak (b,s2);
fak (c,s3);
if s1+s2+s3=i then writeln (i);
end;
end.
11. Оформление
функций.
Функция - это подпрограмма, результат выполнения которой есть
единственное скалярное значение, присваемое имени этой функции.
FUNCTION ИМЯ(список формальных параметров: тип): тип;
раздел описаний
BEGIN
раздел операторов;
END;
Вызывается функция по ее имени с указанием фактических параметров. При этом
вызов функции можно делать непосредственно внутри выражения, подобно тому, как
используются стандартные встроенные функции, например SIN(X).
11.
Пример программы с функциями.
Пример 3. Даны действительные числа S и T. Получить: F(T,-2*S,1.17) + F(2.2,T,S-T), где
program pr3;
var y,t,s:real;
function form(a,b,c:real):real;
begin
form:=(2*a-sin(c))/(5+abs(c));
end;
begin
read (t,s);
y:=form(t,-2*s,1.17)+form(2.2,t,s-t);
writeln (y:8:2);
end.
Различие процедур и функций.
Функции являются частным случаем процедур и принципиально отличаются от них
тем, что:
1. результат выполнения функции - одно значение, а процедуры - одно или
несколько;
2. результат выполнения функции передается в основную программу как значение
имени этой функции, а результаты выполнения процедуры - как значения ее
параметров.
III. Практическая работа на ЭВМ.
Вызвать с диска программы с именами: podpr1.pas, podpr2.pas, podpr3.pas, podpr4.pas. Запустить их на выполнение. Получить результаты.
IV. Домашнее задание.
1. Выучить конспект.
2. Решить задачи:
Задача № 1. Даны координаты вершин треугольника
и точки внутри него. Найти расстояние от данной точки до ближайшей стороны
треугольника.
© ООО «Знанио»
С вами с 2009 года.