Задачи по Pascal. Программа-Игра «Угадай число»

Задачи по Pascal

Условие задачи : Написать программу-игру которая задумывает число от 1 до 10 и предлагает пользователю угадать его за несколько попыток. Число попыток вводит пользователь.

Сложность : средняя .

Для того чтобы решить задачу мы будем использовать цикл repeat until, а условие выхода у нас будет превышение количества попыток.

Давайте создадим каркас с переменными :

uses crt;
var
        limit, count, number, otvet : integer ;
begin
end.

Четыре переменные :

  1. limit — количество попыток
  2. count — какая по счету попытка
  3. number — число которое загадал компьютер
  4. otvet — число которое ввел пользователь

Теперь сделаем следующее , попросим пользователя ввести число попыток , также для генерации случайных числе нам нужно прописать randomize.

randomize — включает генератор случайных чисел

Сразу же давайте присвоим переменной count единицу, т.к. при заходе в цикл у нас будет первая попытка, а уже потом в самом цикле будем её увеличивать.

А переменной number присвоим какое-то случайное число.

write('Введите число попыток : '); readln(limit);
randomize ;
count := 1 ;
number := random(10) + 1;

Теперь нужно добавить цикл, условие выхода которого будет превышение количества попыток.

repeat

until(count > limit);

Что мы будем делать в самом цикле ?

Для начала мы выведем какая сейчас идет попытка. Затем попросим пользователя ввести число. Дальше уже у нас пойдут условия.

 if (otvet = number) then
     begin
          writeln('Вы выиграли поздравляю!!!');
          break; {выходим из цикла}
     end

Если мы угадали число то выводим что выиграли и выходим из цикла. Что если мы не угадали ?

 else 
     begin                
         writeln('Вы не угадали!!!');
         count := count + 1 ;
     end;

Если не угадали то выводим что не угадали и увеличиваем попытку на 1 .
Нам понадобиться еще одно условие.

if (count > limit) then 
         begin
              writeln('Вы проиграли');
              writeln('Это было число : ', number);
         end;

Нужно для того чтобы как только у нас кончились попытки вывести что мы проиграли и вывести число которое мы не угадали.

Весь код программы :

uses crt;

var
        limit, count, number, otvet : integer ;

begin
        clrscr;
        writeln('Игра "Угадай число"');
        write('Введите число попыток : '); readln(limit);
        writeln('Компьютер загадал число от 1 до 10');
        randomize ;

        count := 1 ;
        number := 1 + random(10);

        repeat

        write(count, ' попытка : '); readln(otvet);

        if (otvet = number) then
                begin
                         writeln('Вы выиграли поздравляю!!!');
                         break;
                end
        else 
             begin                
                      writeln('Вы не угадали!!!');
                      count := count + 1 ;
             end;
        if (count > limit) then 
                  begin
                        writeln('Вы проиграли');
                        writeln('Это было число : ', number);
                 end;
        until(count > limit);
        writeln('Для выхода из игры нажмите Enter');
        readln;
end.

cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий