Инструменты пользователя

Инструменты сайта


msx:basic_dialogue_programming_language:012

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:basic_dialogue_programming_language:012 [2022-10-01 22:23]
GreyWolf [Задача 35]
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>​
Строка 731: Строка 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>
 А вы, друзья,​ как ни садитесь,​\\ А вы, друзья,​ как ни садитесь,​\\
 Всё в музыканты не годитесь. Всё в музыканты не годитесь.
Строка 926: Строка 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>​
Строка 935: Строка 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>​
Строка 949: Строка 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)
Строка 971: Строка 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$
Строка 979: Строка 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
Строка 987: Строка 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,"​ход"​
Строка 994: Строка 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
Строка 1029: Строка 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)
Строка 1047: Строка 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$=""​
Строка 1083: Строка 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
Строка 1101: Строка 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
Строка 1113: Строка 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>​
  
Строка 1130: Строка 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>​
Строка 1257: Строка 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
Строка 1410: Строка 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
Строка 1442: Строка 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
Строка 1457: Строка 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>​
Строка 1592: Строка 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 рубля. \\
 Спрашивается:​ по чему каждая коза пошла? Спрашивается:​ по чему каждая коза пошла?
Строка 1630: Строка 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>​
msx/basic_dialogue_programming_language/012.1664652221.txt.gz · Последние изменения: 2022-10-01 22:23 — GreyWolf