Tölvumál - 01.03.1989, Page 11

Tölvumál - 01.03.1989, Page 11
Tölvumál Mars1989 skapi hægvirkar sem þær eru ná- kvæmar. Stefgildi í Fjölni má smíða svokölluð stef- gildi, sem gera forritara t..d kleyft að senda stef sem viðfang til annars stefs. Sem dæmi um notagildi þessa möguleika er þegar forritað er stef sem reikna skal tegur falls á tilteknu bili. Þá má í eitt skipti fyrir öll forrita þá aðferð sem nota skal, og síðar beita lausninni á hin margvís- legustu föll. Mörg forritunarmál hafa reyndar svipaða möguleika og Fjölnir í þessu tilliti. Strengir Strengir í Fjölni eru svipaðir og í Turbo Pascal. Þeir eru að grunni til fylki af bætum, sem vísa má í með heiltöluvísum, og lengd textastrengs er geymd í núllta bætinu. í forrits- texta eru þeir skrifaðir á sama hátt og strengir í Pascal. Hlunkar, pör og listar Listavinnslan í Fjölni felst í því að breyta getur hverju sinni innihaldið mismunandi umfangsmikil gildi, og forritarinn þarf engar ráðstafanir að gera til þess að úthluta minni undir þessi gildi eða skila minnissvæðum þegar notkun þeirra er lokið. Til dæmis má gefa breytu sem inni- heldur heiltölu nýtt gildi sem er strengur. Einnig má steypa saman mörgum gildum í eitt, sem síðan má taka í sundur seinna eftir hentug- leika. Algengasta aðgerðin til að setja saman mörg gildi í eitt er að notalista. Sem dæmi um slíkt er eftirfarandi segð (setning): x:=(“Fjölnir”,1.0] í þessari segð er breytunni x gefið gildið (“Fjölnir”,1.0]. Þetta gildi er listi sem er samsettur úr strengnum “Fjölnir” og fleytitölunni 1.0. í Fjölni eru listavinnsluaðgerðir sem gera forritaranum kleyft að setja saman lista og taka þá í sundur. Listavinnsluaðgerðirnar eru haus, hali og :. Þær hafa eiginleika sem lýst er með eftirfarandi jöfnum sem gilda fyrir öll gildi x, y, ap...,an: haus(;[a1,...,aj) = a: hali(;[a1,...,aj) = [a2,...,aj haus(;x : y) = x hali(;x : y) = y x : [a1,...,aj = [x,a1,...,aj Glöggur lesandi mun sjá að með þessum aðgerðum má smíða eins langa lista og verða vill, og taka þá í sundur. Þessar aðgerðir eru hrað- virkar. Listar þessir eru í reynd tengdir saman með bendlum (pointer), og eru listamir sértilfelli af hlunkum. Hlunkar þessir eru ekkert annað en fylki. í stað þess að vera fylki af bætum eins og strengirnir geta þessi fylki innihaldið hvaða gildi sem er, þar með talið aðra hlunka. Hlunkar eru til af mörgum stærðum, en hlunkar með tvö sæti kallast pör. Aðgerðin : skilar einmitt slíku pari. Við segjum að parið x:y innihaldi x í haus og y í hala. Hér vinnst ekki tími til að lýsa hlunkum nánar. Tómi listinn, [ ], er sértilfelli. Gildi þetta er ekki par, heldur er þetta sérstakt gildi í Fjölni sem er ólíkt gildum af öllu öðru tagi. Gildi þetta er reyndar einnig notað sem sann- gildið ósatt, en öll önnur gildi hafa sanngildið satt. Listavinnsluaðgerðir í Fjölni eru svipaðar aðgerðum í öðrum lista- vinnslumálum, svo sem LISP, PROLOG og LOGO. ■ Dæmi um forritun Fjölnir býður upp á einingarforritun sem er ólík einingarforritun í öllum öðrum fomtunarmálum. í Fjölni eru einingaraðgerðir notaðar til að tengja saman einingar. Eftir- farandi forrit sýnir notkun tveggja slíkra aðgerða; ítrunar og inn- flutnings. Fleiri einingaraðgerð- um mun ekki verða lýst í þessari grein, en Fjölnir hefur þrjár aðrar einingaraðgerðir. Athugið að þegar tvær semíkommur koma fyrir í röð í forrili þá er afgangurinn af línunni athugasemd. Listavinnsluaðgerðir í Fjölni eru svipaðar aðgerðum í öðrum listavinnslumálum, svo sem LISP, PROLOG og LOGO. 11

x

Tölvumál

Direct Links

If you want to link to this newspaper/magazine, please use these links:

Link to this newspaper/magazine: Tölvumál
https://timarit.is/publication/239

Link to this issue:

Link to this page:

Link to this article:

Please do not link directly to images or PDFs on Timarit.is as such URLs may change without warning. Please use the URLs provided above for linking to the website.