Как Петя Бейсиков Тоню Соображалкину программировать учил
- Автор: Бруно Мартузан
- Жанр: Околокомпьютерная литература / Детская образовательная литература / Basic, Visual Basic, VB Script, VBA и т.п.
- Дата выхода: 1987
Читать книгу "Как Петя Бейсиков Тоню Соображалкину программировать учил"
УЧИМ ГЕОГРАФИЮ!
— Названия республик пользователь программы, пожалуй, должен знать. А что касается программы, то в ней предусмотрены четыре режима. В первом режиме на экран выводятся все республики и их столицы. Этим можно пользоваться в самом начале обучения, когда ребенок еще мало что знает. По-настоящему программа обучает во втором режиме — режиме повторения, когда ученик должен назвать столицу по республике или, наоборот, — республику по столице. Третий режим — экзамен.
— Ну как же без экзаменов!
— А как иначе человек сможет узнать, что все освоил? Последний режим — окончание работы. Простой режим. А вот и сама программа.
10 REM ПРОГРАММА ОБУЧАЕТ СТОЛИЦАМ СОЮЗНЫХ РЕСПУБЛИК
20 REM R¤ — МАССИВ С НАЗВАНИЯМИ РЕСПУБЛИК
30 REM G¤ — МАССИВ С НАЗВАНИЯМИ СТОЛИЦ
40 DIM R¤(15), S¤(15)
50 REM ПРОГРАММА МОЖЕТ ЗАПРАШИВАТЬ РЕСПУБЛИКУ ДЛЯ
60 REM ИЗВЕСТНОЙ СТОЛИЦЫ ИЛИ НАОБОРОТ
70 REM U1 — ВЕРОЯТНОСТЬ, ЧТО БУДЕТ СПРАШИВАТЬ СТОЛИЦУ
80 REM СООТВЕТСТВУЮЩЕЙ РЕСПУБЛИКИ
100 DIM Е(15) U1=.5
110 REM U1 УЧИТЕЛЬ МОЖЕТ МЕНЯТЬ
120
130 DATA "РОССИй","МОСКВА","УКРАИН","КИЕВ”
140 DATA "БЕЛОРУС","МИНСК","КАЗАХ","АЛМА-АТА"
150 DATA "МОЛДАВ","КИШИНЕВ","ГРУЗИН","ТБИЛИСИ"
160 DATA "АРМЯН","ЕРЕВАН","АЗЕРБАйДЖАН","БАКУ"
170 DATA "ЛАТВИй","РИГА","ЛИТОВ","ВИЛЬНЮС"
180 DATA "ЭСТОН","ТАЛЛИН","УЗБЕК","ТАШКЕНТ"
190 DATА "ТАДЖИК","ДУШАНБЕ","ТУРКМЕН","АШХАБАД"
200 DATA "КИРГИЗ","ФРУНЗЕ"
205
210 REM СЧИТЫВАЕТ НАЗВАНИЯ СТОЛИЦ И РЕСПУБЛИК
220 FOR 1=1 ТО 15 READ R¤(I),S¤(I)
250 NEXT I
255
260 PRINT PRINT PRINT PRINT
270 PRINT "жжжжжжжжжжжжжжжжжжжжж СЕЙЧАС БУДЕМ УЧИТЬ"
280 PRINT " СТОЛИЦЫ СОЮЗНЫХ РЕСПУБЛИК жжжжжжжжжжжжжжжж"
290 PRINT PRINT PRINT
300 PRINT "ВВЕДИ 1 — СПРАВКА О СТОЛИЦАХ"
310 PRINT "ВВЕДИ 2 — ПОВТОРЕНИЕ ПРОЙДЕННОГО"
320 PRINT "ВВЕДИ 3 — ЭКЗАМЕН"
330 PRINT "ВВЕДИ 4 — КОНЕЦ РАБОТЫ"
340 PRINT "ТВОЙ ВЫБОР"; INPUT М
345
350 ON М GО ТО 360,450,780,990
355
360 REM ПОКАЗ 111111111111111111111111111111111111111111
365
370 PRINT PRINT
380 PRINT "В СОВЕТСКОМ СОЮЗЕ ИМЕЕТСЯ 15 СОЮЗНЫХ":
390 PRINT " РЕСПУБЛИК" PRINT
400 FOR I=1 ТО 15
405 А¤=«ССР" IF I<>1 THEN 410 А¤=" СФСР"
410 PRINT I;" ";R¤(I) + "CKAЯ"+A¤+" ЕЕ СТОЛИЦА";S¤(I)
420 NEXT I
430 GO TO 290
435
440 REM ПОВТОРЕНИЕ 2222222222222222222222222222222222222
445
450 PRINT PRINT PRINT
460 PRINT "ПОВТОРИМ СТОЛИЦЫ СОЮЗНЫХ РЕСПУБЛИК"
470 PRINT
480 PRINT "КОГДА ТЕБЕ НАДОЕСТ, ВВЕДИ #"
530 J=0 К=0 REM КОЛИЧЕСТВА ВОПРОСОВ И ОШИБОК
540
550 REM НАЧАЛО ПОВТОРЕНИЯ
560 R=RND
570 IF R>U1 THEN 670
580 REM ДАЕТСЯ СТОЛИЦА, НАЗВАТЬ РЕСПУБЛИКУ —---
590 PRINT "КАКАЯ РЕСПУБЛИКА ИМЕЕТ СТОЛИЦУ
600 GOSUB 1000 REM НАХОДИТ НОМЕР РЕСПУБЛИКИ
610 PRINT S¤(I);
620 INPUT R`¤ REM ВВОД ОТВЕТА — НАЗВАНИЯ РЕСПУБЛИКИ
630 IF R1¤="#" THEN 750 REM МОЖЕТ БЫТЬ, НАДОЕЛО?
635 A¤=" ССР" x IF I<>1 THEN 640 A¤=" СФСР"
640 N¤=R¤(I)+"СКАЯ"+А¤ REM ПОДГОТОВКА N¤ ДЛЯ ПОДПРОГ.
650 GOSUB 2000 REM ПРОВЕРКА ОТВЕТА
660 GO TO 560
665
670 REM ДАЕТСЯ РЕСПУБЛИКА, НАЗВАТЬ СТОЛИЦУ —---
680 GOSUB 1000
685 А¤=" ССР" IF I<>1 THEN 690 A¤=" СФСР"
690 PRINT "НАЗОВИ СТОЛИЦУ";R¤(I)+"СКОй"+А¤;
700 INPUT R1¤
710 IF R1¤="#" THEN 750
720 N¤=S¤(I)
730 GOSUB 2000
740 GO TO 560
750 PRINT "ВСЕГО ОТВЕТОВ, ИЗ НИХ
755 PRINT J-K;" ПРАВИЛЬНЫХ"
760 GO TO 290
765
770 REM ЭКЗАМЕН 333333333333333333333333333333333333333.
775
780 PRINT PRINT PRINT
790 PRINT " НАЧНЕМ ЭКЗАМЕН"
800 REM В МАССИВЕ E ОТМЕЧАЕТ РЕСПУБЛИКИ, ПО КОТОРЫМ
802 REM ОТВЕТ УЖЕ ПОЛУЧЕН
810 FOR 1=1 ТО 15 E(I)=0 NEXT I
820 0=0 К=0
830 N=INT(RND*15)+1
840 IF E(N)<>0 THEN 830
845 А¤="СКОй ССР" IF I<>1 THEN 850 А¤="СКОй СФСР"
850 PRINT "НАЗОВИ СТОЛИЦУ "R¤(N)+A¤;
860 INPUT S1¤
870 IF S1¤<>S¤(N) THEN 890
880 PRINT "ОТВЕТ ВЕРНЫЙ" GO TO 900
890 PRINT "ОТВЕТ НЕВЕРНЫЙ" K=K+1
900 J=J+1 x E(N)=1 REM ОТМЕЧАЕТ РЕСПУБЛИКУ
910 IF J<15 THEN 830 PRINT
920 IF K<>0 THEN 940
930 PRINT "ОЦЕНКА — ОТЛИЧНО (5)" GO TO 290
940 IF K<>I THEN 960
950 PRINT "ОЦЕНКА — УДОВЛЕТВОРИТЕЛЬНО (3)" GO TO 290
960 PRINT "НУЖНО ПОВТОРИТЬ — ТЫ ДОПУСТИЛ"; К;
965 IF К<5 THEN 980
970 PRINT " ОШИБОК" GO ТО 290
980 PRINT " ОШИБКИ" GO ТО 290
985
990 PRINT "жжжжжжжж КОНЕЦ РАБОТЫ жжжжжжжжж" STOP
995
1000 REM ПОДПРОГРАММА НАХОДИТ СЛУЧАЙНЫЕ НОМЕРА
1010 I=INT(RND*15)+1
1040 IF 1=9 THEN 1010 REM РИГУ ЗНАЮТ ВСЕ
1060 RETURN
1900
2000 REM ПОДПРОГРАММА ПОВТОРЯЕТ ОТВЕТЫ
2010 IF R1¤<>N¤ THEN 2030
2020 PRINT "ОТВЕТ ВЕРНЫЙ" GO ТО 2060
2030 PRINT "НЕПРАВИЛЬНО!!! ПРАВИЛЬНЫЙ ОТВЕТ"; N¤ К=К+1
2060 J=J+1 RETURN
2070 END
— Ужас, какая программища! Такую длинную программу придется сутки разбирать.
— Длина еще ничего не означает. Важно, насколько программа сложна. А эту программу сложной считать нельзя. Сама увидишь, что она в основном состоит из простых наглядных операторов ветвления или вывода. Гарантирую, что все поймешь. Ну, может быть, не с ходу.
— Начало уже поняла. До строки 70. Там ты пишешь о какой-то вероятности.
— Видишь, программа в режиме повторения может задавать вопросы двух типов. Например: Кишинев — столица какой республики? Либо — назови столицу Молдавской ССР. Ответы ты знаешь. Вопросы этих двух типов чередуются случайным образом. И значение переменной D1 определяет, какого типа вопросы будут чаще. В строке 100 учитель может значение D1 менять. Если он, например, хочет, чтобы ученик называл только столицы, то должен присвоить переменной D1 значение 0. Или другое какое-то значение.
— А здесь в строке 130 и дальше, что это за необыкновенный оператор DATA? Если это оператор.