- Project Runeberg -  Teknisk Tidskrift / Årgång 90. 1960 /
1088

(1871-1962)
Table of Contents / Innehåll | << Previous | Next >>
  Project Runeberg | Catalog | Recent Changes | Donate | Comments? |   

Full resolution (JPEG) - On this page / på denna sida - 1960, H. 40 - Algol 60 — ett internationellt datamaskinsspråk, av Sven Yngvell

scanned image

<< prev. page << föreg. sida <<     >> nästa sida >> next page >>


Below is the raw OCR text from the above scanned image. Do you see an error? Proofread the page now!
Här nedan syns maskintolkade texten från faksimilbilden ovan. Ser du något fel? Korrekturläs sidan nu!

This page has been proofread at least once. (diff) (history)
Denna sida har korrekturlästs minst en gång. (skillnad) (historik)

datamaskinen, kan man använda
bokstavsbeteckningar, lämpligen storhetens namn.

Ett annat hjälpmedel för att underlätta
adressering är användning av relativadresser. Man
startar programmeringen med att uppdela
programmet i mindre, självständiga delar, något
som för övrigt alltid bör göras, varvid
instruktioner och data lämpligen hålls åtskilda. Första
informationsenheten, den kan vara en
instruktion eller ett datum, i ett sådant segment
tilldelas en symbolisk adress, exempelvis 800 eller
KONST. Följande informationsenheter tilldelas
adresser i förhållande till denna symboliska
adress, dvs. nästa informationsenhet får
relativadressen 801 eller KONST + 1, den därpå
följande 802 eller KONST + 2 osv. Många av
absolutadresseringens nackdelar kvarstår
emellertid vid denna adresseringsform. Den är
mest användbar vid adressering i datasegment.

Då den del av en absolutinstruktion som
anger dess funktion även måste uttryckas i
datamaskinens grundspråk, blir instruktionslistan
svår att lära. Man kan då i stället använda
alfabetiska förkortningar, som exempelvis ADD för
addition, SUB för subtraktion osv. Eftersom
varje sådan pseudoinstruktion har en direkt
motsvarighet i en absolutinstruktion, kan
översättningen utföras av datamaskinen under
inläsningen av programmet.

Pseudoinstruktioner kan även utformas så att
de ger upphov till operationer som ej har
någon absolut motsvarighet i datamaskinens
instruktionslista. En sådan pseudoinstruktion
kommer då att medföra att flera
absolutinstruktioner genomlöpes i datamaskinen. Genom att
pseudokodningssystem med denna typ av
instruktioner kan utformas efter arten av de
problem som man avser att lösa, kan
kodningen avsevärt förenklas. Mycket vanliga är
system som utför aritmetik med flytande komma
i datamaskiner som endast är byggda för
aritmetik med fast komma.

Fast och flytande komma

Fast komma, binärkomma i binära maskiner,
de-cimalkomma i decimala maskiner, innebär att
kommats läge är fast i förhållande till talets
första eller sista siffra. Vid flytande komma
framräknas dettas läge vid varje användningstillfälle.
I detta fall representeras ett tal x vanligen som

x = t • Be

med exempelvis absolutvärdet för t är mindre
än 1. B är det använda talsystemets bas.
Räkning med fast komma leder i allmänhet till att
talen måste skalas, exempelvis så att
absolutvärdet av x är mindre än 1. Då detta måste
utföras så att alla resultat under beräkningarna
uppfyller denna relation, vilket i många fall är
svårt, ja t.o.m. omöjligt, är räkning med
flytande komma i regel att föredra, även om
räknetiden därigenom förlängs.

Autokodning

De mera avancerade pseudokodningssystemen
kallas autokodningssystem. I dessa kan
instruktionerna ha formen av matematiska eller
logiska uttryck och fraser i klart språk.

Ett av de mera kända systemen är Fortran
("Formula translation") som kan användas för
ett flertal IBM-datamaskiner. Det är avsett för
problem som kan formuleras algebraiskt. För
problem inom kommersiell databehandling har
i USA nyligen utvecklats ett språk, Cobol
("Common business oriented language"), som
möjliggör att instruktionerna uttrycks som
engelska fraser.

För- och nackdelar

En av fördelarna med de användarorienterade
datamaskinsspråken är att de ej behöver
bindas till en speciell datamaskintyp. Därigenom
kan det pseudokodade programmet användas
vid varje datamaskin som har ett
översättningsprogram. Denna vinst blir särskilt uppenbar då
man önskar byta sin datamaskin mot en
modernare och effektivare. I stället för att
omarbeta hela programbiblioteket behöver endast
ett nytt översättningsprogram utarbetas. Stora
olikheter i datamaskinernas in- och
utmatningsorgan kan visserligen medföra att
pseudoinstruktioner för in- och utmatning måste
utformas olika, men detta innebär i regel
endast att mycket begränsade avsnitt av
programmet behöver omarbetas.

En av invändningarna mot autokodning är
att det översatta absolutprogrammet blir
mindre effektivt, tids- och utrymmesmässigt, än det
direkt absolutkodade. För beräkningar av
engångskaraktär spelar detta ingen roll, då
vinsterna i kodningstid och mindre felfrekvens
mer än väl uppväger den längre maskintiden.
I de fall då problemet leder till många
reguljärkörningar i datamaskinen, kan den
sammanlagda tidsförlusten bli stor. Då emellertid
många program är sådana att vissa delar i
det användes betydligt oftare än andra, kan
tidsförlusten reduceras om enbart dessa delar
utarbetas i något mera maskinnära språk. De
kan då kontrolleras separat och därefter
infogas i det i övrigt autokodade programmet.

Algol 60



Bakgrund

Då man genom pseudokodning i stor
utsträckning kan avlägsna sig från beroendet av
datamaskinens konstruktion, ligger det nära till
hands att försöka skapa standardiserade
datamaskinsspråk. Oberoende arbete i denna
riktning bedrevs för några år sedan av två
organisationer, dels Gamm (Gesellschaft für
Angewandte Mathematik und Mechanik) i Tyskland,
dels ACM (Association for Computing
Machinery) i USA. Då dessa strävanden blev
ömsesidigt kända tog man kontakt för att utröna
möjligheterna till samarbete. Detta resulterade
i att representanter för de båda
organisationerna samlades till en konferens i Zürich i maj
1958 och där utarbetade ett förslag till ett
internationellt datamaskinsspråk, Algol1
("Algorithmic language").

<< prev. page << föreg. sida <<     >> nästa sida >> next page >>


Project Runeberg, Fri Oct 18 15:56:35 2024 (aronsson) (diff) (history) (download) << Previous Next >>
https://runeberg.org/tektid/1960/1114.html

Valid HTML 4.0! All our files are DRM-free