Учитель НСШ Кумакшев А.Н, учитель БСШ2 Вахмистров Г.Г. Элективный курс по информатике «Процедуры и функции на языке Pascal».
Цели и задачи курса Формирование у учащихся интереса к профессиям, связанным с программированием. Формирование у учащихся навыков грамотной разработки программы. Углубление у школьников знаний, умений и навыков решения задач по программированию и алгоритмизации
Программа курса 1. Знакомство с понятиями «процедуры и функции». (1ч.) 2. Структура программы, содержащей подпрограмму. (2 ч.) 3. Описание процедуры и функции. (4 ч.) 4. Формальные и фактические параметры. (2 ч.) 5. Отличие между процедурой и функцией. (1 ч.) 6. Практическое занятие (2 ч.)
Описание процедур Описание процедуры имеет вид: procedure имя(список формальных параметров); раздел описаний begin операторы end; Пример:
Описание функций Описание функции имеет вид: function имя(список формальных параметров): тип возвращаемого значения; раздел описаний begin операторы end;
В Паскале помимо процедур можно использовать функции. Их еще называют функции пользователя ( в отличие от стандартных функций, таких как sin, random и др.) Обращение к функции приводит к вычислению ее значения – объекта типа real, integer или char. Function Имя(параметры):тип результата; var список локальных переменных begin Команды Имя:=выражение; end; Вызов функции пользователя осуществляется так же, как и стандартных функций в Паскале, т.е. их значения могут присваиваться переменным, входить в состав выражений.
ПроцедурыФункции 1 Может иметь несколько результатов или выполнять некоторое действие Имеет только один результат, тип которого указывается отдельно при объявлении функции. 2 Результатами могут быть значения любого типа массивы, строки, числа и т.д. Результат может быть только значением типа real, integer или char. 3 Команда вызова процедуры – отдельная команда, которая употребляется самостоятельно Обращение к функции может использоваться только как компонент выражения соответствующего типа. 4 В теле функции должен быть хотя бы один оператор присваивания, в левой части которого указано имя функции. Сравнение процедур и функций.
Команда вызова процедуры Блок/схема процедуры записывается отдельно от основной программы.
В ЯП Паскаль в описании процедур в списке параметров нельзя описывать массивы таким образом: procedure Tabl(var x: array[1..n] of integer); Поэтому в основной программе до описания массивов можно указать тип данных массив: type arr = array[1..n] of integer; И затем этот тип данных использовать при описании массивов в самой программе и в процедурах при описании формальных параметров type arr = array[1..n] of integer; var i, k, z: integer; а :arr; procedure Tabl(var x: arr);
Составить программу нахождения наибольшего элемента в линейном массиве, используя вспомогательные процедуры нахождения наибольшего из двух чисел и создания массива случайных чисел. Начало Создание массива Tabl i= 2, n Z:=a[1] Max(z, a[i],z) Вывод Мах Конец
program Function_of_user; uses Crt; var AB,BC,CD,DA,AC,S1,S2,S:real; Function f(a,b,c:real):real; var p:real; begin p:=(a+b+c)/2; F:=Sqrt(p*(p-a)*(p-b)*(p-c)); end; begin readln (AB,BC,CD,DA,AC); S1:=f(AB,BC,AC); S2:=f(CD,DA,AC); s:=S1+S2; writeln (S:8:2); Writeln (f(AB,BC,AC)+ f(CD,DA,AC):8:2); readln; end. Вызов функции Назад
Приложения 1. Процедуры и функции в Паскале Процедуры и функции в Паскале Процедуры и функции в Паскале 2. Примеры функций и процедур Примеры функций и процедур Примеры функций и процедур 3. Механизм обмена данными основной программы и процедуры Механизм обмена данными основной программы и процедуры Механизм обмена данными основной программы и процедуры 4. Конспект урока Конспект урока Конспект урока 5. Лабораторная работа Лабораторная работа Лабораторная работа