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

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



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

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

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

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

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

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

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

procedure ( ) ; const...; type...; var...; begin end; Процедура=маленькая программа Все эти элементы ЛОКАЛЬНЫЕ и видны только внутри данной процедуры

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

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

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;

10 Параметры-переменные Задача: составить процедуру, которая меняет местами значения двух переменных. Особенности: надо, чтобы изменения, сделанные в процедуре, стали известны вызывающей программе program qq; var x, y: integer; begin x := 1; y := 2; Exchange ( x, y ); writeln ( x =, x, y =, y ); end. 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

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

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; procedure Exchange ( a, b: integer ); var c: integer; begin c := a; a := b; b := c; end; var параметры могут изменяться

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