Программирование на языке Паскаль Тема 13. Процедуры Тема 14. Функции.

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



Advertisements
Похожие презентации
1 Программирование на языке Паскаль Процедуры. 2 Задача: Построить фигуру: Особенность: Три похожие фигуры. общее: размеры, угол поворота отличия: координаты,
Advertisements

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

Программирование на языке Паскаль Тема 13. Процедуры Тема 14. Функции

2 Достоинства подпрограмм: программы с участием подпрограмм легче тестировать и отлаживать, у них более четкая логическая структура; независимость п/п локализует все детали программной реализации алгоритма, и поэтому их изменение не приводит к изменению основной программы. Самостоятельный характер п/п позволяет составлять их различным программистам. Использование п/п экономит память. Память для хранения переменных подпрограмм выделяется только на время ее работы и высвобождается, как только ее выполнение заканчивается. Теория. М.Е.Фиошин, § 13 (стр. 190 – 198) Подпрограммы. Общие сведения.

3 Что такое Процедуры? Процедура – это вспомогательный алгоритм, который предназначен для выполнения некоторых действий. Применение: выполнение одинаковых действий в разных местах программы разбивка программы (или другой процедуры) на подзадачи для лучшего восприятия Подзадача 1Подзадача 2Подзадача Задача

4 Что такое процедура? текст (расшифровка) процедуры записывается до основной программы в программе может быть много процедур чтобы процедура заработала, нужно вызвать её по имени из основной программы или из другой процедуры

5 Пример программы с процедурой writeln('Ошибка программы'); много раз! program withProc; var n: integer; begin read(n); if n < 0 then Error;... end. program withProc; var n: integer; begin read(n); if n < 0 then Error;... end. procedure Error; begin writeln('Ошибка программы') end; procedure Error; begin writeln('Ошибка программы') end; вызов процедуры Имя процедуры

6 Процедуры Особенности: все процедуры расположены выше основной программы в заголовке процедуры перечисляются формальные параметры, они обозначаются именами, поскольку могут меняться при вызове процедуры из основной программы в скобках указывают фактические параметры (числа или арифметические выражения) в том же порядке procedure Tr( x, y, r, g, b: integer); Tr (200, 100, 0, 255, 0); x x y y r r g g b b

7 Процедуры Особенности: для каждого формального параметра после двоеточия указывают его тип если однотипные параметры стоят рядом, их перечисляют через запятую внутри процедуры параметры используются так же, как и переменные procedure A (x: real; y: integer; z: real); procedure A (x, z: real; y, k, l: integer);

8 Процедуры Особенности: в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не имеют к ним доступа program qq; procedure A(x, y: integer); var a, b: real; begin a := (x + y)/6;... end; begin... end. procedure A(x, y: integer); var a, b: real; begin a := (x + y)/6;... end; локальные переменные var a, b: real;

Процедура. Program PRIM; Var x, k, n: integer; PROCEDURE STEPEN (n, x: Integer; Var k: integer); Var i: Integer; Begin k:=1; Writeln (' Введите степень'); Read(x); For i:=1 TO x DO k:= k*n End; Begin Writeln('Введите число); Readln(n); STEPEN (n,x,k); Writeln ('k=', K); End. Program PRIM; Var x, k, n: integer; PROCEDURE STEPEN (n, x: Integer; Var k: integer); Var i: Integer; Begin k:=1; Writeln (' Введите степень'); Read(x); For i:=1 TO x DO k:= k*n End; Begin Writeln('Введите число); Readln(n); STEPEN (n,x,k); Writeln ('k=', K); End. Пример: Возвести число в N-ю степень. Заголовок Имя п/п Формальные параметры Тело процедуры Обращение к процедуре Локальные переменные Фактические параметры 9 Поиск Max элемента массивов а, b и их номера Пример работы программы

10 Процедуры Особенности: все процедуры расположены выше основной программы в заголовке процедуры перечисляются формальные параметры, они обозначаются именами и могут меняться при вызове процедуры в скобках указывают фактические параметры (через запятую или арифметические выражения) в том же порядке Procedure STEPEN (n: Integer; x: real; Var k: real); STEPEN (x, n, k); (n, x, k); x x n n k k Выходной параметр

11 Параметры-переменные Применение: таким образом процедура может возвращать несколько значений, Запрещенные варианты вызова Exchange ( 2, 3 ); { числа } Exchange ( x+z, y+2 ); { выражения } procedure Exchange ( a, b: integer ); var c: integer; begin c := a; a := b; b := c; end; procedure Exchange ( a, b: integer ); var c: integer; begin c := a; a := b; b := c; end; var параметры могут изменяться

Выделяются два основных класса формальных параметров: Параметры-значения – используются в качестве входных данных п/программы, при обращении к которой фактические параметры передают свое значение формальным и больше не изменяются. Параметры-переменные – используются как в качестве входных, так и в качестве выходных параметров. В заголовке процедуры перед ними указывается служебное слово Var. При обращении к п/пр. фактические параметры заменяют формальные. В качестве входных данных в п/пр. следует использовать параметры-значения. В качестве выходных – параметры- переменные. Данные, которые являются и входными, и выходными, следует описывать как параметры-переменные. Параметры-переменные 12

13 Задачи «A»: Напишите процедуру, которая переставляет три переданные ей числа в порядке возрастания. Пример: Введите три натуральных числа: «B»: Напишите процедуру, которая сокращает дробь вида M/N. Числитель и знаменатель дроби передаются как изменяемые параметры. Пример: Введите числитель и знаменатель дроби: После сокращения: 5/3