Подпрограммы Лекция 7. Ломаско Павел Сергеевич16 декабря 2013 г.

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



Advertisements
Похожие презентации
Понятие подпрограммы Стандартные процедуры и функции.
Advertisements

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

Подпрограммы Лекция 7. Ломаско Павел Сергеевич16 декабря 2013 г.

План 1. Принцип декомпозиции и понятие подпрограммы. 2. Виды переменных при работе с подпрограммами. 3. Примеры использования подпрограмм. 4. Рекурсия.

Принцип декомпозиции

Второй тезис Декстра При структурном программировании задача разбивается на подзадачи и для каждой подзадачи описывается соответствующая ей подпрограмма.

Подпрограмма - это отдельная функционально независимая часть программы. Любая подпрограмма обладает той же структурой, которой обладает и вся программа. Подпрограммы решают три важные задачи: избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты; улучшают структуру программы, облегчая ее понимание; повышают устойчивость к ошибкам программирования и непредвидимым последствиям при модификациях программы.

Подпрограммы в Pascal Для описания используется служебное слово procedure Вызов: указание имени, параметров и ; Например: MyProc(a,b); Для описания используется служебное слово function В отличии от процедур функции имеют тип и всегда должны возвращать определенное значение. Вызов: с оператором := или вывода. Например: X:=MyFunct(a,b); Writeln(MyFunct(a,b)); Отличаются по способу вызова!

Описание подпрограмм Procedure Name (a, b: type); Begin End; Function Name (a, b: type): type; Begin End;

Стандартная подпрограмма - это подпрограмма, включенная в библиотеку программ среды программирования, доступ к которой обеспечивается средствами языка программирования. Вызывается она по имени с заданием фактических параметров с типом описанным при описании данной процедуры в библиотечке процедур и функций. Из набора стандартных процедур и функций по обработке одного типа информации составляются модули (например, crt). Примеры стандартных подпрограмм: abs, clrscr, cos, sin, sqrt и т.д.

Виды переменных

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

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

Формальные параметры Не изменяются в подпрограмме, не передаются в основную программу. Изменяются в подпрограмме, передаются в основную программу.

Фактические параметры По другому называются параметры- значения Передаются основной программой в подпрограмму через стек в виде их копий. Это те переменные, которые указываются в качестве параметров в основной программе при вызове процедуры или функции.

Пример: с помощью подпрограммы найти среднее арифметическое трех целых чисел Program avg_1; Uses crt; Var x,y,z: integer; av:real; Procedure Average (a,b,c:integer; var avg:real); Var sum:integer; Begin Sum:=a+b+c; Avg:=sum/3; End; Begin clrscr; Readln (x,y,z); Average (x,y,z,av); Writeln(av); End.

Примеры

Пример 1 С помощью процедуры вычислить площади для N треугольников со сторонами a,b,c.

Пример 2 Написать программу, в которой вводится M натуральных чисел и для каждого из них выводится сумма его цифр.

Пример 3 Описать функцию Even(K) логического типа, возвращающую TRUE, если целый параметр K является четным, и FALSE в противном случае. С ее помощью найти количество четных чисел в наборе из 10 целых чисел.

Пример 4 Написать программу, которая с помощью процедуры выводит значение N-го члена последовательности Леонардо Фибоначчи. (около 1170 около 1250)

Рекурсия

(от латинского recursio - возвращение) - это такой способ организации вычислительного процесса, при котором процедура или функция в ходе выполнения составляющих ее операторов обращается сама к себе. Для того, чтобы такое обращение не было бесконечным, в тексте подпрограммы должно быть условие, по достижению которого дальнейшего обращения не происходит. Таким образом, рекурсивное обращение может включаться только в одну из ветвей подпрограммы.

Пример Описать рекурсивную функцию вычисления N!

Для самостоятельной работы Все занятия дома прорешать! Прочитать в Википедии про Леонардо Фибоначчи и его труды.

Спасибо за внимание!