Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 5.

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



Advertisements
Похожие презентации
Процедуры и функции Вербицкая Ольга Владимировна, Заозерная школа 16.
Advertisements

© М.Е.Макарова
Подпрограммы: процедуры и функции Информатика. 1. Подпрограммы При решении различных задач часто возникает необходимость проводить вычисления по одним.
ЗАПИСЬ ВСПОМОГАТЕЛЬНЫХ АЛГОРИТМОВ НА ЯЗЫКЕ Паскаль НАЧАЛА ПРОГРАММИРОВАНИЯ.
Процедуры и функции Вспомогательные алгоритмы (подпрограммы) создаются тогда, когда возникает необходимость в многократном использовании одного и того.
Подпрограмма – это самостоятельная часть программы, реализующая определенный алгоритм.
Понятие подпрограмм. Подпрограммы в языке Паскаль.
1 Программирование на языке Паскаль Функции Кулебякин В.В.
Шутилина Л.А. Процедуры в Turbo Pascal ( часть 1: процедуры с параметрами)
Подпрограммы в Паскале Подпрограммы в Паскале (Технология нисходящего программирования)
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
План урока « Подпрограммы в Pascal. Функции ». Цель : дать учащимся представление о подпрограммах и возможностях их использования. Показать и разобрать.
1 Программирование на языке Паскаль Тема 13. Функции © К.Ю. Поляков,
Процедуры и функции в Паскале. Рекурсия. Подпрограммы Часто в задаче требуется повторить определенную последовательность операторов в разных частях программы.
1 ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ. ПОДПРОГРАММЫ И МОДУЛИ ПРИ РЕШЕНИИ ЗАДАЧ ХИМИЧЕСКОЙ ТЕХНОЛОГИИ. Лекция 2. Подпрограммы План 1.Процедуры и функции. 2.Описание.
Подпрограммы -это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих.
1 Программирование на языке Паскаль Процедуры. 2 Процедура – это вспомогательный алгоритм, который предназначен для выполнения некоторых действий. Применение:
Подпрограммы Лекция 7. Ломаско Павел Сергеевич16 декабря 2013 г.
Учитель НСШ Кумакшев А.Н, учитель БСШ2 Вахмистров Г.Г. Элективный курс по информатике «Процедуры и функции на языке Pascal».
Функции и процедуры Инструмент структурирования программ Два типа подпрограмм Описание Локальные и глобальные переменные Параметры: формальные и фактические.
Транксрипт:

Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 5

Содержание Особенности процедуры Особенности функции Пример использования подпрограммы

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

PROCEDURE ( ); PROCEDURE PR1 ( A,B,C : INTEGER; VAR S: REAL); Оператор процедуры служит для вызова процедуры из основной программы или из другой процедуры(функции). ( ); PR1 (A,B,C,S);

Особенности процедуры: заголовок процедуры включает служебное слово procedure; описание процедуры заканчивается точкой с запятой. Все имена, описанные в программе до процедуры, действуют во всей программе и в любой ее подпрограмме (если они там не описаны заново). Они называются глобальными, в отличие от локальных имен, описанных в процедуре и действующих лишь в ней.

Данные для обработки могут передаваться процедуре через глобальные имена или через аргументы процедуры. В процедуре каждый аргумент имеет свое имя -формальный параметр, описываемый в заголовке процедуры по схеме procedure ( ) : или var :

Функция Функция - это подпрограмма, определяющая единственное скалярное, вещественное или строковое значение. Функция предназначена для вычисления какого-либо одного значения и используется в выражениях аналогично стандартным функциям. FUNCTION ( ): ; FUNCTION PRF (A,B,C: INTEGER) : REAL;

Отличия функции от процедуры: заголовок функции начинается со служебного слова function и заканчивается указанием типа значения функции: function (список описаний формальных параметров): ; раздел операторов функции должен содержать хотя бы один оператор присваивания имени функции; обращение к функции - не оператор, а выражение вида ( ).

Отличия функции от процедуры: результатом обращения к функции может быть одно единственное значение; после обращения к функции управление передается на выполнение следующей операции данного выражения (в соответствии с приоритетом). S:=PRF ( A,B,C); Writeln ( PRF ( A,B,C)); If PRF ( A,B,C)>20 then K=K+1;

. Формальные и фактические параметры. При описании процедуры (функции) в ее заголовке могут быть указаны параметры следующих видов: параметры-значения; параметры-переменные; параметры-константы; параметры-процедуры; параметры-функции.

При записи параметров необходимо помнить: число формальных и фактических параметров должно быть одинаково; порядок следования и тип фактических параметров должен совпадать с порядком и типом соответствующих формальных параметров; идентификаторы формальных и фактических параметров могут совпадать; формальные параметры в языке Турбо Паскаль в заголовке находятся вместе с описаниями и объявлять их в разделе описаний процедуры(функции) не требуется; формальные параметры должны иметь простые или ранее определенные типы.

Рекурсией называется способ задания функции, при котором значение функции при определенном значении аргументов выражается через уже заданные значения функции при других значениях аргументов.

составить программу, которая для заданных четырех натуральных чисел а, b, с, d напечатает наибольшие общие делители первой и второй пар чисел и сравнит их по величине. В программе определим рекурсивную функцию nod(x,y) по формулам x, если у = 0 nod(x,y) = nod(y.x). если х < у nod(x mod у,у), если х > у 21 и 15, nod(21,15) = nod(6,15) = nod(15,6) = nod(3,6) = nod(6,3) = nod(0,3) = nod(3,0) = 3.

program four; var a,b,c,d,m,n:integer; function nod(x,у:integer): integer; var h:integer; begin if y=0 then h:=x else if xn then writeln('первый > второго') else if m