πŸ“‚ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚: lang-basic-CPM80-003_clean.html


Β 

Basic CP/M-80 ΠΎΡ‚ Orion Soft 1996 Π³. ΠžΡ€ΠΈΠΎΠ½-128,  основы программирования, ΡƒΡ€ΠΎΠΊΠΈ языка

Как Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π²Π»Π°Π΄Π΅Ρ‚ΡŒ языком Basic V2.0 Π² ΠžΡ€ΠΈΠΎΠ½-128 ΠΈ ΠžΡ€ΠΈΠΎΠ½-ПРО.

01.04.2023 ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π•:01.11.96 (Π‘) 1996Π³. ΠžΡ€ΠΈΠΎΠ½ΡΠΎΡ„Ρ‚

Π‘Π•Π™Π‘Π˜ΠšΒ  страница 4

ΠžΠ±Ρ€Π°Π·Ρ‹ диска ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄ CP/M-80 V3.61, Β V3.62, V3.63 ΠΈ Π²Ρ‹ΡˆΠ΅

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· диска для Π“ΠΎΡ‚Π΅ΠΊΠ° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ *.hfe

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ *.odi

Π­Ρ‚ΠΎ описаниС BAS4.TXT ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ

Π’Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠΎΠ³Ρƒ ΡΡŠΠ΅Π·ΠΆΠ°Ρ‚ΡŒ (ΠΏΡ€Π°Π²ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ·ΠΆΠ΅), смотритС Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅

8. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² языкС бСйсик

Π’ языкС БСйсик Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:
- арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
- ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния
- логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
- ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со строками Π·Π½Π°ΠΊΠΎΠ²

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСдставлСны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ I Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ I ΠŸΡ€ΠΈΠΌΠ΅Ρ€
----------------------I-----------------I--------------
I I
+ I Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ I A%+B%
I I
- I Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ I A%-B%
I I
* I Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ I A%*B%
I I
/ I Π”Π΅Π»Π΅Π½ΠΈΠ΅ I A%/B%
I I
\ I ЦСлочислСнноС I A%\B%
I Π΄Π΅Π»Π΅Π½ΠΈΠ΅ I
I I
^ I Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² I A%^2
I ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ I
I I
- I Π—Π½Π°ΠΊ минус I -A%
I I
MOD I ВычислСниС I A! MOD B! Π”Π°Π΅Ρ‚ цСлочислСнный
I модуля I остаток

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ приводится Π² соотвСтствиС с Ρ‚ΠΈΠΏΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 Π°%=19/8
20 PRINT A%
RUN
2
OK

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ.
ΠŸΡ€ΠΈ цСлочислСнном Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² INTEGER-числа ΠΈ ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ‚ -32768 Π΄ΠΎ 32767. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ INTEGER-дСлСния являСтся цСлочислСнной Ρ‡Π°ΡΡ‚ΡŒΡŽ частного ΠΎΠ±Π΅ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: 10\4=2
36.99\6.99=6

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ вычислСния модуля Π² качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π΄Π°Π΅Ρ‚ INTEGER-число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ соотвСтствуСт остатку цСлочислСнного дСлСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: 10 MOD4=2
36.99 MOD 6.=0

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния прСдставлСны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ I Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ I ΠŸΡ€ΠΈΠΌΠ΅Ρ€
------------------------I----------------------I-----------------
I I
= I Π Π°Π²Π½ΠΎ I A%=B%
I I
<> I НС Ρ€Π°Π²Π½ΠΎ I A%<>B%
I I
< I МСньшС I A%<B%
I I
> I Π‘ΠΎΠ»ΡŒΡˆΠ΅ I A%>B%
I I
<= I МСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ I A%<=B%
I I
>= I Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ I A%>=B%

Если опСрация Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°, вырабатываСтся -1, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС 0. ЧислСнныС значСния, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ опСрациях сравнСния, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно  ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹. Π­Ρ‚ΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ опрСдСляСтся ΠΊΠ°ΠΊΠΎΠ΅ число ΠΈΠ· Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… большС ΠΈΠ»ΠΈ мСньшС.

10Z!=5.1
20 X!=3.5
30 MINWERT!=-(Z! > X!)*X!-(Z! <= X!)*Z!
40 MAXWERT!=-(Z! < X!)*X!-(Z! >= X!)*Z!
50 PRINT MINWERT!; MAXWERT!
60 END
RUN
3.5 5.1

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСдставлСны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ I Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ I ΠŸΡ€ΠΈΠΌΠ΅Ρ€
-------------------------I---------------------------I-------------------
I I
NOT I ΠžΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ I NOT A
I I
AND I ЛогичСскоС ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ I A AND B
I I
OR I ЛогичСскоС слоТСниС I A OR B
I I
XOR I Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ ΠΈΠ»ΠΈ I A XOR B
I I
IMP I Π˜ΠΌΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ I A IMP B
I I
EQV I Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ I A EQV B

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ логичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "истина" прСдставляСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π±ΠΈΡ‚ΠΎΠ², Π½Π΅ Ρ€Π°Π²Π½Ρ‹Ρ… Π½ΡƒΠ»ΡŽ, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ логичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "лоТь"- Π½ΡƒΠ»Π΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 20 IF NOT EOF(I) GOTO 80
90 IF BE% > 70 AND HA! < 80 GOTO 100

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ производится с Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚Π½Ρ‹ΠΌΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ (INTEGER-значСния Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии), ΠΏΡ€ΠΈ этом производится побитная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π­Ρ‚ΠΎ происходит ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ:


ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ I 1 ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ I 2 ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ I Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
----------------I---------------I---------------I-------------
I 1 I 1 I 1
END I 1 I 0 I 0
I 0 I 1 I 0
I 0 I 0 I 0
----------------I---------------I---------------I-------------
I 1 I 1 I 1
OR I 1 I 0 I 1
I 0 I 1 I 1
I 0 I 0 I 0
----------------I---------------I---------------I-------------
I 1 I 1 I 0
XOR I 1 I 0 I 1
I 0 I 1 I 1
I 0 I 0 I 0
----------------I---------------I---------------I-------------
I 1 I 1 I 1
IMP I 1 I 0 I 0
I 0 I 1 I 1
I 0 I 0 I 1
----------------I---------------I---------------I-------------
I 1 I 1 I 1
EQV I 1 I 0 I 0
I 0 I 1 I 0
I 0 I 0 I 1
----------------I---------------I---------------I-------------
NOT I 1 I I 0
I 0 I I 1
----------------I---------------I---------------I-------------

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: A%=63 AND 16
A% Ρ€Π°Π²Π½ΠΎ 16 Ρ‚.ΠΊ.
63 Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии: 111111
16 Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии: 010000
-------
A% Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии: 010000

А%=4 OR 2
A% Ρ€Π°Π²Π½ΠΎ 6 Ρ‚.К.
4 Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии: 0100
2 Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии: 0010
------
A% Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии 0110

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ использования ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ INTEGER-число Π² ΠΏΠΎΠ±ΠΈΡ‚Π½ΠΎΠΌ прСдставлСнии ( 1: Π±ΠΈΡ‚ установлСн, 0: Π±ΠΈΡ‚ Π½Π΅ установлСн)Β  ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ строки Π·Π½Π°ΠΊΠΎΠ².

10 BF$=" "
20 INPUT "INTEGERZAHL"; IZ%
30 FOR I%=15 TO 0 STEP -1
40 BF$=BF$+STR$(ABS((IZ% AND 2^I%) -2^I%))
50 NEXT I%
60 PRINT BF$
70 END
RUN
INTEGERZAHL:? (EINGEGEBEN WIRD 143) *
0000000010001111 * вводится 143
Для строковых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° опСрация ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ Ρ‚.Π΅. соСдинСния строк Π·Π½Π°ΠΊΠΎΠ². Она обозначаСтся Π·Π½Π°ΠΊΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ "+". Бформированная Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ строка Π·Π½Π°ΠΊΠΎΠ² Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π΅Π΅ 255 Π·Π½Π°ΠΊΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 А$="ΠΎΠ±'Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ "
20 B$="строк "
30 C$="символов"
40 D$=A$+B$+C$
50 PRINT D$
RUN
Об'Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ строк символов
ОК

Для строк Π·Π½Π°ΠΊΠΎΠ² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ происходит ΠΏΠΎΠ·Π½Π°Ρ‡Π½ΠΎ, Π½Π° Π±Π°Π·Π΅ прСдставлСния Π² ΠΊΠΎΠ΄Π΅ ASCII.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: "AA" мСньшС, Ρ‡Π΅ΠΌ "AB"
"строка" Ρ€Π°Π²Π½Π° "строкС"
"DB" большС, Ρ‡Π΅ΠΌ "CB"
"PS" большС, Ρ‡Π΅ΠΌ "P#"
9. ΠœΠ°ΡΡΠΈΠ²Ρ‹ (ARRAY) Π² языкС БСйсик

9.1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ описания DIM для массивов

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° описания DIM ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ массивы, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: DIM <ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива" (<Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ индСкса>) [,<ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива> (<Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ индСкса>)]...
ΠœΠΎΠ³ΡƒΡ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ массивы Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², соотвСтствСнно Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Число Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… индСксов ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ максимум  255, Ρ‚.Π΅. тСорСтичСски ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ описаны максимум 255-Ρ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. НаимСньший индСкс ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° индСксов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° BASE1 (см. Ρ€Π°Π·Π΄Π΅Π» 9.2.) НиТняя Π³Ρ€Π°Π½ΠΈΡ†Π° индСкса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСна Ρ€Π°Π²Π½ΠΎΠΉ 1.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 DIM SI$(12), A%(5,5)
20 DIM X5#(5,3,3,5)

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:
Π² языкС БСйсик имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы любой размСрности с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ индСксов ΠΎΡ‚ 0 Π΄ΠΎ 9 Π±Π΅Π· этого нСявного описания массива, Ρ‚.ΠΊ. ΠΎΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ соврСмСнной ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ΅ программирования. ОписаниС размСрности массива Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ элСмСнту массива. ΠŸΡ€ΠΈ этом, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ арифмСтичСского выраТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вычисляСтся ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ описания массива. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ БСйсик-компилятора, Π² качСствС Π²Π΅Ρ€Ρ…Π½ΠΈΡ… Π³Ρ€Π°Π½ΠΈΡ† нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ выраТСния. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ константы.

9.2 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ OPTION BASE для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ задания Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ индСкса  ΠΏΡ€ΠΈ описании массива.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° OPTION BASE ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° индСкса ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ размСрности массива ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π° Ρ€Π°Π²Π½ΠΎΠΉ 0 ΠΈΠ»ΠΈ 1.

Π€ΠΎΡ€ΠΌΠ°Ρ‚: OPTION BASE N Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° N ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния 0 ΠΈΠ»ΠΈ 1.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 FOR I%=0 TO 4
20 A(I%)=2*I%
30 PRINT A(I%)
40 NEXT
RUN
0 2 4 6 8
OK
5 OPTION BASE 1
10 FOR I%=0 TO 4
20 A(I%)=2*I%
30 PRINT A(I%)
40 NEXT
RUN
SUBSCRIPT OUT OF RANGE IN 20
OK
ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:
По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ OPTION BASE устанавливаСтся Ρ€Π°Π²Π½ΠΎΠΉ 0. Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅ΠΆΠ΄Π΅
всСго слуТит для ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ пСрСмСщСния БСйсик-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚.ΠΊ. для Π΄Ρ€ΡƒΠ³ΠΈΡ…
БСйсик-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² (Π±ΠΎΠ»Π΅Π΅ старых) Π² качСствС Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ индСксной
области ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ задавалась 1.


9.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ERASE для стирания областСй памяти, занятых массивами.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ERASE ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ характСристики массива
ΠΈΠ»ΠΈ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ, занятая ΡƒΠΆΠ΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌ массивом.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: ERASE <ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива>
[,<ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива>]...

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 DIM A! (20,20,20)
.
.
.
80 ERASE A!
.
.
100 DIM A!(40,5)

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅: Π² БСйсик-компиляторС этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ выполняСтся.



10. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ†ΠΈΠΊΠ»Π° Π² языкС БСйсик
10.1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ FOR, TO, STEP ΠΈ NEXT для образования Ρ†ΠΈΠΊΠ»Π° с фиксированным
числом ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² FOR, TO, STEP ΠΈ NEXT ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ†ΠΈΠΊΠ»Ρ‹ с
фиксированным числом ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: FOR <индСкс Ρ†ΠΈΠΊΠ»Π°>=<Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅> TO <ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>
[<STEP <шаг>]
.
. <ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹>
.
NEXT [<индСкс Ρ†ΠΈΠΊΠ»Π°>] [,<индСкс Ρ†ΠΈΠΊΠ»Π°>]...


<ИндСкс Ρ†ΠΈΠΊΠ»Π°> это простая числовая пСрСмСнная Ρ‚ΠΈΠΏΠ° INTEGER ΠΈΠ»ΠΈ REAL с простой
Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.
<ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>,<ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅> ΠΈ <шаг> ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ числовой
константой, числовой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ числового выраТСния Ρ‚ΠΈΠΏΠ°
INTEGER ΠΈΠ»ΠΈ REAL с простой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ. Если шаг Π½Π΅ Π·Π°Π΄Π°Π½, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1. ВсС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΈ
Π²ΠΎ врСмя выполнСния Ρ†ΠΈΠΊΠ»Π° большС Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. БлСдствиСм этого
являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ нСльзя ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° (Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° -
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², которая начинаСтся с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°,
ΠΈΠ΄ΡƒΡ‰Π΅Π³ΠΎ послС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° FOR ΠΈ заканчиваСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ NEXT, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅
индСкс Ρ†ΠΈΠΊΠ»Π°, Ρ‡Ρ‚ΠΎ ΠΈ FOR). ΠšΠΎΠ½Π΅Ρ† ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°
обозначаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° NEXT.
ΠœΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Ρ†ΠΈΠΊΠ»Ρ‹, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°. ΠŸΡ€ΠΈ этом Π΄ΠΎΠ»ΠΆΠ½ΠΎ
ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ условиС: Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ
Π² Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ внСшнСго Ρ†ΠΈΠΊΠ»Π°. НСсколько Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π° Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚
Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ NEXT. Π’ этом случаС
индСксы Ρ†ΠΈΠΊΠ»Π° Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ NEXT Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ‚ΠΎΡΡ‚ΡŒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚ΠΎΡΡ‚ΡŒ индСкс самого Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ
Ρ†ΠΈΠΊΠ»Π°, Π° послСдним - самого внСшнСго.
Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° происходит Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ нСсколько Ρ€Π°Π·, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ допустимого значСния
индСкса Ρ†ΠΈΠΊΠ»Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ происходит с Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ индСкса Ρ†ΠΈΠΊΠ»Π°.
Π—Π°Ρ‚Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса Ρ†ΠΈΠΊΠ»Π° измСняСтся Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ шага. ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ
шагС индСкс Ρ†ΠΈΠΊΠ»Π° увСличиваСтся Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ шага, ΠΏΡ€ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ шагС -
соотвСтствСнно ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ Ρ†ΠΈΠΊΠ»Π° происходит Π² Ρ‚ΠΎΠΌ случаС,
Ссли Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° Π΅Ρ‰Π΅ Π½Π΅ прСвысило (ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ шагС), ΠΈΠ»ΠΈ Π½Π΅
стало мСньшС (ΠΏΡ€ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ шагС) ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ значСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 FOR I%=10 TO 0 STEP -1
20 PRINT I%
30 NEXT
40 NED
RUN
10 9 8 7 6 5 4 3 2 1 0
OK
10 J%=6
20 FOR I%=1 TO J%+4
30 PRINT I%
40 NEXT
50 END
RUN
1 2 3 4 5 6 7 8 9 10
OK


ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ:
Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всСгда ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Π° ΠΊΠ°ΠΊ
INTEGER-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π—Π° счСт этого сущСствСнно ускоряСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΆΠ΅ слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° с
ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Ρ‚.ΠΊ. ΠΈΠ·-Π·Π° этого Ρ†ΠΈΠΊΠ» остаСтся Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈ
Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ мСсто Π² памяти. ЧастоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ†ΠΈΠΊΠ»Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²
этом случаС привСсти ΠΊ нСдостатку мСста Π² памяти ΠΈ ΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ
ошибкС. Π’ этом случаС, Ссли FOR-NEXT-Ρ†ΠΈΠΊΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ
ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠΊΠΈΠ½ΡƒΡ‚, Π² зависимости ΠΎΡ‚ условия ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ прСрывания
индСкс Ρ†ΠΈΠΊΠ»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π° счСт этого Ρ†ΠΈΠΊΠ»
ΠΏΠ»Π°Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ закончился.
НапримСр, Ссли ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ считаны Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 100 Π±Π»ΠΎΠΊΠΎΠ².
Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² этом случаС ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

.
.
.
110 OPEN "I", 1, "BEISPIEL"
120 FOR I%=1 TO 100
130 INPUT# 1, Z%, X1%, Y2!
140 IF EOF(1) THEN I%=101
.
.
.
180 NEXT I%
.
.
Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅:
ΠŸΡ€ΠΈ использовании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π° ΠΈ числовых Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с
нСцСлочислСнными значСниями, слСдуСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ
округлСния, которая ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ досрочному ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ Ρ†ΠΈΠΊΠ»Π° (условиС
окончания ΠΈΠ·-Π·Π° ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ округлСния Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠΎΠ·Π½Π°Π½ΠΎ). ΠŸΡ€ΠΈ использовании
компилятора языка БСйсик, Π² качСствС индСкса Ρ†ΠΈΠΊΠ»Π° допустимы Ρ‚Π°ΠΊΠΆΠ΅
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° REAL с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.

10.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ WHILE ΠΈ WEND для образования Ρ†ΠΈΠΊΠ»ΠΎΠ² с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ числом
ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ (ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹).

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² WHILE ΠΈ WEND ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ†ΠΈΠΊΠ»Ρ‹ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ
числом ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: WHILE <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅>
.
.<ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹>
.
WEND
Π¦ΠΈΠΊΠ» длится Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅>, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ собой числовоС
Π²Ρ‹Ρ€Π°ΠΆΠ΅ΠΈΠ΅, отличаСтся ΠΎΡ‚ 0, ΠΈΠ»ΠΈ являСтся "истиной" Π² качСствС логичСского
выраТСния. Π¦ΠΈΠΊΠ» заканчиваСтся, Ссли <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> соотвСтствСнно Ρ€Π°Π²Π½ΠΎ 0 ΠΈΠ»ΠΈ
являСтся "лоТью". ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ WHILE ΠΈ WEND Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ
Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€Ρ‹. Π’Π½ΡƒΡ‚Ρ€ΠΈ WHILE-Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ выполняСмыС
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π² частности, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вновь Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ WHILE-Ρ†ΠΈΠΊΠ».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 5 REM EINFACHSTES SORTIEREN
10 DBL%=9

Β 

Β 

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ дальшС....

Β 

ОсваиваСм ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ интСрСсная ΠΊΠ½ΠΈΠ³Π° Π² 2-Ρ… Ρ‚ΠΎΠΌΠ°Ρ… ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° бэйсикС ΠΎΡ‚ А Π΄ΠΎ Π―

ОсваиваСм ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ К-1 Π‘.Π .Π‘ΠΌΠΈΡ‚ 1989 ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ 1-я

ОсваиваСм ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ К-1 Π‘.Π .Π‘ΠΌΠΈΡ‚ 1989 ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ 2-я

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ микропроцСссорных ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΎΠ² i8080, 580Π²ΠΌ80, z80, i8085, 1810, 1824

ΠžΡ€ΠΈΠΎΠ½-128 описаниС ΠΊΠΎΠΌΠ°Π½Π΄ микропроцСссора ΠΊ580Π²ΠΌ80 (ΠžΡ€ΠΈΠΎΠ½-Π‘ΠΎΡ„Ρ‚)

Π―Π·Ρ‹ΠΊ АссСмблСра для ΠžΡ€ΠΈΠΎΠ½Π°

Π―Π·Ρ‹ΠΊ Π‘ΠΈ для ΠžΡ€ΠΈΠΎΠ½Π°

Π―Π·Ρ‹ΠΊ Паскаль для ΠžΡ€ΠΈΠΎΠ½Π°

Π―Π·Ρ‹ΠΊ Π€ΠΎΡ€Ρ‚ для ΠžΡ€ΠΈΠΎΠ½Π°

Β 

Β 

Β 

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΈ интСрСсныС ΡΡ‚Π°Ρ‚ΡŒΠΈ

На ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ страницу  На Π³Π»Π°Π²Π½ΡƒΡŽ страницу  На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ страницу

Β