Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Подскажите, пожалуйста, какая ошибка в программе на Pascal ABC.NET?

Давалась задача: Иван уже давно занимается карате и мечтает попасть на Олимпийские игры. И тут он узнаёт, что в программу Олимпийских игр в Токио впервые включено карате. Иван задумался — а как же нужно проводить тренировки спортсменам, живущим в разных часовых поясах, чтобы «подстроить» биоритмы под токийское время?
Напишите программу, которая запрашивает у пользователя время начала соревнований в Токио и номер часового пояса, в котором проживает спортсмен.
Время соревнований — число t от 1 часа до 12 часов (в стране «восходящего солнца» все соревнования начинаются до полудня :) и часовой пояс — число N от -11 до +12. Часовой пояс Японии принято считать +9.
В результате программа должна вывести одно число Х — начало тренировки спортсмена по своему местному времени, соответствующему времени начала соревнований в Токио.

Входные данные.

Во входных данных в первой строке вводят два целых числа, разделенные одним пробелом: t (1<= t <=12) и N (-11<= N <= +12).

Выходные данные.

В выходных данных вывести одно целое число X (1<= X <=24) — начало тренировки по местному времени.

Я новичок в программировании, поэтому не обессудьте. Написала такую программу:

var
t, N: integer;
X, c: real;

begin

writeln ('Введите Ваше местное время и через пробел Ваш часовой пояс');

readln (t, N);

while (t>=1)and(t<=12) do

while (N>=1)and(N<=12) do

c:= (t -(9 - N));

if c > 0 then X:=(c)

else

if c < 0 then X:= 24 - abs(c);

writeln (X)

end.

Программа запускается, но решения не даёт. Скажите, пожалуйста, в чём проблема?

ПрограммированиеИнформатика паскальPascal abc net
Анонимный вопрос
  · 261
There's nothing to write.  · 24 нояб 2020

В листинге программы присутствует бесконечный цикл “while (t>=1)and(t<=12) do“, т.к. над переменной t не выполняется никаких действий внутри цикла. Т.е. в данном случае, при вводе значения t в диапазоне 1<=t<=12 гарантировано получаем бесконечное выполнение цикла. На мой взгляд, использование циклов для решения этой задачи совершенно не оправдано, можно и нужно сделать без них. Идея использования abs модуля правильная, так же стоит учесть что часовой пояс, в котором живет спортсмен, может быть равен 0.

2 эксперта согласны