program vur;
var z,a,b,c: real;
function max (x.y:real):real;
begin
if x > y
then max:=x
else max:=y
end;
{головная программа}
begin
writeln (' ввести a,b,c');
readln (a,b,c);
Z:=(max(a,b+c) + max(a+b,c*c))/(1+ max(a+b*c,12));
writeln ('Z=',Z)
end.
ПРИМЕР 2: Найти N число последовательности Фибоначчи. Использовать рекурсивную функцию. Числа Фибоначчи образуют последовательность, у которой каждый очередной член равен сумме двух предыдущих: 0 1 1 2 3 5 8 13... Обозначив N-й член ряда Фибоначчи посредством символа F(N), можно записать следующую рекурсивную зависимость:
F(N)=F(N-1)+F(N-2), n >= 3,
F(1)=1 и F(2)=1
П Р О Г Р А М М А
program FIBON;
var N: integer;
fuction F(k: integer): integer;
begin
if (k=1) or (k=2)
then F:=1
else F:=F(k-1)+F(k-2)
end;
{головная программа}
begin
writeln ('N=');
readln (N);
writeln ('число =', F(N))
end.
Порядок работы
1. Составить алгоритм и программу с использованием подпрограммы-функции (табл.17).
2. Составить алгоритм и программу, включающую рекусивную функцию (табл.18).
Содержание отчета
Отчет по лабораторной работе должен содержать условия двух задач, алгоритмы, программы, исходные данные для контрольного примера, результаты.
ТАБЛИЦА 17
НОМЕР ВАРИАНТА | УСЛОВИЕ |
Вычислить число сочетаний из n по m(n>m) по формуле: | |
Вычислить: | |
Вычислить: | |
Найти все трехзначные числа, равные сумме факториалов своих цифр. | |
Два треугольника заданы координатами своих вершин. Вычислить площади треугольников с помощью формулы Герона и определить, какой треугольник имеет большую площадь. | |
Решить уравнение ax+b=0, где Значения k,l,m вводятся. | |
Даны действительные числа s,t. Вычислить: , где | |
Вычислить число сочетаний с повторениями по формуле: | |
Найти наибольший общий делитель целых положительных чисел a,b,c. | |
Даны действительные числа х,у. Вычислить: , где | |
Решить уравнение , где Значения r,m,n вводятся. | |
Используя функцию нахождения наибольшего общего делителя, найти наименьшее общее кратное двух чисел. | |
Вычислить: | |
Вычислить: |
ТАБЛИЦА 18
НОМЕР ВАРИАНТА | УСЛОВИЕ |
Найти НОД двух неотрицательных целых чисел m и n с использованием первого алгоритма Евклида: | |
Найти НОД двух неотрицательных целых чисел m и n c использованием второго алгоритма Евклида: | |
Вычислить функцию Аккермана A(n,m) для неотрицательных целых чисел m и n по формуле: | |
Вычислить числа Каталана K(n) для натурального n по формуле: K(1)=K(2)=1 K(n)=K(n-1)*(4*n-6)/n, при n 3 | |
Вычислить n-ый член арифметической прогрессии. Заданы первый член а 1 и разность d. | |
Вычислить n-ый член геометрической прогрессии. Заданы первый член а1 и знаменатель геометрической прогрессии q. | |
Вычислить сумму n членов арифметической прогрессии. Заданы первый член а1 и разность d. Для вычисления члена арифметической прогрессии использовать формулу варианта 5. | |
Вычислить сумму n членов геометрической прогрессии. Заданы первый член а1 и знаменатель геометрической прогрессии q. Для вычисления члена геометрической прогрессии использовать формулу варианта 6. | |
Вычислить: Для вычисления факториала воспользоваться формулой | |
Найти максимум из двух величин НОД(a,b) и НОД(c,d). Для вычисления наибольшего общего делителя воспользоваться формулой варианта 1. | |
Вычислить a! + b!. Для вычисления факториала воспользоваться формулой варианта 9. | |
Вычислить F(k)-F(m), где F(k) - k-ый член последовательности Фибоначчи, F(m) - m-ый член последовательности фибоначчи. F(1)=F(2)=1 F(n)=F(n-1)+F(n-2) для n >= 3 | |
Вычислить: Для вычисления наибольшего общего делителя воспользоваться формулой варианта 2. | |
Вычислить величину pow(x,n) для вещественного х0 и целого n по формуле: |