48 программ для изучающих Basic 1992 г.

Глава 3 - формирование больших букв, преобразование десятичных чисел в, числа с произвольным основанием от 2 до 16) системы счисления, преобразования чисел с произвольным основанием (от2 до 16) системы счисления в десятичные, бегущая строка, перевод арабских чисел в римские, система линейных уравнений с тремя неизвестными, формированиелистинга, сортировка, календарь-ежедневник, сортировка списка имен, картотека с поиском по ключевым словам, "вечный" календарь.


ГЛАВА 3

В данной главе собраны программы производящие различные виды
преобразования информации: перевод чисел из одной системы счисления
в другую, сортировку строк символов, решение систем линейных
уравнений, вывод сообщений в виде "бегущей строки" и крупными буквами.

3.1 ФОРМИРОВАНИЕ БОЛЬШИХ БУКВ.

Иногда бывает необходимо вывести на экран надпись крупными
буквами. Программа 3.1 позволяет сделать это. В программе каждый пиксел
заменяется символом "S" (Рис 3.1). В строке 750 вместо "S" можно
использовать псевдофафический символ или A$(i), тоща каждая большая
буква будет состоять из маленьких (Рис. 3.2).

100 LET A$-*SPECTRUM"
105 BORDER 5: PAPER 2: INK 5: CIS
110 LET U-0: LET V-0
120 GOSUB 500
130 STOP
500 REM

510 FOR 1-1 TO LEN AS
520 LET C- CODE A$(l)
525 LET C-C-32
530 GOSUB 700
540 LET U-U+8

550 IF U>24 THEN LET U-0: LET V-10

560 NEXT I

570 RETURN

700 FOR J-0 TO 7

710 LET Z-PEEK (15616+*-8*C)

720 LET P-128

730 FOR K-U TO U+7

740 LET B-Z >- P

750 IF В THEN PRINT AT V+J,K;'S';:LET Z-Z-P

760 LET P-P/2

770 NEXT К

780 NEXT J

790 RETURN

999 BORDER 7: PAPER 7: INK 0: CIS
Программа 3.1 Программа выводящая большие буквы.

3.2 ПРЕОБРАЗОВАНИЕ ДЕСЯТИЧНЫХ ЧИСЕЛ В ЧИСЛА
С ПРОИЗВОЛЬНЫМ ОСНОВАНИЕМ (ОТ 2 ДО 16)
СИСТЕМЫ СЧИСЛЕНИЯ.

Программы 3.2 и 3.3 производят перевод чисел из одной системы
счисления в другую. Первая программа производит перевод из д есятичной
системы в любую другую (с основанием от 2 до 16), вторая производит
обратное преобразование. При необходимости перевод а числа, например
из восьмиричной системы в шестнадцатиричную, можно сначала
воспользоваться второй программой и перевести восьмиричное число и
десятичное, а затем используя первую программу перевести его в
шестнадцатиричное.

10 DIM L(16)

100 PRINT "CONVERTER OF BASIS9

105 PRINT "DECIMAL TO (FROM BIN TO HEX)

106 PRINT

110 PRINT "DECIMAL!-";

120 INPUT Z

125 PRINT Z

130 PRINT "BASIS";

135 INPUT В
140 PRINT В
200 LET 1-0
205 LET M+1

210 LET R-{Z/B-INT(Z/B)rB

215 LET L(l)-R

220 LET Z-INT (Z/B)

225 IF Z>-B THEN GO TO 205

230 LET H+1

235 LET L|l)-Z

300 PRINT'EQUAL:-;

305 LET N$-"ABCDEF

310 FOR И TO 1 STEP -1

315 IF Ц4>- Ю THEN GO TO 350

320 PRINT №

330 NEXT J

340 STOP

350 LET t|J)-L|J|-?

360 PRINT N$(1(4);

370 GO TO 330

999 STOP

Программа 3.2 Преобразование десятичных чисел в числа с произвольным
основанием (от 2 до 16) системы счисления.

3.3 ПРЕОБРАЗОВАНИЯ ЧИСЕЛ С ПРОИЗВОЛЬНЫМ
ОСНОВАНИЕМ (ОТ2 ДО 1*) СИСТЕМЫ
СЧИСЛЕНИЯ В ДЕСЯТИЧНЫЕ.

100 PRINT "CONVERTER OF BASIS";

105 PRINT "BIN - HEX TO DECIMAL"

106 PRINT
110 INPUT Z$

120 PRINT Z$ 130 PRINT "BASIS:";
140 INPUT В

150 PRINT В

160 LETN-0

170 LET L- LEN Z$

175 GOSUB 300

180 FOR 1-1 TO 1-1

182 LET E-CODE Z$|l)

184 IF E>58 THEN LET E-E-7

190 LET N-(N+ E -48)*B

200 NEXT I

205 LET E-CODE Z$|l)
207 IF E>58 THEN LET E-E-7
210 LET N-N+ E -48
220 PRINT" DECIMAL: ";N
230 STOP
300 FOR 1-1 TO L

305 LET C-CODE Z$(l)-48

306 IF C>10 THEN LET C-C-7
310 IF C>-B THEN GO TO 350
315 NEXT I

320 RETURN

350 PRINT "CONVERTING NOT ABLE"
999 STOP

Программа 3.3 Программа преобразования чисел с произвольным
основанием (от2до 16) системы счисления в десятичные.

3.4 БЕГУЩАЯ СТРОКА.

50 LET WAIT-500

100 LET A$-"HELLOWI I AM A "SPECTRUM"

105 LET L-LEN A$

110 FOR K-1 TO L-1

120 PRINT AT 10,32-K;A$(1 TO K)

125 GOSUB WAIT

130 NEXT К

140 FOR K-32-L TO 1 STEP -1

150 PRINT AT 10,K;A$;

160 GOSUB WAIT

170 NEXT К

180 FOR K-1TOL

190 PRINT AT 10ДА$(К TO L)

195 GOSUB WAIT

200 NEXT К

210 GOTO 110

500 FOR J-1 TO 20: NEXT J: RETURN

Программа 3.4 "Бегущая сорока".

Программа 3.4 генерирует "бегущую строку". Текст задается в строке
100. Не забывайте о необходимости пробела в конце строки заключенной
в кавычки для стирания предыдущего текста. Скорость движения строки
определяется задержкой, которая задается в строке 500.

3.S ПЕРЕВОД АРАБСКИХ ЧИСЕЛ В РИМСКИЕ.

Программа 3.5 выполняет перевод десятичных чисел в "римские".

Максимальное значение переводимого числа ограничивается в строке
140 и равняется 3000.

10 REM

20 LET AUS-1000
100 INPUT "Z-';Z
120 PRINT Z;*-*;
130 LET B-Z

140 IF B<- 3000 THEN GOTO 200
150 PRINT'NUMBER BIG*
160 GOTO 100
200 GOTO 500
210 LET B- INT (Z/F)
220 GOSUB AUS+30*(B-0)
230 LET Z-Z-B*F
240 RETURN

500 LET F-1000: LET A$-"M*: GOSUB 210

510 LET F-900: LET A$-*CM": GOSUB 210
520 LET F-500: IET A$-"D*: GOSUB 210
530 IET F-400: LET A$-"CD': GOSUB 210
540 LET F-100: LET A$-"C": GOSUB 210
550 LET F-90: LET A$-"XC: GOSUB 210
560 LET F-50: LET A$-"L': GOSUB 210
570 LET F-40: LET A$-"XL": GOSUB 210
580 LET F—10: LET A$-X: GOSUB 210
590 LET F-9: LET A$-'IX": GOSUB 210
600 LET F-5: LET A$-V: GOSUB 210
610 LET F-4: LET A$-"IV*: GOSUB 210
620 LET F-l: LET A$-T: GOSUB 210

999 STOP

1000 FOR 1-1 TO В
1010 PRINT AS;
1020 NEXT I

1030 RETURN

Программа 3.5 Перевод десятинных чисел в "римские"
В качестве примера попробуйте перевести 1993. Должно получиться М

3.« СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ С ТРЕМЯ
НЕИЗВЕСТНЫМИ.

Было бы неправильно, если в сборнике программ для компьютера
отсутствовали программы для решения математических задач. Для
решения такого рода задач и начала создаваться вычислительная техника.
В качестве примера "математической задачи" доя компьютера в дополнение
к программе 1.15 приведем программу решающую систему линейных
уравнений с тремя неизвестными вида:

а(1,1) *Х+а(1,2) *У+ш(1^) *Z - Ь(1)
а(2,1) *X+a(2,2J *Y+e(2,3) *Z - b(2)

a(3,1) *X+a(3,2) *Y+a(3^) *Z - b(3)

В программе производ ится ввод коэффициентов (строки
100-140,300 -350) вычисление детерминанта (строки200 - 225),

проверка его на отличие от нуля (строка 1025) и вычисление значений
переменных (строки 400 -320).

10 DIM А(3,3)

12 DIM Н(3)

IS DIM В(3)

20 GOTO 1000

100 PRINT'INPUT 3X3MATR:'

105 FOR 1-1 TO 3

110 PRINT l;-.ROW:*;

115 FOR >1 ТОЗ

120 INPUT AM

125 PRINT AM;'

130 NEXT J

135 PRINT

140 NEXT I

150 RETURN

200 IET D-A(1,1 )*(A(2(2)*A(3,3)-A(2,3)*A(3,2))

210 LET D-D-A(l ,2)*(A(2,1 )*A(3,3)-A(2,3)*A(3,1})

220 LET D-D+A(1,3)*(A|2,1 )*A(3,2)-A(2,2)*A(3,1))

225 RETURN

300 PRINT 'INPUT B(l):-

310 FOR 1-1 TO 3

320 INPUT B(l): PRINT В<(): NEXT I

350 RETURN

400 LET J-l: GOSUB 600: LET L-D
410 GOSUB 200: LET X-D/L
420 PRINT "X-";X

430 GOSUB 700: LET J-2: GOSUB 600: GOSUB 200

440 LET Y-D/L PRINT "Y-";Y

450 GOSUB 700:LET >3: GOSUB 600: GOSUB 200

460 LET Z-D/L:PRINT "Z-";Z

520 GOTO 700

600 FOR 1-1 ТОЗ

610 LET H(I)-A{I,J)

620 LET A(I,J)-B(I)

з

630 NEXT I
640 RETURN
700 TOR 1-1 ТО 3
710 LET Afl,J|-H(l)
720 NEXT I
730 RETURN
10OO GOSUB 100
1002 PRINT

1005 PRINT' DETERMINANT

1010 GOSUB 200

1020 PRINT "DET-";D

1025 IF D<> 0 THEN GOTO 1050

1030 PRINT

1032 PRINT 'NO SOLUTIONS!"
1035 GOTO 9999
1050 GOSUB 300
1060 GOSUB 400
9999 STOP

Программа 3.6 Программа решения системы линейных уравнений с тремя

неизвестными.

3.7 ФОРМИРОВАНИЕ ЛИСТИНГА.

Следующая программа позволяет осуществлять ввод с клавиатуры
строк длинной до 20 знаков, формирование списка из 40 строк, сортировку
строк в порядке возрастания кодов составляющих их символов и удаление
ошибочно введенных строк.

50 DIM А$|40,20)
60 LET N-1
70 DIM D$(20)
200 CLS
210 LET M-18
215 LET K-0

220 PRINT TAB M;"I)NPUT"
230 PRINT TAB M;"D)ELETE"

240 PRINT TAB M;"l)ISr

250 PRINT TAB M;"E)ND"

260 IF INKEYS -T THEN GOTO 500

265 IF INKEYS - V THEN GOSUB 1100

270 IF INKEYS -"E* THEN GOTO 900

280 IF INKEYS -"D* THEN GOSUB 1500

300 IF K-1 THEN GOTO 200

310 GOTO 260

500 CLS

520 INPUT *INPUT:";DS
525 PRINT DS

530 IF DS(1K' THEN GOTO 220

535 LET BS-DS

540 GOSUB 1205

550 GOTO 520

900 CLS

910 PRINT AT 11,13;"END"
920 STOP
1100 CLS

1110 FOR 1-1 TON-1
1120 PRINT ASP)
1125 NEXT I
1130 PAUSE 4E4
1135 LET K-1
1140 RETURN
1205 LET J-1

1210 IF N-l THEN GO TO 1330

1220 IF BS<AS(1) THEN GO TO 1330

1230 LET Jl-1

1235 LET J2-N

1240 LET J-INT ((J1+J2J/2)

1250 LET CS-A$(J|

1260 IF C$-B$ THEN GO TO 1390

1270 IF B$<C$ THEN LET J2-J

1280 IF B$>C$ THEN LET J1-J

1290 IF Jo INT ((J1+J2)/2) THEN GO TO 1240

1295 LET J-JH

1330 LET Jl-N+1

1340IFJKJ+1 THEN GO TO 1370

1350 LET A${J1)-A$(J1-1)

1360 LET Jl-JM

1365 GO TO 1340

1370 LET A${J|-B$

1380 LET N-N+1

1382 LET K-l

1385 RETURN

1390 PRINT AT 3,1;"EX»ST IN LIST"

1392 PAUSE 4E4

1395 LET K-1

1399 RETURN

1500 REM DELETE

1505 CLS

1510 PRINT'DELETE:';
1515 INPUT D$
1517 LET B$-D$
1520 PRINT B$
1525 LET J-l

1530 IF No 1 THEN GO TO 1550

1535 PRINT'DELETE BEFORE INPUT

1540 PAUSE 4E4

1545 GO TO 500

1550 LET Jl-1

1555 LET J2-N

1560 LET J- INT P+J2)/2)

1565 LET C$-A$(J|

1570 IF C$-B$ THEN GO TO 1600

1575 IF B$<C$ THEN GO TO 1585

1580 LET J1-J

1582 GO TO 1590

1585 LET J2-J

1590 IF Jo INT ((J1+J2)/2)THEN GO TO 1560
1595 PRINT "NO IN LIST*

1597 LET K-1

1598 PAUSE 4E4

1599 RETURN

1600 LET Jl-J

1610 IF Jl-N THEN GO TO 1650

1620 LET A$|J1)-A$(J1+1)

1630 LET Jl-Jl+1

1640 GO TO 1610

1650 LET N-N-l

1655 LET K-1

1660 RETURN

Программа 3.7 Формирование листинга.

3.8 СОРТИРОВКА.

Программа 3.8 производит сортировку имен введенных с клавиатуры. В
строках 170 и 550 ограничивается количество строк выводимых на экран
(15). Сортировка производится в соответствии с возрастанием кодов
символов. Время затрачиваемое на сортировку зависит от количества
введ енных имен.

10 DIM А$(100,10)
20 LET N-l
100 CLS

110 PRINT AT 1,3;*INPUT:"
120 LET 1-4
130 INPUT A$(N)

140 IF A$|N,1K * THEN GO TO 500
142 PRINT AT 1,3;*
145 PRINT AT l,3;A${N)
150 LET N-N+l
160 LET l-l+l
170 IF l>15 THEN LET 1-4

190 GO TO 130
500 CLS

502 PRINT AT 10,5;"SORr
505 GOSUB 1000
507 CLS

510 PRINT AT l,3;*OUTPUT:"

515 LET 1-4

520 FOR J-l TO N

525 PRINT AT 1,3;*

530 PRINT AT l,3;A${J|

540 LET H+l

550 IF l>15 THEN LET 1-4

560 NEXT J

570 STOP

1000 REM SHELL-METZNER SORT

1010 LET M-N

1020 LET M-INT (M/2)

1030 IF M-0 THEN RETURN

1040 LET J-1

1045 LET K-N-M

1050 LET I-J

1060 LET L-l+M

1070 IF A$(l) <- A$(L) THEN GO TO 1120

1080 LET H$-A$(l)

1083 LET A$p)-A${L)

1086 LET A$(L)-H$

1090 (.ET И-М

1100 IF l<1 THEN GO TO 1120
1110 GO TO 1060
1120 LET J-J+l

1125 IF >K THEN GOTO 1020
1130 GO TO 1050

Программа 3.8 Сортировка.

3.9 КАЛЕНДАРЬ-ЕЖЕДНЕВНИК.

Следующая программа устроена как ежедневник: необходимую запись
можно найти по введенной вместе с ней дате. В программе можно
осуществлять ввод данных с клавиатуры, вывод на экран соответствующего
дате сообщения, удаление ненужных записей, вывод на экран списка всех
занесенных дат и окончание работы с программой.

10 DIM А$(50,50)
20 DIM D$(1,8)
30 DIM Е$(1,41)
40 LET N-1
100 CLS

110 PRINT AT 3,3;"NOTEBOOK"; AT 3,18;"I)NPUT"

120 PRINT AT 4,18;"0)UTPUT"

130 PRINT AT 5,18;"D)ELETE*

135 PRINT AT 6,18;"L)IST OF DATE"

140 PRINT AT 7,18;"E)ND"

150 IF INKEYS -"" THEN GO TO 150

160 IF INKEYS -T THEN GO TO 500

170 IF INKEYS -"O" THEN GO TO 700

180 IF INKEYS -"D" THEN GO TO 900

190 IF INKEYS -"E" THEN GO TO 998

195 IF INKEYS -"I" THEN GO TO 800

199 GO TO 100

200 PRINT AT 10,1;"DATE:TT.MM.YY";
210 INPUT D$(1)

220 PRINT AT 10,7;D$(1)
230 RETURN
500 CLS

505 GOSUB 200
510 PRINT AT 12,1;"TEXT ";
520 INPUT E$(l)
530 PRINT E$|l)
560 GOSUB 1200
570 PRINT AT 2Q,6;"INPUT? (Y/N)"

— . ШШШ

580 IF INKEYS THEN GO ТО 580
590 IF INKEYS -T THEN GO TO 500
599 GO TO 100
700 CLS

710 GOSUB 200

720 GOSUB 1500

730 IF B-1 THEN GO TO 100

740 PRINT AT 12,1;"TEXT:",A$(J,9 TO 41)

750 PAUSE 4E4

760 GO TO 100

800 CLS

810FOR J-l TON
820 PRINT A$(J,1 TO 8)
830 NEXT J
840 PAUSE 4E4
850 GO TO 100
900 CIS

910 GOSUB 200

920 GOSUB 1500

930 IF B-1 THEN GO TO 100

940 GOSUB 1600

950 GO TO 100

998 CLS

999 PRINT ATI 0,10;"END"

1000 STOP
1200 REM SORT
1205 LET >1

1210 IF N-1 THEN GO TO 1370

1220 IF D${1)<A${1,1 TO 8) THEN GO TO 1330

1230 LET Jl-1

1235 LET J2-N

1240 LET J-INT {(J1+J2J/2)

1250 LET C$-A$(J,1 TO 8)

1260 IF C$-D$(l) THEN GO TO 139Q

1270 IF D$(1)<C$ THEN LET J2-J

1280 IF D$(1)>C$ THEN LET Jl-J

1290 IF J<> INT |{J1+J2)/2) THEN GO TO 1240

1300 LET J-J+1

1330 LETJ1-N+1

1340 IF JKJ+1 THEN GO TO 1370

1350 LET A$(J1)-A$(J1-1)

1360 LET J1-J1-1

1365 GO TO 1340

1370 LET A$(J)-D$(1)+E$(1|

1380 LET N-N+l

1390 RETURN

1500 REM

1510 LET B-0

1525 LET J-l

1530 IF N<> 1 THEN GO TO 1550

1535 PRINT "NO RECORDS"

1540 PAUSE 4E4

1545 GOTO 100

1555 LET Jl-1

1550 LET J2-N

1560 LET J-INT |(J1+J2)/2)

1565 LET C$-A$(J,1 TO 8)

1570 IF C$-D$(1) THEN GO TO 1599

1575 IF D$(1)<C$ THEN GO TO 1585

1580 LET Jl-J

1582 GO TO 1590

1585 LET LET J2-J

1590 IF J<> INT ((J1+J2)/2) THEN GO TO 1560

1595 PRINT "NO IN LIST"

1596 LET B-1

1597 PAUSE 4E4

1599 RETURN

1600 REM DELETE
1610 LET Jl-J

1615 IF Jl-N THEN GO TO 1650

1620 LET A$(J1)-A$(J1+1)
1630 LET J1-J1+1
1640 GO TO 1615
1650 LET N-N-1
1660 RETURN

Программа 3.9 Календарь-ежедневник.

3.10 СОРТИРОВКА СПИСКА ИМЕН.

Следующая программа производит сортировку десяти введенных с
клавиатуры слов. Это удобно для составления алфавитного списка. Результат
работы программы может выглядеть так:

Слова сортируются в порядке возрастания кодов символов.

10 PRINT 'INPUT 10 NAMES' 20 PRINT
100 LET N-10
105 DIM N$(N,15): DIM Z(N)
110 GOSUB 500
120 GOSUB 200
130 GOSUB 1000
140 GOSUB 1020
150 STOP
200 REM SOPT
210 LET P-0

220 IF P-0 THEN LET Z|1)-0: LET P-1
230FOR >2TON
240 LET И»

250 IF N$|4<N${P) THEN LET Z(J|-P: LET P-J: GO TO 295
260 LETK-I: LET l-Z(l)

265 IF 1-0 THEN LET Z(K)-J: LET Z(J|-0: GO TO 295

270 IF N$ (JHN^W THEN LET Z(K)-i LETZ(JH GO TO 295

290 GO TO 260

295 NEXT J

299 RETURN

500 REM INPUT

510 FOR J-1 TO N

520 INPUT V;N$(J)

530 NEXT J: RETURN

1000 FOR 1-1 TO N

1005 PRINT AT l,0;N$(l)

1010 NEXT I: RETURN

1020 LET l-P: LET-J-1

1030 IF 1-0 THEN RETURN

1040 PRINT AT J,16;N$(I): LET »1

1050 LET l-Z(l): GO TO 1030

Программа 3.10 Сортировка списка имен.

3.11 КАРТОТЕКА С ПОИСКОМ ПО КЛЮЧЕВЫМ
СЛОВАМ.

Очередная программа выполняет функцию картотеки с поиском
нужной информации по ключевым словам. При вводе информации
программа предлагает сначала ввести ключевое слово и затем связанный
с ним текст. При просмотре информации с клавиатуры вводится
ключевое слово и на экране отображается соответствующий ему текст.

Символы <----> подсказывают, что нажимая клавиши 5 и 8

можно просматривать содержимое картотеки вперед и назад.

100 LET N-40: LET Z-0: LET C-0
105 DIM N$(N,15): DIM R(N): DIM Щ

110 DIM К$|3,Ю): DIM V${10): DIM E$(N,50): DIM l${20): DIM

U$(15)
120 LET K$(1)-"INPUT"
130 LET K${2)-'SE ARCH"
140 LET K${3)-"END"

145 LET L$-" REM 20 SPACE

150 LET ERR-9000

199 GO TO 1000

200 REM
210 LET P-0

220 IF P-0 THEN LET R|1)-0: LET L|l)-0: LET P-l
230 FOR >2 TO Z
240 LET l-P

250 IF N$(J|<N$(P) THEN LET R|J)-P:LET L(J)-0: LET L(P)-J: LETP-J:

GO TO 295
260 LET K-l: LET l-R|l)

265 IF 1-0 THEN LET R|K)-J: LETR{J|-0: LET L(J|-K:GO TO 295
270 IF N$(J)<N$(I) THEN LET R|K)-J: LET R(J)-I: LET L|J|-K: LET L(l)-J:

GO TO 295
290 GO TO 100 260
295 NEXT J

298 LET C-1

299 RETURN

1000 CIS: PRINT AT 2,5;"INPUr; AT 3,5; "SEACH <XXXX>';AT

4,5;"END"
1002 INPUT'?';!$
1005 PRINT AT 20,0;L$
1010 LET L-LEN 1$
1020 FOR 1-1 TO L
1030 IF 1$М-"" THEN GO TO 1100
1040 NEXT I
1050 GO TO ERR
1100 LET V$-l${? TO 1-1)
1105 LET U$-I$(l+1 TO L)
1110 FOR 1-1 ТОЗ

1120 IF V$-K$(l) THEN GO TO 1200
1130 NEXT I
1140 GO TO ERR

1200 IF V$(1 TO 3)-"INP" THEN GO TO 2000
1210 IF V${1 TO 3)-"SEA" THEN GO TO 3000
1220 IF V${1 TO 3)-*ENO* THEN GO TO 4000
2000 LET Z-Z+1

2005 INPUT "SEARCH KEY:";N$(Z)
2010 INPUT "TEXT:";E$(Z)
2015 PRINT AT 20,0;"--> V
2020 LET C-0
2025 PAUSE 100

2030 IF INKEYS -"" THEN GO TO 2030
2040 IF INKEYS -"8" THEN GO TO 2000
2050 GO TO 1000
3000 CIS

3010 IF C-0 THEN PRINT "ERROR IN KEY": GOSUB 200
3030 LET l-P

3040 IF 1-0 THEN GO TO 3080

3050 IF N$|l)-U$ THEN CLS: PRINT AT 1,2;N$(t); AT 4,0;E$(I); AT

20Д" <-- -> r=GO TO 3100
3060 LET I-R0): GO TO 3040
3080 PRINT AT 20,0;l$;" V. GO TO 9005
3100 PAUSE 100

3105 IF INKEYS THEN GO TO 3100

3110 IF INKEYS -"8" THEN LET K-1: LET l-R(l): GO TO 3200

3120 IF INKEYS -"5" THEN LET K-1: LET 1-Ц1): GO TO 3200

3130 GO TO 1000

3200 CLS

3210 IF 1-0 THEN GO TO 3230

3220 PRINT AT 1,2;N$(I); AT 4,0;E$fl)

3225 PRINT AT 20,0;" <-- «> Г: GO TO 3100

3230 PRINT "END "

3250 LET l-K

3260 PAUSE 100

3270 IF INKEY$ -- THEN GO TO 3270
3280 GO TO 3210
4000 STOP

9000 PRINT AT 20,0;V$;" Г 9005 IF INKEY$ THEN GO TO

9005
9010 GO TO 1000
Программа 3.11 Картотека с поиском по ключевым словам.

3.12 "ВЕЧНЫЙ" КАЛЕНДАРЬ.

В БЕЙСИКЕ компьютера СПЕКТРУМ имеются неточности, с одной из
которых мы встретимся в очередной программе. Попробуйте вычислить:

PRINT 0.6*5 равно 3 PRINT INT(0.6*5) равно 2 PRINT

INT(0.6000001*5) равно 3

Поэтому, для получения верного результата, в строке 260 появляется
несколько необычный коэффициент. Программа предлагает ввести дату в
виде:

DATE: 01.02.1993

и выдает результат

TODAY IS: МО

(Сегодня понедельник)

100 PRINT "CALENDAR"

110 PRINT TNPUT:DOJHM.YYYY"

120 INPUT "DATE: "*$

200 LET D- VAL A$(1 TO 2)

210 LET M- VAl A$(4 TO 5|

220 LET J-VAL A$(7 TO 10)

230 IF M>2 THEN GO TO 260

240LETM-M+12:LET »1

260 LET N-0+2*M+ NT (.600000T(M+l))+> INT

(J/4HNT (J/100K INT (У400Н-2
270 LET N- INT |N/7-INT (N/7T7+0.5)

280 LET N-244+1

290 LET W$-"SASUMOTUWETHFR"

300 PRINT TODAY IS:";W$(N TO N+l)

Программа 3.12 "Венный*календарь.




СОДЕРЖАНИЕ:
  1. Глава 1 - преобразование двоичного кода в десятичный, "монстр", движущийся "монстр", движение "монстра" по горизонтали, управление движением "монстра", траектория падающего тела, влияние начальной скорости, влияние горизонтальной начальной скорости, игровая программа "артиллерия", игровая программа "питон", "ламбада", альтернлтивнлязлписьмелодий, "электромузыкальный инструмент", программирование по инструкции "out", решениеквадратныхуравнений.
  2. Глава 3 - формирование больших букв, преобразование десятичных чисел в, числа с произвольным основанием от 2 до 16) системы счисления, преобразования чисел с произвольным основанием (от2 до 16) системы счисления в десятичные, бегущая строка, перевод арабских чисел в римские, система линейных уравнений с тремя неизвестными, формированиелистинга, сортировка, календарь-ежедневник, сортировка списка имен, картотека с поиском по ключевым словам, "вечный" календарь.


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
ZX-Обзор - Фантастический рейтинг литературы.
ONLopros - Результаты опроса 100 пользователей ZXNet.
Письмо №309 - Свердловская обл, г Лесной
The End
Игры - Диззи с Бодуна - соЦиальная мини-новелла.

В этот день...   21 ноября