Процедуры и функции

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

В Паскале имеется два вида подпрограмм – процедуры и функции.

Описание процедуры. Оператор процедуры.

Общий вид описания процедуры (в квадратные скобки заключена часть, которая может отсутствовать):

Procedure Имя [(Список формальных параметров)];

Описательная часть

Begin

Тело процедуры

End;

При вызове процедуры ее формальные параметры заменяются соответствующими фактическими. Количество и типы формальных и фактических параметров должны в точности совпадать.

Пример

Составить программу для вычисления аn; целые числа а и n вводятся с клавиатуры.

Program Example-1;

Var a,n: integer;
s: longint;

Procedure Degree (x,y: integer; Var st: longint);

Var i: integer;

Begin
st:=1;
for i:=1 to y do st:= st*x;

End;

Begin
writeln(‘Введите два числа – основание и показатель
степени’);
readln(a,n);
Degree(a,n,s); {Обращение к процедуре}
writeln(‘Результат’,s);
readln;

End.

 
 


Задания:

1. Используя процедуру для вычисления степени числа, найти значение выражения:
у = а4х4 + а3х3 + а2х2 + а1х + а0.
Коэффициенты а4, а3, а2, а1, а0 и х вводятся с клавиатуры.

2. Даны координаты трех вершин треугольника. Найти длины всех его сторон.

3. Составить программу, в результате которой величина А меняется значением с величиной В, а величина С – с величиной D.

4. Даны два натуральных числа. Определить, является ли одно число перевертышем другого?

5. Написать рекурсивную функцию для вычисления факториала натурального числа n.

3.9.2Функции

Общий вид описания функции:

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

Описательная часть

Begin

Тело функции, в котором обязательно должно быть присваивание
Имя функции:= значение

End;

Пример

Написать программу вычисления значения С:
С =

Program Exampl-2;

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(‘Ввод 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(c);
readln;

End.

 
 


Задания:

1. Сформировать массив Х(N), N- й член которого определяется формулой Х(N)= .

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: