Функции и процедуры Инструмент структурирования программ Два типа подпрограмм Описание Локальные и глобальные переменные Параметры: формальные и фактические.

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



Advertisements
Похожие презентации
Что такое структурный подход в программировании? Как он реализуется в ЯП Паскаль? Что такое процедура? Кто дает название процедуре? Где записывается процедура?
Advertisements

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

Функции и процедуры Инструмент структурирования программ Два типа подпрограмм Описание Локальные и глобальные переменные Параметры: формальные и фактические Два класса формальных параметров

Процедурно-ориентированные языки имеют средства структурирования программ. Структурирование предполагает расчленение программы на относительно самостоятельные фрагменты Нисходящее программирование – метод конструирования сложных программ

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

Описание подпрограммы После раздела переменных и констант и до начала основной части Структура begin end; Переменные локальные и глобальные Структура подпрограммы такая же как основной программы

Глобальные переменные объявляются в основной программе. Доступны основной и всем ее подпрограммам. Локальные объявлены внутри подпрограммы и доступны только ей самой. Одноименные глобальные и локальные переменные – разные переменные. Обращение к таким переменным в теле подпрограммы трактуется как к локальным (глобальные не доступны).

FUNCTION ( ): FUNCTION beta (a, b : real; c : integer) : real PROCEDURE ( ) PROCEDURE vsp (x, y: integer; var m, n: real) Формальные параметры

Вызов процедуры (функции) Основная программа Процедура Продолжение осн.программы Вызов процедуры Указание имени и в круглых скобках списка фактических параметров

Количество и тип фактических параметров должны совпадать с количеством и типом формальных параметров d:=beta(3, 4, 7.5) 3,4,7.5 фактические параметры (константы), перечисляются через запятую

const a:integer=5; b:integer=7 ; procedure udv (var c:integer;d:integer); begin c:=2*c; d:=2*d; writeln('udvoennoe:',c:5,d:5); end; begin writeln (' Ishodnoe:',a:5,b:5); udv (a,b); writeln(' rezultat:',a:5,b:5); readln end.

var а,b:integer; function max(i,j:integer):integer; begin if i>j then max:=i else max:=j end; begin writeln('Vvedite a,b'); readln(a,b); writeln('Maxim=',max(a,b)); readln; end.

program Factorials; {Ctrl+Break Enter} var n:integer; Function Factorial (k:integer):longint; var i: integer; f: longint; begin f:=1; for i:=1 to k do f:=f*i; factorial:=f; end; begin repeat writeln('VVedite n'); readln(n); if n

Program sochet; {C =n!/(m!*(n-m)!) } uses CRT; var n,m:integer; a,b,c,d: longint; Function Factorial (k:integer):longint; var i: integer; f: longint; begin f:=1; for I:=1 to k do f:=f*i; factorial:=f; end; Лист1

begin Clrscr; writeln('VVedite kol sochet iz n po m'); readln(n,m); a:=Factorial(n); b:=Factorial(m); c:=Factorial(n-m); d:=a div (b*c); writeln('Kol sochet iz',n:2,' po',m:2,' =',d:3); readln; end. Лист2

const raz=20; var n,m: integer; massiv: array[1..raz,1..raz] of integer; x,y: integer; procedure massiv_out (l,k: integer); var i,j: integer; begin for i:=1 to l do begin for j:=1 to k do write(massiv[i,j]:6); writeln end; end; Лист1

begin writeln('Vvedite razmer massiva N x M'); readln(n,m); for x:=1 to n do for y:=1 to m do massiv[x,y]:=1; massiv_out(n,m); readln; end. Лист2

Рекурсия Процедура (функция) может обращаться к другой процедуре(функции). Вызов функции из нее самой называется рекурсией. Recurrence – повторение или возвращение

program Factorials; var n:integer; Function Factorial (n:integer):real; begin if n=0 then factorial:=1 else factorial:=n*factorial(n-1) end; begin repeat writeln('VVedite n'); readln(n); if n

var k:integer; function Fibon(k:integer):integer; begin if k=0 then fibon:=0; if (k=1) or(k=2) then fibon:=1 else fibon:=fibon(k-2)+fibon(k-1) end; begin repeat writeln('Vvedite k'); readln(k); until k>=0; writeln(k:4,'number Fibon=',fibon(k)); readln end.