задача 1
Написать рекурсивную функцию вычисления факториала и программу, проверяющую ее работоспособность
Код:{ Рекурсивная функция "Факториал" } function factorial(k:integer):integer; begin if к = 1 then factorial:=1 else factorials k*factorial (k-1) ; end; var n: integer; { число, факториал которого надо вычислить} f: integer; ( факториал числа п } begin writeln('Вычисление факториала.'); writeln('Введите число, факториал которого надо ', 'вычислить'); write ('->'); readln(n); f:=factorial(n); writeln('Факториал числа ',n,' равен ',f); readln; end.
задача 2
Написать программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и выставить оценку: за 10 правильных ответов — "отлично", за 9 и 8 —"хорошо", за 7 и 6 — "удовлетворительно", за 6 и менее — "плохо". Ниже представлен рекомендуемый вид экрана во время работы программы. Ответы пользователя выделены полужирным шрифтом.
*** Проверка знания таблицы умножения ***
После примера введите ответ и нажмите <Enter>.
5x3=15
7x7=49
1x4=4
4x3=12
9x4=36
8x8=64
7x8=52
Вы ошиблись! 7x8=56
4x7=28
3x5=15
2x5=10
Правильных ответов: 9
Оценка: Хорошо.Код:( Программа проверяет знание таблицы умножения } uses Crt; var numbl, пumЬ2:integer; { Первое и* второе число } res:integer; ( Результат умножения первого числа на второе } otv:integer; { Ответ испытуемого } kol:integer; { Количество правильных ответов } i:integer; begin ClrScr; { очистить экран } writeln(' *** Проверка знания таблицы умножения ***•); writeln(' После примера введите ответ и нажмите <Enter>.'); writeln; kol:=0; ( правильных ответов ) Randomize; ( инициализация генератора случайных чисел } for i:=l to 10 do { 10 примеров } begin numbl:=Random(9)+ 1; numb2:=Random(9)+1; res:=numbl * numb2; write(' (,numbl,'x',numb2,'='); readln(otv); if otv=res then kol:=kol+l else begin writeln(' Вы ошиблись! ',numbl,'*',numb2,'=',res); end; end; writeln(' Правильных ответов:',kol); write(' Ваша оценка: ') ; case kol of 10: writelnС51); 9,8: writeln('4'); 7,6: writeln('3') ; 0..5:writeln('2') ; end; writeln(' Для завершения работы с программой нажмите <Enter>') ; readln; end.