Найти значение выражения - Turbo Pascal (29807)

Узнай цену своей работы

Формулировка задачи:

не знаю как решается может она просто без функций и процедур или же нет)

Решение задачи: «Найти значение выражения»

textual
Листинг программы
function f(a:integer):integer;
  begin
    if a<2 then f:=1
           else f:=f(a-1)*a
  end;
const
  n=7;
  k=3;
var
  i:integer;
  j:real;
begin
  write(f(n)/(f(k)*f(n-k)));
  j:=1;
  for i:=1 to k do
    j:=j*(n-i+1)/i;
  writeln(j:10:0);
  readln;
end.

Объяснение кода листинга программы

  1. В функции f(a) используется параметр a типа integer. Функция возвращает значение типа integer.
  2. В условии if a<2 выполняется проверка, если значение переменной a меньше 2, то функция f возвращает 1, иначе функция вызывает саму себя с аргументом a-1 и умножает результат на a.
  3. Константы n и k имеют типы integer. Значение переменной n равно 7, а значение переменной k равно 3.
  4. Переменная i имеет тип integer.
  5. Переменная j имеет тип real. Изначально значение переменной j равно 1.
  6. В цикле for i:=1 до k do значение переменной j умножается на (n-i+1)/i и записывается в переменную j.
  7. После завершения цикла выводится значение переменной j.
  8. Программа завершается вызовом функции readln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.583 из 5