M'MO: Zadnjič smo
govorili o sintaksi zbir-
nega jezika, o pisanju pro-
gramov v zbirnem jeziku in
spoznali smo, kako zbirnik
prevaja zbirni jezik v stroj-
no kodo. Ogledali smo si
primere programov in nji-
hovih prevodov. Omenili
smo razlike v strojni kodi,
ki jo generirata zbirnik in
prevajalnik visokega zbir-
nega jezika. Zato danes po-
vejmo kaj ĹĄe o viĹĄjih pro-
gramskih jezikih in struktu-
riranem programiranju.

ViĹĄji programski jeziki

Doslej smo se Ĺže lahko
prepričali o tem, da en sam
stavek zbirnega jezika kaj
malo pove. Na primer Âťse-
ĹĄtej dve ĹĄteviliÂŤ ali pa Âťsko-
či na naslov ta-in-ta« je do-
kaj malo vsebine za veliko
pisanja. Posebno se zaplete
zadeva, če želimo obdelo-
vati kompleksne podatkov-
ne strukture. Ker so progra-
merji pogosto rabili za opi-
sovanje kompleksnih pro-

OSNOVE —— OO
RAČUNALNIŠTVA

Teleksov tečaj za začetnike —-

gramov bolj izrazno orodje,
obenem pa so Ĺželeli svoje
programe hitreje: sestavlja-
ti, so priĹĄli na dan viĹĄji pro-
gramski jeziki. Za nekatere
ste gotovo Ĺže sliĹĄali: BA-
SIC, FORTRAN, COBOL,

ALGOL, PASCAL,
FORTH...
Komplikatorji in
interpretorji

ViĹĄji programski jezik

ima prevajalnik, ki prevede
program, napisan v tem je-
ziku, v strojno kodo. Name-
sto prevajalnika ima lahko
poseben program, ki stavke
jezika ÂťinterpretiraÂŤ enega
za drugim, sproti in oprav-
lja Ĺželene funkcije. Vidimo
torej, da obstajata dva nači-
na priprave programov v
viĹĄjih jezikih. Prevajanje in
poznejĹĄe izvajanje ali pa
sprotno prevajanje in sprot-
no izvajanje. Prvemu nači-
nu pravijo kompiliranje
(prevajanje celotnega pro-
grama v strojno kodo). Pro-
gramu, ki izvede prevaja-

Nova knjiga: ABC
računalništva 1

Ljubiteljem mikroračunalništva in hišnih računalnikov se
obeta nov vir informacij. Zveza organizacij za tehnično
kulturo Slovenije je v sodelovanju z avtorjem Ivanom
Gerličem pripravila knjigo ABC računalništva. Trenutno
tečejo zadnje priprave pred izdajo in imeli smo priložnost,
da si ogledamo besedilo med vnašanjem v računalnik.
Knjiga pa ne bo samo pisala o računalnikih, ampak jo bo
računalnik tudi oblikoval. Celotna oblika knjige z vsem
vnaĹĄanjem besedila vred bo narejena v treh dneh. Ko
berete te vrstice, je knjiga Ĺže v tisku. IzĹĄla bo 25. maja.

In vsebina? Zelo zanimiva. Po uvodnih razmiĹĄljanjih
nam avtor predstavi zgodovino računalništva od Pascalo-
vega računskega strojčka do najnovejših mikro tehnologij
in Josephsonovega spoja. Sledi poglavje o anatomiji raču-
nalnika, kjer so predstavljeni glavni sklopi računalnika, kot
so pomnilnik, procesna enota, vhodno-izhodne enote itd. V
poglavju o mikroprocesorjih in mikroračunalnikih so po-
dani glavni gradniki mikrojev in nekaj dodatne periferne
opreme. Opisani so tudi hišni računalniki. Avtor nato
omeni najvaĹžnejĹĄe programske jezike in opiĹĄe najbolj po-
goste stavčne konstrukte. V zadnjem, a obsežnem poglavju,
je predstavljen jezik BASIC, ki je tako priljubljen med
lastniki hišnih računalnikov. Podanih je tudi precej prime-
rov kratkih programov. Na koncu sta ĹĄe dva dodatka. V
prvem je seznam računalniških ukazov (BASIC), v drugem
pa še izčrpen slovarček računalniških pojmov.

Knjiga naj bi v prodaji stala okrog 400 din, kar je gotovo
izredno ugodna cena Ĺža bogato vsebino.

1. E.

Teleksov tečaj za zače...

nje, pravijo prevajalnik
(kompilator), v angleščini
COMPILER. Strojna koda
takega programa je pravza-
prav precej podobna kodi,
kakrĹĄno bi generiral zbirnik
ob.. prevodu programa v
zbirnem jeziku, ki bi oprav-
ljal enako nalogo.

Drugi način je interpreti-
ranje programa. Namesto
da bi ga v viĹĄjem jeziku pre-
vedli v strojno kodo, ga
predamo kakemu drugemu
progamu, ki bere njegove
stavke ter jih izpolnjuje
enega za drugim v skladu s
pravili, zapisanimi za vsak
moĹžen programski stavek
posebej v obliki manjĹĄih
podprogramov. Takemu
programu, ki interpretira
uporabnikov program v viĹĄ-
jem jeziku, pravimo inter-
pretor (angl. INTERPRE-
TER). Vsakdo Ĺže pozna
BASIC, ki ga uporabljajo
popularni hišni računalniki
(npr. Sinclair). BASIC je
najbolj razĹĄirjen interpre-
tor. Značilno pa je še, da
ima skoraj vsak BASIC po-
vsem svoj ÂťdialektÂŤ in da se

Zanima me programski
jezik PROLOG. Prijatelj
trdi, da je prolog jezik naj-
novejĹĄe generacije inteli-
gentnih računalnikov.

B.čČ.
Ljubljana

Računalniška inteligenca
je ĹĄe dokaj nejasna zadeva,
ki ni povsem enolično defi-
nirana. Lahko rečemo, da
je to sposobnost računalni-
ka, da posnema logično ra-
zmišljanje in odločanje člo-
veka. To pomeni, da se mo-
ra znajti v novih in nepre-
dvidenih situacijah. Na
osnovi podobnih situacij in
znanih dejstev se mora nato
odločiti za ustrezno ukrepa-
nje. Prolog je programski
jezik, ki temelji na matema-
tični logiki, in omogoča
programiranje računalnika
za reĹĄevanje problemov,

"amaanmem

med seboj tako razlikujejo,
da programov z enega raču-
nalnika ni mogoče uporabiti
na drugem.

Glavni razliki med obe-
ma načinoma sta hitrost in
način izvajanja. Izvajanje
kompiliranih programov je
neprimerno hitrejĹĄe kot in-
terpretiranih. Stvar je pre-
prosta. Prevajanje je dolgo-
trajno (relativno). Npr.
kompiliranje srednje dolge-
ga programa (1000 stav-
Kov) traja nekaj minut, zato
pa program potem izredno
hitro poteka, saj stroj Ĺže na-
tanko ve, kaj mora delati,
ko čita strojno kodo.

Pri interpretaciji progra-
mov pa mora stroj najprej
razvozlati, kaj mora v na-
slednjem stavku narediti in
nato ĹĄe izpeljati zahtevano.
Zato traja izvajanje mnogo
dalj časa. Prednost pa je v
tem, da lahko program
izmenično popravljamo in
nato takoj izvajamo, ali pa
izvedemo samo en del, na-
mesto da bi vsakič za vsako
malenkostno spremembo
prevajali ves program, kot

kot so pomoč zdravniku pri
diagnostiki bolezni, analiza
biokemičnih struktur, sim-
bolično reševanje enačb in
podobno.

Prolog se Ĺže v zasnovi ra-
zlikuje od jezikov kot so
pascal, fortran ali basic,
kjer programiramo na pod-
lagi točno določenega algo-
ritma, ki bo iz vhodnih po-
datkov izračunal rezultate.
V prologu opisujemo dej-
stva in relacijo med objekti,
ki se pojavljajo v določe-
nem problemu. Ne opisuje-
mo pa načina, kako bo ra-
čunalnik problem rešil. Na-
čin reševanja je pogojen s
semantiko (to je veda o po-
menu besed) prologa, dalje
s tem, kakĹĄna nova dejstva
lahko prolog ÂťpotegneÂŤ iz
Ĺže znanih in le deloma z
zahtevami programerja.

V prologu ločimo tri

PiĹĄe: Tom Erjavec 7

bi to morali storiti s kompi-
latorjem.

Z viĹĄjimi programskimi
jeziki smo dobili stavčne
konstrukte, ki so omogočali
priročne odločitve, ponav-
ljanja pod določenimi po-
goji, izračunavanje mate-
matičnih funkcij, definira-
nje in obravnavanje kom-
pleksnih podatkovnih
struktur ipd. Uveljavilo se
je tudi strukturirano pro-
gramiranje, ki si je zastavilo
za cilj, da bi bili programi
grajeni iz manjĹĄih zaklju-
čenih enot, da bi bili logični,
razumljivi in da v njih ne bi
bilo dolgih .preskokov na
drige dele programa. Naj-
hujĹĄi nasprotnik strukturi-
ranega programiranja je
stavek GOTO, ki se pojav-
lja v mnogih jezikih, a ga
moderni programerji skuĹĄa-
jo izločiti, ker povzroča
skakanje na poljubno me-
sto v programu zaradi česar
lahko nastane silna nepre-
glednost. StarejĹĄi viĹĄji jeziki
niso bili strukturirani, če-
prav se je v njih vseeno dalo
drĹžati pravil strukturirane-

VaĹĄe vpraĹĄanje, strokovnjakov odgovor

V naĹĄi rubriki bomo nekaj prostora namenili tudi vpraĹĄa-
njem bralcev. PiĹĄite nam. na naslov UredniĹĄtvo Teleksa,
Titova 35, 61000 Ljubljana (z oznako: Za osnove računal-
niĹĄtva), izbrali bomo najzanimivejĹĄa vpraĹĄanja, takĹĄna, ki bi
utegnila zanimati zlasti najširši krog začetnikov. Vprašanja
so lahko teoretična, skušali pa bomo posredovati tudi druge
informacije, npr. naslove klubov, specializiranih revij.

osnovne stavke. To so: de-
klaracija določenih dejstev
o objektih in njihovih med-
sebojnih relacijah, definira-
nje pravil in Vogel pe k
vprašanj. Na primer: Če bi
hoteli v prologu povedati,
da ima Jana knjigo, Janez
pa denar, bi to zapisali ta-
kole:

ima (jana, knjiga).

ima (janez, denar).

Besedica ÂťimaÂŤ pomeni
relacijo, ÂťjanaÂŤ, ÂťknjigaÂŤ,
ÂťjanezÂŤ in ÂťdenarÂŤ pa so
objekti, ki jih relacija opi-
suje. S tema stavkoma smo
opisali podatkovno bazo.
Zdaj lahko postavimo vpra-
ĹĄanja. Na primer:

?— ima (jana, knjiga).

?— ima (janez, knjiga).

Prvo vpraĹĄanje pomeni
Âťali ima jana knjigo?ÂŤ Pro-
log pogleda v bazo podat-
kov in odgovori ÂťyesÂŤ. Na
drugo vpraĹĄanje Âťali ima ja-
nez knjigo?ÂŤ, pa bi odgovo-
rili z ÂťnoÂŤ. Zakaj pa to, saj
nismo nikjer dejali, da Ja-
nez nima knjige? Ugotovi-
mo torej eno od pravil pro-
loga: velja samo tisto, kar
smo opisali v podatkovni