Угадай число - Pascal ABC (13332)

Узнай цену своей работы

Формулировка задачи:

Написать программу в которой компьютер будет угадывать число по ответам человека "холодно-жарко" (перед началом цикла делать запрос на диапазон чисел).

Решение задачи: «Угадай число»

textual
Листинг программы
begin
  var cr: integer;
  var h:= 50;
  var pr_op: char;
  var fch:= true;
  var fr:= true;
  Writeln('Загадай число, а я отгадаю. Как будешь готов, нажми любую кнопку');
  System.Console.ReadKey(true);
  Writeln('Если ваше число меньше моего, нажмите "-", иначе "+"');
  var ch: char;
  var n: integer;
  while true do
    begin
      Writeln(cr);
      ch:= System.Console.ReadKey(false).KeyChar;
      Write('   ');
      if (ch = '0') or (h = 0)
        then
          break;
      if (ch <> pr_op) and (fr = false)
        then
          fch:= false;
      if ch = '-'
        then
          begin
            if pr_op = '-'
              then
                if fch = false
                  then
                  else
                    h *= 2
              else
                h := Trunc(h / 2);
            cr -= h;
            pr_op:= '-';
          end
        else
          begin
            if pr_op = '+'
              then
                if fch = false
                  then
                  else
                    h *= 2
              else
                h := Trunc(h / 2);
            cr+= h;
            pr_op:= '+';
          end;
      n+= 1;
      fr:= false;
    end;
  Writeln('Я выиграл за ', n, ' попыток');
end.

Объяснение кода листинга программы

  1. Создаются переменные cr, h, pr_op, fch и n.
  2. Выводится сообщение для пользователя.
  3. Считывается нажатая пользователем клавиша.
  4. Проверяется, является ли нажатая клавиша нулем или равна ли она переменной h. Если это так, то цикл прерывается.
  5. Если нажатая клавиша не равна символу '-' или '+', то переменная fch устанавливается в false.
  6. Если нажата клавиша '-', то переменная h умножается на 2, иначе значение переменной h делится на 2.
  7. Если нажата клавиша '+', то переменная h умножается на 2, иначе значение переменной h делится на 2.
  8. Если нажата клавиша '-', то значение переменной cr уменьшается на значение переменной h, иначе значение переменной cr увеличивается на значение переменной h.
  9. Если нажата клавиша '+', то значение переменной cr увеличивается на значение переменной h, иначе значение переменной cr уменьшается на значение переменной h.
  10. После каждой операции переменная pr_op сбрасывается на символ '-' или '+'.
  11. После каждой операции переменная n увеличивается на единицу.
  12. Если было сделано n попыток и значение переменной fch равно true, то выводится сообщение о победе.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы