1 / 16

ALGOL

ALGOL. ALGOrithmic Language. Überblick. Geschichtlicher Überblick Peter Naur / John Backus ALGOL 60 Sprachentwurf Eigenschaften Beispiel ALGOL 68 Sprachentwurf Eigenschaften Beispiel Vorführung von ALGOL 68. Entwicklung (I).

sumi
Download Presentation

ALGOL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ALGOL ALGOrithmic Language

  2. Überblick • Geschichtlicher Überblick • Peter Naur / John Backus • ALGOL 60 • Sprachentwurf • Eigenschaften • Beispiel • ALGOL 68 • Sprachentwurf • Eigenschaften • Beispiel • Vorführung von ALGOL 68

  3. Entwicklung (I) • 1958-1963 unter der Führung der Association for Computer Machinery (ACM) und der Gesellschaft für Angewandte Mathematik und Mechanik (GAMM), später dann der International Federation for Information Processing (IFIP) , entwickelt • Beteiligt waren unter anderen John Backus, Friedrich Ludwig Bauer, John McCarthy, Peter Naur, Alan J. Perlis, Heinz Rutishauser und Klaus Samuelson • Diskussionsentwurf als Algol 58 zitiert

  4. Entwicklung (II) • ALGOL 68 ist Neuentwurf basierend auf den Erfahrungen von ALGOL 60 • Definition wurde 1969 erstmals als Report on the Algorithmic Language ALGOL 68 veröffentlicht und 1975 im Revised Report revidiert (überarbeitet) • Weitere Entwicklungen aus ALGOL 60 • Simula 67, ALGOL-W (Pascal)

  5. Peter Naur • Geboren am 25. Oktober 1928 in Frederiksberg bei Kopenhagen • 1947 – 1949 Astronomie - Studium an der Universität Kopenhagen • 1953 – 1959 wissenschaftlicher Assistent an Universität Kopenhagen • 1957 Doktortitel in Astronomie • Begegnung mit Computer -> Wechsel der Fachrichtung • Seit 1969 Professor für Informatik an der Universität Kopenhagen

  6. John Backus • Geboren am 3. Dezember 1924 in Philadelphia • Einberufung zur Armee, abkommandiert zum Studium der Medizin • Studierte später Mathematik • 1949 Einstellung bei IBM als Programmierer • 1954 Entwicklung von FORTRAN • 1959 Entwicklung der BNF in Zusammenarbeit mit Peter Naur

  7. ALGOL 60 • wissenschaftlich (für numerische Zwecke) • von kommerziellen Interesse unabhängig • einfach durch weitgehende Freiheit von Restriktionen

  8. ALGOL 60 - Sprachentwurf • saubere Definition von Spracheigenschaften • Definition der Syntax mit Hilfe der Backus-Naur-Form • Laufzeitprüfungen wurde vorgeschrieben

  9. ALGOL 60 - Eigenschaften • Einführung von Blockstruktur und der Sichtbarkeit von Variablen • 2 Möglichkeiten Parameter an Funktionen und Prozeduren zu übergeben • Wertparameter • Namensparameter • ermöglicht Rekursion

  10. ALGOL 60 - Beispiel 'begin' 'comment' create some random numbers, print them and print the average. ; 'integer' NN; NN := 20; 'begin' 'integer' i; 'real' sum; vprint ("random numbers:"); sum := 0; 'for' i := 1 'step' 1 'until' NN 'do' 'begin' 'real' x; x := rand; sum := sum + x; vprint (i, x) 'end'; vprint ("average is:", sum / NN) 'end' 'end'

  11. ALGOL 68 • Neuentwurf basierend auf den Erfahrungen mit ALGOL 60 • Ziele: • Vollständigkeit und Klarheit der Beschreibung • Orthogonalität des Entwurfs • Sicherheit • Effektivität

  12. ALGOL 68 - Sprachentwurf • Neuartiges Beschreibungsverfahren entwickelt • 2-stufige Grammatik, auch van-Wijngaarden-Grammatik genannt

  13. ALGOL 68 - Eigenschaften • Referenzen • Möglichkeit zur Definition von Strukturen und anderen Datentypen • Definition von Ein- und Ausgaben

  14. ALGOL 68 - Beispiel Türme von Hanoi begin proc p = (int me, de, ma) : (ma > 0 | p (me, 6 — me — de, ma — 1); out (stand out, (me, de, ma)); c Transport des Stückes 'ma' von Platz 'me' zu Platz 'de' c p (6 — me — de, de, ma — 1)); for k to 8 do (outf (stand out, $l"k.=."dl, n ((2 t k + 15) ± 16)(2(2(4(3(d)x)x)x)l)$,k); p (1, 2, k,)) end

  15. Quellen Web: http://de.wikipedia.org/wiki/Algol_60 http://de.wikipedia.org/wiki/Algol_68 http://www.bookrags.com/sciences/computerscience/algol-60-wcs.html http://www.bookrags.com/sciences/computerscience/algol-68-wcs.html http://www.masswerk.at/algol60/ http://vestein.arb-phys.uni-dortmund.de/~wb/RR/rrTOC.html http://de.wikipedia.org/wiki/Peter_Naur http://www.thocp.net/biographies/backus_john.htm http://www.heise.de/newsticker/meldung/53881 http://de.wikipedia.org/wiki/John_Backus Compiler / Interpreter: http://www.xs4all.nl/~jmvdveer/algol68g-mk8/doc/introduction.html http://www.angelfire.com/biz/rhaminisys/algol60.html Buch: Bericht über die algorithmische Sprache ALGOL 68 – Akademie-Verlag Berlin

More Related