The Programming Language Pascal Niklaus Wirth Melek Saygili

  • Slides: 19
Download presentation
The Programming Language Pascal Niklaus Wirth Melek Saygili 0253156 534 12/1/2020 Melek Saygili 0253156

The Programming Language Pascal Niklaus Wirth Melek Saygili 0253156 534 12/1/2020 Melek Saygili 0253156 1

Programmiersprache Pascal n n n 12/1/2020 Bei der Entwicklung von PASCAL wurde von N.

Programmiersprache Pascal n n n 12/1/2020 Bei der Entwicklung von PASCAL wurde von N. Wirth Anfang der 70 er Jahre geschrieben Mit der Einführung con file- und record. Strukturen in PASCAL wurde versucht die Entwicklung sowohl von technisch/wissenschaftlichen, als auch kommerziellen Programmen zu ermöglichen Pascal ist ein Lehrsprache, welches leicht erlernbar ist und eine einfachen Syntax hat. Melek Saygili 0253156 2

Variablen Typen und Deklarationen n n integer: wird für die positive und negative ganze

Variablen Typen und Deklarationen n n integer: wird für die positive und negative ganze Zahlen verwendet. Wie groß der Bereich der Zahlen ist den die variable annehmen kann, kommt auf das System in dem PASCAL implementiert ist an. boolean: entspricht mit einem Bit; nur zwei mögliche werte: false, true char: entspricht einem „Zeichen“, Ziffern, Buchstaben und Sonderzeichnen. Wie viele und welche Zeichen ein Charakter annehmen kann, hängt vom System ab. alfa : entspricht einer Zeichenkette mit der Länge N. N hängt Widerrum vom System ab. 12/1/2020 Melek Saygili 0253156 3

Struktur des Programs PROGRAM Program. Name (File. List); CONST (* Konstanten *) TYPE (*

Struktur des Programs PROGRAM Program. Name (File. List); CONST (* Konstanten *) TYPE (* Datentypen *) VAR (* Variablen *) (* Subprogram definitions *) BEGIN (* ausfühbare Anweisungen *) END. 12/1/2020 Melek Saygili 0253156 4

Operatoren Multiplikationsoperatoren operator operation Type of operands result * multiplikatio n Real or integer

Operatoren Multiplikationsoperatoren operator operation Type of operands result * multiplikatio n Real or integer Integer, if both operands are of type integer, real otherwise / division Real or integer real div Division mit truncation integer Integer mod M mod n=m((m div n)*n) integer Integer ^ Logische „and“ set intersection Boolean Any Powerset T type T 12/1/2020 Melek Saygili 0253156 5

Additionsoperatoren operator + - 12/1/2020 operation Type of operands result Additon Real or integer

Additionsoperatoren operator + - 12/1/2020 operation Type of operands result Additon Real or integer Integer, if both operands are of type integer, real otherwise Subtraction Real or integer real Set difference Any Powerset type T T Logische „or“ set union Boolean any Powerset type T Boolean T Melek Saygili 0253156 6

Relationale Operatoren operator Type of operands result Any type, except file and class types

Relationale Operatoren operator Type of operands result Any type, except file and class types Boolean <> Any scalar or Boolean =< >= Subrange type Boolean in Any scalar or subrange type and its powerset type reseptively Boolean = 12/1/2020 Melek Saygili 0253156 7

Reservierte Namen in Pascal and, arry, begin, case, const, div, downto, else, end, file,

Reservierte Namen in Pascal and, arry, begin, case, const, div, downto, else, end, file, for, funktion, goto, if, in, label, mod, nil, not, of, or, paced, procedure, progra m, record, repeat, set, then, to, type, until, var, while, with 12/1/2020 Melek Saygili 0253156 8

Standard Funktionen n sin(x) n cos(x) n abs(x) n sqr(x) n exp(x) n ln(x)

Standard Funktionen n sin(x) n cos(x) n abs(x) n sqr(x) n exp(x) n ln(x) 12/1/2020 n sqrt(x) n arctan(x) n trunc(x) n round(x) n odd(x) Melek Saygili 0253156 9

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

Wertzuweisung var x, y: real; i: integer; i : = i+1 y: =x+cos(x/3) variable 12/1/2020 : = Melek Saygili 0253156 ausdruck 10

Verbundsanweisung begin h: =a; a: =b; b: =h end begin anweisung end ; 12/1/2020

Verbundsanweisung begin h: =a; a: =b; b: =h end begin anweisung end ; 12/1/2020 Melek Saygili 0253156 11

While- Schleife while (a<=4) do a: =a+1 while (a<b) do begin a: = a/3;

While- Schleife while (a<=4) do a: =a+1 while (a<b) do begin a: = a/3; b=b/2 end while 12/1/2020 ausdruck do Melek Saygili 0253156 anweisung 12

repeat- Schleife repeat a: =a+1 until (a>5) repeat a: =a/4 ; b: =b/2 ;

repeat- Schleife repeat a: =a+1 until (a>5) repeat a: =a/4 ; b: =b/2 ; until (a>=b) repeat-schleife ; repeat 12/1/2020 anweisung until Melek Saygili 0253156 ausdruck 13

for- Schleife { anfangswert <= endwert, schrittweite = 1 } for laufvariable: =anfangswert to

for- Schleife { anfangswert <= endwert, schrittweite = 1 } for laufvariable: =anfangswert to endwert do anweisung; { einzelne Anweisung oder Verbundanweisung } n { anfangswert >= endwert, schrittweite = -1 } for laufvariable: =anfangswert downto endwert do anweisung; { einzelne Anweisung oder Verbundanweisung } n for i: =0 to 99 go erg: =erg *i 12/1/2020 Melek Saygili 0253156 14

case- Statement case roman. Nummer of i: arabic. Nummer : =1; v: arabic. Nummer

case- Statement case roman. Nummer of i: arabic. Nummer : =1; v: arabic. Nummer : =5; x: arabic. Nummer : =10; end case Ausdruck of Konstante : Anweisung end , ; 12/1/2020 Melek Saygili 0253156 15

if-Statement if x<1. 4 then x: =x+3 else x: =x-3 if 12/1/2020 ausdruck then

if-Statement if x<1. 4 then x: =x+3 else x: =x-3 if 12/1/2020 ausdruck then anweisung else anweisung Melek Saygili 0253156 16

Prozeduren und Funktionen <procedure declaration>: : = <procedure heading> <constant definition part> <type definition

Prozeduren und Funktionen <procedure declaration>: : = <procedure heading> <constant definition part> <type definition part> <variable declaration part> <procedure and functin declaration part> <statement part> procedure Name; const (* Constants *) var (* Variables *) begin (* Statements *) end; 12/1/2020 Melek Saygili 0253156 17

Vorteile und Nachteile J J L L gute Erlernbarkeit viele Möglichkeiten bei der Beschreibung

Vorteile und Nachteile J J L L gute Erlernbarkeit viele Möglichkeiten bei der Beschreibung und Strukturierung von daten große Anwendungsbereich gut strukturierbar nicht mehr zeitgemäß Unterschützt nicht alle Konzepte der Objektorientrierten Programmirung 12/1/2020 Melek Saygili 0253156 18

Vielen Dank für Ihre Aufmerksamkeit. 12/1/2020 Melek Saygili 0253156 19

Vielen Dank für Ihre Aufmerksamkeit. 12/1/2020 Melek Saygili 0253156 19