Функции Ещё одна разновидность подпрограмм. Общие сведения Функция оформляется аналогично процедуре. Отличительные особенности функции: она имеет только.

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



Advertisements
Похожие презентации
Процедуры и функции Вербицкая Ольга Владимировна, Заозерная школа 16.
Advertisements

Что такое структурный подход в программировании? Как он реализуется в ЯП Паскаль? Что такое процедура? Кто дает название процедуре? Где записывается процедура?
Подпрограммы: процедуры и функции Информатика. 1. Подпрограммы При решении различных задач часто возникает необходимость проводить вычисления по одним.
Подпрограммы -это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих.
Подпрограммы в Паскале.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 5.
Функции в Паскале Подпрограммы в Паскале. Подпрограмма - автономная часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из.
МЕТОД ПОСЛЕДОВАТЕЛЬНОЙ ДЕТАЛИЗАЦИИ. ПРОЦЕДУРЫ И ФУНКЦИИ Урок 1.
Программа имеет заголовок следующего вида Program имя ; Имя - это имя программы. Идентификатор имени имеет не более семи символов. Имя начинается с буквы.
Шутилина Л.А. Процедуры в Turbo Pascal ( часть 1: процедуры с параметрами)
© М.Е.Макарова
Учитель НСШ Кумакшев А.Н, учитель БСШ2 Вахмистров Г.Г. Элективный курс по информатике «Процедуры и функции на языке Pascal».
Функции и процедуры Инструмент структурирования программ Два типа подпрограмм Описание Локальные и глобальные переменные Параметры: формальные и фактические.
Подпрограммы в Паскале Подпрограммы в Паскале (Технология нисходящего программирования)
Функции в Turbo Pascal Шутилина Л.А.
ЗАПИСЬ ВСПОМОГАТЕЛЬНЫХ АЛГОРИТМОВ НА ЯЗЫКЕ Паскаль НАЧАЛА ПРОГРАММИРОВАНИЯ.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
Подпрограммы в Паскале Подпрограммы в Паскале (Технология нисходящего программирования)
Заглавные и строчные латинские буквы цифры 0…9 специальные символы + - * / = > <., : ^ () {} [] $ #
Цикл с параметрами. Операторы цикла в Паскале Операторы цикла используются для многократного повторения входящих в их состав операторов. В языке Турбо.
Транксрипт:

Функции Ещё одна разновидность подпрограмм

Общие сведения Функция оформляется аналогично процедуре. Отличительные особенности функции: она имеет только один результат выполнения (но может иметь несколько входных параметров); результат обозначается именем функции и передаётся в основную программу. Функция оформляется в следующем виде: Function (формальные параметры: тип): тип значения функции; Var... Begin... End ;

Найти (x!-y!)*d! Function fac(n:integer): integer; Var p,i: integer; Begin p:=1; for i:=2 to n do p:=p*i; fac:=p; End; Вызвать можно так: f:=(fac(x)-fac(y))*fac(d). Внимание! В теле функции обязательно должен быть хотя бы один оператор присваивания, где в левой части стоит имя функции, а в правой - ее значение. Иначе, значение не будет определено.

Различие между функциями и процедурами Program ProcedureAndFunction; Uses Crt; Var a, b, SumNumbers : integer; Procedure Summa1(Var Sum: integer; a, b : integer); Begin Sum:= a+b; End; Function Sum(a, b : integer) : integer; Begin Sum:= a+b; End;

Различие между процедурами и функциями Begin ClrScr; a := 12; b := 15; Summa1(SumNumbers, a, b); writeln ('С помощью процедуры сумма чисел равна ',SumNumbers); writeln ('С помощью функции сумма чисел равна ',Sum(a, b)); End. Вызов процедуры производится по ее имени. Наряду с параметрами-значениями a и b, которые подлежат сложению, в списке параметров присутствует параметр-переменная Sum, который содержит возвращаемое процедурой значение - сумму.

Способ описания функции Функция же имеет только два параметра. Это связано с тем, что само имя функции представляет собой идентификатор параметра, значение которого после окончания работы функции равно результату вычисления. Этот параметр соответствует параметру-переменной Sum процедуры. При объявлении функции ей в соответствие ставят определенный тип данных - тип возвращаемого функцией значения. Объявление функции Function Sum(a, b : integer) : integer; внешне похоже на объявление переменной Sum типа integer. Тип функции объявляется следом за списком параметров - после закрывающейся скобки этого списка и двоеточия.

Способ вызова функции Процедуры и функции в Турбо Паскале отличаются не только описанием, но и способом их вызова. Так вызов функции Sum можно произвести в следующей форме SumNumbers:= Sum(a,b); Если не обращать внимания на наличие списка параметров, то этот оператор выглядит как присвоение переменной SumNumbers значения переменной Sum. Компилятор, конечно же, знает, что Sum - это имя функции (т.к. определение предшествует использованию) и организует вычисления соответствующим образом. Точно так же, как константа или переменная, вызов функций может использоваться в списках параметров оператора write (см. программу), что для процедур невозможно.

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

Когда что использовать? Оформлять подпрограмму как функцию целесообразно только в том случае, если ожидается результат работы подпрограммы. Если же последовательность команд ориентирована на выполнение некоторого действия (выдача информации на экран и т.п.), целесообразно оформлять ее как процедуру.

Решение задач Найти сумму цифр числа. Найти первую цифру числа. Найти количество делителей числа. Составьте программу, проверяющую, является ли число палиндромом (например, число палиндром). Определить, является ли число автоморфным, то есть квадрат этого числа заканчивается этим же числом, например, числа 6 и 25, т.к. их квадратами являются числа 36 и 625.