Tölvumál - 01.03.1989, Page 13
Tölvumál Mars1989
■ Forrit tii að raða í íslenska stafrófsröð Einn meginkostur Fjölnis er sá að unnt er að skrifa fjölnota eining- ar — einingar sem nota má aftur og aftur á mismunandi hátt. Dæmi um slíka einingu er einingin RADA, A>RÖDUN < X.DAT > Y.DAT Uraði þessa forrits er betri en hraði SORT-forritsins fyrir stórar skrár og þetta forrit getur raðað stærri skrám en SORT-forritið. Q
sem fylgir Fjölni. Eining þessi er
almenn eining til að raða listum. "RÖDUN" < byrja
Einingin er fjölnota vegna þess að í {
henni er ekki ákveðið í hvaða röð byrja ->
raða skal, heldur er það ákveðið stef(;)
þegar einingin er tengd því forriti
eða einingu sem notar hana. staðvær listi,lína
Reyndar er ekkert því til fyrirstöðu stofn
að tengja eininguna á fleiri en einn ;; lesum skrána og geymum strengina i breytunni listi -
mismunandi hátt við sama forrit eða _
einingu, sem gefur svipaða mögu-
leika og “generic” pakkar í forrit- meðan lina:=lesalinu(;) lykkja
unarmálinu Ada. listi:=lina:listi,
Vinnslan í forriti þessu fer fram á lykkjulok.
eftirfarandi hátt: ;; röðum strengjalistanum - stefið raða
1) Lesin er inn heil skrá frá ;; er fengið úr einingunni RADA:
aðalinntaki (standard input) og listi:=raða(;listi),
lesnu línumar em geymdar í
lista strengja. ;; skrifum út raðaða listann - i hverri umferð er einn
2) Strengjalistanum er raðað í ;; strengur skrifaður og klipptur framan af listanum:
íslenska stafrófsröð. meðan listi lykkja
3) Strengirnir í raðaða listanum eru skrifalínu(;haus(;listi)),
skrifaðir út.
Auk einingarinnar RADA em ein- listi :=hali (; listi) ,
ingamar GRUNNUR og ISLRÖD lykkjulok.
notaðar. Einingin ISLRÖD inni- stofnlok
heldur stefið íslsamanb sem tekur )
tvo strengi sem viðföng og skilar ★
einum stafanna ‘<‘, ‘=’ eða *>’, eftir
því hver innbyrðis röð strengjanna "RADA"
er. Þetta stef er notað til þess að *
smíða stefið íröð, sem einingin {
RADA kallar á. Það er skilyrði á iröð ->
notkun einingarinnar RADA að
íröð(;x,y) skili satt þá og því aðeins stef ( ; x, y)
að x megi vera á undan y í röðinni. stofn
Fyrsta línan í forritstextanum til- islsamanb(;x, y)<>' >'
greinir að hér sé verið að smíða stofnlok
EXE skrá, sem heita skal
RÖDUN.EXE. Keyrsla þessarar
EXE-skrár mun felast í því að
framkvæma stefið byrja einu sinni. "ISLRÖD"
Forritið hér til hliðar er svipað og "GRUNNUR"
DOS forritið SORT í notkun. Til að
raða skránni X.DAT í íslenska ;
stafrófsröð og skila útkomunni í
skrána Y.DAT gefum við skipunina Forrit til að raða í íslenska stafrófsröð
13