Урок 15. Задача 21.

Урок 15. Задача 21.

Задача про Бинарные часы

var hr, mt :integer;

procedure calculate_time(val, rank :integer);
begin
  while(rank > 0) do
  begin
    if ((val div rank) > 0) then
    begin
      write('+');
      val := val - rank;
    end
    else
      write('-');
    rank := rank div 2;
  end;
end;

procedure scoreboard(hr, mt :integer);
var r_hr, r_mt :integer;
begin
  r_hr := 8;
  r_mt := 32;
  if hr = 0 then
    write('----')
  else
    calculate_time(hr, r_hr);
  writeln();
  if mt = 0 then
    write('------')
  else
    calculate_time(mt, r_mt);
end;

begin
  writeln('Enter hour');
  readln(hr);
  writeln('Enter minute');
  readln(mt);
  scoreboard(hr, mt);
  readln();
end.
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)