Особенности использования процедур и функций Для любознательных юных программистов.

Презентация:



Advertisements
Похожие презентации
Подпрограммы в Паскале.
Advertisements

Подпрограммы: процедуры и функции Информатика. 1. Подпрограммы При решении различных задач часто возникает необходимость проводить вычисления по одним.
Формальные и фактические параметры Вызов по ссылке и значению.
Функции. Функция- это подпрограмма, которая вычисляет и возвращает некоторое значение. Функции описываются в разделе описаний следующим образом: Function.
Процедуры и функции Вербицкая Ольга Владимировна, Заозерная школа 16.
Функции в Паскале Подпрограммы в Паскале. Подпрограмма - автономная часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из.
Что такое структурный подход в программировании? Как он реализуется в ЯП Паскаль? Что такое процедура? Кто дает название процедуре? Где записывается процедура?
Найдите ошибки в программе Program A1; Var R1:real; I1, I2: integer; Begin R1:=3; I1:=4.63; I1:=3000; I2:=3000; I1:=I1+I2; I1:=I1/I2; End.
ГРАФИЧЕСКИЙ ИНТЕРФЕЙС PASCAL ABC. ОКНО РЕДАКТОРА КОДА.
Учитель НСШ Кумакшев А.Н, учитель БСШ2 Вахмистров Г.Г. Элективный курс по информатике «Процедуры и функции на языке Pascal».
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 5.
Подпрограммы Лекция 7. Ломаско Павел Сергеевич16 декабря 2013 г.
Подпрограмма – это самостоятельная часть программы, реализующая определенный алгоритм.
Программа имеет заголовок следующего вида Program имя ; Имя - это имя программы. Идентификатор имени имеет не более семи символов. Имя начинается с буквы.
Подпрограммы Процедуры и функции. Процедуры Формат описания процедуры: procedure (формальные параметры); begin end;
Функции Ещё одна разновидность подпрограмм. Общие сведения Функция оформляется аналогично процедуре. Отличительные особенности функции: она имеет только.
Подпрограммы 1.Принцип модульности 2.Область действия переменных 3.Параметры подпрограмм 4.Модули.
1 ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ. ПОДПРОГРАММЫ И МОДУЛИ ПРИ РЕШЕНИИ ЗАДАЧ ХИМИЧЕСКОЙ ТЕХНОЛОГИИ. Лекция 2. Подпрограммы План 1.Процедуры и функции. 2.Описание.
МЕТОД ПОСЛЕДОВАТЕЛЬНОЙ ДЕТАЛИЗАЦИИ. ПРОЦЕДУРЫ И ФУНКЦИИ Урок 1.
Подпрограммы. Функции и процедуры. Кулебякин В.В.
Транксрипт:

Особенности использования процедур и функций Для любознательных юных программистов

Опережающее описание процедуры Описание процедуры, содержащее вместо блока операторов директиву Forward, называют опережающим описанием. С помощью этой директивы Вы можете объявить заголовок некоторой процедуры или функции, не описывая при этом основной блок подпрограммы. В дальнейшем этот блок всё равно придется описать.

Пример (часть первая) Program Primer;... Procedure Proc1 (список формальных параметров); Forward; {заголовок первой процедуры} Procedure Proc2 (список параметров); {заголовок второй процедуры} Begin {Основной блок процедуры Proc2}... Proc1 (список фактических параметров); {Вызов процедуры Proc1}... End;

Пример (часть вторая) Procedure Proc1 (список параметров); Begin {Основной блок процедуры Proc1}... Proc2 (список фактических параметров); {Вызов процедуры Proc2}... End; Begin... {Тело основной программы} End.

Процедуры с ближним и дальним адресом вызова Процедуры, созданные с использованием модели Near, получаются более быстродействующими, но могут быть вызваны только из модуля, в котором они описаны. Процедуры, созданные с использованием модели Far, могут быть вызваны из любого места программы. Недостатком этих процедур является их медлительность.

Параметры-процедуры и параметры-функции Такие процедуры и функции должны быть объявлены с директивой Far (использование дальнего типа вызова подпрограмм) и откомпилированы в состоянии {$F+}. А также они не должны быть: стандартной подпрограммой; вложенной подпрограммой; Inline процедурой или функцией (п/программы, записанные в машинных кодах); Interrupt процедурой или функцией (п/программы обработки прерываний). Например, Procedure Exampl(k,l : integer; Var M : real; Procedure Prob; Function Step : real);

Пример (задание функциональной переменной) Program ProcType; Type Func=Function(x, y : integer) : integer; {Описание процедурного типа} {$F+}; {Директива компилятору на использование дальнего типа вызова п/программ}

Пример (функции- переменные) Function Add(x, y :integer) : integer; Begin Add := x+y; End; Function Mult(x, y :integer) : integer; Begin Mult := x+y; End; Function Funny(x, y :integer) : integer; Begin Funny := (x+y)*(x-y); End; {$F-};

Пример (процедура, использующая функции- переменные) Procedure Tab(w,h : integer; Operation : Func); Var x, y : integer; Begin for y := 1 to w do begin for x := 1 to w do write(Operation(x,y):5); writeln; end; End;

Пример (основная программа) Begin Tab(10,10,Add); Tab(10,10,Mult); Tab(10,10,Funny); End.

Задание Введите текст этой программы, запишите полученный файл на диск и откомпилируйте его. после того как компиляция выполнится успешно, исполните программу в пошаговом режиме с заходом в процедуры и пронаблюдайте за вызовом функций вычисления суммы, произведения двух чисел или произведения их суммы и разности. Обратите внимание на исполнение оператора write(Operation(x,y):5), как в зависимости от фактического значения параметра-функции Operation процедурного типа Func осуществляется вызов различных функций Add, Mult или Funny. Попробуйте удалить строку с директивой компилятору об использовании дальнего типа вызова или возьмите в фигурные скобки описание процедурного типа Func и пронаблюдайте за результатом. В случае появления ошибок нажатием клавиши F1 получите справку о причинах ошибки и рекомендацию на коррекцию.