Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Маленькая програмка в Quick Basic. HELP please! Добавлено: 09.12.03 22:18  

Автор вопроса:  Monah

Помогите пожалуйста бедному школьнику, у которого информатика началась только в 10-ом классе, сделать одну маленькую програмку.
Надеюсь, что Quick Basic тут знают все :)

Програмка заключается вот в чём...
Нужно, чтобы числа от 1-ого до 3600-а выводились, поочерёдно, в центре экрана. Что-то типа секундомера.

Буду очень благодарен.
С уважением, Monah.

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 NeForm@t



ICQ: 252999255 

Вопросов: 36
Ответов: 247
 Web-сайт: g--k.newmail.ru
 Профиль | | #1
Добавлено: 09.12.03 23:16

Если не требуется замерять посекундно, то примерно так:

screen 12

for i=1 to 3600

cls

loacate 10,10'-здесь надо найти центр экрана

print i

for z=1 to 10000 ' - выставляется задержка, чем больше -тем дольше

next i

Ответить

Номер ответа: 2
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #2
Добавлено: 10.12.03 19:30

Да и не забудь установить паузу между появлениями цифр: если одну секунду: SLEEP 1; если быстрее - пиши на мыло - расскажу.

Ответить

Номер ответа: 3
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #3 Добавлено: 10.12.03 19:54

А чего тут ждать??

The One все правильно написал...

screen 12

for i=1 to 3600

cls

locate 10,10'-здесь надо найти центр экрана

print i

for z=1 to 10000 ' - выставляется задержка, чем больше -тем дольше

next i

Ответить

Номер ответа: 4
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #4
Добавлено: 10.12.03 20:09

Ждет, а если на процессоре в 100 , а после на 3000 и как тогда? В первом случае - тормоз, а во втором - не заметишь, как она все сделает.

Ответить

Номер ответа: 5
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #5
Добавлено: 11.12.03 05:34

По моему таймер - это не оптимальное решение для секундомера.

Лучше в цикле WHILE...WEND или DO...LOOP сравнивать текущее время с запомненным.

Примерно так.

LastTime$=TIME$

WHILE LastTime$=TIME$

rem ...

WEND

Ну а если размер паузы не имеет значение, то можно и FOR применить.

Ответить

Номер ответа: 6
Автор ответа:
 Monah



Вопросов: 2
Ответов: 2
 Профиль | | #6 Добавлено: 11.12.03 05:44

 2CyRax:

А ты думаешт  такие команды мы проходили в 10-ом классе ? :)
Что касается Sleep 1, то я что-то не понимаю куда его вставлять. Да,да,да... Дуб дубом, а что поделаешь.

Пишите пожалуйста полные программы, а не по команде. А то я как-то непонимаю немного.

Спасибо,
С уважением, Monah.

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 11.12.03 06:34

CLS

FOR I=1 TO 3600

LOCATE 12,37

PRINT " "

LOCATE 12,37

PRINT I

SLEEP 1

REM Можно также написать

REM A=TIMER: DO WHILE TIMER-A<1: LOOP

NEXT

Ответить

Номер ответа: 8
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #8
Добавлено: 11.12.03 20:52

Sleep n - это оператор приостанавливающий выполнение программы на n секунд, для DOSа при составлении "таймера" проще использовать его вметсо for i = .... next i и тому подобных, хотя можно и их, просто дело в том, если использовать циклы - они будут выполняться на компьютерах с разной тактовой частотой на разной скорости. Представь играть в "агатовскую" игру на четвертом пне..... Хотя лучше всего использовать прерывания, с их помощью можно ставить и пол секунды и дробные части, хотя придется немножечько провестиподсчёты.

Ответить

Номер ответа: 9
Автор ответа:
 Aracon



ICQ: 221881915 

Вопросов: 16
Ответов: 28
 Web-сайт: aracon-studios.com
 Профиль | | #9
Добавлено: 12.12.03 21:28

2Sharp:

А не лучше ли вместо

LOCATE 12,37

PRINT " "

сделать просто

CLS

А?

Ответить

Номер ответа: 10
Автор ответа:
 manj18



ICQ: 344833913 

Вопросов: 12
Ответов: 21
 Профиль | | #10 Добавлено: 14.12.03 02:37

кстати для увиличения скорости набора функции print можно заменить её на знак вопроса   (?)

Ответить

Номер ответа: 11
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #11
Добавлено: 14.12.03 05:58

2Aracon: Не лучше. Даже хуже. Что делает софтина, когда ей говорят locate 12,37:?" " ? Она пишет 5 байт, начиная с B800:0435. А CLS? 2000 байт, начиная с B800:0000. В 400 раз разница. На моей машине это даже заметно будет.

Ответить

Номер ответа: 12
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #12
Добавлено: 14.12.03 23:26

Что у Тебя за машина? КПК, что - ли? Не морочьте парню голову, думаю он давно уже разобрался

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам