Написать программу электронные часы.

При решении будем использовать функции delay(1000) задержка на 1 секунду (разумеется можно использовать и другое число), keypressed — если нажата клавиша то принимает значение TRUE.



program chasi;
uses crt;
var
min, sek : integer;
begin
clrscr;
for min := 0 to 5 do {5 минут}
begin
for sek := 0 to 59 do {60 секунд}
begin
delay(1000); {задержка 1 сек}
gotoxy(10, 10); {позиция курсора}
if sek < 10 then write(min, ' : ', ' ', sek) {в этом месте проверяется }
else write(min, ' : ', sek); {если секунд меньше 10 то перед}
if keypressed then halt; {цифрой добавляется пробел, чтобы перекрыть}
end; {старое значение, для минут проверки нет}
end; {сам додумай}

readln;
end.



Скачать решение.

Попробуем расширить задачу, по истечении заданного времени , что нибудь сделать (просто закроем программу). И выведем сколько времени осталось.

program chasi;
uses crt;
var
min, sek : integer;
s : integer;
begin
clrscr;
writeln('Через сколько секунд закрыть программу?');
readln(s);
if s > 59 then
begin
writeln('Некоректное значение.');
writeln('Присвоим 10 секунд.');
s := 10;
end;
clrscr;
for min := 0 to 5 do {5 минут}
begin
for sek := 0 to 59 do {60 секунд}
begin
delay(1000); {задержка 1 сек}
if sek = s then halt;
gotoxy(10, 10); {позиция курсора}
if sek < 10 then write(min, ' : ', ' ', sek) {в этом месте проверяется }
else write(min, ' : ', sek); {если секунд меньше 10 то перед}
if keypressed then halt; {цифрой добавляется пробел, чтобы перекрыть}
{старое значение, для минут проверки нет}
{сам додумай}
gotoxy(10, 11);
write('До часа Х осталось. ', s - sek);
end;
end;

readln;
end.

Скачать решение.
Hosted by uCoz