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