Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Найти факториал числа с помощью рекурсии



program factorial; { Задача. Найти факториал числа с помощью рекурсии.} var n: integer;function fac(n: integer): longint;var i: integer;begin if (n = 0) or (n = 1) then fac:= 1 else for i:= 2 to n do fac:= i * fac(i - 1);end; begin write('Введите число для вычисления его факториала: '); readln(n); writeln(n, '! = ', fac(n)); readln;end.
  1. Перевести заданное число в другую систему счисления.
program sistema; { Задача. Перевести заданное число в другую систему счисления.} var n, i, j: longint; s: byte; m: string; procedure con(n: longint; s: byte);var l: char;begin if n <> 0 then begin case (n mod s) of 0: l:= '0'; 1: l:= '1'; 2: l:= '2'; 3: l:= '3'; 4: l:= '4'; 5: l:= '5'; 6: l:= '6'; 7: l:= '7'; 8: l:= '8'; 9: l:= '9'; 10: l:= 'A'; 11: l:= 'B'; 12: l:= 'C'; 13: l:= 'D'; 14: l:= 'E'; 15: l:= 'F'; end; n:= n div s; con(n, s); end; write(l);end; begin writeln('Введите число и систему, в которую вы хотите перевести (до 16)'); writeln('(Ваше число в десятичной системе счисления)'); readln(n, s); writeln; con(n, s); readln;end.
  1. Найти разрядность вводимого числа.
program razrad; { Задача. Найти разрядность вводимого числа.} var n: longint; function colvo(a: longint): integer;var i: integer;begin i:= 0; while a <> 0 do begin a:= a div 10; inc(i); end; colvo:= i;end; begin write('Введите число: '); readln(n); writeln('Ваше число имеет ',colvo(n), ' разрядов.'); readln;end.
  1. Запросить произвольное количество чисел и вывести их в обратном порядке.
program obratno; { Задача. Запросить произвольное количество чисел и вывести их в обратном порядке.} var n: integer; procedure chislo(n: integer);begin write('Введите число (для выхода введите 0) '); readln(n); if n <> 0 then begin chislo(n); write(n, ' '); end;end; begin chislo(n); readln;end.
  1. Найти n-й член и сумму прогрессии.
program kosvennaya; { Задача. Найти n-й член и сумму прогрессии.} var a1, d: real; n: integer; function chislo(n: integer; var d: real): real;begin if n <> 1 then chislo:= chislo(n - 1, d) + d else chislo:= a1;end; function summa(n: integer; var d: real): real;begin if n <> 1 then summa:= summa(n - 1, d) + chislo(n, d) else summa:= chislo(n, d);end; begin write('Введите первый член и разность прогрессии: '); readln(a1, d); write('Введите номер члена прогрессии: '); readln(n); writeln(n, '-й член этой прогрессии равен ', chislo(n, d):0:2); writeln('Сумма членов с 1 по ', n, ' равна ', summa(n, d):0:2); readln;end.




Дата публикования: 2015-10-09; Прочитано: 212 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...