Реферат: Подпрограммы (процедуры и функции)

End;

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

Function Number(N : Integer) : Integer;

Var Vsp : Integer;

Begin

Vsp := 0;

While N > 0 Do

Begin

Vsp := Vsp + 1; N := N Div 10

End;

Number := Vsp

End;

Наконец, последняя процедура.

Procedure Change(Var N : Integer);

Var Kol, P, S, R : Integer;

Begin

Kol := Number(N);

P := N Mod 10; {последняяцифра}

If Kol > 1 Then

S := N Div Round(Exp((Kol - 1) * Ln(10)))

Else S := 0; {перваяцифра}

R := N Mod Round(Exp((Kol - 1) * Ln(10))) Div 10;

N := P * Round(Exp((Kol - 1) * Ln(10))) + R * 10 + S

End;

Возможны также подпрограммы, которые вызывают сами себя. Они называются рекурсивными. Создание таких подпрограмм является красивым приемом программирования, но не всегда целесообразно из-за чрезмерного расхода памяти ЭВМ.

Пример 3. Найти максимальную цифру в записи данного натурального числа.

Program MaxDigit;

Type NaturLong = 1..(High(LongInt));

Digit = 0..9;

К-во Просмотров: 722
Бесплатно скачать Реферат: Подпрограммы (процедуры и функции)