Текст книги "Откройте Америку!"
Автор книги: Григорий Яцкарь
Жанры:
Роман
,сообщить о нарушении
Текущая страница: 49 (всего у книги 49 страниц)
Число сложений в основном цикле выбиралось так, чтобы n% равнялось 5 или 6, и в распределении их существовали участки сплошных " пятёрок ", отражавших периоды, когда время операции возрастало. Такие периоды служили концами попыток выработки предсказания, и когда программа обнаруживала больше одиннадцати последовательных " пятёрок ", она печатала nс%, полное число изменений показаний TIMER'а в попытке (строка 36), и ожидала ввода в неё результата предполагаемой ставки на рулетке.
Оказалось, предсказание попыткой выигрыша надёжно, если она достаточно длинна (nc% > 50) и предыдущая попытка была короткой (nc% < 30). Когда оба критерия выполнялись, я делал ставку на другом компютере, и если выигрывал, отдавал программе команду создать новый файл и поместить в него 30 записей (см. строки 37 – 72), а затем закрыть его и сразу же стереть, а если проигрывал, то останавливал программу и запускал её сначала, так как выяснил, что эта процедура, проводимая после каждой попытки, улучшает производительность программы.
И, как сказано в основном тексте, для получения надёжных предсказаний я должен был играть 5-минутными сессиями с 8-часовыми паузами и поддерживать температуру в комнате 76,0 – 76,5 градусов по Фаренгейту (24,4 – 24,7 Цельсия).
ПРОГРАММА ДЛЯ " EI "
Оператор или метка Комментарий (номер строки и примечание)
___________________________________________________________________________________________________
CLS 'Line1. Clears the screen
add% = 5550 'Line2. Number of additions in the main cycle
mf% = 11 'Line3. Number of consecutive "fives" to end trial
nf% = 0 'Line4. Counter of consecutive "fives"
nc% = 0 'Line5. Counter of changes of TIMER readings
1 'Line6. Lines 6-16 is the main cycle
t1! = TIMER 'Line7.
y% = 1 'Line8.
2 'Line9.
IF y% < add% THEN GOTO 3 ELSE GOTO 4 'Line10.
3 'Line11.
y% = y% + 1 'Line12.
GOTO 2 'Line13.
4 'Line14.
t2! = TIMER – t1! 'Line15.
IF t2! = 0! THEN GOTO 1 'Line16.
n% = 0 'Line17. Counter of cycles between changes
5 'Line18. Lines 18-29 is the main cycle
n% = n% + 1 'Line19.
t1! = TIMER 'Line20.
y% = 1 'Line21.
6 'Line22.
IF y% < add% THEN GOTO 7 ELSE GOTO 8 'Line23.
7 'Line24.
y% = y% + 1 'Line25.
GOTO 6 'Line26.
8 'Line27.
t2! = TIMER – t1! 'Line28.
IF t2! = 0! THEN GOTO 5 'Line29.
PRINT n% 'Line30. Prints number of cycles between changes
nc% = nc% + 1 'Line31.
IF nf% > mf% AND n% > 5 GOTO 9 'Line32.
IF n% = 5 THEN GOTO 13 ELSE GOTO 12 'Line33.
GOTO 1 'Line34.
9 'Line35.
PRINT "NChanges=";nc% 'Line36. Prints number of changes in trial
INPUT "result";res% 'Line37. Input of the result of the bet
IF res% = 9 THEN GOTO 10 ELSE GOTO 11 'Line38.
10 'Line39.
OPEN "new" FOR RANDOM AS #1 'Line40. Opens new file
PUT #1,1,k% 'Line41.
..................................................................................................................................................
PUT #1,30,k% 'Line70. Lines 41-70 put 30 records in new file
CLOSE 'Line71.
KILL "new" 'Line72.
11 'Line73.
PRINT "Press Ctrl + Pause to start over" 'Line74.
INPUT "Start over";start% 'Line75.
12 'Line76.
nf% = 0 'Line77. Counter of consecutive "fives"
GOTO 1 'Line78.
13 'Line79.
nf% = nf% + 1 'Line80. Counter of consecutive "fives"
GOTO 1 'Line81.
___________________________________________________________________________________________________
ПРИМЕЧАНИЕ. Программа была модифицирована для второй части демонстрации, в которой она работала непрерывно при температуре 62 градуса по Фаренгейту (16,7 Цельсия).
Число сложений в основном цикле (add%, Line2) было изменено на 5461,
и критерии предсказания были:
1) для последней попытки nc% > 45;
2) для предыдущей попытки nc% < 19.