оді пізніше
var
rez: real;
m, n: longint; - описуємо глобальні змінні. br/>
function fact (z: longint): real; оголошуємо функцію, даємо їй ім'я fl, вказуємо формальні параметри. У даному випадку це параметр-значення z. p> var
y: real; описуємо локальну змінну, тобто вона буде використовуватися тільки в тілі функції. Real використаний тому, що вже 13! Виходить за рамки longint
begin
y: = 1; необхідно привласнити змінній значення, рівне одиниці, принаймні з двох причин:
1) при множенні числа на 1 виходить це ж число, тому при у = 1 виключені помилки на початку обчислення факторіала. p> 2) відомо, що 0! = 1, тому при m або n = 0 цикл не запускається, а значення 0! Виявляється рівним 1. p> while z> 1 do запускаємо цикл у зворотний бік, оскільки результат виходить один і той же, але при цьому не доводиться описувати додаткову локальну змінну для запуску циклу з параметром. 1 виключаємо з обчислення факторіала з вищезгаданих причин. p> begin
y: = y * z;
z: = z-1
end;
fact: = y цим оператором присвоюємо функції значення факторіала.
Крапку з комою перед end можна не ставити.
end; кінець функції
begin початок тіла програми
writeln ('введіть невід'ємні числа '); даний оператор виводить на екран текст, укладений між'', допомагає зрозуміти, чого ж вимагає програма.
0: readln (m, n); за допомогою цього оператора введення інформації вихідні дані заносяться в осередки пам'яті.
if m or n <0 then begin writeln ('ви помилилися, вводите невід'ємні числа ');
goto 0
end; якщо користувач все ж ввів негативні числа, то програма видасть невірний результат, дана послідовність операторів виводить на екран повідомлення про помилку користувача і повертає до введенню чисел
rez: = (fact (m) + fact (n))/fact (m + n); обчислюємо значення (m! + n!)/(m + n)!
writeln ('результат:', rez) даний оператор виводу інформації виводить на екран обчислена значення.
end. кінець програми
Наведемо для більшої надійності ще кілька результатів рахунки
M = 2 N = 8 X = 1.1111662257Е-02
M = 4 N = 4 X = 1.1904761905Е-03
M = 0 N = 3 X = 1.1666666667Е +00
M = 3 N = 15 X = 2.0424836601Е-04
ВИСНОВОК
В
Система програмування Турбо Паскаль містить потужний інструмент розробки програм - підпрограми. У цьому курсової наведені синтаксис процедур, види і призначення параметрів. Як ми побачили, програма обчислення факторіала з використанням функції набагато більш компактна, ніж та ж програма без процедур-функцій. Використання процедур-функцій аж ніяк не є поганим тоном в ...