Программирование и не только

Объявление


!!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование и не только » Delphi, Kylix, Pascal » Задачи на Паскале!


Задачи на Паскале!

Сообщений 1 страница 2 из 2

1

задача 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.

+1

2

Хорошая програмка для изучения программирования на PASCAL, куча разных примеров. Правда надо и книжку по праграммированию иметь чтоб решить задачи :)
PascalABC

0

Похожие темы


Вы здесь » Программирование и не только » Delphi, Kylix, Pascal » Задачи на Паскале!