ALGOL
ALGOL (fokorting for ALGOrithmic Language) er eit programmeringsspråk som starta utviklinga midt på 1950-talet, og er eit tidleg programmeringsspråk. Den første standarden vart ferdig i 1958. Seinare versjonar kom i 1960 og 1968. I dag er Algol først og fremst av historisk interesse, men er viktig fordi svært mange konsept i dei programmeringsspråka som blir brukt i dag kjem frå Algol, og blir derfor rekna som viktigare enn Fortran og COBOL, som var dei mest populære språka på den tida.
ALGOL | |||
| |||
Utgjeve | 1959 | ||
---|---|---|---|
Type | programmering, creating |
Eigenskapar og historie
endreAlgol vart utvikla av ein internasjonal komité frå slutten av 1950-åra og framover. Den første rapporten som spesifiserte Algol58 vart ferdig i 1958. Særleg versjonen frå 1960 var nyskapande. Algol60 introduserte blokkstuktur, som finst i nesten alle programeringsspråk introduserte sidan, og som gjer lokale variablar mogeleg. I tillegg vart parameteroverføringsmodi som call by value og call by name, slik at ein kan lage rekursive funksjonar. if-then-else og generelle mekanismar for iterasjon var og nytt i Algol60.
Ei anna nyvinning er at syntaksen til algol er formelt definert i form av ein gramatikk. Denne var i såkalla Bachus-Neur-form (BNF), og dette er i dag den vanlegaste måten å spesifisere eit programmeringsspråk.
Andre eigenskapar som var nye i Algol:
- Dynamiske arrayar: Arrayar som ikkje måtte spesifiserast når programmet
vart laga, men kunne allokerast dynamisk under køyring.
- Nøkkelord: Nøkkelorda i språket kan ikkje brukast som variablar i Algol-program.
- Brukardefinerte datatypar: datatyper som speglar problemetområdet programmeraren forsøker skrive eit program for
Døme på programmering i Algol
endreDette programmet reknar ut gjenomsnittet av alle elementa i ein array.
// the main program (this is a comment) ! begin integer N; Read Int(N); ! begin real array Data[1:N]; real sum, avg; integer i; sum:=0; ! for i:=1 step 1 until N do begin real val; Read Real(val); Data[i]:=if val<0 then -val else val end; ! for i:=1 step 1 until N do sum:=sum + Data[i]; avg:=sum/N; Print Real(avg) end end
Kjelder
endreDenne artikkelen treng referansar for verifikasjon. (2024) |