Неожиданный результат программы - Free Pascal

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

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

Проблема в том что после первой итерации в цикле (которая проходит верно) программа начинает отнимать по одному. Программа должна спросить у пользователя число которое он загадал, потом спросить сколько будет разность от этого числа и числа 7, если ответ правильный спросить следующее, если не правильный попросить ответить заново. Help pls.
Листинг программы
  1. program minus7;
  2. var
  3. s, a, n: integer;
  4. begin
  5. n := 7;
  6. readln (s);
  7. for s := s-n downto 0 do
  8. begin
  9. writeln ('what number next?');
  10. readln (a);
  11. writeln(s);
  12. end;
  13. if a = s then
  14. writeln('Yes');
  15. end.

Решение задачи: «Неожиданный результат программы»

textual
Листинг программы
  1. var
  2.  a,s,n:integer;
  3. begin
  4.   n:=7;
  5.   repeat
  6.     write('Enter new number:');
  7.     readln(a);
  8.     repeat
  9.       write(a,'-7=');
  10.       readln(s);
  11.     until a-7=s;
  12.     writeln('Correct');
  13.   until false;
  14. end.

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

  1. Объявлены три переменные: a, s и n типа integer.
  2. Переменная n инициализируется значением 7.
  3. Запускается цикл repeat, который выполняется до тех пор, пока условие не станет ложным.
  4. Внутри цикла выводится запрос на ввод числа, используя функцию write('Enter new number:').
  5. Введенное число сохраняется в переменной a.
  6. Внутри цикла repeat выводится сообщение a-7=, используя функцию write(a,'-7=').
  7. Пользователь вводит число, используя функцию readln(s).
  8. Цикл repeat продолжается до тех пор, пока значение a минус 7 не станет равным введенному числу.
  9. Когда условие выполняется, выводится сообщение Correct.
  10. Цикл repeat завершается, когда условие становится ложным.
  11. Программа завершается.

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


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

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

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы