'

Подпрограммы. Функции и процедуры.

Понравилась презентация – покажи это...





Слайд 0

Подпрограммы. Функции и процедуры. Кулебякин В.В.


Слайд 1

Очень часто процесс решения какой – либо задачи может быть мысленно представлен как последовательность решения более простых подзадач. Процедуры и функции по своей структуре подобны обычным программам и имеют общее название – подпрограммы. Применение подпрограмм дает возможность избежать повторения одной и той же последовательности операторов, а так же конструировать программу, разбивая ее на отдельные подзадачи – выполняя декомпозицию. Для сложных задач это существенно упрощает процесс программирования. Создание пользовательских подпрограмм ЕСЛИ В ПРОГРАММЕ ЧТО-ТО ПОВТОРЯЕТСЯ – ОНА НАПИСАНА НЕПРАВИЛЬНО!


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

procedure <имя процедуры> ( <список формальных параметров> ) ; const ...; type ...; var ...; begin <операторы> end; Процедура=маленькая программа


Слайд 6

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


Слайд 7

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


Слайд 8

9 Процедуры Особенности: в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не имеют к ним доступа 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;


Слайд 9

10 Параметры-переменные Задача: составить процедуру, которая меняет местами значения двух переменных. Особенности: надо, чтобы изменения, сделанные в процедуре, стали известны вызывающей программе program qq; var x, y: integer; begin x := 1; y := 2; Exchange ( x, y ); writeln ( ’x = ’, x, ’ y = ’, y ); end. procedure Exchange ( a, b: integer ); var c: integer; begin c := a; a := b; b := c; end; эта процедура работает с копиями параметров x = 1 y = 2


Слайд 10

Вызов процедуры для выполнения осуществляется по ее имени, за которым в круглых скобках следует список фактических параметров, т.е. передаваемых в процедуру данных: <имя процедуры> ( <список фактических параметров> ); Если у процедуры нет параметров, то их список (в том числе круглые скобки) не указывается. Вызов процедуры Power(a,b); Main;


Слайд 11

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


Слайд 12

Вложенные процедуры и функции Как и любые другие элементы программы, процедуры и функции могут быть локальными, если они описаны внутри другой процедуры или функции. Procedure Main; Procedure Main1(c:Real); Begin … End; Begin … Main1 End;


×

HTML:





Ссылка: