TECHNISCHE HOGESCHOOL EINDHOVEN
E INDEOVEN UNIVERSITY OF TECHNOLOGY
NEDERLAND
NETHERLANDS
AFDELING DER WERKTUIGBOULKUNDE
DEPPXTMENT OF MECHAXICAL ENGINEERING
LABORATORIUM VOOR TECHNISCHE MECHANICA
TABORAT0P.Y OF APPLIED NECHANICS
~-
Programmeren in BASIC op de terminal:
instrukties en voorbeelden
door
A.J.
Sanders
De informatie, opgenomen in deze handleiding, is kontinu aan wijzigingen onderhevig. Wijzigingen zullen bij de terminal aangegeven worden.
T.H. Report
augustus 1971
F'E 7 1
-
29
-a-
INBOUD DEEL I
PAGINA BASIC
-
PROGRJXMEERTAA-L
1 . Inleiding
1
2. Een voorbeeld
2
~~
3. BASIC
3.1
-
8
ctatenients
Variabelen
8
3.11
Enkelvoudige variabelen
8
3.12
Meervoudige variabelen
8
3.2
Getallen
3',3
Operatoren
10
3.4
Standaardfunkties
12
3.5
REM
13
3.6
DIM
14
3.7
DEF
15
3.8
READ
16
3.9
INPUT
16
17
3.10 LET
3. 1 1 IF
-
9
THEN
17
3.12 FOR en NEXT
18
3.13 GOT0
21
3.14 GOSUB en RETURN
21
3.15 PRINT en TAB
23
3.16 RESTORE
27
3.17 STOP
27
3.18 PAUSE
28
3.19 END
28
3.20 Gebruik van matrices
29
3.20.1
Inleiding
29
3.20.2
MAT READ en MAT PRINT
31
3.20.3
Optellen, aftrekken en vermenigvuldigen
32
3.20.4
Vermenigvuldigen met een scalar
32
3.20.5
Identiteitmatrix
32
3.20.6
Transponeren
33
3.20.7
Inverteren
33
3.20.8
ZER en CON
33
3.20.9
Het dimensioneren van matrices
35
4 . Voorbeelden
37
DEEL I1
b-
DE TEENINAL i.
Inleiding
PAGINA 51
1.1
De coatrol-unit
52
1.2
Het toetsenbord
52
1.3
Het afdrukmechanisme
53
1.4
Ponsband-ponser
53
1.5
Ponsband-lezer
54
2 . Toegang tot de computer
55
3. Het werken met de computer
57
4 . Het inlezen van een nieuw programna o f van nieuwe data
59
5. Het verbreken van de verbinding
59
6. Het maken van ponsband
61
7. Fouten korrektie
63
7.1
Korrektie van een of meer karakters
63
7.2
Korrektie van komplete regels
63
8. Conmand language statements
65
AHOY
65
RYE
65
2 '
CLEar DAïa FROgram
SüBprogram DELete EXTract LISt
RESequence JOIn STOre DEStroy RUN
GO DMA P LENgth 9. Aanhangsel : Foutmeldingen
65
65
65 65
66 66 66 66 67
68 68 68 69
69 70 71
DEEL I
1.
BASIC
-
PROGRAMITEEF-TAAL
Inleiding Communiceren niet een computer is alleen mogelijk wanneer een taal gebruikt wordt, die de computer begrijpt. BASIC (Basic -All-purpose -Syn-!bolic -Instruction -Code) is zo'n taal. Er is enerzijds getracht om tot een simpele taal te konen, anderzijds om een taai-te konstrueren, waarmee vele uiteenlopende problemen opgelost kunnen
worden. Dit laatste is mogelijk geworden door speciale instrukties in de taal op te nemen voor het werken met matrices. Mocht u vergeten zijn wat zoal met niatrices gedaan kan worden, dan is het aaIi te raden om een en ander weer eens op te h a l en.
Na een eenvoudig voorbeeld van het gebruik van BASIC volgen achtereenvolgens de standaard-instrukties en de Eatrix-instrukties. Het geheel wordt afgesloten m e t een serie voorbeelden ter verduidelijking van het gebruik van de diverse in-
strukties, die ook wel staterrents genoemd worden.
- 2 -
2. Een v o o r b e e l d Aan d e hand v a n een eenvoudig v o o r b e e l d w o r d t i n d i t h o o f d s t u k een programma 'opgebouwd om d e g l o b a l e s t r u k t u u r v a n BASIC t e i l l u s t r e r e n .
We gaan u i t v a n een s t e l s e l v a n twee l i n e a i r e v e r g e l i j k i n g e n :
c
ax
+
by
=
c
d x + ey = f
D e algemene o p l o s s i n g v a n d i t s t e l s e l l u i d t :
x =
ce ae
-
bf bd
af - cd y = ae - bd A l s d e numerieke waarden van d e c o ë f f i c i e n t e n bekend z i j n , kunnen x en y
berekend worden.
Omdat z o w e l v o o r x a l s v o o r y d e term (ae
-
bd) u i t g e r e k e n d moet worden,
laten
w e d e z e eerst b e p a l e n . I n BASIC s c h r i j v e n we:
O110
LET G = A S E
-
B%D
D e g e h e l e r e g e l wordt een s t a t e m e n t genoemd. I e d e r e r e g e l i n een BASIC-program-
ma b e g i n t met een regelnummer ( l i n e number) om d e p l a a t s v a n h e t s t a t e m e n t aan
.-.
t e d u i d e n . yer r e g e l mag maar Eén s t a t e m e n t voorkomen. Eet programma werkt
d e r e g e l s in v o l g o r d e van m u m ~ e r i n g a f , A l l e g e b r u i k t e l e t t e r s z i j n h o o f d l e t -
t e r s omdat k i e i n e i e t t e r s n i e t op d e t e r m i n a i voorkomen. Het i s n i e t n o d i g om s p a t i e s i n d e r e g e l s op t e nemen, onder d e voorwaarde d a t v o o r h e t l i n e nuriber
vier p l a a t s e n -
g e b r u i k t worden. D e l e e s b a a r h e i d v a n h e t p r o g r a m a g a a t er dan
e c h t e r w e l op a c h t e r u i t .
H e t woord LET i s een i n s t r u k t i e v o o r d e coinputer. Aan d e v a r i a b e l e , v o l g e n d op LET, w o r d t d.e waarde toegekend van d e u i t d r u k k i n g a c h t e r h e t = t e k e n .
Het
=
t e k e n g e e f t in d i t g e v a l géén g e l i j k h e i d s r e l a t i e aan, maar i s b e t e r u i t
t e spreken als:
I'
.... k r i j g t
d e waarde
. . e .
II
Voor d e b e p a l i n g v a n x en y voegen w e d e v o l g e n d e r e g e l s t o e :
0140
LET X
(C?ICE
-
B*F)/G
0150
LET Y = ( A e F
-
C&D)/G
=
- 3 -
De term
(Ce
-
b f ) w o r d t t u s s e n h a a k j e s g e p l a a t s t om aan t e g e v e n d a t d e
g e h e l e term d o o r G g e d e e l d wordt en n i e t a l l e e n ( b f ) . a a r d v o o r d e terp ( a f
-
Hetzelfde,geldt uiter-
bd) op d e v o l g e n d e r e g e l .
A l s x en y u i t g e r e k e n d z i j n , dan w i l l e n w e h e t r e s u l t a . a t g r a a g op d e t e r m i n a l z i e n v e r s c h i j n e n . De v o l g e n d e r e g e l b i e d t d i e m o g e l i j k h e i d :
O160
PRINT "X = "; X ,
11
Y
= ";
Y
Eet PRINT- s t a t e n e n t i n s t r u e e r t d e c o n p u t e r om u i t v o e r t e geven. D e t u s s e n
a a n h a l i n g s t e k e n s g e p l a a t s t e u i t d r u k k i n g e n worden l e t t e r l i j k weergegeven. Voor d e v a r i a b e l e n x e n y wordt d e z o j u i s t b e r e k e n d e waarde a f g e d r u k t . D e komma en piintkomna heb5en i n d i t statemect een s p e c i a l e b e t e k e n i s ; Gebruiken w e e e n puntkonma dan w o r d t d e v a r i a b e l e v o l g e n d op d e puntkomma d i r e k t a c h t e r d e v o o r gaande a f g e d r u k t .
( I n d i t g e v a l i s d e u i t d r u k k i n g t u s s e n a a n h a l i n g s t e k e n s ook
op t e v a t t e n a l s een v a r i a b e l e ) .
D e k o m a g e e f t d e computer d e o p d r a c h t een
a a n t a l s p a t i e s aan t e brengen t u s s e n d e twee door d e konna g e s c h e i d e n v a r i a b e l e n .
H e t p r o g r a m a z i e t er nu a l s v o l g t u i t :
011@ LET G
=
A4cE
0140
LET X = ( C % E
0150
LET Y = (AbCF
0160
PPXNT "X=";
-
B$D B*F)/G
B%D)/G
X, ''Y
=
'I;
f
Het z a l u w a a r s c h i j n l i j k w e l o p g e v a l l e n z i j n d a t d e p r o g r a r m a r e g e l s v r i j w i l l e k e u r i g genummerd worden. D e e n i g e voorwaarde waaraan d e numfiering van d e r e g e l s moet v o l d o e n i s d a t d e v o l g o r d e v a n h e t programma w o r d t aangegeven; sprongen i n d e num-ering hebben geen b e t e k e n i s , Eet i s o o k n i e t n o d i g OF d e r e g e l s i n v o l g o r d e i n t e l e z e n . De computer z o e k t z e l f d e jUiste programmavolgo r d e u i t . A l l e g e t a l l e n van i t o t en met 4999 z i j n a l s l i n e number v a n program-
na r e g e l s t o e g e s t a a n . D e romp v a n h e t programma i s nu k l a a r . We moeten e c h t e r minstens nog twee r e g e l s t o e v o e g e n , n l . on a a n d e d i v e r s e c o ë f f i c i e n t e n numerieke waarden t o e t e kunnen kennen:
0100
READ A, B, O, E, C, F
5000
1,
2 , 4 , 2 , -7,
5
- 4 -
R e g e l O I O 0 g e e f t d e i n s t r u k t i e weer om aan d e v a r i a b e l e n a t / m f d e g e t a l l e n
1
t / m 5 op r e g e l 5000 t o e t e kennen.
-
R e g e l 5000 v e r d i e n t b i z o n d e r e aandacht. Het i s n a m e l i j k zo, d a t a l l e i n t e lezen g e t a l l e r i moeten s t a a n op r e g e l s d i e genummerd z i j n met
5000
o f hoger.
( H e t h o o g s t e l i n e number i s 9999). Voor d e nunixnering van d e " g e t a l l e n ' L r e g e l s
(data-regels)
geildt weEr h e t z e l f d e a l s v o o r d e programma-regels:
d e nummering
mag sprongen v e r t o n e n .
D e e n i g e voorwaarde v o o r de g e t a l l e n op de d a t a - r e g e l s
i s d a t hun v o l g o r d e over-
eenstemt met d e v o l g o r d e van d e parameters a c h t e r h e t READ-statement.
Ook kun-
nen meerdere d a t a - r e g e l s v o o r d e g e t a l l e n g e b r u i k t worden, b . v . :
of
5000
1 , 2, 4
5010
2 , -7,
5500
1, 2
5010
4
5020
2 , -7
5090
5
5
I n b e i d e g e v a l l e n z u l l e n d e v a r i a b e l e n a t / m f d e j u i s t e w a a r d e toegekend k r i j gen.
H e t programma i s nu b i j n a k l a a r . E r o n t b r e e k t nog maar één r e g e l , n l . : END
0190
Deze r e g e l g e e f t h e t e i n d e v a n h e t p r o g r a m a aan. Daarom h e e f t d e z e r e g e i ook -
~~
~~
~
_
-
~~
-
~ -
het h o o g s t e l i n e number v a-~ n d e programma r e g e l s . ~~
~~~
~
H e t programma z i e t er nu a l s v o l g t u i t :
O100
READ A, B, D, E, C, F
o1 10
LET G = A X E
0140
LET
0150
LET Y = ( A f F B-
O160
PRIMT
O190
END
5000
1,
5010
2 , -7,
x
-
I331cE
= ( C ~ E - B*F)/G
"X
2, 4
5
=
'I;
% D)/G
Z, "'Y
'I;
Y
-
- 5 -
-
D i t programma m e t d e z e d a t a ( r e g e l s
5000
en
5010)
z a l v o o r x en y d e berekende
waa.r den u i t v o e r en. Hadden we a n d e r e g e t a l l e n genomen dan zou d e terrr G wel e e n s n u l kunnen worden,
met h e t g e v o l g d a t i n d e r e g e l s 0140 en 0 1 5 0 d o o r n u l g e d e e l d moet worden. D i t
i s o n m o g e l i j k , Daarom voegen we een a a n t a l r e g e l s aan h e t programma t o e , z o d a t d e l i n g d o o r n u l n i e t v o o r kan komen:
0120 O 1 SO
I F G = O THEN 018C PRINT "GEEN OPLOSSING"
A l s i n r e g e l 0110 G = O w o r d t , s t u u r t r e g e l 0120 d e computer n a a r r e g e l 0180. Op d e t e r m i n a l v e r s c h i j n t d e mededeling "GEEN OPLOSSING".
0120
Alle r e p e l s tussen
en O180 worden o v e r g e s l a g e n en d e v e r w e r k i n g v a n h e t programma wordt v o o r t -
g e z e t net r e g e l 0190, d i e t e v e n s h e t e i n d e v a n h e t programma a a n g e e f t . H e t s t e l s e l v e r g e l i j k i n g e n kan v o o r a l l e gewenste waarden v a n q t / m f o p g e l o s t
worden. D e l i n g door n u l i s u i t g e s l o t e n en i n a l l e andere g e v a l l e n worden d e r e s u l t a t e n v o o r x en y op de t e r m i n a l a f g e d r u k t . E f f i c i e n t i s h e t programma e c h t e r nog n i e t . S t e l , d a t w e h e t s t e l s e l v o o r v e l e v e r s c h i l l e n d e waarden v a n
c e n f w i l l e n o p l o s s e n . Ke moeten dan t e l k e n s i n r e g e l
5010
( z i e p a g 4 ) de
twee l a a t s t e g e t a l l e n door nieuwe v e r v a n g e n en h e t programma opnieuw s t a r t e n . Het zou g e m a k k e r l i j k e r z i j n a l s a l l e g e t a l l e n i n een k e e r i n g e l e z e n kunnen worden. Met een k l e i n e w i j z i g i n g i n h e t programca i s d i t m o g e l i j k ; R e g e l OiOû wordt:
0100
READ A, B, E, E
De v a r i a b e l e n C en F worden i n een extra EAD-statement
opgenomen, z o d a t z e
a p a r t i n g e l e z e n worden.
0130
READ C, F
Verder nemen w e i n h e t p r o g r a r n a een s t a t e m e n t op, d a t d e coniputer t e r u g v e r -
wijst n a a r r e g e l 0 1 3 0 : h e t z . g . GOTO-statement. 0170 I n d e r e g e l s 0140,
GOT0 0130
0150
en 0 1 6 0 worden X en Y u i t g e r e k e n d e n d a a r n a a f g e d r u k t .
Omdat r e g e l 0170 i e d e r e k e e r t e r u g verwijst n a a r r e g e l
0130
worden v o o r E en
F weer nieuwe waarden i n g e l e z e n , t o t d a t er geen g e t a l l e n meer v o o r r a d i g z i j n .
- 6 -
OD d a t norrent meldt d e computer d a t d e d a t a r e g e l s l e e g z i j n . Op d e t e r m i n a l
wordt a f g e d r u k t : JOE NEEDS DATA! GO AHEAD
Nieuwe g e t a l l e n kunnen dan worden i n g e v o e r d of h e t programma kan worden beeindigd. N a h e t i n t y p e n v a n h e t programma, t y p e n we h e t w o o r d j e RUN, g e v o l g d door h e t
indrukken v a n d e t o e t s RETVRN ( z i e p a g 5 3 ) . Het kommando RUN s t a r t d e bewerk i n g van h e t programma. Het v o o r b e e l d en d e u i t v o e r z i j n h i e r o n d e r weergegeven zoals h e t op d e t e r m i n a l verschijnt.
- 7 -
e k e waarden opgegeven. N a h e t komando t . ]?aarna v o l g e n . de u i t t e v o e r e n v o e r b e t e k e n t : a . . o maal t i e n t o t d e macht
....
B l o k 2 en 3: v o o r d e v a r i a b e l e n c en f worden nieuwe waarden i n g e l e z e n . Daarna wordt h e t kormnando GO gegeven i . p . v . RUN. Nu w o r d t d e v e r w e r k i n g v a n h e t prcgramma u o a r t g e z e t op r e g e l 0130. B l o k 4 : D i t i s een z . g . Comand Language Statenrent ( z i e pag.66). vet 5030 worden u i t g e w i s t .
De regels
5000
t o t en
B l o k 5 en 6 : v o o r a l l e v a r i a b e l e n worden nieuwe waarden i n g e l e z e n en d e r e s u l t a t e n v o o r x en y worden u i t g e v o e r d .
3. BASIC
-
STATEMENTS
3.1. Variabelen
3.1.1.
Enkelvoudige variabelen ---------- --___------Een enkelvoudige variabele is een hoofdletter of een hoofdletter gevolgd door één cijfer. Alle variabelen hebben als beginwaarde nul. Eet is dus niet nodig om dit, a l s u met nul als startwaarde wilt be-
ginnen, in het programma op te geven. Een variabele in BASIC krijgt één getal toegekend, b.v. door een READ-of een LET-statement. Voorbeeld: --------- A, 2 , Q 6 , E 7 , K 3.1.2.
Meervoudige variabelen -------_------___---Deze variabelen worden gebruikt om vectoren en matrices aan te duiden. Eén letter definieert de variabele, gevolgd door een tussen haakjes geplaatste aanduiding, welke de dimensie van de variabele bepaalt. (Er zijn dus maar 26 verschillende meervoudig variabelen per programma mogelijk). Dezelfde letter mag niet gebruikt worden voor zowel een enkelvoudige als een meervoudige variabele. De tussen haakjes geplaatste aandtiiding mag bestaan uit:
-
één positief getal, b.v.
A (i),
K ( 3 ) , Q (9).
We spreken dan van een één dimensionaal array (vectorj. (Nul is niet toegestaan).
-
twee positieve getallen, gescheiden door een komma, b.v. ( 3 9 1 1 , C (9,121, X (1,161-
Dit wordt een tweedimensionaal array (een matrix) genoemd. tal oplevert. Wanneer dit getal niet geh -~
an wordt het meest nabij liggende kleiner
gehele getal gebruikt. Bijvoorbeeld: 3.198 wordt 3 6.999 wordt 6
- 9 -
3.2 G e t a l l e n Een g e t a l n;ag p o s i t i e f of n e g a t i e f z i j n en h e t mag b e s t a a n u i t maximaal negen c i j f e r s . Voorwaarde i s e c h t e r d a t h e t i n d e c i m a l e vorm staat. V o o r b e e l d v a n g e t a l l e n i n BASIC:
2
-3.794
123456789
-.9248376
De v o l g e n d e v o o r b e e l d e n z i j n geen g e a l l e n
14/3
47
.O00123456789
D e ' e e r s E e t w e e z i j n formules maar géén g e t a l l e n , H e t l a a t s t e g e t a l h e e f t meer dan negen c i j f e r s . We mogen de computer d e d e c i m a l e vorm v a n 1 4 / 3 en
47 l a t e n b e p a l e n , e n v e r d e r nog w a t met d e u i t k o m s t doen, maar h e t i s n i e t t o e g e s t a a n z e a l s z o d a n i g op t e nemen a l s i n t e v o e r e n g e t a l l e n . G e t a l l e n v a n meer dan negen c i j f e r s
-
maar ook a n d e r e
-
kunnen w e g e m a k k e l i j -
k e r s c h r i j v e n d o o r v a n de l e t t e r E g e b r u i k t e maken. D e l e t t e r E b e t e k e n t n a m e l i j k : "maal t i e n t o t d e macht". Symbolisch: aEb, a en b z i j n g e t a l l e n . V oorbeeld: ---------
-7.1
E-3 =
-
0.0071
.31 E2 = 31 2 E 3
=
2000
- 10
3.3.
-
Operatoren Een computer kan veel bewerkingen uitvoeren. Eiij kan optellen, aftrekken, vermenigvuldigen, delen, machtsverheffen, worteltrekken, etc. In onderstaande lijst staan de operatoren die in BASIC toegestaan zijn:
Betekenis ---------
+
A + E
tel E bij A op
A - E
trek E van A af
A* B
vermenigvuldig A met B
A / B
deel A door B
A + 2.
verhef A tot de macht 2
>
A > B
A groter dan B
<-
A < B
>=
A
A kleiner dan B A groter of gelijk aan B
<=
A <= B
A k3einer of gelijk aan B
A = B
A i s gelijk aan B
<>
A
>= B
<> B
A is niet gelijk aan B
Alleen de laatste zes symbolen komen in een IF-THEN statement voor. (zie Pa8 17 ) ' Twee operatoren mogen nooit naast elkaar staan. Zo is A/-€3 niet toegestaan. Door haakjes te gebruiken en te schrijven A/(-B)
is het probleem opgelost.
Uitdrukkingen tussen haakjes worden eerder uitgevoerd dan andere operaties. Het gebruik van haakjes kan worden aanbevolen. Voorbeeld: ------_-_ We willen uitrekenen { ( A + B)xC)
u
Als we nu intypen: 0010 LET F
=
A + BmC+D
dan wordt eerst C tot de macht C verheven, daarna wordt dit met B vermenigvuldigd en het resultaat wordt bij A opgeteld. In feite hebben we dus het volgende uitgerekend5 A + (Bx(CD))
Willen we het juiste resultaat bereiken, dan typen we in: O010 LZT F = ((A
+ B)RC)I.D
Manneer in een formule geen haakjes voorkomen, dan worst eerst niachtverheven, daarna vermenigvuldigd en tenslotte opgeteld. Voor delen geldt hetzelfde als voor vermenigvuldigen, voor aftrekken hetzelfde als voor optellen.
- 11 -
Zijn alle bewerkingen in een formule van dezelfde soort dan wordt van links naar rechts de formule uitgerekend. Voorbeeld --------- :
A - B - C Eerst wordt E van 4- afgetrokken, daarna C van het verschil.
A / B / C Eerst wordt A door B gedeeld, daarna het resultaat door C.
A
I. B I. C
De computer verheft A tot de macht B en het resultaat tot de macht C.
-
12
-
3.4 Standaard funkties
Ce computer heeft een aantal standaard funkties ter beschikking. De funkties bestaan uit een naam van drie letters en een tussen haakjes geplaatste aanduiding, waarvoor iedere uitdrukking mag worden ingevuld. Wel geldt de restriktie dat de uitdrukking zinvol moet zijn. Zo zijn b.v. 4-10, log (O) etc., niet toegestaan. sinus van X cosinus van X
X in radialen
tangens van X arctangens (in radialen) van X natuurlijk logaritme telog (XI 1 normale logaritme {
10 l o g (X))
X
e-funktie (e ) wortei uit
x.
JX
absolute waarde van X. /X( het grootste gehele getal kleiner dan b.v.: INT(3.17)
=
3
INT(-3.17)
=
x
-4
bepaalt het teken van een variabele: als X
= O
dan SGN(X)
als X > O dan SGN(X) als X
< U
dan SGN(X)
=
0
= +I
= -i
deze funktie genereert een random-getal, X mag de waarde i, 2 of 3 hebben (drie random generators zijn beschikbaar) ~-
14.20
CLK(X)
tijd van de dag in uren, b.v.
TIM (X)
tijd, verstreken na het starten van. het programma (in seconden)
X is een dummy, d e waarde wordt niet gebruikt, meestal X = 1
Deze "funktie" kan alleen gebruikt worden samen met een PRINT-statement.
"X" geeft de plaats aan waar op een regel begonnen wordt met typen. Als "X" kleiner is dan de momentane positie van de schrijfkop, dan wordt de TAB-funktie overgeslagen.
-
.
3 5
13
-
REM -
Het REM-statement geeft u de mogelijkheid om kommentaar toe te voegen aan een programma. Het statement mag op iedere plaats i n het programma staan. Alles wat volgt na een REX-statement wordt door de computer overgeslagen. Voorbeelden: __--------- I O0 REM BEPP-LING KXOOPPUNITSKMCaTEN I N EEN VAKhXRx 110 PEK
VOLGORDE INVOEE I S :
120 REM
N : AANTAL VAKTdERKCTAVEN
130 F32f K : FANTAL KNOOPPUNTEN
140 RG”i L(N) 150 PB% 200
mJ!f
210 R B f
: LENGTE VAKG\TERKSTAVEN (N NAAL)
.......*... DIT I S EEN SUBRGUTINE: VOOR
HET @FLOSSEN VAN
EEN STELSEL TIUI ZES LINEAIRE. VERGELIJKINGEN
-
14
-
-
3 . 6 DIV
Voor a l l e m e e r v o u d i g e v a r i a b e l e n ( z i e p a g 8 ) moet d e d i m e n s i e opgegeven worden. Konkreet b e t e k e n t h e t , d a t u d e l e n g t e van een v e c t o r of d e g r o o t t e van een ma-
t r i x o p g e e f t . D e op t e geven diarensie moet g r o t e r z i j n 2an of g e l i j k aan de d i mensie, d i e d e matrix t i j d e n s d e v e r w e r k i n g van h e t programma kan aannemen. D e
-
g r o o t t e v a n d e dimensie moet worden aangegeven met g e t a l l e n . Een f o u t m e l d i n g (SUBSCR.> DIM) k r i j g t u wanneer d e w e r k e l i j k e dimensie g r o t e r i s dan d e opgegeven dimensie.
Het g e t a l d a t d e dimensie a a n g e e f t mag n i e t g r o t e r z i j n dan 9999. Voorbeelden: -----------
130 DIM P ( 2 1 y 3 ) y A(B6)
1 4 0 DIM R(19),
Q(II),
B(2)
- 15
-
3.7 DEF Wanneer u i n uw programma v a a k d e z e l f d e f u n k t i e moet u i t r e k e n e n , dan kunt u een DEF-statement
g e b r u i k e n om zo'n
f u n k t i e t e d e f i n i ë r e n . D e naam v a n de funk-
t i e moet b e s t a a n u i t d r i e l e t t e r s , d e eerste twee z i j n FN. A l s derd.e l e t t e r k u n t u i e d e r e l e t t e r u i t h e t a l f a b e t g e b r u i k e n . U mag dus 26 v e r s c h i l l e n d e f u n k t i e s i n een programma g e b r u i k e n : FNA, FNB, FNC, FND, e t c . H e t gemak v a n
b l i j k t 2 a l s u v a a k , b . v . eVx moet u i t r e k e n e n . U d e f i n i e e r t e e n f u n k t i e dan a l s v o l g t :
130 DEF FNE(X)
= EXP(-X.E2)
Later kunt u dan d i r e k t v e r s c h i l l e n d e waarden v a n d e f u n k t i e u i t r e k e n e n , b . v . :
FNE(. I ) , FNE(3.45), R e t DEF-statement
FNE(Alc3). mag op i e d e r e p l a a t s i n h e t programma staan. De u i t d r u k k i n g
r e c h t s v a n h e t g e l i j k t e k e n mag i e d e r e formule z i j n z o l a n g a l s d e z e maar op een r e g e l p a s t . I e d e r e kombinatie v a n s t a n d a a r d f u n k t i e s , v a n
reeds eerder gedefini-
e e r d e f u n k t i e s i s m o g e l i j k en t e v e n s mogen er meerdere v a r i a b e l e n i n voorkomen. B i j v o o r b e e l d , wanneer FNB. a l d u s g e d e f i n i e e r d i s :
170 DEF FNR(X)
=
SQR(2 +- LOG@)
-
EXP(YjYZ)3lt(X
+ SIN(2iltZ)))
e n u h e b t v a n t e v o r e n waarden toegekend aan Y en Z, dan kunt u v r a g e n n a a r d e waarde v a n FNR(a.371).
Daarna kunt u Y en Z weer ander waarden g e v e n en wederom
een nieuwe f u n k t i e w a a r d e b e p a l e n . I e d e r e f u n k t i e d i e u met een DEF-statement meter a f h a n k e l i j k z l J n . Aa;;
-
d e f i n i e e r t mag s l e c h t s v a n één para-
a l l e andere p a r a m e t e r s d i e rechts v a n h e t g e l i j k t e k e n
s t a a n , moet u v a n t e v o r e n een waarde toekeníieii.
- 16
3.8 -READ .
-
-
Eet READ-statement wordt gevolgd door een of meerdere variabelen. Aan de variabelen worden getallen toegekend, die voorkomen op de regels genummerd met 5000 of hoger. Iedere keer dat ergens in een programma READ voorkomt, worden de nog beschikbare getallen in volgorde aan de diverse variabelen toegekend. Wanneer er voor een READ-statement geen getallen meer voorradig zijn, dan wordt het programma als beëindigd beschouwd. Omdat we getallen moeten inlezen, voordat we ermee kunnen werken, staan de READstatements meestal aan het begin van een programma of een subprograma. Voorbeelden: -----------
200 READ A, B y L8, F1 210 READ K1 , C9
3 . 9 INPUT
Soms is het gewenst dat we getallen invoeren tijdens de verwerking van het programma. Dit kan door in plaats van een READ een INPUT-statement te gebruiken. Wanneer b.v. tijdens de verwerking twee getallen ingevoerd moeten worden dan staat er in het programma b.v.:
140 INPUT X, Y
Zodra de computer aan regel 140 toe is, gaat er in de terminal een belletje rinkelen en ddt
I s
voor d e gebruLker h e t sein em de twee getzllen IE
t e typen;
De
getallen worden geschei0en door een komma. Ma het Intypei? w o r d t de DCCl’UD2T-toets (zie pags’3 , ) Ingedrukt en de computer vervolgt zijn werk.
- 17
-
-
3.10 LET
Het LET-statement kent aan een variabele een waarde toe, die bepaald wordt door een uitdrukking achter het
=
-
teken. Het = teken heeft hier niet de betekenis van
een gelijkheidsrelatie! Het zou uitgesproken kunnen worden als ..."krijgt de waarde".
..
Ieder LET-statement is van de vorm: LET (variabele) Voorbeelden: -__-------- 100 LET X
=
(uitdrukking)
= X + 1
256 LET P3 = A f 2 +(Z-B)+K 314 LET P = P2 = Q3
=
400 LET B = SIN(Y/(A+B))
10/1.29
+ 14
In het derde voorbeeld wordt de waarde (10/1.29)
P, P2
toegekend aan drie variabelen:
en 43.
3.11 IF-THEN Soms willen we een aantal r e g e l s van liet p r o g r m a overslaan, namelijk als aan
een bepaalde voorwaarde voldaan wordt. Hiervoor hebben we het IF-THEN-statement. Het is aldus gestruktureerd:
_-
-
In-regel 340
wordt nagegaan of de waarde van sin(X)
kleiner dan of gelijk aan
M is. A l s dit waar is dan wordt het programma in regel 030 voortgezet. Is aan de voorwaarde niet voldaan dan wordt de verwerking voortgezet met de eerstvolgende regel-na regel 340. Regel 120 laat zien dat het ook mogelijk is on te verwijzen naar regels net een lager linenumber.
-
I8
-
3.12 FOR en NEXT
Het komt vaak voor dat een bepaalde berekening niet een of twee keer, maar vele malen uitgevoerd moet worden. Willen we b.v. de computer alle wortels laten trekken voor de getallen van schrijven:
100 PRINT
1,
1
tot 100 dan zouden we als volgt ons programma kunnen
SQR(1)
110 PRINT 2, SQR(2) 1 2 3 PRINT 3, SQR(3)
............ ............
....... ..... 1070 PRINT 98, SQR(98) 1080 PRINT 99, (SQR(99) 1090 PRINT 100, SQR(100) 1100
END
Op deze manier wordt ons programma 1 O i regels lang. We kunnen het programma belangrijk inkorten door een FOR-TO met een NEXT-statement te gebruiken. 100 FOR I = 1 TO 100
110 PRINT I, SQR(1) -~
120 NEXT I 130 END
Dit programma geeft precies dezelfde resultaten. Regel 100 geeft aan dat er wat moet gebeuren met de getalles 1 tot en met 100: Wat dan wei, dat wordt verteld in regei ii0, namelijk het afdruKken van de getallen en hun wortels. Regel 120 laat de computer het getal iedere keer ophogen (NEXT I: volgende I), en stuurt de computer terug naar regel 110. Na dit honderd keer gedaan te hebben, gaat de computer naar de volgende regel (regel 130) waar het kommando END staat en het programma wordt beëindigd.
In dit voorbeeld wordt de waarde van I telkens met
+1
opgehoogd. Dit doet de com-
puter automatisch. Wanneer we i.p.v. met +I op willen hogen met 3, 4 , -1 of 5 , etc., dan moeten we aan het FOR-TO-statement het woord STEP toevoegen. Voorbeeld: ---------
100 FOR I = 100 TO
1
STEP -5
- 19
-
In dit geval worden de getallen 100, 95, 90, 85
.... 10 en 5 genomen en verder
bewerkt. Wanneer STEP wordt weggelaten, wordt altijd een stapwaarde van + I verondersteld. Ingewikkelde FOR-statements zijn toegestaan. De startwaarde, de eindwaarde en de stapwaarde mogen beslaan uit formules. B.V. wanneer aan N en Z eerder in het programma waarden zijn toegekend dan kunnen we schrijven:
175 FOR X
=
N + 7+Z TO (Z-N)/3 STEP (N-4fkZ)/10
Als de stapwaarde positief is dan wordt de variabele zolang met de stapwaarde opgehoogd tot hij net iets kleiner dan of gelijk is aan d-e eindwaarde. Is de stapwaarde negatief dan gaat het proces door tot de variabele nog net iets groter dan of gelijk is aan de eindwaarde. Als de startwaarde groter is dan de eindwaarde (of kleiner bij een negatieve staF dan slaat de computer alles over tot aan het NEXT-statement en gaat vandaar af met het programma verder. Wanneer we het FOR-TO-statement gebruiken dan moet dat altijd gevolgd worden door een NEXT”statement. Ket gehele met alles wat ertussen ligt wordt een loop genoemd. Vaak worden er binnen een loop andere loops gebruikt. Deze loops mogen elkaar niet kruisen.
-----___- Toeyestaan
Voorbeeld :
f
FOR X FOR Y NEXT Y
!- NEXT X IFOR
X
FOR Y FOR Z
Niet toegestaan rFOR X
t
FOR Y NEXT X
-NEXT Y
rFoR
$ZT’.
NEXT Z FOR W
NEXT Z
NEXT W
FOR W
NEXT Y FOR-Z NEXT Z NEXT X
1
NEXT W
-NEXT X
-
20 -
De algemene vorm van het FOR-statenent is: (LN)
FOR (A) -
=
(uitdr.)
TO (uitdr.)
STEP (uitdr.)
een aantal statements
(LN)
NEXT (A) -
LN : linenumber A
: enkelvoudige variabele
uitdr. : iedere toelaatbare mathematische uitdrukking
-
21
-
-
3 . 1 3 GOTQ
H e t kan voorkomen d a t u
n i e t w i l t d a t a l l e r e g e l s v a n h e t programma op
v o l g o r d e worden a f g e w e r k t o f d a t b e p a a l d e d e l e n worden o v e r g e s l a g e n .
H e t GOTO-statenent
s t u u r t d e computer n a a r d e door u gewenste r e g e l ,
V e r w i j z i n g e n zowel n a a r r e g e l s v o o r a l s na h e t GOTO-statement
z i j n toege-
st a. an. Voorbeeld:
---------
90
GOT@
48
R.egel 90 s t u u r t d e computer t e r u g n a a r regel- 48. A c h t e r mag a l l e e n een l i n e number voorkomen.
3 . 1 4 GOSUB en RETUF3 I.Ta.Izneer een g e d e e l t e v a n een programma meer dan eens g e b r u i k t w o r d t of mog e l i j k e r w i j s op v e r s c h i l l e n d e p l a a t s e n i n h e t g e h e l e prograrmna dan wordt v a n d i t g e d e e l t e een z . g . s u b p r o g r a m a genraakt, ook w e l s u b r o u t i n e genoemd. De t o e g a n g t o t h e t subprogramma i s een GOSUB-statement. V oorbeeld: ---------
190
GQSUB 350
Na bewerking v a n d e s u b r o u t i n e d i e op regel. 350 b e g i n t , g a a t h e t
programma door
niet
d e r e g e i d i e v o l g t na r e g e l 190.
Een s u b r o u t i n e moet a f g e s l o t e n worden m e t een PliTUPN-statement. V oorbeeld: ---------
4.50 R-ETURN
Binnen e e n s u b r o u t i n e mogen w e e r e e n o€ meerdere s u b r o u t i n e s g e b r u i k t worden.
H e t i s e c h t e r w e l v e r p l i c h t om i e d e r e subrout!-ne RETURN-statement. t o e g e s t a a n , h'anneer
Een GOTO-
af t e s l u i t e n met een
of een IF-THEN-statement
a l s a f s l u i t i n g is n i e t
er binnen e e n s u b r o u t i n e nog w e e r a n d e r e s u b r o u t i n e s voor-
komen dan nag v a n d e ene s u b r o u t i n e n i e t n a a r d e a n d e r e verwezen worden.
-
Voorbeeld: _--------
22 -
30
LET
X
A
f
10
40
LET
Y = B
-
2
50
GOSUB 120
60
LET
X
70
LET
Y = D
80
GOSUE 120
90
LET
100
PPINT P
i10
STOP
120
LET
130
PRINT Q
140
RETURN
150 END
=
= C
P = C/3 + D
Q = INT (X/Y>
-
23
-
3.15 PPINT en TAB
H e t PFINT-statement
g e e f t opd-racht om v i a d e t e m i n a l u i t v o e r v a n h e t
programma t e geven. Eet TAB-statement
b i e d t d.e m o g e l i j k h e i d om d e u i t v o e r
v a n h e t p r o g r a m a op d e door u gewenste p l a a t s op h e t p a p i e r t e k r i j g e n . R e s u l t a t e n v a n berekeningen en t e k s t ( e n )
opgenoEen i n h e t programma kunnen
a f z o n d e r l i j k en gekom-bineerd v i a d e terminal u i t g e v o e r d worden. V o o r a l i n progratma's
d i e veel u i t v o e r geven i s h e t w e n s e l i j k d a t d e r e s u l -
t a t e n op een o v e r z i c h t e l i j k e w i j z e op d e t e r m i n a l v e r s c h i j n e n . Een v i j f t a l f a c i l i t e i t e n z i j n h i e r v o o r in,BASIC ingebouwd.
1.
h e t gebruik van t e k s t
2. d e komma 3. d e puntkomma
4 . h e t TAB-statement 5, papieropvoer I e d e r e w i l l e k e u r i g e t e k s t w o r d t l e t t e r l i j k a f g e d r u k t op d e t e m . i n a l , wanneer d e z e t u s s e n a a n h a l i n g s t e k e n s staat en v o l g t op een PRINT-statement, P e r r e g e l kunnen meerdere v a r i a b e l e n
-
t e k s t i s ook a l s z o d a n i g op t e v a t t e n
-
worden a f g e d r u k t , door z e t e s c h e i d e n d o o r een korna of eei, puntkomma. H e t
i s n i e t n o o d z a k e l i j k d a t d e a f t e drukken v a r i a b e l e n i n één PRINT-statement
..
ZIJII
opgenomen. R e t z f s l ~ i t e ï ìv a n een P R L E - s t a t e g e n t m e t een 132mL2of een
puntkonma h e e f t t o t g e v o i g d a t d e uiiz t e v o e r e n v a r i a b e l e n in een v o l g e n d PRINT-statement
op d e z e l f d e r e g e l wordeii a f g e d r u k t , t o t d a t d e regel v o l i s .
Z i j n d e v a r i a b e l e n g e s c h e i d e n door koma's
da.n worden er maximaal s l e c h t s v i j f
g e t a l l e n p e r r e g e l a f g e d r u k t i n v i j f v a s t g e l e g d e zônes. A l s er meer dan v i j f
g e t a l l e n u i t g e l e z e n worden dan wordt er n a i e d e r e v i j f g e t a l l e n weer op een nieuwe r e g e l begonnen. Op een r e g e l kunnen meerdere g e t a l l e n a f g e d r u k t worden d o o r g e b r u i k t e maken
v a n e e n puntkomma. D e i n d e l i n g van een r e g e l hangt dan a f van h e t a a n t a l c i j f e r s per getal.
-
24
-
D r i e groepen g e t a l l e n kunnen o n d e r s c h e i d e n worden:
-
k l e i n e gehele g e t a l l e n
(<10.000)
:
6 plaatsen
: 13 p l a a t s e n
grote gehele getallen
- a l l e andere g e t a l l e n
: 13 p l a a t s e n
P e r regel z i j n 7 2 p o s i t i e s b e s c h i k b a a r ( s p a t i e s o o k meegerekend).
Bet i s dus
a f h a n k e l i j k v a n d e u i t v o e r h o e v e e l g e t a l l e n er p e r r e g e l a f g e d r u k t kunnen worden. H e t i s a-an t e b e v e l e n om p e r programma u i t t e p r o b e r e n op w e l k e manier d e u i t v o e r h e t b e s t g e r e d i g e e r d kan worden. Voor h e t o p v o e r e n v a n h e t p a p i e r (één r e g e l ) i s e e n l e e g KTINT-statement
vol-
doende. I n een PRIPT-statevent
kan TAT3 g e b r u i k t worden. A c h t e r ?PR w o r d t t u s s e n haak-
j e s d e gewenste p o s i t i e opgegeven. De waarde v a n u;-tdrukking, a a n g e e f t moet l i g g e n t u s s e n
1
die de positie
en 7 2 . B e v i n d t d e s c h r i j f k o p z i c h i n een p o s i t i e
v e r d e r dan d e a c h t e r TAB opgegeven waarde dan wordt d e TAB-funktie
genegeerd.
Voorbeelden: ----_-----a. O200
PRINT X,
S@P(X)
E e r s t wordt d e waarde v a n X en i e t s v e r d e r o p d e w a a r d e v a n d e w o r t e l u i t X a f g e d r u k t . Na h e t afdrukken v a n X en d e wortel u i t X wordt h e t p a p i e r één r e g e i opgevoerd en neemt d e s c h r i j f k o p d e eerste p o s i t i e op d e nieuwe r e g e l i n . b.
0215
PRINT X, Y, Z, X + Y , X/Z, X I Y
C e waarden van X, Y en 2 , v a n d e som v a n
Y e n Y e n van d e d e l i n g X:Z,
worden op e e n r e g e l a c h t e r elkaar a f g e d r u k t . D e w a a r d e v a n h e t p r o d u k t v a n Z en Y w o r d t aan h e t b e g i n v a n de v o l g e n d e r e g e l a f g e d r u k t .
c.
O100 O110
FOP I =
O120
NEXT I
0130
END
PRINT I
1
'3 6
-
25
-
De u i t v o e r i s :
1 2 3
4 5 6
d . 0100 POR I =
1
TO 6
O 1 1 0 PRINT I,
0120
NEXT I
0130 END De u i t v o e r i s :
1
3
2
5
4
6 Wordt de komma i n r e g e l 0110 v e r v a n g e n d o o r een puntkomma, dan i s het resultaat:
1
2
3
4
5
6
e. O i 80 PRINT "DE WAARDE VAN X IS";
.
X;
Op d e e e r m i n a l v e r s c h i j n t nu, a l s de waarde v a n X b i j v o o r b e e l d 3 i s : n uri p
WA!JEUU
VA?? X IC 3 s
f. O 1 15 PRINT "DE WORTEL UIT"; A l s b.v.
X;"
=";
SQR(X)
X = 6 2 5 dan i s d e u i t v o e r :
D E WORTEL U I T 6 2 5 = 2 5
B i j h e t gekombineerd g e b r u i k e n v a n tekst en u i t t e v o e r e n v a r i a b e l e n
i s h e t aan t e b e v e l e n om a l s s c h e i d i n g s t e k e n d e puntkomma t e nemen. D e u i t v o e r komt dan a c h t e r e l k a a r t e s t a a n . Hadden er i n d i t v o o r b e e l d komma'E g e s t a a n , dan was d e u i t v o e r geworden: DE WORTEL U I T
625
25
-
g.
0150
26
-
PRINT X; T A B ( 2 0 ) , Y; TAB(2;YN);
E e r s t w o r d t d e waarde,
Z
v a n X a f g e d r u k t , d a a r n a beweegt d e s c h r i j f k o p
z i c h n a a r d e 20-ste p o s i t i e op d e r e g e l en d r u k t Y a f . Als N i n d i t g e v a l b.v.
1 6 i s dan wordt 2 a f g e d r u k t op d e 32-ste p o s i t i e en v e r d e r .
Ook nu g e l d t weer d a t puntkomma's
d e v o o r k e u r boven komma's
verdienen.
t e g e b r u i k e n b e n t u gebonden aan v i j f van t e v o r e n v a s t g e -
Door komma's
l e g d e zônes en h e e f t h e t TAB-statement Tussen het TAB-statement
e i g e n l i j k weinig zin.
en de e e r s t v o l g e n d e variabele mag a l l e e n d e
kam? als s c h e i d i n g s t e k e n g e b r u i k t worden.
h. Kolommen g e t a l l e n worden meestal v o o r z i e n v a n e e n b o v e n s c h r i f t dat aang e e f t w a t de g e t a l l e n v o o r s t e l l e n .
I n d i t v o o r b e e l d worden d a a r v o o r de
l e t t e r s A, B y C en SOM g e b r u i k t . Hoewel d e k o m scheidingsteken is, wordt d e u i t v o e r :
ABCSOM
I n een PRINT-statement
dat a l l e e n tekst u i t v o e r t verliest de komma z i j n
ement g e e f t h e t gewenste r e s u l t a a t . Dus b i j v o o r b e e l d : PRINT TAB(II), De ULtTqeP1
"A", A
TAB(25),
"B", TA3(42), B
t'C'r, TAB(56),
C
Ook i s h e t m o g e l i j k om i n h e t PRINT-statement PRINT" De u i t v o e r
is:
"SOM"
SOM
m e t s p a t i e s t e werken:
A
B
C
sOM"
A
B
C
SOM
-
27
-
3.16 RESTORE
Het kan voorkomen dat u de in te voeren getallen méér dan een keer wilt gebruiken in uw programma. Het RESTORE-statement stelt u in staat om dit zo vaak te doen als u maar wilt. Iedere keer dat de computer in het programma RESTORE tegenkomt worden bij het volgende XEAD-statement de getallen weer van voren a f aan uitgelezen. Voorbeeld: ---------
100 READ N 110 FOR I = 1 TO N 120
READ X
... . . . *. .. . . . . . . . 200
NEXT I
57 O
READ Y
580
FûR
590
READ
.. . . . . . . . ... . . . . . . sTORE. 560 :,E
1
=
1
TO N
X
Let op regel 570. Omdat de waarde van N al een keer ingelezen is (regel 100) en aan de computer dus bekend is, wordt het eerste getal nu toegekend aan een variabele, die i n het programma niet gebruikt wordt. Op deze manier kunnen getallen die ons een tweede o f daaropvolgende keer niet meer interesseren, overgesiagen worden.
3.17 STOL
Eet STOP-statement beëindigt! de verwerking van het programma. Wordt de verwer-
king van het programma opnieuw gestart, dan begint de computer weer helemaal opnieuw. Voorbeeld: --------- 850 STOP
- 2% -
3.18 PAUSE Het PAUSE-statement stopt de verwerking van het programma. Door de computer wordt het volgende bericht gegeven: PAUSE AT LINE..... Wanneer nu het kommando GO wordt ingetypt, gevolgd door het indrukken van de RETURN-toets, dan gaat de verwerking van het programma verder met het eerste statement, volgend op het PAUSE-statement. Voorbeeld: --------- 210 PAUSE
3 . 1 9 END
-
-
Ieder programa wordt afgesloten met een END-statement. Dit statement-heeft het hoogste linenumber van het programma (maximaal 4999). De vorm is eenvoudig: een linenumber met END Voorbeeld: --------- 1550 END
- 29
-
3.20 Gebruik van matrices 3.20.1
-_-----Inleiding In BASIC zijn een aantal statements opgenomen, die het werken met matrices erg gemakkelijk maken. Ook een-dimensionale arrays (vektoren) mogen in BASIC als matrix behandeld worden, In de lijst, die hieronder volgt, zijn die statements opgenomen. MAT READ A, B, C
Lees de matrices A, B en C. De dimensies van de ma-
trices moeten van te voren opgegeven zijn. De elementen van een matrix worden rij na rij ingelezen. Net
-
gedeeltelijk inlezen van een matrix is-niet-mogelijk. MAT PRINT A, B, C
Druk de matrices A, B en C af op de terminal. Een matrix wordt rij na rij afgedrukt. Het gebruik van een komma of een puntkomma hebben hetzelfde effekt als bij het PRINT-statement (zie pag23). Voor iedere rij wordt op een nieuwe regel begonnen.
MATC=A+B
Tel matrix A bij B op en ken de berekende waarde toe aan de elementen van matrix C. A en B moeten dezelfde dimensie hebben.
MAT C
=
A - B
-
~~
Trek ma*Lrix B van rratrix,A af en ken het resultaat ~~
~
toe aan matrix C. A en B moeten dezelfde dimensie hebben. MAT C
=
AEB
Vermënigvuldig matrix A met matrix B. Het resultaat is matrix C.
MAT C
=
INV(A)
Inverteer de vierkante matrix A. De matrices A en C moeten een dimensie hebben, die inverteren mogelijk maakt. Deze operatie geldt alleen voor
twee-dimensie-
nale arrays. MAT C
=
TRN(A)
Transponeer matrix A en ken het resultaat toe aan matrix C.
-
MAT C
= (K)*A
30
-
Vermenigvuldig matrix A met een waarde K. K mag een getal of een uitdrukking zijn en moet altijd tussen haakjes staan.
MATC=A
Matrix C wordt gekopieerd van matrix A.
MAT C
Ieder element van matrix C krijgt dewaarde 1-toege-
= CON
kend. CON betekenltconstant.
MAT C
= ZER
Ieder element van matrix C krijgt de waarde nul. (ZER is een afkorting van ZERO (nul)).
MAT C
= IDN
Maak van matrix C de identiteitsmatrix, d.w.z. alle e1ementen krí j g è n d e w a a r d ë n ü l , G e ~ v ë - d e ë r e m ë n ~ ~
ten op de hoofdiagonaal, die de waarde i (een) krijgen.
-
31
-
Bij het gebruik van het MAT READ- en het MAT PRINT-statement kunnen matrices ingelezen en uitgetypt worden, zonder dat in het statement zelf de dimensie opgegeven wordt. Voorbeelden: -----------
Q
120 MAT READ A, P,
150 MAT PRINT C 175 MAT READ K 190 MAT PRINT Z , L
Getallen worden rij na rij ingelezen, totdat de matrix volledig ge--
~
-
~ ~ _
_
_
_
~
_
vuld is. Gedeelten van matrices kunnen niet ingelezen worden. Voorbeeld --------- :
110
DIM L ( 2 , 3 ) , M(2,2)
150 MAT READ L, M __Lp
160
LET L1(2,,2)
---__
= -2%L(2,2)
I
PRINT L, M 210 END 5000 1, 2 , 3 5010 4 , 5 , 6 5 ^ 2 0 ? > -12
5030 0,7
Regel 110 geeft de dimensies aan. L is-een twee (rijen) bij drie (kolommen) matrix; M is een twee bij twee matrix. Het MAT READ-statement leest voor L en M de getallen in die op de regels 5000 en hoger staan vermeld. Het i s aan te bevelen om de getallen zo op te geven als in het voorbeeld gedaan is. Het is dan gemakkelijk na te gaan welke getallen bij een bepaalde matrix horen en op welke plaats ze in de matrix staan. vermenigvuldigd met een faktor -2. In regel 160 wordt het element L 2$2
Daarna worden de twee matrices op de terminal uitgetypt: 1
2
3
4
-10
6
en
3
-12
O
7
- 32 -
Met behulp van de matrix-statements kunt u matrices optellen, aftrekken en vermenigvuldigen. De dimensies van de matrices moeten overeenstemmen bij het optellen en aftrekken. Zo niet, dan geeft de computer een foutmelding en verdere verwerking wordt gestopt. Voorbeelden:
200 FIAT K = A S B 220 MAT L = B
-~
-
C
3.20.4
Een matrix wordt met een scalar vermenigvuldigd door een statement van deze vorm:
MAT X = (uitdrukking)
D.
X en D zijn matrices van gelijke dimensie en de uitdrukking tussen haakjes is een salaire grootheid. De haakjes zijn nodig om aan te geven dat er met een scalar en niet met een matrix verm-enigvuldigd wordt. Slechts één opdracht per regel is toegestaan. Voorbeelden: -----------
100 MAT F =
(2)
ät G
1 5 0 MAT A = ( 2 . 3 3
-
1 7 0 MAT B = (EXP(X))
M)m Q
*
A
Identiteitsmatrix -----------------
3.20.5
Een identiteitsmatrix wordt gedefinieerd door de vorm: MAT B = IDN
of MAT
R =
IDN (uitdrukking, uitdrukking)
Wanneer de dimensies van B bekend zijn dan wordt van B een identiteitsmatrix ’
gemaakt. Voorwaarde is dat de matrix B vierkant is. In het tweede statement wordt de dimensie van R bepaald door de uitdrukkingen tussen haakjes. Ook nu geldt weer dat de uitdrukkingen zodanig zijn dat er een vierkante matrix ontstaat.
-
Voorbeelden: -----------
33
-
100 MAT A = IDN 150 MAT P = IDN (23WN
i-
1 , 2MN + I )
200 MAT B = IDN (Q,Q) 250 MAT C = IDN ( 1 , l )
3.20.6
Transponeren -----------Een matrix wordt getransponeerd door het statement MAT Y = TRN(Z)
te ge-
bruiken. Matrix Y en Z moeten dezelfde dimensies hebben. Y is de getranspo-. neerde van Z. Het gebruik van MAT A Voorbeelden: ----------- 300 MAT G
=
= TRN(A)
is niet toegestaan.
TñN(H)
400 MAT U = TRN(V)
3.20.7
Inverteren ---------Matrix inversie is mogelijk met het volgende statement: MAT I = INV(J)
I en 3 zijn matrices. De dimensies zijn z o , dat inverteren mogelijk is. Matrix I is de geinverteerde vm matrix 5 . Eet gebruik
--e"GLL
KAT A = INV(A)
is
n i e t toegeutaari.
Voorbeelden: ----------- 500 MAT K = INV(W)
550 MAT A
3.20.8
=
INV(B)
ZER en CON ----------
Alle elementen van een matrix worden gelijk nul gemaakt door het ZER-statement te gebruiken. Hiermee is het ook mogelijk om de dimensie van een matrix te veranderen tijdens de verwerking van het programma. Zie paragraaf 3.20.9: dimensioneren van matrices. Voorbeeld: ---------
MAT C = ZER
het
- 34
-
Alle elementen van C krijgen de waarde nul toegekend. Het CON-statement kent aan alle elementen van een matrix de waarde 1 (één) toe. Voorbeeld: ---------
HAT C
=
CON
Alle elementen van C worden vervangen door d e waarde 1 (één).
-
3.20.9
35
-
H e t dim-ensioneren v a n m a t r i c e s .............................. Aan i e d e r e matrix wordt één l e t t e r toegekend. I e d e r matrix moet g e d e f i n i e e r d worden i n e e n DIM-statement,
o p d a t d e computer
v o l d o e n d e r u i m t e kan r e s e r v e r e n v o o r h e t opbergen v a n d e matrix. V o o r b e e l d : DIM P ( 3 , 4 ) , Q ( 5 , 5 ) ---------
H e t DIM-statement
d e f i n i e e r t twee matrices, P en Q . P h e e f t
h e e f t er 2 5 . H e t eerste element v a n P i s P t e n v a n Q lopen van Q toegestaan!
1,J
t o t QSy5.
1 1
elementen en Q
en het laatste i s P
I n h e t DfM-statement
D e d i m e n s i e opgegeven i n h e t DIN-statement
12
3,4'
De elemen-
-
z i j n alleen getallen
mag g r o t e r z i j n d a n d e w e r k e l i j k e
d i m e n s i e waarmee gewerkt w o r d t . D e p r e c i e z e d i m e n s i e v a n een matrix moet bekend z i j n v Ó Ó r d e b e r e k e n i n g , w a a r i n d e matrix g e b r u i k t wordt. H i e r v o o r kunnen v i j f ?LAT-statements
g e b r u i k t worden:
DIM C(M,N)' MAT READ C(M,N)
r n T c: 2
U T C
= ZER(lI,FT) =
CÛî<(î"I,î<j
= IDN(N,N)
D e eerste vier s t a t e m e n t s d e f i n i ë r e n C a l s een matrix met n/l r i j e n en N kolommen.
H e t v i j f d e s t a t e m e n t s p e c i f i c e e r t C a l s een v i e r k a n t e matrix v a n N r i j e n en N kolommen. M en N mogen b e h a l v e g e t a l l e n ook u i t d r u k k i n g e n z i j n . L e v e r t zo'n
u i t d r u k k i n g geen
g e h e e l g e t a l op dan wordt h e t meest n a b i j g e l e g e n k l e i n e r g e h e l e g e t a l genomen.
(46 M< 5- -f -L = 4 ) .
D i t g e l d t n i e t i n een DIM-staterent. I
_
D e z e l f d e s t a t e m e n t s mogen g e b r u i k t worden om een matrix opnieuw t e dimensioneren.
D e nieuwe d i m e n s i e mag g r o t e r of k l e i n e r z i j n dan d e o o r s p r o n k e l i j k e g r o o t t e , z o l a n g d e nieuwe dimensie n i e t meer r u i m t e v e r e i s t dan opgegeven i s i n 'iet DIMstatement.
-
36
-
Voorbeeld: --------- 110 DLM A ( 8 , 8 ) , B(8,8), C ( 8 , 8 ) 150 MAT READ A ( 2 , 2 ) , B(2,2) 160 MAT C = ZER(2,2) L .
...............
..............
200 MAT A = IDN(8,S)
210 MAT READ B(4,4), C(4,4)
In regel I10 worden
VOO
lle matrix 64 plaatse
~~
ereserveerd.
In ~
-_
de volgende regel (regel 150) wordt de precieze dimensie opgegeven ; A en B worden ingelezen als 2 bij , 2 matrices. In regel 160 wordt het ZER-statement gebruikt om van matrix C een 2 bij 2 matrix te maken en aan ieder element van C de waarde nul toe te kennen. Regel 200 en regel 210 kennen aan A, B en C een nieuwe dimensie toe. De aanvankelijk toegekende dimensies en de ingelezen getallen worden uitgewist, voor B en C worden nieuwe waarden ingelezen en A wordt een identiteitsmatrix van 8 rijen en 8 kolommen. De kombinatie van de matrix-statements met de gewone statements maakt BASIC tot een simpele, en toch goed bruikbare programmeertaal. Wel wordt er nogmaals opgewezen dat de juiste dimensionering van matrices belangrijk is. Vooral bij het vermenigvuldigen, optellen of aftrekken van matrices moet er telkens weer goed op gelet worden dat de opgegeven dimensies kloppen.
-
4.
37
-
Voorbeelden I n d i t h o o f d s t u k z i j n een a a n t a l programma's
opgenoven, d i e u meer
i n z i c h t kunnen geven i n h e t programmeren i n BASIC.
4.1
AUs een h o e k en een z i j d e v a n een r e c h t h o e k bekend z i j n , dan kunnen d e l e n g t e s v a n de a n d e r e z i j d e n b e p a a l d worden, e v e n a l s d e a n d e r e s c h e r p e hoek,
A l s d a t a worden a c h t e r e e n v o l g e n s
K A
T -
J,!
hoek A ( i n graden) en z i j d e K ( i n vz) i n g e l e z e n .
- 38
4.2
-
De wortel uit de som van drie getallen. Als de som kleiner dan
nul is, wordt de mededeling "GEEN WORTEL" afgedrukt.
B f3 3 180
r: 93 7 7
-
Let op het gebruik van het TAB-statement in de regels 100 en 101, en het effekt van de komLa's in de regels 50@ en 700.
- 39
4.3
-
E e t bepalen van d e wortel uit een getal
O 200 0285
O300 O400 o 500 5000
4.4
Ket gebruik van een RESTORE-statement
9á
9
- 07
-
-
41 -
4.7
R e t g e b r u i k v a n een GO CUB-staterr,ent.
4.8
Het u i t v o e r e n van k l e i n e g e t a l l e n
4.9
H e t u i t v o e r e n van g r o t e g e t a l l e n .
4.10
D e algemene o p l o s s i n g van ax2 + bx + c = O i s
x =
- b+
b2 2a
-
4ac
a f h a n k e l i j k van d e waarde v a n ( b
Als b Als b Als b
-
4 a c ) wordt gevonden:
-
4acp0 dan t w e e reële w o r t e l s
-
4ac=0 dan t w e e g e l i j k e r e e l e w o r t e l s 4ac<0 dan z i j n d e w o r t e l s i m a g i n a i r ; op d e t e r m i n a l ver-
s c h i j n t d e r e d e d e l i n g "DE WORTEL2 ZIJG IMAGINAIR"
A
30
~
B
5
L e t op h e t twee k e e r voorkornen van r e g e l 100. Alléén d e l a a t s t
i n g e l e z e n r e g e l 100 k o m i n h e t prograrma v o o r .
- 43 -
4.1
1
Tabelleren
2
4 6
5
-
4. i2
Piet d e TAB-funktie
44
-
kunnen ook f i g u r e n ( g r a f i e k e n ) getekend
worden.
A l s u f i g u r e n laat u i t t e k e n e n i s een goede s c h a l i n g e r g belangr i j k . Een r e g e l h e e f t n l . s l e c h t s 7 2 p o s i t i e s .
-
917
-
-
4.14
47
-
Het vernenigvuldigen van matrices
-
4.15
48
-
9ptelling en vermenigvuldiging met een konctante in een matrixoperatie.
- 49
4.16
-
D e b e p a l i n g van h e t g e n i d d e l d e en d e s t a n d a a r d d e v i a t i e van een r i j g e t a l l e n . Het g e t a l n u l mag n i e t t o t d e r i j behoren.
-
-
os -
-
DEEL II I.
51
-
DE TEF3INAL
Inleiding Een t e r m i n a l i s een t e l e x - a p p a r a a t .
V i a een t e l e f o o n l i j n staat d e t e r m i n a l
i n k o n t a k t pet een computer. De kommunikatie t u s s e n d e coa.puter en d e terminal v i n d t p l a a t s v i a h e t t o e t s e n b o r d van d e t e r m i n a l . Hiermee kunnen en gegevens i n de computer i n g e l e z e n worden. T i j d e n s d e verwer-
programma's
k i n g door d e computer kunnen k o r r e k t i e s a a n g e b r a c h t worden, kan a a n v u l l e n d e i n f o r n a t i e gegeven worden en u i t v o e r v e r k r e g e n worden. D e t e r m i n a l b e s t a a t u i t een a a n t a l onderdelen:
-
d e z.g.
-
5et toetsenbord
control unit
a f d r u k mechanisme ponsband p o n s e r ponsband l e z e r
In o n d e r s t a a n d e f i g u u r i s d e t e r m i n a l weergegeven.
-
I
I
OFF
-
1.1
52 -
De control unit D e c o n t r o l u n i t b e s t a a t u i t een s c h a k e l a a r en een d r i e t a l t o e t s e n
met ingebouwd larrpje. D e s c h a k e l a a r h e e f t d r i e s t a n d e n :
-
OFF
-
LOCAL: géén v e r b i n d i n g m e t d e computer. A l l e e n t e g e b r u i k e n a l s
: d e terminal i s uitgeschakeld, bandponser, b a n d l e z e r o f s c h r i j f n a c h i n e .
-
LINE : verbindi-ng niet d e computer v o o r v e r w e r k i n g v a n gegevens,
De d r i e toetsen zijn: : v a n h e t t o t s t a n d brengen v a n d e t e l e f o o n v e r b i n d i n g
met d e computer. : v o o r h e t over;,schalelen v a n d e t e l e f o o n v e r b i n d i n g op d e terminal a : g e e f t s t o r i n g e n i n d e t e l e f o o n v e r b i n d i n g a a n . Deze t o e t s
moet i n g e d r u k t worden wanneer d e s c h a k e l a a r op "LOCAL" o f "LIPiE"
i s gezet.
Op d e c o n t r o l u n i t komen v e r d e r nog v o o r :
-
de z,g.
"READER-STEP"-toets.
B i j h e t i n l e z e n v a n ponsband kan
met d e z e t o e t s i e d e r karakter a p a r t i n g e l e z e n worden, Ook b i j h e t k o p i ë r e n en k o r r i g e r e n v a n ponsband kan d i t z e e r handig z i j n .
- een b e d r i j f s u r e n t e l l e r ~
1.2
Het toetsenbord _-------------Het t o e t s e n b o r d kan a l s normale s c h r i j f m a c h i n e g e b r u i k t worden, echter m e t d e v o l g e n d e u i t z o n d e r i n g e n :
-
d e l e t t e r s worden u i t s l u i t e n d a l s h o o f d l e t t e r a f g e d r u k t .
-
<SHIFT>
: t o e t s v o o r h e t i n t y p e n v a n d e karakters d i e bovena a n d e t o e t s e n s t a a n . Deze t o e t s moet i n g e d r u k t gehouden worden t i j d e n s h e t aanslaan v a n een derg e l i j k karakter
-
en <XOFF> : d e z e t o e t s e n hebben een s p e c i a l e , nog n a d e r t e specificeren funktie
- 53
-
(RETURW
-
n a i e d e r s t a t e r r e n t moet d e z e t o e t s i n g e d r u k t worden. V o o r d a t d e t o e t s i n g e d r u k t i s , wordt d e i n s t r u k t i e n i e t d o o r d e computer i n b e h a n d e l i n g genomen. D i t g e l d t a l l e e n "on line".
-
h e t indrukken v a n d e z e t o e t s h e e f t t o t g e v o l g d a t h e t p a p i e r één r e g e l o p s c h u i f t .
-
v o o r h e t h e r h a a l d i n t y p e n v a n één b e p a a l d karakter. Hierv o o r moeten we d e toets
-
h e t gewenste k a r a k t e r , indrukken.
b i j h e t maken van ponsband w o r d t d e z e t o e t s g e b r u i k t
om een i n k o r r e k t karakter u i t t e w i s s e n ( v o l p o n s i n g ) .
-
<ES0
t o e t s v o o r h e t onderbreken v a n d e v e r w e r k i n g v a n een programma. A l l e u i t v o e r d i e i n e e n u i t v o e r b u f f e r w a c h t op t r a n s p o r t n a a r d e terminal i s dan e c h t e r v e r l o r e n . R i l l e n
we d e z e u i t v o e r t o c h a f g e d r u k t hebben, dan p o e t h e t program-
m a opnieuw g e s t a r t worden. -'
t o e t s v o o r h e t maken v a n "tape feed".
D e ponser v o e r t d e
ponsband d o o r , z e r w i j l b a n d t r a n s p s r t g a a t j e s v o o r d e ponsb a n d l e z e r worden ingeponscl. d e z e t o e t s e n worden g e b r u i k t voor h e t k o r r i g e r e n van f o u t e n . Z i e pag.63.
A l l e a n d e r e s p e c i a l e t o e t s e n hebben v o o r h e t werken met BASIC géén betekenis.
1.3 A l l e gegevens en o p d r a c h t e n d i e op h e t t o e t s e n b o r d a a n g e s l a g e n worden, worden met behulp v a n een s c h r i j f k o p op p a p i e r g e z e t . Ook de antwoorden v a n h e t systeeni worden a f g e d r u k t . Een r e g e l h e e f t 72 p o s i t i e s .
1.4
Ponsband-Ponser -----,---e----V e t d e band-ponser
kunnen we
progrm.a's
en d a t a ( g e t a l l e n ) v a s t l e g g e n i n .
ponsband. Eet aanmaken v a n ponsband kan gebeuren, waardoor mind e r v e r b i n d i n p s t i j d (= g e l d ) n o d i g i s . Tevens kunnen we d o o r ons gewenste u i t v o e r d o o r d e computer l a t e n u i t p o n s e n ( r e s u l t a t e n van berekeninpen, Fek o r r i g e e r d e programma's).
-
li5
54
-
Ponsband-lezer -------------M e t d e ponsband-lezer
kunnen ponsbanden worden i n g e l e z e n , w a a r b i j d e
g e l e z e n i n f o r i r a t i e a f g e d r u k t wordt en e v e n t u e e l ()
ven w o r d t aan d e computer.
doorgege-
-
55
-
2 . Toegang t o t d e computer De v o l g e n d e p r o c e d u r e moet g e v o l g d worden:
-
Z e t d e s c h a k e l a a r op (en d r u k d e @ A I L > t o e t s i n ) .
Druk d e - t o e t s
in.
Vraag v i a d e t e l e f o o n c e n t r a l e v e r b i n d i n g aan r e t d e computer.
- Na h e t o v e r g a a n v a n d e t e l e f o o n h o o r t u een p i e p t o o n . Binnen 5 sekonden d e
-
-
g e t s indrukken.
Boorn van h e t t e l e f o o n t o e s t e l weer op d e h a a k l e g g e n .
- Typ h e t woord AHOY i n , g e v o l g d d o o r h e t indrukken v a n de-
-
toets.
-
D e computer v r a a g t nu n a a r h e t g e b r u i k s n u m e r (usernumber) en h e t wachtwoord (password).
H e t usernumber en h e t password hescherpen d e
g e b r u i k e r v a n d e computer t e g e n onrechtn?atig g e b r u i k v a n z i j n program-
ma's
-
d o o r an-leren.
Nadat h e t goede usernumber en password z i j n i n g e t y p t , g e v o l g d d o o r h e t indrukken v a n d e "GO AHEAD"
-
t o e t s , d r u k t d e computer d e woorden
af.
Hierna kunnen programma's
en g e g e v e n s i n g e l e z e n worden, o f w e l r e e d s i n
h e t geheugen o p g e s l a g e n programma's
opgeroepen worden.
Hieronder v c l g t een v o o r b e e l d v a n d e u i t v o e r d i e op d e t e r m i n a l verschijnt:
-
56 -
Datgene w a t d e computer a l s u i t v o e r g e e f t staat o n d e r s t r e e p t . H e t usernumber en h e t password ,kunnen g e w i j z i g d worden.
Zie d a a r v o o r d e aan-
wijzingen S i j d e terminal. H e t kan voorkomen d a t d e computer u ook nog a n d e r e i n f o r m a t i e v e r s c h a f t ,
z o a l s b i j v o o r b e e l d h e t f e i t d a t d e computer z i j n werk b e e i n d i g t om 1 7 . 0 0 uur. U i t e r a a r d moet u u i t d e r g e l i j k e mededelingen uw k o n s e q u e n t i e s
trekken
.
Wanneer u een f o u t maakt i n b o v e n s t a a n d e p r o c e d u r e , dan g e e f t d e computer u h e t a d v i e s om opnieuw m e t AHOY t e beginnen:
(TRY AGAIN AHOY).
-
57
-
3. H e t werken met d e computer ~
A l s d e v e r b i n d i n g pet d e computer t o t s t a n d g e b r a c h t i s en a l s d e woorden GO AIIEAD op d e t e r m i n a l v e r s c h e n e n z i j n , kan d e g e b r u i k e r propranma's
en d a t a ( g e t a l l e n ) ter v e r w e r k i n g aanbieden. Aangezien d e g e b r u i k e r programma's
reeds
en d a t a i n h e t geheugen v a n d e computer o p g e s l a g e n kan heb-
ben i s h e t v a n b e l a n g v o o r d e coniputer t e weten of e e n nieuw prograpma w o r d t aangeboden, of d a t een oud programma weer t e r hand w o r d t genorren. Ook i s h e t n o g e l i j k d a t a a n een o p g e s l a g e n programma n i e u w e d a t a moeten
word en toegevoegd.
Om d e coniputer v o o r t e b e r e i d e n op komende zaken moet g e t y p t w o r d e n :
-
PRO (progran),
g e v o l g d d o o r h e t indrukken van d e < R E T E W t o e t s ,
a l s een programma g e b r u i k t g a a t worden
-
DAT ( d a t a ) ,
eveneens g e v o l g d door h e t indrukken v a n i!e
t o e t s , a l s d a t a worden i n g e l e z e n .
I n b e i d e g e v a l l e n wordt g e v r a a g d of h e t een oud of e e n nieuw programnia i s , r e s p . o f h e t oude of nieuwe d a t a z i j n . De g e b r u i k e r antwoordt h i e r o p met
N '(new) o f
0 (old),
g e v o l g d door h e t
indrukken v a n d e t o e t s . De v o l g e n d e v r a a g i s , w a t d e naam van h e t Frogranma of v a n d e d a t a i s ,
Deze naam mag a l l e e n u i t l e t t e r s b e s t a a n .
I n konmentaar da-t t o e g e v o e g d
kan worden, mogen p a s n a h e t negende karakter (de n a m Lnbegrepen) c i i f e r $ worden g e b r u i k t .
De
mûui
w û r d t i n S e t y p t , g e v o l g d rlwr d e t o e t s .
De l a a t s t e v r a a g d i e d e computer s t e l t , b e t r e f t d e taal v a n h e t programma. Zowel BASIC a l s FORTRAN kunnen a l s p r o g r a r m e e r t a a l g e b r u i k t worden.
Is h e t programma i n BASIC g e s c h r e v e n dan wordt d e l e t t e r B i n g e t y p t , gev o l g d d o o r d e t o e t s . K i e r n a v o l g t d e .ededeling
(FORTUN i s L l .
GO AKEAD. Een nieuw programma of nieuwe d a t a -
~~~
kan worden i n g e t y p t , o f b e t e r : i n g e l e z e n worden m e t i e ponsband-lezer, en wanneer h e t een oud programma b e t r e f t , kan d i r e k t met d e v e r w e r k i n g v a n h e t programma begonnen worden ( a a n v u l l e n , k o r r i g e r e n , berekeningen,
etc.). De verwerkhg van het programma v o r d t gesLart door b-ec koatqzndo RU?{ 2n t e t y p e n en d a a r n a d e t o e t s i n t e drukken ( z i e pag. 68).
-
58
-
De door d e computer geleverde uitvoer i s in dit voorbeeld onderstreept.
- 59
-
4 . N e t i n l e z e n van een nieuw programma o f v a n nieuwe d a t a Na h e t v o o r b e r e i d e n d werk z o a l s b e s c h r e v e n i n d e v o o r a f g a a n d e p a r a g r a f e n , kan nu een programma (of d a t a ) worden i n g e l e z e n . T y p t u u w p r o g r a m - a d i r e k t on l i n e i n , dan werkt u r e g e l n a r e g e l a f en i e d e r e r e g e l w o r d t a f g e s l o t e n d o o r h e t indrukken v a n d e
-
toets.
OF v e r b i n d i n g s t i j d t e s p a r e n i s h e t e c h t e r b e t e r om e e r s t "local" een ponsband t e rraken. De ponsband w o r d t i n d e ponsbandlezer g e l e g d , d e s c h a k e l a a r w o r d t i n d e s t a n d "START"
g e z e t en h e t programma wordt i n g e l e z e n . Nadat d e
ponsband i n g e l e z e n i s , wordt d e s c h a k e l a a r i n d e s t a n d "STOP"
g e z e t . Zie
onder st a a n d e f i g u u r .
De cmiputer reageert nu d e e r U^ .AEE,4y a f t e drukken. Eiernu kunnen kmmmdo's
gegeven worden
OE!
h e t programma t e gaan verwerken o f op t e s l a a n i n
h e t geheugen. 5. Eet v e r b r e k e n v a n d e v e r b i n d i n g
Nadat een programma v o l l e d i g i s a f g e w e r k t en al. dan n i e t o p g e s l a g e n i s i n h e t geheugen, kunt u de v e r b i n d i n g met h e t svsteern v e r b r e k e n d o o r h e t i n t y p e n v a n h e t korrmando BYE, g e v o l g d d o o r h e t indrukken v a n d e
D e coEPuter b e r i c h t u d e v e r w e r k i n e -
-
toets.
en a a n s l u i t t i j d p l u s h e t t i j d s t i p waar-
op d e v e r b i n d i n g werd v e r b r o k e n . N a d a t d e a f s l u i t r e g e l door d e computer i s u i t g e t y p t moet u d e t o e t s "TALK" van d e control-unit
indrukken, en d e spanning a f z e t t e r , ( s c h a k e l e n op "OFF")
-
60
-
of overschakelen op "LOCAL". Onderstaand voorbeeld illustreert de afsluitprocedure.
-
61
-
6. R e t aanmaken v a n ponsband
Ponsband i s een i n f o r m a t i e d r a g e r w a a r i n a l l e gegevens, a a n p e s l a g e n o- h e t t o e t s e n b o r d en/of a f g e d r u k t m . 5 . v .
h e t a f d r u k mechanisme, kunnen worden
vastgelegd.
H e t ponsen v i n d t p l a a t s m e t b e h u l p v a n d e b m d p o n s e r d i e l i n k s t e g e n d e terminal bevestigd is. Eet E a k e n v a n nieuwe ponsband g e b e u r t b i j v o o r k e u r "LOCAL". De p r o c e d u r e i s a l d u s :
-
S c h a k e l de ponser i n (druk s c h a k e l a a r "ON" i n ) . Zie o n d e r s t a a n d e f i g u u r
REL.
OFF
Figuur 6 , 1
i
-
Maak ongeveer 20cm t a p e f e e d d o o r e n i g e t i j d ite tiiets &EET2 IS?
'ingedrukt
-
t e houden.
Typ d e programnxa-
~_____
of d a -t a r_e g~e l s i n . Tussen h e t Linenuniber en d e ~
eerste l e t t e r van d e r e g e l (of h e t eerste g e t a l v a n d e d a t a ) E o e t minimaal é é n s p a t i e i n g e t y p t worden. D i t h o e f t n i e t a l s er v i e r
__I
p l a a t s e n v o o r h e t linenumber worden g e b r u i k t . I e d e r e r e g e l wordt als v o l g t a f g e s l o t e n :
1) 2) ~
d r u k d e t o e t s KLINE PEED> i n . d r u k d e t o e t s i n en houd d e z e i n g e d r u k t , ~
I __X_OFFi n g e d r
3) d r u k d e t o e t s (RFTURN7,in.
-
terwijl de toets
- 62 -
- Nadat h e t g e h e l e programma en/of d a t a z i j n i n g e t y p t w o r d t weer t a p e f e e d gemaakt d o o r d e t o e t s i n t e drukken. D e gemaakte ponsband w o r d t nu v a n d e ponser a f g e s c h e u r d .
-
Zet d e p o n s e r a f door d e t o e t s "OFF"
Op d e band-ponser D e
-
i n t e drukken ( z i e f i g . 6. i ) .
bevinden z i c h nog t w e e a n d e r e t o e t s e n ( z i e f i g . 4 . 1 ) .
t o e t s (REL.
=
release) b i e d t d e m o g e l i j k h e i d om een s t u k
band u i t d e p o n s e r t e t r e k k e n , waarop b . v .
d e programma naam en a n d e r e
i n t e r e s s a n t e gegevens g e s c h r e v e n kunnen worden. V o o r d a t g e p o n s t g a a t worden moet d e z e t o e t s weer u i t g e t r o k k e n worden. M e t d e
-
toets
(B.SP = b a c k s p a c e ) kan een t y p e f o u t g e k o r r i g e e r d worden. Door h e t in-
drukken v a n d e z e t o e t s wordt d e band één p o s i t i e t e r u g g e z e t . Door h e t indrukken v-tn d e t o e t s w o r d t h e t f o u t i n g e t y p t e k a r a k t e r u i t -
gewist. Mu kan h e t goede k a x a k t e r i n g e t y p t worden. Een v o l l e d i g g e t e s t en g e k o r r i g e e r d p r o g r a r n a of e e n a a n v a n k e l i j k i n h e t geheugen o p g e s l a g e n programma kan ook "ON LINE" u i t g e p o n s t worden. D e ponsband,
d i e w e h i e r d o o r v e r k r i j g e n , kan l a t e r weer g e b r u i k t worden als
invoer.
D e v o l g e n d e p r o c e d u r e moet g e v o l g d worden:
(-
D e t o e t s op d e ponsband-ponser
indrukken en een s t u k ponsband
u i t d e ponser trekken.)
-
Het konmando LIS i n t y p e n , n i e t g e v o l g d d o o r h e t indrukkek van d e t o e t s
-
Be ponser op "û!P. E n i g e t i j d d e t o e t s <EERE I S > indrukken.
(tape feed)
- De t o e t s indrukken. Nu w o r d t h e t p r o g r a m a a f g e d r u k t en i n ponsband v a s t g e l e g d .
-
Nadat h e t g e h e l e programma i s u i t g e p o n s t weer e n i p t i j d d e t o e t s
indrukken en d e ponsband u i t d e p o n s e r scheuren. - D e p o n s e r op "OFF". NrB. Komando's
rriogen n i e t worden v a s t g e l e g d i n ponsband, b.v.
AEOY, LIST, BYE e t c .
-
63
-
7. Fouten k o r r e k t i e
7.1
K o r r e k t i e van één of meer k a r a k t e r s ................................... Een k a r a k t e r kan v e r b e t e r d worden d o o r :
-
Na h e t k a r a k t e r h e t t e k e n
@
in t e t y p e n , g e v o l g d d o o r h e t j u i s t e
k a r a k t e r . Z i j n e c h t e r twee of meer k a r a k t e r s f o u t , dan kan d i t t e k e n ook g e b r u i k t worden. Voor i e d e r f o u t k a r a k t e r moet dan eenmaal h e t teken
@
i n g e t y p t worden, waarna a c h t e r e l k a a r d e j u i s t e karak-
ters worden i n g e t y p t .
-
( D i t g e l d t a l l é é n b i j h e t maken van ponsband:)
Het indrukken van d e
-
t o e t s op d e ponsband-ponser.
De band
wordt één p o s i t i e t e r u g g e z e t , Eet f o u t i n g e t y p t e k a r a k t e r wordt met d e t o e t s
OUT> u i t g e w i s t . Nu kan h e t goede karakter i n g e t y p t
worden. B i j meer f o u t e k a r a k t e r s moet d e
-
t o e t s even vtlak
worden i n g e d r u k t a l s e r f o t i t e k a r a k t e r s z i j n . Een g e l i j k a a n t a l k e r e n wordt nu d e
-
t o e t s ingedrukt, gevolgd door h e t t e r u g z e t t e n
v a n d e ponsband en d a a r n a h e t i n t y p e n v a n d e j u i s t e k a r a k t e r s .
7.2
K o r r e k t i e v a n komplete regels _------------------
-------
1.
-
V o o r d a t Fen a a n h e t e i n d e v a n een r e g e l d e
toees indrukt
kan men d e g e h e l e r e g e l u i t w i s s e n door h e t s y n b o o l e t e t y p e n . Hiern a wordt d e
-
t o e t s i n g e d r u k t en d e z e l f d e r e g e l w o r d t op-
nieuw g e t y p t e
2 . Komen i n een g e t y p t programna twee r e g e l s met h e t z e l f d e linenumber v o o r dan bevat tiet programma in d e computer a l l e e n d e l a a t s t g e l e z e n regel. __~_ ~
-
-
___
-
-~
- ----
--
--
~~
-~ -
-
5
64
-
Met d e o p d r a c h t DEL, g e v o l g d d o o r één of meerdere linenumbers, d i e g e s c h e i d e n z i j n door een komma, kunnen a l l e g e w e n s t e r e g e l s worden uitgewist. Deze nrogelii-heid
geldt
a l l e e n v o o r "on line"-bewerkingen.
(Zie
v e r d e r p a r a g r a a f 8). N-a d a t een programma i n g e l e z e n en h e t kommando RUN g e g e v e n i s , meldt d e computer eerst w e l k e r e g e l s f o u t z i j n en waarop. Deze regels (met hun linenumber) ktinnen weer ( v e r b e t e r d ) worden i n g e l e z e n . D e f o u t e regels worden a u t o m a t i s c h v e r v a n g e n d o o r d e v e r b e t e r d e regels. Deze p r o c e d u r e v o e t v o o r t g e z e t worden t o t d a t a l l e f o u t e n v e r b e t e r d zijn.
-
65
-
8 . Command language s t a t e m e n t s
Command language staterr,ents z i j n i n s t r u k t i e s v o o r d e computer;meestal
bestaan-
d e u i t d r i e l e t t e r s . Z e beheren n i e t t o t d e o p d r a c h t e n u i t d e d i v e r s e programn e e r t a l e n . E l k van d e s t a t e m e n t s n o e t op een nieuwe r e g e l worden i n g e t y p t , zonder l i n e n u p b e r en g e v o l g d door h e t indrukken v a n d e t o e t s . Aan sommige s t a t e m e n t s kan n a d e r e i n f o r m a t i e worden t o e g e v o e g d , v o o r d a t d e -ETURN>
-
t o e t s wordt i n g e d r u k t . Na h e t s t a t e m e n t moet d a n a l t i j d minimaal
één s p a t i e v o l g e n . Aan e l k s t a t e m e n t mag kommentaar worden t o e g e v o e g d . B i j i e d e r s t a t e m e n t wordt d e s t r u k t u u r weergegeven. Voor een s p a t i e wordt het teken
u
gehanteerd. Haakjes z i j n a l l e e n g e b r u i k t v o o r d e d u i d e l i j k h e i d .
B i j h e t werken niet d e computer worden z e w e g g e l a t e n ,
AE-:CY,(kommentaar)
: D e o p d r a c h t i s n o d i g om t o e g a n g t o t de computer t e k r i j g e n .
( Z i e par.
EYEU(kommentaar)
t e n z i j a n d e r s 3s opgegeven.
2:
Toegang t o t d e computer)
: Deze o p d r a c h t g e e f t h e t e i n d e v a n d e v e r b i n d i n g met h e t systeen aan. D e v e r b i n d i n g wordt v e r b r o k e n . Hierna moet voor v e r b i n d i n g weer d e g e h e l e v e r b i n d i n g s p r o c e d u r e v o l g e n (Zie p a r . 2 :
Toegang t o t d e computer; Z i e p a r . 5: Eet v e r b r e -
ken van d e v e r b i n d i n g ) DAT,(komentaar)
(DAT = DATA):
Deze o p d r a c h t o p e n t d e K o g e l i j k h e i c l om d a t a ( g e t a l l e n ) t e l e z e n o f u i t h e t geheugen op t e r o e p e n . ( Z i e
in
p a r . 3:
Eet werken met de computer) ?Rû &omeIit a a ï (LRC) = PP.cLGW) :
H e t g e b r u i k v a n PRO m e t d e i n g e t y p t e antwoorden o- d e vragen van d e cor;zputer maakt h e t m o g e l i j k om programa's
in
t e l e z e n o f u i t h e t geheugen op t e r o e p e n . Tevens kan een
<JOIN> o p d r a c h t gegeven worden: z i e JOIN p a p (Zie p a r . 3: Bet werken n e t d e cornputer)
SUBd(kom-entaar) (SUE
=
SUEPROGPLW) :
N i e t a l l e e n programna's
maar ook z . 8 .
subprogramna's
kunnen
n a h e t i n t y p e n v a n d e o p d r a c h t <SUB> i n g e l e z e n o f u i t h e t geheugen g e h a a l d worden. P.leestal v o l g t h i e r o p ook een <JOIN> o p d r a c h t .
(Zie JOIN pag.67)
- 66 -
'
DEL u
(regelnummer, r egelnurrmer)
( kormentaar)
(DEL
=
DELETE) :
M e t d e o p d r a c h t DEL kunnen programma-
en d a t a r e g e l s worden
u i t g e w i s t . Moet h e t g e h e l e p r o g r a t m a u i t g e w i s t worden, dan w o r d t i ng e ty p t
DEL
CJ
ALL
Een g r o e p opeenvolgende r e g e l s w o r d t u i t g e w i s t door t u s s e n
t w e e linenumbers n i e t een k o m a , raar e e n s t r e e p j e (-) t e p l a a t sen. V oorbeeld: DELdlO, 30, 6 3 ___----_-
-
92,
175
I n d i t v o o r b e e l d worden d e r e g e l s I O en 30, d e r e g e l s 6 3 t o t en met 9 2 en r e g e l 1 7 5 u i t g e w i s t . Kommentaar na h e t
l a a t s t e linenumber mag n i e t met een komma, een s t r e e p j e of e e n c i j f e r beginnen.
EXT
u
(regelnumer
- regelnummer)
(konmentaar)
(EXT = EXTRACT) :
D i t i s j u i s t h e t omgekeerde v a n d e o p d r a c h t . Nu worden a l l e r e g e l s , b e h a l v e d e r e g e l s d i e g e s p e c i f i c e e r d z i j n ach-
t e r <EXT>
, uitgewist.
V oorbeeld: ---------
ElrT
10,
30, 63
-
92, 1 7 5
A l l e r e g e l s worden u i t g e w i s t , b e h a l v e r e g e l
10
en 30, d e
r e g e l s 6 3 t o t en m e t 92 en r e g e l 1 7 5 . Komnentaa-r mag n i e t
met een s t r e e p j e , een kormna o f een c i j f e r beginnen. LISu
(regeinummer , r e g e l n u m - e r )
(konmentaar)
(LIS = LIST) :
Na d e z e o p d r a c h t typt d e computer op d e t e r m i n a l een pro-
gramma g e h e e l o f g e d e e l t e l i j k u i t . G e h e e i , a i s géén r e g e l n u m e r s worden opgegeven, g e d e e l t e l i j k wacneer één of twee regelnummers,
g e s c h e i d e n door een s t r e e p j e , z i j n opgegeven.
---_----V oorbeeld:
L I S 190
A l l e r e g e l s v a n a f r e g e l 190 worden u i t g e t y p t . L I S 190
-
400
D e r e g e l s 190 t o t en m e t 400 worden u i t g e t y p t . Kommentaar
mag n i e t met een c i j f e r beginnen. R E S ~ ( R E S = RESEQUENCE) : D i t kommando g e e f t d e m o g e l i j k h e i d om r e g e l s opnieuw t e
nummeren. Xocht u h i e r o o i t g e b r u i k v a n moeten maken, dan w o r d t verwezen n a a r "P/9200,
R a n d l e i d i n g v o o r d e terminal".
A l s u d e sprongen i n d e regelnumnering g r o o t genoeg neemt (b.v.
20),
dan i s h e t een u i t z o n d e r i n g d a t u g e b r u i k moet
maken van d e RES-opdracht.
JOI
(regelnumner) (kommentaar)
67 -
(naam) Gtype) (usernumber)
( :regelnummer)
(-regelnummer)
(JOL = JOIN): JOIN kan g e b r u i k t worden om een programma of d a t a g e h e e l
of g e d e e l t e l i j k b i j h e t e i g e n programma t e gebruiken. De prograrma's
(of d e l e n van programma's)
moeten eerst oppe-
s l a g e n z i j n i n h e t geheugen van de computer. Het e e r s t e regelnmmer, d a t v o l g t na d e s p a t i e
g e e f t de
p l a a t s aan waar h e t opgeroepen programma ( d e e l )
i n h e t eigen
prograirma moet worden ingevoegd. D i t regelnunrner moet tussen haken s t a a n . Ontbreekt d i t r e g e l n u m e r dan wordt h e t opgeroepen programma(dee1)
n a d e l a a t s t e r e g e l van h e t e i g e n
programma g e p l a a t s t .
D e parameter "nam?
i s v e r p l i c h t en s p e c i f i c e e r t d e naam v a n
net opgeroepen programma(dee1). N a d e naam v o l g t h e t t y p e (voorafgegaan door een komma). ~
Voor programmaregels i s S h e t t y p e , v o o r d a t a r e g e l s D.
Na ''type"
kan een usernun-iber
-
d i t s t a a t a l t i j d t u s s e n haken-
worden opgegeven. Als d i t weggelaten wordt, z o e k t de compu-
t e r a l l é é n n a a r programma's,
d i e onder h e t e i g e n usernumber
i n h e t geheugen z i j n opgeslagen.
Na h e t usernumber kunnen nog twee linenupbers worden opgegeven, gescheiden d e o r een s t r e e p j e en voorafpegaan door een dubbele punt. De b e i d e linenunbers geven b e g i n en e i n d aan van h e t gedeelt e van h e t p r o g r a r n a d a t overgenomen wordt. Worden d e l i n e numbers weggelaten- dan w9rdt h e t gehel-e prograrma overpen0v.e::.
NEB. De nummering v;m de opgegeven. linenumbers moet overeenstermen met h e t t y p e , d a t g e s p e c i f i c e e r d wordt.
De overgenomen r e g e l s worden automatisch Eet 5 opgehoogd, t e beginnen met d e r e g e l waarop z e moeten v o l g e n .
A l s de ruimte i n h e t e i g e n prograrmna t e k l e i n i s om a l l e . , r e g e l s , d i e overgenomen worden,
t e bergen dan worden a l
d e z e r e g e l s m e t n u l genummerd. Met behulp van een
o p d r a c h t kunnen deze r e g e l s
w e e r b i j g e w e r k t worden. Konmentaar mag n i e t met een c i j f e r beginnen.
-
68
-
Voor b e e 1den : JOI BETA _-_--_---_Door d e z e o p d r a c h t wordt h e t h e l e prograrma "BETA" n a d e l a a t s t e r e g e l van h e t e i g e n programma ingevoegd.
JOI (6000) DELTA, D(A 00901) : 5000 - 5 1 O0 D e b e t e k e n i s h i e r v a n i s : v o e g n a regelnununer 6000 d e d a t a r e g e l s van DELTA (van een a n d e r e g e b r u i k e r met n u m e r A
00901) i n , k o p i e e r a l l e r e g e l s vanaf 5000 t o t en met STO u ( t y p e )
(,type)
(komnentaar)
5100.
(STO = STORE):
STO(P.E) wordt g e b r u i k t om p r o g r a m a ' s
op t e s l a a n i n h e t
geheugen. Eet t y p e moet worden opgegeven oirdat programmareg e l s en d a t a r e g e l s n i e t t e g e l i j k d o o r d e computer o p g e s l a g e n kunnen worden. Voor p r o g r a m a r e g e l s wordt S opgegeven, v o o r d a t a r e g e l s D. Wel kunnen i n één
CTO(RE)
o p d r a c h t zowel p r o g r a m a - = a l s
d a t a r e g e l s g e s p e c i f i c e e r d worden. De twee t y p e s moeten dan d o o r een kommr,a gescheiden worden.
A l s h e t geheugen van d e computer v o l i s , v o l g t de mededel i n g "NOT STORED" en kan h e t programma n i e t opgeslagen worden. Net een
LIS(T)
o p d r a c h t kan h e t programma dan v o o r
l a t e r g e b r u i k op ponsband word-en v a s t g e l e g d . LIS( T j opdracht). DEC u (naam, t y p e )
( Z i e de
Konmentaar mag n i e t met een k o m ~ t rb e g h ì e ï ì .
(kommentaar) (DES = DECTRW): ]?et CES (TRCY) kan een programma, su13program.a of d a t a b l o k u i t h e t geheugen van d e computer v e r w i j d e r d worden ( a l l é é n e i g e n prograrma's!).
Na d e s p a t i e moeten naam en t y p e (S of
0)
worden opgegeven
g e s c h e i d e n door een komm. K o m e n t a a r mag n i e t met een kom-
ma beginnen. RUN
U
(tijd)
(kommentaar): Deze o p d r a c h t s t a r t d e u i t v o e r i n g v a n e e n programma. Na een
RUN
o p d r a c h t kan d e tijd opgegeven worden, hoelang
d e u i t v o e r i n g van h e t programma map duren. Men kan d e t i j d i n uren, niinuten of sekonden o f een k o m b i n a t i e h i e r v a n opgeven.
-
69
V oorbeeld: ---------
-
1
uur
i//
=
1/2/
= I uur en
1/2/3 =
1 2
uur,
2
2
minuten
minuten en 3 sekonden
2/3
=
minuten en 3 sekonden
3
= 3 sekonden
Een g e t a l g e v o l g d d o o r twee s t r e e p j e s g e e f t h e t a a n t a l uren aan. Een g e t a l , zonder s t r e e p j e s g e e f t h e t a a n t a l sekonden aan. A l s geen t i j d wordt opgegeven i s d e v e r w e r k i n g s t i j d op ma-
xinaal 3 minuten v a s t g e s t e l d . Als h e t programma n i e t i n d e aangegeven o f toegewezen t i j d u i t g e v o e r d i s , wordt d e u i t v o e r i n g s t o p g e z e t en een b e r i c h t n a a r d e terrrina.1 verzonden. Zo w o r d t voorkomen d a t h e t programna i n een ''1Qop" t e r e c h t h o p t . Als v o o r t z e t t i n g v a n h e t p r o g r a m a vereist
i s , kan e e n GO-oppracht
gegeven worden. Wordt e c h t e r weer
een gegeven dan wordt h e t programma opnieuw g e s t a r t e n i s de v e r w e r k i n g s t i j d weer d r i e minuten. Kommentaar mag n i e t met een c i j f e r o f e e n s c h u i n s t r e e p j e beginnen.
>
GOu(kommentaar)
: GO g e e f t d e computer d e o p d r a c h t de u i t v o e r i n g v a n h e t
programma t e h e r v a t t e n op h e t punt w a a r h e t werd onderbro-ken. H i e r b i j wordt opgemerkt d a t i n f o r r n o t l e bestemd v o o r x l t v o e r , v e r l o r e n gegaan kan z i j n door h e t g e b r u i k v a n d e ESC-troets
( z i r par. 1 . 2 : h e t toetsenborcl, p a g 52 ).
Deze i n f o r m a t i e k a n a l l e e n t e r u g g e k r e g e n worden d o o r h e t programma g e h e e l opnieuw t e s t a r t e n met d e o p d r a c h t
Na d e o p d r a c h t k r i j g t h e t programma nog d e
ongebrulk-
t e v e r w e r k i n g s t i j d toegewezen. Wordt h i e r n a weer een GO-opdracht
gegeven, dan wordt een v a s t e p e r i o d e v a n 3 m i -
nuten toegekend. I e d e r s o o r t k o m e n t a a r mag worden t o e g e v o e g d . DMAu(komentaar)
-
: B i j h e t ontvangen vaR d e z e o p d r a c h t n a a k t h e t systeem een inhoudsopgave v a n d e g e b r u i k e r s b i b l i o t h e e k niet d e naam, h e t t y p e en de l e n g t e v a n a l l e aanwezige programma's
en
vermeldt de l e n g t e van d e r e s t e r e n d e ruimte. D e l e n g t e wordt opgegeven i n z . g . r e c o r d s . I e d e r e g e b r u i k e r h e e f t een a a n t a l records t o t z i j n beschikking voor h e t opslaan van programma's.
A l l e kormentaar i s t o e g e s t a a n .
-
LEN
(type)
(,type)
70
-
(kommentaar)
(LEN = LENGTH) :
wordt g e b r u i k t om d e l e n g t e v a n een programma t e b e p a l e n . D e l e n g t e wordt opgegeven i n r e c o r d s . Voor programm a r e g e l s wordt v o o r t y p e d e l e t t e r S, v o o r d a t a r e g e l s d e l e t t e r D opgegeven, g e s c h e i d e n d o o r een komma. De kommando's
DNA
en
LEN
geven u i n z i c h t i n d e m o g e l i j k h e i d om
uw programma op t e s l a a n in h e r geheugen. Kommentaar mag n i e t met een komma beginnen.
Paaast d e i n d e z e p a r a g r a a f vermelde kormando's h e s t a a n er nog e n k e l e andere, d i e e c h t e r v a n geen b e l a n g z i j n v o o r h e t v e r k r i j g e n v a n d e g e w e n s t e r e s u l t a t e n b i j h e t werken m e t d e t e r m i n a l . Daarom wordt n a a r "P/9200, H a n d l e i d i n g v o o r d e t e r m i n a l "
( P h i l i p s d a t a systems)
verwezen om uw e v e n t u e l e n i e u w s g i e r i g h e i d t e kunnen b e v r e d i g e n ,
v o l g e n d e f o u t e n , d i e t i j d e n s h e t i n l e z e n opgemerkt worden, d a a r n a d e f o u t e n , d i e t i j d e n s d e u i t v o e r i n g van h e t programma g e s i g n a l e e r d worden ( a l f a b e t i s c h ) .
BRACKET
: In een p r o g r m a r e g e l komt een h a a k j e t e v e e l of t e w e i n i g v o o r
DBL FUNC
: Deze f u n k t i e i s al
DEFINE FNB
: De f u n k t i e FNB i s nog n x e t g e d e f i n i e e r d
DIM ERROR
: I n een W T > s t a t e m e n t z i j n t e g e l i j k i en 2-dimensionale
EF> s t a t e m e n t g e d e f i n i e e r d
gebruikt
DIM. O F C?
e d e k l a r e e r d i n een
: Een array ( i n d i g geval
st a t enent DOUBLE OPER
: Twee o p e r a t o r e n s t a a n n
DOUBLE USED
: D e z e l f d e l e t t e r i s v o o r I én een 2-dimensionaal
EmOR NEXT
: E r i s een f o u t gemaakt i n de v o l g o r d e van
-
array g e b r u i k t
- =>-
loops
er
EXD TOO LAkGE : De exponent van h e t e x p o n e n t i ë l e d e e l dan 40
I
I 50 FORWARD ILLEGAL ILL.
, OR;
/ ’
I L L . ARRAY
: Een K o m a of puntkomna i s v e r k e e r d g e b r u i k t : De g e b r u i k t e v a r i a b e l e i s geen array v a r i a b e l e -*
CHAR.
-* .
: Het
gebruikte karakter i s onjulst
I L L . DIM ST.
: Het
statement i s n i e t k o r r e k t
I L L . DIM USE
:, De opgegeven- dimensie k l o p t n i e t met d e w e r k e l i j k e ‘dlmen
I L L . LINENR-‘
: Een v e r k e e r d r e g e l n u m e r i
ILL.
een s I L L . MULT.
: Een matrix i s uitdrukking
._ atenient i s f o u t
. +
: Een regelnunme , ., of een
~
_---
@ref e r e e r d w o r d t i n een
..
-
72
-
Z NO-AXRAY
: De v a r i a b e l e Z i s a l a l s
NO U T VAR.
-
7
VAQIABLE
: De e n k e l v o u d i g e v a r i a b e l e na *ûR>
of o n t b r e e k t
: De g e b r u i k t e a r r a y s zijn t e lang
RELAT ION ! SAME ARMY
sl”
: Een of me
ATION T O MISSING
BRACK
I n een s t ~
: Een h a a k j e i s v
WRONG EXPR. WRONG FORST WRONG PUNC.
: De naam van een f u n k t i e i s v e r k e e r d
WRONG KEY WRONG LET FTRONG NUMEER
: Een n u m e r
*
T> sta,tement
is onjuist *A
-
73
-
g na een
statemen
geheel getal te kunnen krijgen if
1
" : De dimensie van een array,is grater dan 32767
1&2
.-
-
DIM.
: In een <MAT> statement f
gebruikt
'
ii
.
I
t