Написать программу электронные часы.
При решении будем использовать функции 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.
-
- Скачать
решение.