Програмування: Функції, процедури та підпрограми, Детальна інформація

Програмування: Функції, процедури та підпрограми
Тип документу: Реферат
Сторінок: 5
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 11.4
Скачувань: 923
При обчисленні останнього виразу спочатку виконується "внутрішній" виклик min(d1, d2). Значення, обчислене при його виконанні, стає аргументом у "зовнішньому" виклику.

Задачі

1). Написати функцію обчислення за дійсним параметром x:

а) його знака (sign(x)=-1, 0 або 1 відповідно при x<0, x=0, x>0);

б)* ceil(x) – найменшого цілого, що не менше, ніж значення параметра (для від'ємних значень параметра можливі два варіанти означення).

2). Написати програму обчислення периметра й площі трикутника за координатами його вершин.

3). Написати тригонометричні функції з дійсним параметром, значення якого вимірюються в градусах.

4). Написати функцію означення за довжинами трьох відрізків, чи утворюють вони трикутник З її використанням написати програму обчислення, скільки трикутників можна утворити з чотирьох заданих різних відрізків.

2.Процедури, підпрограми та параметри

Розглянемо задачу: довільні значення трьох змінних a, b, c переставити за необхідності так, щоб вони були упорядковані за неспаданням, тобто щоб мали місце нерівності a? b? c. Алгоритм розв'язання цієї задачі простий:

якщо a>b, то обміняти значення змінних a і b;

{гарантовано, що a? b}

якщо b>c, то обміняти значення змінних b і c;

{гарантовано, що b? c і a? c; але нерівність a? b не гарантована, тому:}

якщо a>b, то обміняти значення змінних a і b.

Обмін значень двох змінних, наприклад, a і b, задається трьома операторами з допоміжною змінною: t:=a; a:=b; b:=t. Мовою Паскаль алгоритм записується так:

program sort3(input, output);

var a, b, c, t : integer;

begin

writeln('задайте три цілих'); readln(a, b, c);

if a>b then begin t:=a; a:=b; b:=t end;

if b>c then begin t:=b; b:=c; c:=t end;

if a>b then begin t:=a; a:=b; b:=t end;

writeln('упорядкування: ', a, ' ', b, ' ', c)

end.

Проте три майже однакові складені оператори, що задають ті самі дії, тільки з різними змінними – це нудно. Аналогічно функціям,

можна один раз описати обмін значень двох змінних, представлених параметрами, дати ім'я цьому опису, а потім тільки позначати його, тобто вказувати ім'я опису й змінні, чиї значення повинні обмінятися.

На відміну від функцій, при обміні відбувається не обчислення якогось одного значення, а змінюється стан пам'яті програми (недарма обмін заданий складеним оператором). Тому такий опис оформляється й використовується інакше. Опис обміну задається процедурою, а її виклик являє собою окремий оператор.

Процедура має загальний вигляд

procedure ім'я(означення параметрів);

The online video editor trusted by teams to make professional video in minutes