Перевести часы в минуты - Pascal ABC

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

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

Нам дано число, например 10:05.(формат чч:мм). Как перевести это всё в минуты? Какой выбрать тип?

Решение задачи: «Перевести часы в минуты»

textual
Листинг программы
//dig - множество чисел 0,1,2..9
const dig = ['0'..'9'];
var
  s : string[5];
  h, m, r: integer;
begin
  //повторяем ввод пока не будет ввеедено в формате HH:MM
  repeat
    write('введите время (HH:MM): ');
    readln(s)
  //то есть строка не будет состоять из 5 символов и 
  //1,2,4,5 символы не будут входить во множество dig (являться цифрами) и
  //3 символ не будет равен ':'  
  until (length(s) <= 5) and (s[1] in dig) and (s[2] in dig) and
        (s[4] in dig) and (s[5] in dig) and (s[3] = ':');
  //преобразуем подстроку от 1 символа длиной 2, строки s
  //в число h, r код ошибки преобразования
  val(copy(s,1,2), h, r);
  //преобразуем подстроку от 4 символа длиной 2, строки s
  //в число m, r код ошибки преобразования
  val(copy(s,4,2), m, r);  
  //считаем время в минутах
  r := h * 60 + m;
  //выводим
  writeln('в минутах это: ', r)
end.

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

  1. Создаётся константа dig, которая содержит цифры от 0 до 9.
  2. Создаются три переменные: s, h, m. Переменная s объявлена как строковый массив длиной 5 символов. Переменные h и m объявлены как целые числа.
  3. Запускается цикл repeat, который будет выполняться до тех пор, пока длина строки s не станет равной или меньше 5 символов, и все символы в строке s не будут входить в константу dig и не будут равны ':'.
  4. Внутри цикла считывается ввод пользователя.
  5. Проверяется, соответствует ли введённая строка формату HH:MM. Если нет, то цикл повторяется.
  6. Если ввод пользователя соответствует формату HH:MM, то преобразуются первые два и последние два символа строки s в целые числа. Если происходит ошибка при преобразовании, то выводится сообщение об ошибке.
  7. Вычисляется значение переменной r как сумма h * 60 + m.
  8. Выводится значение переменной r.
  9. Конец программы.

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


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

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

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