Tímarit Verkfræðingafélags Íslands - 01.12.1974, Page 15
ar. Allar venjulegar reikniaðgerðir,
sem framkvæma má á tölum er hægt
að framkvæma á vektorum og fylkj-
um án nokkurra breytinga. Ef skrif-
að er A + B, þá fæst, ef A og B eru
tvær tölur, ein tala og ef A og B eru
fylki, þá fæst nýtt fylki, sem hefur
einstök element jöfn summu element-
anna í A og B. Eins og sést á mynd
2 þá er töluverður fjöldi tákna, sem
eingöngu er fyrir aðgerðir á vektor-
um og fylkjum. Þannig má bylta
fylki með einu tákni, fella niður eða
bæta við röðum og dálkum og finna
má andhverfu fylkis eða leysa n
jöfnur með n óþekktum með einu
tákni, en það verður að teljast mjög
sérstakt því að í öðrum forritunar-
málum þarf stórt forrit til þess að
framkvæma þessar tvær síðast töldu
aðgerðir. Mjög einföld regla gildir
um röð aðgerða í APL: séu engir
svigar í skipun eru allir reikningar
framkvæmdir frá hægri til vinstri.
Þannig er 2X3 + 4 jafnt og tvisvar
sinnum summan af 3 og 4 eða 14 og
3X6 + 6-í-2 er jafnt og 3X6 + 3 eða
3X9 það er 27. Ýmsir mun að sjálf-
sögðu telja, að þetta sé frekar ókost-
ur en kostur og enn aðrir segja ef-
laust að „frá hægri til vinstri“ regl-
an sé óeðlileg. En sé þessi regla bor-
in saman við reiknireglur annarra
forritunarmála t.d. PL/I, sem hefur
allt að 9 mismunandi stig, sem fylgj-
ast verður með, þá skilst hversu hag-
nýt og eðlileg þessi regla er. Vissu-
lega ber þó að viðurkenna, að þetta
er regla, sem verður að tileinka sér
og getur valdið erfiðleikum, þegar
læra á reiknireglur annarra forritun-
armála. Ef undan eru skildar stað-
bundnar breytistærðir í föllum, þá
þarf ekki að skilgreina stærðir i APL.
Lengd vektora og stærð fylkja er
sveigjanleg og ákvarðast á því
augnabliki, sem skipun er fram-
kvæmd þ.e. engar DIMENSION-
setningar þarf. Þetta er einkar
mikilvægt í gagnvirku máli, því ekki
þarf að fletta til baka til þess að
finna hvernig einhver stærð hefur
verið skilgreind. Einn aðalkostur
APL umfram önnur forritunarmál
t.d. FORTRAN og PL/I er, að mun
minni tíma tekur að gera forrit í
APL. Stafar þetta meðal annars af
því, að með hverju APL-tákni má
framkvæma flóknar aðgerðir. Þann-
ig má gera ráð fyrir, að ein APL
setning komi í mörgum tilfellum í
stað fimm FORTRAN setninga.
Eftirfarandi dæmi sýna mismun á
forritun í APL og FORTRAN og
APL
FORTRAN
AÐGERÐ
1) A+-3
2) B<_ 24 1
3)
C^AXB
C
6 12 3
4) ,532
5)
D<_2 3PB
D
4 1
3 2
A=3
DIMENSION B(3)
B(l)=2
B(2)=4
B(3)=l
DIMENSION C(3)
DO 1 1=1,3
1 C(1)=A*B(1)
PRINT 2,C
2 FORMAT
Ekki mögulegt í Fortran nema
B hafi í upphafi lengdina 6
B(4)=5
B(5)=3
B(6)=2
DIMENSION D(2[3)
D(1,1)=B(1)
D(1,2)=B(2)
D(1,3)=B(3)
D(2,1)=B(4)
D(2,2)=B(5)
D(2,3)=B(6)
PRINT 1,D
1 FORMAT
Tala
Vektor
Margfalda vektor
með konstant
Lengja vektor
Mynda fylki 2X3
úr vektornum B
6) C<—3 1PC
C
6
12
3
eða
C<
Breyta láréttum
vektor í lóðréttan
7)
-0C
-D+ . XC
8)
G<_3 3p
G
2 3
5 6
8 9
t9
DIMENSION F(2)
DO 1 1=1,2
F(I)=0
DO 1 J=l,3
F(I)=F(I) + D(I,J)*C( J )
PRINT 2,F
FORMAT
DIMENSION G(3,3)
K=1
DO 1 1=1,3
DO 1 J=l,3
G(I,J)=K
1 K=K+1
PRINT 2,G
2 FORMAT
9) H<_D + .XG Dimension H(2,3)
G DO 1 1=1,2
25 32 21 DO 1 J=l,3
31 41 51 H(I,J)=0
DO 1 K=l,3
1 H(I,J)=H(I,J)+D (I,K)*G(K,J)
PRINT 2,H
2 FORMAT
10) X<_B:A Forrit með nokkrum tugum lína
Margfalda fylki
með vektor
Mynda fylki 3X3 úr
tölunum 1 til 9
Fylkjamargfeldi
Leysa n líkingar
með n óþekktum
AX=B
TlMARIT V FI 1974 — 93