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

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

Apr 06, 2016

Download

Documents

Käte Hauer
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 26.November 2004Sezgi Seret - 02273241 The Programming Language Pascal Niklaus Wirth.

26.November 2004 Sezgi Seret - 0227324 1

The Programming Language Pascal

Niklaus Wirth

Page 2: 26.November 2004Sezgi Seret - 02273241 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.

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

26.November 2004 Sezgi Seret - 0227324 3

Einfaches Pascal Programm

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

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.

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

26.November 2004 Sezgi Seret - 0227324 5

Konstanten

const Name = 'Niklaus Wirth';

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

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

26.November 2004 Sezgi Seret - 0227324 6

Variablen und Datentypen

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

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

26.November 2004 Sezgi Seret - 0227324 7

Sytaktische Grundelemente

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

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

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

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

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)

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

26.November 2004 Sezgi Seret - 0227324 10

Wertzuweisung

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

variable := ausdruck

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

26.November 2004 Sezgi Seret - 0227324 11

Verbundsanweisung

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

begin anweisung end

;

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

26.November 2004 Sezgi Seret - 0227324 12

while-Anweisung(Abweisschleife)

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

while ausdruck do anweisung

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

26.November 2004 Sezgi Seret - 0227324 13

repeat-Anweisung(Nichtabweisschleife)

repeat-anweisung

repeat anweisung until ausdruck

;

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

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

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

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 }

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

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:

,

;

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

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.

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

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;

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

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;

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

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äß

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

26.November 2004 Sezgi Seret - 0227324 21

Vielen Dank für Ihre Aufmerksamkeit.