Подпрограммы в Паскале Подпрограммы в Паскале (Технология нисходящего программирования)

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



Advertisements
Похожие презентации
Подпрограммы в Паскале Подпрограммы в Паскале (Технология нисходящего программирования)
Advertisements

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

Подпрограммы в Паскале Подпрограммы в Паскале (Технология нисходящего программирования)

Технология нисходящего программирования Базируется на методе программирования «сверху – вниз» (иное название – метод пошаговой детализации). Основа метода – разбиение исходной задачи на ряд подзадач. Решение отдельного фрагмента сложной задачи может представлять собой самостоятельный программный блок, называемый подпрограммой. ПОДПРОГРАММА – это обособленная, оформленная в виде отдельной синтаксической конструкции и снабжённая именем часть программы. В основной программе указываются только имена подпрограмм. Вызовы подпрограмм возможны неоднократно из разных участков программы.

Виды подпрограмм ПРОЦЕДУРЫ СЛУЖАТ ДЛЯ ЗАДАНИЯ СОВОКУПНОСТИ ДЕЙСТВИЙ, НАПРАВЛЕННЫХ НА ИЗМЕНЕНИЯ ВНЕШНЕЙ ПО ОТНОШЕНИЮ К НИМ ПРОГАММНОЙ ОБСТАНОВКИ. ФУНКЦИИ ЯВЛЯЮТСЯ ЧАСТНЫМ СЛУЧАЕМ ПРОЦЕДУР. ОБЯЗАТЕЛЬНО ВОЗВРАЩАЮТ В ТОЧКУ ВЫЗОВА ОСНОВНОЙ ПРОГРАММЫ ЕДИНСТВЕННЫЙ РЕЗУЛЬТАТ КАК ЗНАЧЕНИЕ ИМЕНИ ЭТОЙ ФУНКЦИИ. определение write, writeln, Read, readln… Sqr, sqrt, sin, cos … Встроенные(стандартные ) Kvur (ax 2 + c) Определённыепользователем flaw

ПРОЦЕДУРЫ Описание: PROCEDURE ( ); ; BEGIN END;

Имя процедуры – правильный идентификатор 1. Состоит из латинских букв и цифр. 2. Начинается с латинской буквы.

Пример1. Program prim; Uses crt; Procedure a; Begin write(I am procedure); end; BEGIN clrscr; writeln( Where is a procedure?); a; Writeln; write(good); Readln end.

Задания 1. Используя оператор выбора и процедуры, написать программу, вызывающую одну из трех страниц: 1 – справка; 2 – тест; 3 – выход. 2. Используя цикл и процедуры, «построить» забор.

Оператор выбора Позволяет выбрать одно из нескольких продолжений программы. CASE OF Else end; Ключ выбора – выражение, значение которого представлено порядковым типом. Список выбора : ;

Работа оператора выбора Вычисляется значение ; В последовательности операторов отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает работу.

Используя оператор выбора и процедуры, написать программу, вызывающую одну из трех страниц: 1 – справка; 2 – тест; 3 – выход. program menu1; uses crt; var m:integer; procedure sprav; begin textbackground(4); clrscr; gotoxy(38,12); write('spravka') end; procedure test; begin textbackground(2); clrscr; gotoxy(38,12); write('test') end; procedure vixod; begin textbackground(5); clrscr; gotoxy(38,12); write('vixod') end; BEGIN textbackground(0); clrscr; write('vibor1\2\3='); readln(m); case m of 1:sprav; 2:test; 3:vixod; end; readln; END.

procedure ekran(c:byte;st:string); begin textbackground(c);textcolor(15); clrscr; gotoxy(38,12); write(st) end; begin textbackground(0); clrscr; write('vibor1\2\3='); readln(m); case m of 1:ekran(4,'cprav'); 2:ekran(2,'test'); 3:ekran(5,'vixod'); end; readln; end.

Что включает в себя служебная информация PROCEDURE ( : ); ; BEGIN END;

Вызов процедуры Необходимо указать имя и список фактических параметров. Количество и тип формальных и фактических параметров должны совпадать.

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

Между формальными и фактическими параметрами должно быть полное соответствие: формальных и фактических параметров должно быть одинаковое количество; Порядок следования фактических и формальных параметров должен быть один и тот же; Тип каждого фактического параметра должен совпадать с типом соответствующего формального параметра. Формальные параметры Параметры -значения Параметры- переменные Параметры- процедуры Параметры- функции Параметры-переменные – это формальные параметры, перед которыми стоит служебное слово VAR. Они передаются по ссылке (передаётся адрес фактического параметра) тогда, когда необходимо передать некоторые новые значения в точку вызова процедуры из программы. Параметры-значения – перед ними слово VAR не ставится и идёт передача по значению, т.е. передаётся только копия значения этих параметров. Их любые изменения никак не отражаются на значениях соответствующих фактических параметров.

Глобальныелокальные переменные Глобальные и локальные переменные Глобальные переменные – это те переменные, которые объявлены в описании основной части. Локальные переменные – это те, которые объявлены в процедурах и функциях. Локальные переменные существуют только тогда, когда работает подпрограмма, появляются при вызове и исчезают при завершении работы.

Примеры обращения к процедуре (вызова процедуры). PROCEDURE SQ (a,b,c: real;VAR x1,x2:real) Примеры обращения к процедуре: SQ((25/3+2)*2, -1.5, ( )/3, a1, a2); SQ(P,Q,R,Y,Z); Фактическим параметром, соответствующим формальному параметру- значению, может быть любое выражение соответствующего типа; константа соответствующего типа; переменная соответствующего типа. Фактический параметр, соответствующим формальному параметру- переменной, может быть только переменной.

МЕХАНИЗМ ПЕРЕДАЧИ ПАРАМЕТРОВ А) ПАРАМЕТРЫ-ЗНАЧЕНИЯ (п-з) 1.В памяти выделяется место для каждого формального параметра. 2.Вычисляется значение фактического параметра и засылается в ячейку, соответствующую формальному параметру. 3.Если фактический параметр есть имя переменной, то значение этой переменной пересылается в соответствующий формальный параметр. На этом всякая связь между фактической переменной и формальным параметром обрывается. Б) ПАРАМЕТРЫ-ПЕРЕМЕННЫЕ (п-п) Для формального параметра используется именно та ячейка, которая содержит соответствующий фактический параметр.

1. Пример процедуры с параметрами-значениями PROGRAM PZ; VAR i : integer; Procedure P1 (i: integer); Begin i:=i*2; End; BEGIN i:=2; P1(i); WriteLn(i=, i); END. Механизм передачи параметров: i2 i 2 4 ЭКРАН i=2 PROGRAM PZ; Procedure P1 1.Назовите глобальные и локальные переменные. 2. назовите формальные и фактические параметры. 3.Какие формальные параметры использованы?

2. Пример процедуры с параметрами-переменными PROGRAM PP; VAR a,b: integer; PROCEDURE P2 (x: integer; VAR y: integer); Begin x:=x+1; y:=y+1; WriteLn(x,,y); End; BEGIN a:=0; b:=0; P2(a,b); WRITELN(a,,b); END PROGRAM PP; Механизм передачи параметров: 1.Назовите глобальные и локальные переменные. 2. назовите формальные и фактические параметры. 3.Какие формальные параметры использованы? PROCEDURE P2 a b 0 0 x y 0 адрес яч.b ЭКРАН 11 01

Упражнения на механизм передачи параметров в процедурах. А) var c,d:integer; Procedure P(x,y:integer;); Begin y:=x + 1; end; Б) var c,d:integer; Procedure Q(x:integer; var y:integer); Begin y:=x + 1; end; B) var c,d:integer; Procedure R(var x,y:integer); Begin y:=x + 1; end; 1) для каждой процедуры указать параметры- значения и параметры- переменные; 2) определить, что будет выведено на экран в следующих случаях: с:=2;d:=0;P(sqr( c ) + c, d); Writeln(d); с:=2;d:=0;Q(sqr( c ) + c, d); Writeln(d); 3) допустимы ли обращения R(sqr( c ) + c, d); и R(c, d); ?

Задания: 1. Даны 4 действительных числа a, b, c, d ( 0). Решить квадратные yравнения: ax 2 +bx+c=0; bx 2 +cx+d=0; ax 2 +dx+c=0; dx 2 +bx+c=0.

Задания: 2. Даны 4 действительных числа a, b, c, d ( 0). Решить линейные yравнения: ax+c=0; bx+c=0; ax+d=0; dx+b=0.

Задачи. 1. Вводятся два числа a и b. Определить a b и b a, используя процедуру вычисления степени числа. PROGRAM z1; VAR a, b: byte; ab: Longint; PROCEDURE stepen (x, y : byte, Var z : Longint); Var i: byte; Begin z:=1; For i:=1 To y Do z:=z*x; End; BEGIN WriteLn(Введите два целых числа); ReadLn(a,b); stepen(a, b, ab ); WriteLn(a:3, в степени b:3, равно,ab:10); stepen(b, a, ab ); WriteLn(); END.