План урока « Подпрограммы в Pascal. Функции »
Цель : дать учащимся представление о подпрограммах и возможностях их использования. Показать и разобрать на примерах механизм реализации подпрограмм с помощью функций. Задачи : научиться составлять простейшие подпрограммы, умение анализировать информацию, выделять главное
Ход урока I. Орг. Момент (2 мин ) II. Вступление. Актуальность. Проверка знаний (8 мин ) III. Объяснение нового материала Теория + практика (30 мин ) IV. Итог урока (2 мин ) V. Домашнее задание (3 мин )
Подпрограммы в Pascal. Функции
Повторение Что такое подпрограмма ? Зачем нужны подпрограммы ? Как оформляется подпрограмма ?
Стандартные функции в Pascal Sin(x) Cos(x) SQRT(x) SQR(x) Log(x) И др.
procedure circle (r:real; var S:real); begin S:=pi*r*r; end; S – выходной параметр. Именно в него передается результат действий процедуры.
В отличие от процедуры, функция : Имеет тип Передает в программу результат своей работы – единственное значение, носителем которого является имя функции Вызов происходит как операция присваивания значения – s:=sin(x);
Функция - это подпрограмма, результат выполнения которой есть единственное скалярное значение, присваеваемое имени этой функции
Структура пользовательской функции FUNCTION ИМЯ ( список параметров : их тип ): тип функции ; раздел описаний BEGIN раздел операторов ; END;
Вызов функции summa:=sum(a,b); writeln('Cy мм a чисел равна : ', sum(a,b));
Program My_function; var a, b, summa: integer; function sum(a,b: integer): integer; begin sum:= a + b; end; begin a := 12; { Установка начальных значений } b := 15; { переменных " а " и "b"} summa:=sum(a,b); writeln('Cy мм a чисел равна :', summa) end.
Составить рекурсивную функцию, вычисляющую факториал числа n следующим образом : n! = 1, если n= 1 и n!= ( n - 1 )! · n, если n > 1 function f ( n : integer): integer; begin if n = 1 then f := 1 else f := n * f ( n - 1 ); end;
В чем отличие процедуры от функции ? Когда лучше использовать в качестве подпрограммы процедуру, а когда удобней функцию ? Как вызвать функцию ? Может ли функция вызвать саму себя ? Remember!