Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:basic_dialogue_programming_language:012 [2022-10-01 22:21] GreyWolf [Задача 25] |
msx:basic_dialogue_programming_language:012 [2023-02-19 16:24] (текущий) GreyWolf |
||
---|---|---|---|
Строка 6: | Строка 6: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Программированию нельзя научить при помощи выполняемых под команду массовых вольных упражнений… В нем нужно упражняться индивидуально, как в хождении на лыжах и вождении автомобиля. | Программированию нельзя научить при помощи выполняемых под команду массовых вольных упражнений… В нем нужно упражняться индивидуально, как в хождении на лыжах и вождении автомобиля. | ||
<WRAP rightalign> | <WRAP rightalign> | ||
Строка 329: | Строка 329: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Аналогичный случай был… | Аналогичный случай был… | ||
<WRAP rightalign> | <WRAP rightalign> | ||
Строка 379: | Строка 379: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Совершенные числа красивы. Но известно, что красивые вещи редки и немногочисленны, безобразные же встречаются в изобилии. | Совершенные числа красивы. Но известно, что красивые вещи редки и немногочисленны, безобразные же встречаются в изобилии. | ||
<WRAP rightalign> | <WRAP rightalign> | ||
Строка 569: | Строка 569: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Каждая истинная работа имеет свою красоту. | Каждая истинная работа имеет свою красоту. | ||
<WRAP rightalign> | <WRAP rightalign> | ||
Строка 669: | Строка 669: | ||
15 IF X$="" OR Y$="" THEN PRINT "Нет":GOTO 10 | 15 IF X$="" OR Y$="" THEN PRINT "Нет":GOTO 10 | ||
20 FOR I=1 TO LEN(Y$):FOR J=1 TO LEN(X$) | 20 FOR I=1 TO LEN(Y$):FOR J=1 TO LEN(X$) | ||
- | 30 IF MID$(Y$,I,1)=MID$(X$,J,1) THEN X$=LEFT$(X$,J-1)+RIGHT$(X$,LEN(X$)-J):A$="Да":NEXT I ELSE A$="Нет":NEXT J | + | 30 IF MID$(Y$,I,1)=MID$(X$,J,1) THEN X$=LEFT$(X$,J-1)+RIGHT$(X$,LEN(X$)-J):A$="Да": |
+ | NEXT I ELSE A$="Нет":NEXT J | ||
50 PRINT A$:END | 50 PRINT A$:END | ||
run А затем… Ok Подумайте,почему | run А затем… Ok Подумайте,почему | ||
Строка 688: | Строка 689: | ||
40 INPUT"Чему равны A,B,C";A,B,C | 40 INPUT"Чему равны A,B,C";A,B,C | ||
50 A1=A:B1=B:C1=C | 50 A1=A:B1=B:C1=C | ||
- | 60 'Нам нужно найти число M такое, которое в 5 раз больше числа цифр в максимальном по модулю из чисел A, B, C (строки 60-80) | + | 60 'Нам нужно найти число M такое, которое в 5 раз больше числа цифр в |
+ | максимальном по модулю из чисел A, B, C (строки 60-80) | ||
70 CJ=ABS(A):IF ABS(B)>CJ THEN CJ=ABS(B) | 70 CJ=ABS(A):IF ABS(B)>CJ THEN CJ=ABS(B) | ||
80 IF ABS(C)>CJ THEN CJ=ABS(C) | 80 IF ABS(C)>CJ THEN CJ=ABS(C) | ||
Строка 698: | Строка 700: | ||
140 N=I:Q[I]=FIX(S/R):D=R:R=S-R*Q[I]:S=D | 140 N=I:Q[I]=FIX(S/R):D=R:R=S-R*Q[I]:S=D | ||
150 I=I+1:W=R<>0:NEXT W '∗∗∗∗ WEND ∗∗∗∗ | 150 I=I+1:W=R<>0:NEXT W '∗∗∗∗ WEND ∗∗∗∗ | ||
- | 160 IF D=0 THEN:::IF C=0 THEN PRINT "Неопределенность":END ELSE PRINT"Нет решения":END:::ELSE | + | 160 IF D=0 THEN:::IF C=0 THEN PRINT "Неопределенность":END |
+ | ELSE PRINT"Нет решения":END:::ELSE | ||
170 IF FIX(C/D)*D<>C THEN PRINT "Нет решения":END | 170 IF FIX(C/D)*D<>C THEN PRINT "Нет решения":END | ||
180 A=A/D:B=B/D:C=C/D 'A и B сделаем взаимно простыми | 180 A=A/D:B=B/D:C=C/D 'A и B сделаем взаимно простыми | ||
- | 190 IF N=0 THEN V=0:U=1 ELSE V=1:U=0:::FOR I=N-1 TO 1 STEP -1:S=V:V=U-V*Q[I]:U=S:NEXT I | + | 190 IF N=0 THEN V=0:U=1 ELSE V=1:U=0:::FOR I=N-1 TO 1 STEP -1: |
+ | S=V:V=U-V*Q[I]:U=S:NEXT I | ||
200 X=C*U*SGN(A):Y=C*V*SGN(B):C=FIX(X/B):X=X-C*B:Y=Y+C*A'Частные решения | 200 X=C*U*SGN(A):Y=C*V*SGN(B):C=FIX(X/B):X=X-C*B:Y=Y+C*A'Частные решения | ||
- | 210 PRINT "Получено частное решение":PRINT "уравнения: (";STR$(A1);")*x+(";STR$(B1);")*y=";C1 | + | 210 PRINT "Получено частное решение":PRINT "уравнения: (";STR$(A1);")*x+ |
+ | (";STR$(B1);")*y=";C1 | ||
220 PRINT "X0=";STR$(X);SPC(2);"Y0=";STR$(Y) | 220 PRINT "X0=";STR$(X);SPC(2);"Y0=";STR$(Y) | ||
- | 230 PRINT "Общее решение:":PRINT "Xi=";STR$(X);"+i*(";STR$(B1);") и Yi=";STR$(Y);"-i*(";STR$(A1);")," | + | 230 PRINT "Общее решение:":PRINT "Xi=";STR$(X);"+i*(";STR$(B1);") и Yi=";STR$(Y); |
+ | "-i*(";STR$(A1);")," | ||
240 PRINT "где i- целое число." | 240 PRINT "где i- целое число." | ||
250 ' Таблица тестовых примеров | 250 ' Таблица тестовых примеров | ||
Строка 725: | Строка 731: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
А вы, друзья, как ни садитесь,\\ | А вы, друзья, как ни садитесь,\\ | ||
Всё в музыканты не годитесь. | Всё в музыканты не годитесь. | ||
Строка 872: | Строка 878: | ||
30 PRINT"100 50 25 10 5 3 1" | 30 PRINT"100 50 25 10 5 3 1" | ||
40 PRINT"─────────────────────" | 40 PRINT"─────────────────────" | ||
- | 50 FOR A=0 TO N\100:FOR B=0 TO N\50:FOR C=0 TO N\25:FOR D=0 TO N\10:FOR F=0 TO N\5:FOR I=0 TO N\3:FOR J=0 TO N | + | 50 FOR A=0 TO N\100:FOR B=0 TO N\50:FOR C=0 TO N\25:FOR D=0 TO N\10: |
+ | FOR F=0 TO N\5:FOR I=0 TO N\3:FOR J=0 TO N | ||
60 IF 100*A+50*B+25*C+10*D+5*F+3*I+J=N THEN L=L+1:PRINT A;B;C;D;F;I;J | 60 IF 100*A+50*B+25*C+10*D+5*F+3*I+J=N THEN L=L+1:PRINT A;B;C;D;F;I;J | ||
70 NEXT J,I,F,D,C,B,A | 70 NEXT J,I,F,D,C,B,A | ||
Строка 919: | Строка 926: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Вся шахматная партия — это один замаскированный ход конём. | Вся шахматная партия — это один замаскированный ход конём. | ||
<WRAP rightalign> | <WRAP rightalign> | ||
Строка 928: | Строка 935: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Трава не растёт там, где ступил мой конь. | Трава не растёт там, где ступил мой конь. | ||
<WRAP rightalign> | <WRAP rightalign> | ||
Строка 942: | Строка 949: | ||
20 DEFINT A-Z:K=8:E=8:X8=55:Y8=25 | 20 DEFINT A-Z:K=8:E=8:X8=55:Y8=25 | ||
30 '∗∗∗∗∗∗ Рисунок шахматной доски ∗∗∗∗∗∗ | 30 '∗∗∗∗∗∗ Рисунок шахматной доски ∗∗∗∗∗∗ | ||
- | 40 FOR RO=Y8 TO Y8+64 STEP 64:FOR I=X8 TO X8+32*3 STEP 32:LINE(I+1,RO)-STEP(15,15),,BF:LINE(I+17,RO+16)-STEP(15,15),,BF:LINE(I+1,RO+32)-STEP(15,15),,BF:LINE(I+17,RO+48)-STEP(15,15),,BF:NEXTI,RO | + | 40 FOR RO=Y8 TO Y8+64 STEP 64:FOR I=X8 TO X8+32*3 STEP 32: |
+ | LINE(I+1,RO)-STEP(15,15),,BF:LINE(I+17,RO+16)-STEP(15,15),,BF: | ||
+ | LINE(I+1,RO+32)-STEP(15,15),,BF:LINE(I+17,RO+48)-STEP(15,15),,BF: | ||
+ | NEXTI,RO | ||
50 LINE(X8,Y8-1)-(X8+1+16*8,Y8-1) | 50 LINE(X8,Y8-1)-(X8+1+16*8,Y8-1) | ||
60 LINE(X8,Y8+16*8)-(X8+16*8+1,Y8+16*8) | 60 LINE(X8,Y8+16*8)-(X8+16*8+1,Y8+16*8) | ||
Строка 964: | Строка 974: | ||
240 M$=M$+P$:PRESET(EL,165):PRINT #1,P$:EL=EL+16 | 240 M$=M$+P$:PRESET(EL,165):PRINT #1,P$:EL=EL+16 | ||
250 IF LEN(M$)<2 THEN 210 | 250 IF LEN(M$)<2 THEN 210 | ||
- | 260 M=VAL(LEFT$(M$,1)):N=VAL(RIGHT$(M$,1)):IF M<1 OR M>K OR N<1 OR N>E THEN CLS:P$="":M$="":GOTO 20 | + | 260 M=VAL(LEFT$(M$,1)):N=VAL(RIGHT$(M$,1)):IF M<1 OR M>K OR N<1 OR N>E |
+ | THEN CLS:P$="":M$="":GOTO 20 | ||
270 P$="":M$="":EL=0 | 270 P$="":M$="":EL=0 | ||
- | 280 DATA 1,1,1,2,7,10,16,23,13,1,1,2,7,15,0,0,0,192,240,112,56,24,24,24,56,48,16,8,252,254,0,0 | + | 280 DATA 1,1,1,2,7,10,16,23,13,1,1,2,7,15,0,0,0,192, |
+ | 240,112,56,24,24,24,56,48,16,8,252,254,0,0 | ||
290 FOR TI=1 TO 32:READ R:XO$=XO$+CHR$(R):NEXT | 290 FOR TI=1 TO 32:READ R:XO$=XO$+CHR$(R):NEXT | ||
300 SPRITE$(1)=XO$ | 300 SPRITE$(1)=XO$ | ||
Строка 972: | Строка 984: | ||
320 G=8:I=M:J=N:A(I,J)=1:XX=(J-1)*16+X8:YY=(I-1)*16+Y8:PUT SPRITE 1,(XX,YY),10,1 | 320 G=8:I=M:J=N:A(I,J)=1:XX=(J-1)*16+X8:YY=(I-1)*16+Y8:PUT SPRITE 1,(XX,YY),10,1 | ||
330 FOR V=-2 TO 2:FOR H=-2 TO 2'Перебор всевозможных вариантов хода коня | 330 FOR V=-2 TO 2:FOR H=-2 TO 2'Перебор всевозможных вариантов хода коня | ||
- | 340 IF V=0 OR H=0 OR ABS(V)=ABS(H) THEN 350 ELSE GOSUB 500 'Переход на подпрограмму, определяющую оптимальный вариант хода коня. | + | 340 IF V=0 OR H=0 OR ABS(V)=ABS(H) THEN 350 ELSE GOSUB 500 |
+ | 'Переход на подпрограмму, определяющую оптимальный вариант хода коня. | ||
350 NEXT H:NEXT V | 350 NEXT H:NEXT V | ||
360 COLOR15,1,8:PSET(190,45):PRINT #1,SED:COLOR1,15,8 | 360 COLOR15,1,8:PSET(190,45):PRINT #1,SED:COLOR1,15,8 | ||
Строка 980: | Строка 993: | ||
400 PUT SPRITE 1,(XX,YY),10,1 'Перемещение спрайта | 400 PUT SPRITE 1,(XX,YY),10,1 'Перемещение спрайта | ||
410 IF (I-V2+J-H2)MOD2<>0 THEN GOTO 430 | 410 IF (I-V2+J-H2)MOD2<>0 THEN GOTO 430 | ||
- | 420 COLOR15,1,8:PRESET((J-H2-1)*16+X8+5,(I-V2-1)*16+Y8+5):PRINT #1,"∗":COLOR1,15,8:GOTO 440 | + | 420 COLOR15,1,8:PRESET((J-H2-1)*16+X8+5,(I-V2-1)*16+Y8+5):PRINT #1,"∗": |
- | 430 PRESET((J-H2-1)*16+X8+5,(I-V2-1)*16+Y8+5):PRINT #1,"∗"'Заполнение пройденных полей | + | COLOR1,15,8:GOTO 440 |
+ | 430 PRESET((J-H2-1)*16+X8+5,(I-V2-1)*16+Y8+5):PRINT #1,"∗" | ||
+ | 'Заполнение пройденных полей | ||
440 PRESET(190,45):PRINT #1,SED | 440 PRESET(190,45):PRINT #1,SED | ||
450 PRESET(215,45):PRINT #1,"ход" | 450 PRESET(215,45):PRINT #1,"ход" | ||
Строка 987: | Строка 1002: | ||
470 FOR II=1 TO K:FOR JJ=1 TO E | 470 FOR II=1 TO K:FOR JJ=1 TO E | ||
480 IF A(II,JJ)=1 THEN NEXT JJ:NEXT II:GOTO 610 ELSE IF G>0 THEN G=8:GOTO 330 | 480 IF A(II,JJ)=1 THEN NEXT JJ:NEXT II:GOTO 610 ELSE IF G>0 THEN G=8:GOTO 330 | ||
- | 490 'Подпрограмма, считающая число возможных ходов с тех полей,на которые конь мог бы пойти, и выделение из них минимального. | + | 490 'Подпрограмма, считающая число возможных ходов с тех полей, |
+ | на которые конь мог бы пойти, и выделение из них минимального. | ||
500 IF I+V=>1 AND I+V=<K AND J+H=>1 AND J+H=<E THEN 510 ELSE RETURN | 500 IF I+V=>1 AND I+V=<K AND J+H=>1 AND J+H=<E THEN 510 ELSE RETURN | ||
510 IF A(I+V,J+H)=0 THEN I=I+V:J=J+H ELSE RETURN | 510 IF A(I+V,J+H)=0 THEN I=I+V:J=J+H ELSE RETURN | ||
Строка 1022: | Строка 1038: | ||
70 DEFINT A-Z:OL=35:K=8:E=8 | 70 DEFINT A-Z:OL=35:K=8:E=8 | ||
90 Y8=25:X8=70 | 90 Y8=25:X8=70 | ||
- | 110 FOR RO=Y8 TO Y8+64 STEP 64:FOR I=X8 TO X8+32*3 STEP 32:LINE(I+1,RO)-STEP(15,15),,BF:LINE(I+17,RO+16)-STEP(15,15),,BF:LINE(I+1,RO+32)-STEP(15,15),,BF:LINE(I+17,RO+48)-STEP(15,15),,BF:NEXTI,RO | + | 110 FOR RO=Y8 TO Y8+64 STEP 64:FOR I=X8 TO X8+32*3 STEP 32: |
+ | LINE(I+1,RO)-STEP(15,15),,BF:LINE(I+17,RO+16)-STEP(15,15),,BF: | ||
+ | LINE(I+1,RO+32)-STEP(15,15),,BF:LINE(I+17,RO+48)-STEP(15,15),,BF: | ||
+ | NEXTI,RO | ||
130 LINE(X8,Y8-1)-(X8+1+16*8,Y8-1) | 130 LINE(X8,Y8-1)-(X8+1+16*8,Y8-1) | ||
150 LINE(X8,Y8+16*8)-(X8+16*8+1,Y8+16*8) | 150 LINE(X8,Y8+16*8)-(X8+16*8+1,Y8+16*8) | ||
Строка 1040: | Строка 1059: | ||
430 COLOR10,8,8:PRESET(165,182):PRINT #1,"HISCORE:" | 430 COLOR10,8,8:PRESET(165,182):PRINT #1,"HISCORE:" | ||
450 PRESET(166,182):PRINT #1,"HISCORE:":COLOR1,15,8 | 450 PRESET(166,182):PRINT #1,"HISCORE:":COLOR1,15,8 | ||
- | 470 DATA 1,1,1,2,7,10,16,23,13,1,1,2,7,15,0,0,0,192,240,112,56,24,24,24,56,48,16,8,252,254,0,0 | + | 470 DATA 1,1,1,2,7,10,16,23,13,1,1,2,7,15,0,0,0,192, |
+ | 240,112,56,24,24,24,56,48,16,8,252,254,0,0 | ||
475 RESTORE 470:FOR TI=1 TO 32:READ R:XO$=XO$+CHR$(R):NEXT | 475 RESTORE 470:FOR TI=1 TO 32:READ R:XO$=XO$+CHR$(R):NEXT | ||
490 SPRITE$(20)=XO$:XO$="" | 490 SPRITE$(20)=XO$:XO$="" | ||
Строка 1076: | Строка 1096: | ||
650 IF YY-DO<Y5 THEN A$="":GOTO 570 | 650 IF YY-DO<Y5 THEN A$="":GOTO 570 | ||
670 YY=YY-DO:I=I-1:PUT SPRITE5,(XX,YY),10,20:GOTO 570 | 670 YY=YY-DO:I=I-1:PUT SPRITE5,(XX,YY),10,20:GOTO 570 | ||
- | 690 IF YY+DO>=Y6 THEN A$="":GOTO 570 ELSE YY=YY+DO:I=I+1:PUT SPRITE5,(XX,YY),10,20:GOTO 570 | + | 690 IF YY+DO>=Y6 THEN A$="":GOTO 570 ELSE YY=YY+DO:I=I+1: |
- | 710 IF XX+DO>=X6 THEN A$="":GOTO 570 ELSE XX=XX+DO:J=J+1:PUT SPRITE5,(XX,YY),10,20:GOTO 570 | + | PUT SPRITE5,(XX,YY),10,20:GOTO 570 |
- | 730 IF XX-DO<X5 THEN A$="":GOTO 570 ELSE XX=XX-DO:J=J-1:PUT SPRITE5,(XX,YY),10,20:GOTO 570 | + | 710 IF XX+DO>=X6 THEN A$="":GOTO 570 ELSE XX=XX+DO:J=J+1: |
- | 750 IF F>=1 THEN 790 ELSE A(I,J)=1:GOSUB1150:Q=5:GOSUB1010:IF(I+J)MOD2=0 THEN COLOR15,1,8:PRESET(XX+5,YY+5):PRINT #1,"∗":COLOR 1,15,8 ELSE PRESET(XX+5,YY+5):PRINT #1,"∗" | + | PUT SPRITE5,(XX,YY),10,20:GOTO 570 |
+ | 730 IF XX-DO<X5 THEN A$="":GOTO 570 ELSE XX=XX-DO:J=J-1: | ||
+ | PUT SPRITE5,(XX,YY),10,20:GOTO 570 | ||
+ | 750 IF F>=1 THEN 790 ELSE A(I,J)=1:GOSUB1150:Q=5:GOSUB1010:IF(I+J)MOD2=0 | ||
+ | THEN COLOR15,1,8:PRESET(XX+5,YY+5):PRINT #1,"∗":COLOR 1,15,8 | ||
+ | ELSE PRESET(XX+5,YY+5):PRINT #1,"∗" | ||
770 F=1:K1=I:K2=J:GOTO 570 | 770 F=1:K1=I:K2=J:GOTO 570 | ||
790 FOR V4=-2 TO 2:FOR H4=-2 TO 2 | 790 FOR V4=-2 TO 2:FOR H4=-2 TO 2 | ||
- | 810 IF V4=0 OR H4=0 OR ABS(V4)=ABS(H4) THEN NEXT H4,V4 ELSE IF I=K1+V4 AND J=K2+H4 AND A(I,J)<>1 THEN 850 ELSE NEXT H4,V4:GOTO 570 | + | 810 IF V4=0 OR H4=0 OR ABS(V4)=ABS(H4) THEN NEXT H4,V4 |
+ | ELSE IF I=K1+V4 AND J=K2+H4 AND A(I,J)<>1 THEN 850 ELSE NEXT H4,V4:GOTO 570 | ||
830 GOTO 570 | 830 GOTO 570 | ||
- | 850 K1=I:K2=J:A(I,J)=1:GOSUB1150:Q=Q+5:GOSUB1010:IF (I+J)MOD2=0 THEN COLOR15,1,8:PRESET(XX+5,YY+5):PRINT #1,"∗":COLOR 1,15,8 ELSE PRESET(XX+5,YY+5):PRINT #1,"∗" | + | 850 K1=I:K2=J:A(I,J)=1:GOSUB1150:Q=Q+5:GOSUB1010:IF (I+J)MOD2=0 |
+ | THEN COLOR15,1,8:PRESET(XX+5,YY+5):PRINT #1,"∗":COLOR 1,15,8 | ||
+ | ELSE PRESET(XX+5,YY+5):PRINT #1,"∗" | ||
870 FOR V5=-2 TO 2:FOR H5=-2 TO 2 | 870 FOR V5=-2 TO 2:FOR H5=-2 TO 2 | ||
890 IF V5=0 OR H5=0 OR ABS(V5)=ABS(H5) THEN 950 | 890 IF V5=0 OR H5=0 OR ABS(V5)=ABS(H5) THEN 950 | ||
Строка 1094: | Строка 1122: | ||
1010 COLOR 15,8,8:PRESET(45,182):PRINT#1,Q | 1010 COLOR 15,8,8:PRESET(45,182):PRINT#1,Q | ||
1030 PRESET(46,182):PRINT#1,Q:COLOR1,15,8:RETURN | 1030 PRESET(46,182):PRINT#1,Q:COLOR1,15,8:RETURN | ||
- | 1050 FOR L1=1 TO 8:PUT SPRITE 1,(119,79),8,L1:PUTSPRITE2,(135,79),8,L1+8:FORC=0 TO 35:NEXTC:NEXT | + | 1050 FOR L1=1 TO 8:PUT SPRITE 1,(119,79),8,L1:PUTSPRITE2,(135,79),8,L1+8: |
- | 1070 XIT$=INKEY$:IFXIT$="" THEN 1050 ELSE PUT SPRITE1,(0,0),15,L1:PUT SPRITE 2,(16,0),15,L1+8 | + | FOR C=0 TO 35:NEXTC:NEXT |
+ | 1070 XIT$=INKEY$:IFXIT$="" THEN 1050 ELSE PUT SPRITE1,(0,0),15,L1: | ||
+ | PUT SPRITE 2,(16,0),15,L1+8 | ||
1090 FOR I1=1 TO 8:FORJ1=1 TO 8 | 1090 FOR I1=1 TO 8:FORJ1=1 TO 8 | ||
- | 1110 IF(I1+J1)MOD2=0 THEN NEXTJ1,I1 ELSECOLOR15,1,8:PSET((I1-1)*16+X8+5,(J1-1)*16+Y8+5):PRINT #1,"∗":COLOR1,15,8:NEXTJ1,I1 | + | 1110 IF(I1+J1)MOD2=0 THEN NEXTJ1,I1 ELSECOLOR15,1,8:PSET((I1-1)*16+X8+5,(J1-1)*16+Y8+5): |
+ | PRINT #1,"∗":COLOR1,15,8:NEXTJ1,I1 | ||
1130 GOSUB 1150:GOTO 1190 | 1130 GOSUB 1150:GOTO 1190 | ||
1150 COLOR 8,15,8:PSET(45,182):PRINT #1,Q | 1150 COLOR 8,15,8:PSET(45,182):PRINT #1,Q | ||
Строка 1106: | Строка 1137: | ||
1250 COLOR 5,8,8:PRESET(225,182):PRINT #1,M1:PRESET(226,182):PRINT #1,M1:COLOR1,15,8 | 1250 COLOR 5,8,8:PRESET(225,182):PRINT #1,M1:PRESET(226,182):PRINT #1,M1:COLOR1,15,8 | ||
1270 ERASE A:F=0:Q=0:CLOSE:GOTO 50 | 1270 ERASE A:F=0:Q=0:CLOSE:GOTO 50 | ||
- | 1280 DATA 0,0,127,128,128,190,179,179,190,179,179,179,190,128,128,127,0,0,255,0,0,51,51,51,51,30,12,12,12,0,0,255 | + | 1280 DATA 0,0,127,128,128,190,179,179,190,179,179,179,190,128, |
- | 1290 DATA 0,0,0,0,0,127,128,191,190,179,190,128,127,0,0,0,0,0,0,0,0,255,0,51,51,30,12,0,255,0,0,0 | + | 128,127,0,0,255,0,0,51,51,51,51,30,12,12,12,0,0,255 |
- | 1300 DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0 | + | 1290 DATA 0,0,0,0,0,127,128,191,190,179,190,128,127,0,0,0,0,0, |
- | 1310 DATA 0,0,0,0,0,127,128,190,179,190,191,128,127,0,0,0,0,0,0,0,0,255,0,12,30,51,51,0,255,0,0,0 | + | 0,0,0,255,0,51,51,30,12,0,255,0,0,0 |
- | 1320 DATA 0,0,127,128,128,190,179,179,179,190,179,179,190,128,128,127,0,0,255,0,0,12,12,12,30,51,51,51,51,0,0,255 | + | 1300 DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, |
- | 1330 DATA 0,0,255,0,0,63,51,53,60,52,49,51,63,0,0,255,0,0,254,1,1,25,25,25,25,25,1,25,25,1,1,254 | + | 255,0,0,0,0,0,0 |
- | 1340 DATA 0,0,0,0,0,255,0,63,60,53,63,0,255,0,0,0,0,0,0,0,0,254,1,25,25,1,25,1,254,0,0,0 | + | 1310 DATA 0,0,0,0,0,127,128,190,179,190,191,128,127,0,0,0,0,0, |
- | 1350 DATA 0,0,0,0,0,255,0,63,53,60,63,0,255,0,0,0,0,0,0,0,0,254,1,25,1,25,25,1,254,0,0,0 | + | 0,0,0,255,0,12,30,51,51,0,255,0,0,0 |
- | 1360 DATA 0,0,255,0,0,63,51,49,52,60,53,51,63,0,0,255,0,0,254,1,1,25,25,1,25,25,25,25,25,1,1,254 | + | 1320 DATA 0,0,127,128,128,190,179,179,179,190,179,179,190,128, |
+ | 128,127,0,0,255,0,0,12,12,12,30,51,51,51,51,0,0,255 | ||
+ | 1330 DATA 0,0,255,0,0,63,51,53,60,52,49,51,63,0,0,255,0,0,254, | ||
+ | 1,1,25,25,25,25,25,1,25,25,1,1,254 | ||
+ | 1340 DATA 0,0,0,0,0,255,0,63,60,53,63,0,255,0,0,0,0,0,0,0,0, | ||
+ | 254,1,25,25,1,25,1,254,0,0,0 | ||
+ | 1350 DATA 0,0,0,0,0,255,0,63,53,60,63,0,255,0,0,0,0,0,0,0,0, | ||
+ | 254,1,25,1,25,25,1,254,0,0,0 | ||
+ | 1360 DATA 0,0,255,0,0,63,51,49,52,60,53,51,63,0,0,255,0,0, | ||
+ | 254,1,1,25,25,1,25,25,25,25,25,1,1,254 | ||
</code> | </code> | ||
Строка 1123: | Строка 1163: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Если в задаче меньше трёх переменных, это не задача; если больше восьми — она неразрешима. | Если в задаче меньше трёх переменных, это не задача; если больше восьми — она неразрешима. | ||
<WRAP rightalign> | <WRAP rightalign> | ||
Строка 1250: | Строка 1290: | ||
60 NEXT J,I | 60 NEXT J,I | ||
70 FOR I=1 TO L:FOR J=1 TO U | 70 FOR I=1 TO L:FOR J=1 TO U | ||
- | 80 IFMID$(X$,I,1)=MID$(Y$,J,1) AND MID$(X$,I,1)<>CHR$(0) THEN P$=P$+MID$(X$,I,1):R=R+1:N$=MID$(X$,I,1):NEXT I | + | 80 IF MID$(X$,I,1)=MID$(Y$,J,1) AND MID$(X$,I,1)<>CHR$(0) |
+ | THEN P$=P$+MID$(X$,I,1):R=R+1:N$=MID$(X$,I,1):NEXT I | ||
90 IF N$=MID$(X$,L,1) THEN 120 | 90 IF N$=MID$(X$,L,1) THEN 120 | ||
100 NEXT J | 100 NEXT J | ||
Строка 1403: | Строка 1444: | ||
270 Y$=INKEY$ | 270 Y$=INKEY$ | ||
280 INPUT "А,может,Вы желаете извлечь корень? (Да/Нет)";Y$ | 280 INPUT "А,может,Вы желаете извлечь корень? (Да/Нет)";Y$ | ||
- | 290 IF Y$="Д" OR Y$="д" THEN N$=T$:GOSUB 180:T=N:W=INT(SQR(T)):GOSUB 110:? "Корень из ";T$;" равен: ";C$:GOTO 400 | + | 290 IF Y$="Д" OR Y$="д" THEN N$=T$:GOSUB 180:T=N:W=INT(SQR(T)):GOSUB 110: |
+ | ? "Корень из ";T$;" равен: ";C$:GOTO 400 | ||
300 IF Y$="Н" OR Y$="н" THEN 310 ELSE 270 | 300 IF Y$="Н" OR Y$="н" THEN 310 ELSE 270 | ||
310 N$=T$:GOSUB 180:T=N:N$=L$:GOSUB 180:L=N | 310 N$=T$:GOSUB 180:T=N:N$=L$:GOSUB 180:L=N | ||
Строка 1435: | Строка 1477: | ||
90 FOR J=1 TO K:PRINT C(J);:NEXT J:PRINT | 90 FOR J=1 TO K:PRINT C(J);:NEXT J:PRINT | ||
100 FOR J=K TO 1 STEP -1 | 100 FOR J=K TO 1 STEP -1 | ||
- | 110 IF C(J)=N-K+J THEN NEXT J:GOTO 60 ELSE C(J)=C(J)+1:IF J+1>K THEN GOTO 60 ELSE FOR I=J+1 TO K:C(I)=C(I-1)+1:NEXT I:GOTO 60 | + | 110 IF C(J)=N-K+J THEN NEXT J:GOTO 60 ELSE C(J)=C(J)+1:IF J+1>K |
+ | THEN GOTO 60 ELSE FOR I=J+1 TO K:C(I)=C(I-1)+1:NEXT I:GOTO 60 | ||
run | run | ||
Укажите N и K? 3,2 | Укажите N и K? 3,2 | ||
Строка 1450: | Строка 1493: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Что наша "Жизнь"? Игра! | Что наша "Жизнь"? Игра! | ||
<WRAP rightalign> | <WRAP rightalign> | ||
Строка 1585: | Строка 1628: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Один человек купил трёх коз и заплатил 3 рубля. \\ | Один человек купил трёх коз и заплатил 3 рубля. \\ | ||
Спрашивается: по чему каждая коза пошла? | Спрашивается: по чему каждая коза пошла? | ||
Строка 1623: | Строка 1666: | ||
<WRAP group 99%> | <WRAP group 99%> | ||
<WRAP half column> \\ </WRAP> | <WRAP half column> \\ </WRAP> | ||
- | <WRAP half column><WRAP justify> | + | <WRAP half column><WRAP right> |
Незатейливые головоломки о целых числах веками служили источником обновления математики. | Незатейливые головоломки о целых числах веками служили источником обновления математики. | ||
<WRAP rightalign> | <WRAP rightalign> |