Vortragsfolien

Werbung
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 ProgramName (FileList);
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';
FirstLetter = 'N';
Year = 1971;
pi = 3.1415926535897932;
UsingNCSAMosaic = TRUE;
26.November 2004
Sezgi Seret - 0227324
5
Variablen und Datentypen
var
age, year, grade : integer;
circumference : real;
LetterGrade : char;
DidYouFail : 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





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
Herunterladen