Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Время в Паскале

Автор: Juli 10.03.2007 20:54

У меня по программированию вот такая задача: сделать программу Контрольный экзамен. Там пользователю предлагаются вопросы, он должен на них ответить. Так вот, как сделать так, чтобы на экране отображалось время выполнения теста (т.е. время, отведенное пользователю на обдумывание и ответы), причем время должно идти в обратном направлении, т.е. указывать, сколько еще у пользователя его осталось? При этом, как только время закончится, должна выводиться строка, мол извините, ваше время истекло. Поздскажите пожалуйста...

Автор: Гость 10.03.2007 21:20

Сделай что-то вроде счетчика, хай уменьшается....

Автор: Juli 10.03.2007 21:58

Цитата(Гость @ 10.03.2007 18:20) *

Сделай что-то вроде счетчика, хай уменьшается....

А можно поконкретней...

Автор: Mind 11.03.2007 3:32

Ну заводишь какую то переменную t изначально равную отведённому времени на задачу. Ну а после каждый раз уменьшаешь этот таймер с некоторой задержкой (ну там на экране естественно стираешь старое и выводишь новое число каждый раз). И когда таймер будет равен нулю - время истечёт. wink.gif

Автор: Juli 11.03.2007 4:10

Цитата(Mind @ 11.03.2007 0:32) *

Ну заводишь какую то переменную t изначально равную отведённому времени на задачу. Ну а после каждый раз уменьшаешь этот таймер с некоторой задержкой (ну там на экране естественно стираешь старое и выводишь новое число каждый раз). И когда таймер будет равен нулю - время истечёт. wink.gif

а как сделать так, чтоб все остальное в этот момент оставалось на экране и экран не мигал?

Автор: volvo 11.03.2007 4:14

Стирать только одну строку, например первую:

gotoxy(1, 1);
clreol;
write('Времени осталось:', T);


или вообще ничего не стирать:
gotoxy(1, 40);
write('Времени осталось:', T:20); { <--- печатаем T (скажем, время в секундах) в 20 позициях... }

... тогда новое значение T затрет старое ...