Задача 23 Урок 15

Задача 23 Урок 15

Задача про Бинарные часы:
Напишите программу, которая принимает у пользователя два целых числа (часы и минуты) и выводит в консоль полученное время в формате бинарных ASCII-часов 0-11 ч. и 0-59 мин.

type
  myArr1 = array [1..4] of integer;
  myArr2 = array [1..6] of integer;

var i, i2 :integer;
    m,h :integer;
    a : myArr1;
    b : myArr2;

begin
  a[1] := 8;
  a[2] := 4;
  a[3] := 2;
  a[4] := 1;
  b[1] := 32;
  b[2] := 16;
  b[3] := 8;
  b[4] := 4;
  b[5] := 2;
  b[6] := 1;
  i := 1;
  i2 := 1;
  writeln('what time is it');
  readln(h);
  writeln('How many minutes?');
  readln(m);
  while i <= high(a) do
  begin
    if h = 12 then
      write('- ')
    else
      if h >= a[i] then
      begin
        write('+ ');
        h := h - a[i];
      end
      else
        write('- ');
    i += 1;
  end;
  writeln();

  while i2 <= high(b) do
  begin
    if m = 60 then
      write('- ')
    else
      if m >= b[i2] then
      begin
        write('+ ');
        m := m - b[i2];
      end
      else
        write('- ');
    i2 += 1;
  end;
  writeln();
  readln();
end.      

Вывод консоли:

what time is it
4
How many minutes?
30
- + - -
- + + + + -