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



Скачать 35.14 Kb.
Дата31.12.2012
Размер35.14 Kb.
ТипДокументы
Функции.

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

Второе отличие – в заголовке. Он состоит из слова FUNCTION.

! В теле функции обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя функции, а в правой – ее значение. Иначе, значение будет неопределенно.

Function <имя>[(<список формальных параметров>)]:<тип результата>;

<описательная часть>;

Begin

<тело функции>;

<имя>:=<значение>;

End;
Пример. Составить программу, подсчитывающую число сочетаний без повторения из N элементов по K элементов.

Число сочетаний без повторений считается по формуле:

Обозначим: n, k – введенные числа, С – переменная для хранения результата.

Опишем функцию, вычисляющую факториал числа n (n!=1*2*…*n).

Function factorial(n: Integer): Longint; {заголовок функции}

Var i: Integer; {описательная часть}

rez: Longint;

Begin {тело процедуры}

rez:=1;

for i:=1 to n do rez:=rez*i;

factorial:=rez;

End;
В программе процедуры и функции описываются после раздела ее переменных, но до начала ее основной части, то есть до Begin, начинающего эту часть.

Вся программа:
Program Example_8;

Var n, k: Integer;

a1, a2, a3, c: Longint;

Function factorial(n: Integer): Longint; {заголовок функции}

Var i: Integer; {описательная часть}

rez: Longint;

Begin {тело процедуры}

rez:=1;

for i:=1 to n do rez:=rez*i;

factorial:=rez;

End;
Begin

Writeln(‘Input n, k’);

Readln(n,k);

a1:=factorial(n); {вычисление n!}

a2:=factorial(k); {вычисление k!}

a3:=factorial(n-k); {вычисление (n-k)!}

c:=a1 div (a2*a3);

Writeln(‘The result is ’,c);

Readln;

End.

Пусть n=5, a k=3. Когда в программе встретится оператор a1:=factorial(n), выполняться следующие действия:

  • Выделится память для переменных, описанных в функции factorial;

  • Присвоятся формальным параметрам значения фактических параметров: n:=n (n=5);

  • Выполнится функция, т.е. будет найден факториал числа 5;

  • Полученное значение функции передается в место обращения к этой функции, т.е. присвоится значение переменной а1 и осуществится переход к выполнению следующих действий основной программы.


Распределение памяти между переменными, используемыми в функции и основной программе.

Program Example_8;

n

5
Function factorial


k

3

a1

-
n

5


a2

-
i

-


A3

-
rez

120


c

-

a
Begin

End;
1:=factorial(n);

a2:=factorial(k);

a3:=factorial(n-k);

c:=a1 div (a2*a3);
Описание функции – это самостоятельная часть программы, имеющая собственные переменные, которым отводится отдельное, независящее от основной программы место памяти в ЭВМ. Этим объясняется тот факт, что переменные, именуемые одним именем и используемые как в описании функции, так и в основной программе, фактически являются разными переменными (в примере – переменная n в основной части программы и параметр n в описании функции). При выполнении программы машина не путает имена этих переменных.

Пример. Написать функцию, подсчитывающую количество цифр числа.

Function quantity(x: Longint):Byte;

Var k: byte;

Begin

k:=0;

While x<>0 do begin

inc(k);

x:=x div 10;

end;

quantity:=k;

End;
Задания (решить с помощью функций).

  1. Используя функцию quantity определить, в каком из двух данных чисел больше цифр.

  2. Найти сумму цифр n чисел.

  3. Среди чисел из интервала от А до В найти все простые.

  4. Найти все автоморфные числа из интервала от А до В. Число является автоморфным, если квадрат этого числа заканчивается этим же числом.. Например, число 6 – авоморфное (его квадрат 36 заканчивается на 6) или 25 (его квадрат 625).

  5. Дано 4 числа. Вывести на экран наибольшую из первых цифр заданных чисел. Например, если а=25, b=730, c=127, d=1995, то должна напечататься цифра 7.

  6. Дано натуральное число n. Выяснить, имеются ли среди чисел n, n+1, …, 2n близнецы, т.е. простые числа, разность между которыми равна двум.

Похожие:

Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) iconЗадача интерполирования состоит в том, чтобы по значениям функции f(x) в нескольких точках отрезка восстановить её значения в остальных точках этого отрезка
Й физической величины в точках, к=0,1,…, n и требуется определить её значения в других точках. Иногда возникает необходимость замены...
Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) iconЛогические элементы и логические функции
Логическая функция — это функция логических переменных, которая может принимать только два значения: 0 или в свою очередь, сама логическая...
Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) iconBuilder 6 Тема Простейшие программы. Вычислить и вывести на экран в виде таблицы значения функции f в интервале от X1 до X2 с шагом dX. Значения параметров a, b, c, X1, X2, dX должны запрашиваться с клавиатуры
Значения параметров a, b, c, X1, X2, dX должны запрашиваться с клавиатуры. Значение f должно вычисляться в отдельной функции. Ввод...
Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) iconФункциональная зависимость между двумя переменными
Если каждому значению аргумента соответствует только одно значение функции, то эта функция называется однозначной; в противном случае,...
Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) icon«Предел функции в точке»
Задачи: научить учащихся определять бесконечно малые и бесконечно большие функции при различных значениях параметров и вычислять...
Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) iconМетодические рекомендации для изучения темы «Множество значений функции. Наибольшее и наименьшее значения функции»
Множеством (областью) значений функции называется множество всех тех значений, которые может принимать функция. Геометрически это...
Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) iconФункции и их свойства Функция — одно из важнейших математических понятий. Функцией
Функция — одно из важнейших математических понятий. Функцией называют такую зависимость переменной у от переменной х, при которой...
Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) icon2. Устройство моп транзистора Логические элементы на моп транзисторах
В булевой алгебре независимые переменные или аргументы (X) принимают только два значения: 0 или Зависимые переменные или функции...
Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) iconДифференциальное исчисление функции нескольких переменных
В науке и на практике обычно оказывается, что независимых переменных бывает несколько, и для определения значения функции необходимо...
Функции. Функции предназначены для того, чтобы вычислять только одно значение, поэтому ее первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет ее результатом) iconКасательная плоскость и нормаль к поверхности экстремум функции двух независимых переменных
Определение Пусть даны 2 непустых множества и. Если каждой паре действительных чисел, принадлежащих множеству, по определенному правилу...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org