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

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

Embed Size (px)

Citation preview

26.November 2004 Sezgi Seret - 0227324 1

The Programming Language Pascal

Niklaus Wirth

26.November 2004 Sezgi Seret - 0227324 2

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 3

Einfaches Pascal Programm

26.November 2004 Sezgi Seret - 0227324 4

Struktur eines Pascalprogramms PROGRAM ProgramName (FileList); CONST (* Konstanten *) TYPE (* Datentypen *) VAR (* Variablen *) (* Subprogram definitions *) BEGIN (* ausfühbare Anweisungen *) END.

26.November 2004 Sezgi Seret - 0227324 5

Konstanten

const Name = 'Niklaus Wirth';

FirstLetter = 'N'; Year = 1971; pi = 3.1415926535897932; UsingNCSAMosaic = TRUE;

26.November 2004 Sezgi Seret - 0227324 6

Variablen und Datentypen

var age, year, grade : integer; circumference : real; LetterGrade : char; DidYouFail : Boolean;

26.November 2004 Sezgi Seret - 0227324 7

Sytaktische Grundelemente

Operatoren : Arithmetische Operatoren + - * / div mod Logische Operatoren not and or Vergleichsoperatoren = < > < <= > >= Zuweisungsoperator := Mengenoperatoren * + -

26.November 2004 Sezgi Seret - 0227324 8

Reservierte Namen in Pascal

AND ARRAY BEGIN CASE CONST DIVDO DOWNTO ELSE END FILE FOR FUNCTION GOTO IF IN LABEL MODNIL NOT OF OR PACKED PROCEDUREPROGRAM RECORD REPEAT SETTHEN TO TYPE UNTIL VAR WHILEWITH

26.November 2004 Sezgi Seret - 0227324 9

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 10

Wertzuweisung

var x,y:real; i:integer; i := i+1 y:=x+cos(x/3)

variable := ausdruck

26.November 2004 Sezgi Seret - 0227324 11

Verbundsanweisung

begin h:=a; a:=b; b:=h end

begin anweisung end

;

26.November 2004 Sezgi Seret - 0227324 12

while-Anweisung(Abweisschleife)

a := 5; while a < 6 do writeln (a);

while ausdruck do anweisung

26.November 2004 Sezgi Seret - 0227324 13

repeat-Anweisung(Nichtabweisschleife)

repeat-anweisung

repeat anweisung until ausdruck

;

26.November 2004 Sezgi Seret - 0227324 14

if-Anweisung

if (konto > 20) and (temperatur >= 25) then begin essen_bestellen; trinken_bestellen end;

if ausdruck then anweisung

else anweisung

26.November 2004 Sezgi Seret - 0227324 15

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 16

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 17

Sprunganweisung(goto-Anweisung)

begin . .30 : x := x + 0.5; . . if x = 7 then go to 30; . goto 40; . .40 : write(x);end.

Die goto-Anweisung

erlaubt einen Sprung von einer Stelle eines Programmes zu einer beliebigen anderen.

26.November 2004 Sezgi Seret - 0227324 18

Prozeduren und Funktionen Prozeduren sind in Pascal die allgemeinste Form vonUnterprogrammen. Ein Prozeduraufruf in einemProgramm wird notiert durch Nennung desProzedurnamens, gefolgt von der in Klammerneingeschlossenen Liste der aktuellen Parameter.procedure Name; const (* Constants *) var (* Variables *) begin (* Statements *) end;

26.November 2004 Sezgi Seret - 0227324 19

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 20

Vorteile und Nachteile

relativ höhe Geschwindigkeit leicht zu erlernen gut strukturierbar keine Objektorientierte Sprache nicht mehr zeitgemäß

26.November 2004 Sezgi Seret - 0227324 21

Vielen Dank für Ihre Aufmerksamkeit.