Задача 23 Урок 15
Primary tabs
На картинке выше фото часов, которые показывают время следующим образом:
в верхнем ряду отображают текущий час 4мя лампочками (битами) если лампа горит,
складываем ее значение в основное т.е. 2 + 1 = 3 часа (в 12ти часовом формате)
В нижней линии 6 лампочек (бит) и они кодируют 16 + 8 + 1 = 25 минут.
Задача:
Напишите программу, которая принимает у пользователя два целых числа
(часы и минуты) и выводит в консоль полученное время в формате бинарных
ASCII-часов 0-11 ч. и 0-59 мин.
Также отметим, что:
12 часов "не выводится" а соответствует пустым значениям/нулям (- - - -)
аналогично в минутах "не выводится" 60 минут (- - - - - -)
Для случая с фотографии выше (время 3:25) ASCII-вариант будет выглядеть как:
- - + +
- + + - - +
А, если бы время было 10:40, то :
+ - + -
+ - + - - -
type
arr1 = array [1..4] of integer;
arr2 = array [1..6] of integer;
var i,
j,
m,
h : integer;
a : Arr1;
b : arr2;
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;
j := 1;
writeln('Сколько время?');
read(h, 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 j <= high(b) do
begin
if m = 60 then
write('- ')
else
if m >= b[j] then
begin
write('+ ');
m := m - b[j];
end
else
write('- ');
j += 1;
end;
writeln();
write('Мавр сделал своё дело, мавр может уходить');
readln();readln();- Log in to post comments
- 872 reads