Программа «Угадай число» - Pascal ABC
Формулировка задачи:
Компьютер загадывает целое число, случайным образом, в диапазоне 1-100.
Человек должен отгадать его за возможно меньшее число попыток. В ответ на попытку человека компьютер выдает подсказку: введенное число меньше загаданного или больше.
Можно также выдавать подсказку типа "горячо"-"холодно", оговорив предварительно диапазоны (например, "горячо" - если введенное и загаданное число отличаются меньше чем на 5, и "холодно" - для всех остальных случаев).
Если число угадано, выдаются поздравления и предложение начать новую игру
или выйти из программы.
Включайте Вашу фантазию!
_______________________________________________________________
Генератор случайных чисел:
Randomize; - процедура инициализации генератора случайных чисел.
Рекомендуется использовать перед вызовом Random.
a:= Random(100); - функция генерации псевдослучайного числа.
_______________________________________________________________
Решение задачи: «Программа «Угадай число»»
textual
Листинг программы
Var a,n,k:integer;
c:char;
Begin
Randomize;
Repeat
k:=0;
a:=random(100);
Repeat
write('Введите число: ');readln(n);
if n>a then writeln('Введенное число больше загаданного');
if n<a then writeln('Введенное число меньше загаданного');
inc(k);
Until n=a;
writeln('Вы угдали! За ',k,' попыток');
write('Хотите ещё сыграть?(y/n) ');readln(c);
Until c='n';
readln;
End.
Объяснение кода листинга программы
- В начале объявляются переменные: a, n, k - целочисленного типа, и c - символ типа char.
- Строка
Randomize;используется для инициализации генератора случайных чисел. - В блоке repeat-until выполняется цикл, который продолжается до тех пор, пока введенное пользователем число (n) не будет равно загаданному числу (a).
- Внутри цикла repeat-until выполняется блок repeat-until, который повторяется до тех пор, пока введенное пользователем число (n) не будет равно загаданному числу (a).
- В этом блоке повторяется цикл while, который проверяет, равно ли введенное пользователем число (n) загаданному числу (a). Если это условие истинно, то выводится сообщение
Введенное число больше загаданного. Если это условие ложно, то выводится сообщениеВведенное число меньше загаданного. - После выполнения блока repeat-until выводится сообщение
Вы угадаи! За,k,попыток. - Затем выводится сообщение
Хотите ещё сыграть?(y/n), и считывается ответ пользователя (c). - Цикл repeat-until продолжается до тех пор, пока пользователь не введет
n. - В конце программы выводится сообщение
readln.