The Programming Language Pascal Niklaus Wirth 26 November

The Programming Language Pascal Niklaus Wirth 26. November 2004 Sezgi Seret - 0227324 1

Programmiersprache Pascal ¡ Pascal ist eine Programmiersprache, die 1968 bis 1972 von dem Schweizer Informatiker Niklaus Wirth entwickelt wurde. Sie ist nach Blaise Pascal benannt. ¡ Pascal ist ein prozedurale Sprache wie Modula 2 und C. ¡ Pascal ist ein Lehrsprache, welches leicht erlernbar ist und eine einfachen Syntax hat. 26. November 2004 Sezgi Seret - 0227324 2

Einfaches Pascal Programm 26. November 2004 Sezgi Seret - 0227324 3

Struktur eines Pascalprogramms PROGRAM Program. Name (File. List); CONST (* Konstanten *) TYPE (* Datentypen *) VAR (* Variablen *) (* Subprogram definitions *) BEGIN (* ausfühbare Anweisungen *) END. 26. November 2004 Sezgi Seret - 0227324 4

Konstanten const Name = 'Niklaus Wirth'; First. Letter = 'N'; Year = 1971; pi = 3. 1415926535897932; Using. NCSAMosaic = TRUE; 26. November 2004 Sezgi Seret - 0227324 5

Variablen und Datentypen var age, year, grade : integer; circumference : real; Letter. Grade : char; Did. You. Fail : Boolean; 26. November 2004 Sezgi Seret - 0227324 6

Sytaktische Grundelemente Operatoren : ¡ Arithmetische Operatoren + - * / div mod ¡ Logische Operatoren not ¡ Vergleichsoperatoren = < > < <= > >= ¡ Zuweisungsoperator : = ¡ Mengenoperatoren * 26. November 2004 Sezgi Seret - 0227324 and + or - 7

Reservierte Namen in Pascal AND ARRAY BEGIN CASE CONST DIV DO DOWNTO ELSE END FILE FOR FUNCTION GOTO IF IN LABEL MOD NIL NOT OF OR PACKED PROCEDURE PROGRAM RECORD REPEAT SET THEN TO TYPE UNTIL VAR WHILE WITH 26. November 2004 Sezgi Seret - 0227324 8

Standard Funktionen abs(x) sqr(x) sin(x) cos(x) exp(x) ln(x) sqrt(x) arctan(x) trunc(x) round(x) odd(x) 26. November 2004 Sezgi Seret - 0227324 9

Wertzuweisung var x, y: real; i: integer; i : = i+1 y: =x+cos(x/3) variable 26. November 2004 : = Sezgi Seret - 0227324 ausdruck 10

Verbundsanweisung begin h: =a; a: =b; b: =h end begin anweisung end ; 26. November 2004 Sezgi Seret - 0227324 11

while-Anweisung (Abweisschleife) a : = 5; while a < 6 do writeln (a); while 26. November 2004 ausdruck do Sezgi Seret - 0227324 anweisung 12

repeat-Anweisung (Nichtabweisschleife) repeat-anweisung ; repeat 26. November 2004 anweisung until Sezgi Seret - 0227324 ausdruck 13

if-Anweisung if (konto > 20) and (temperatur >= 25) then begin essen_bestellen; trinken_bestellen end; if 26. November 2004 ausdruck then anweisung else anweisung Sezgi Seret - 0227324 14

for-Anweisung { anfangswert <= endwert, schrittweite = 1 } for laufvariable: =anfangswert to endwert do anweisung; { einzelne Anweisung oder Verbundanweisung } ¡ { anfangswert >= endwert, schrittweite = -1 } for laufvariable: =anfangswert downto endwert do anweisung; { einzelne Anweisung oder Verbundanweisung } ¡ 26. November 2004 Sezgi Seret - 0227324 15

case-Anweisung (Fallauswahl) Die case-Anweisung bietet eine unbegrenzte Anzahl von Alternativen im weiteren Ablauf an. case Ausdruck of Konstante : Anweisung end , ; 26. November 2004 Sezgi Seret - 0227324 16

Sprunganweisung(goto-Anweisung) begin . . 30 : x : = x + 0. 5; . . if x = 7 then go to 30; . goto 40; . . 40 : write(x); end. 26. November 2004 Die goto-Anweisung erlaubt einen Sprung von einer Stelle eines Programmes zu einer beliebigen anderen. Sezgi Seret - 0227324 17

Prozeduren und Funktionen Prozeduren sind in Pascal die allgemeinste Form von Unterprogrammen. ¡ Ein Prozeduraufruf in einem Programm wird notiert durch Nennung des Prozedurnamens, gefolgt von der in Klammern eingeschlossenen Liste der aktuellen Parameter. procedure Name; const (* Constants *) var (* Variables *) begin (* Statements *) end; ¡ 26. November 2004 Sezgi Seret - 0227324 18

Prozeduren und Funktionen(2) ¡ Eine Funktion ist eine Prozedur, dass genau ein Ausgangswert prozudiert und dieser in einem Ausdruck aufgerufen werden kann. function Name (parameter_list) : return_type; 26. November 2004 Sezgi Seret - 0227324 19

Vorteile und Nachteile J J J L L relativ höhe Geschwindigkeit leicht zu erlernen gut strukturierbar keine Objektorientierte Sprache nicht mehr zeitgemäß 26. November 2004 Sezgi Seret - 0227324 20

Vielen Dank für Ihre Aufmerksamkeit. 26. November 2004 Sezgi Seret - 0227324 21
- Slides: 21