1 / 18

Extended Pascal

Extended Pascal. Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour. Pascal - Sprachstandards. Zu unterscheiden sind die Standards Standard Pascal (ISO 7185:1983 & ANSI/IEEE 770X3.97-1983 ) ISO 7185:1990

Download Presentation

Extended Pascal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extended Pascal Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour

  2. Pascal - Sprachstandards • Zu unterscheiden sind die Standards Standard Pascal (ISO 7185:1983 & ANSI/IEEE 770X3.97-1983) ISO 7185:1990 Extended Pascal (ISO 10206:1991& ANSI/IEEE 770X3.160-1989) • In Verbindung mit Programmiersprachen ist der folgende Standard Wichtig. standard IEEE 754 IEEE Standard for Binary Floating-Point Arithmetic

  3. Datentypen • nteger (Ganze zahlen ) • Real (Reelle zahlen ) • Boolean (wahrheitswerte ) • Char (Zeichen ) • Complex (komolexe zahlen ) • String ( zeichen ketten ) I

  4. Beispiel • Komplexe zahlen werden wie üblich als paar reeller zahlen aufgefasst: ( realteil, imaginärteil) VAR z1,z2 : Complex; z1:= complex (3,2 , -2,6 ) ; z2:= polar ( 1,0 , 90,0 );

  5. Datentyp String • Eine Zeichenkettenvariable der Länge n kann alternativ zur Standard Pascal Variante vereinbart werden als VAR str : STRING(n); Zeichenketten sind intern folgendermaßen aufgebaut: STRING = RECORD capacity : INTEGER; length : INTEGER; string : PACKED ARRAY[1..capacity] OF char; END; Syntaktisch kann eine Zeichenkette jedoch nicht wie ein Record behandelt werden !

  6. Strukturierte Datentypen • Felder (Arrays ) array [Indextypliste] of komponententyp • Dateien (Files ) file of Komponententyp • Verbunde (records ) record Datensatzliste end • Mengen (sets ) set of Grundbereichstyp • Typdeklaration (Type) • Geschützte Typen (Restricted ) Type name=Restricted bezugsdatentyp

  7. Beispiel • Felder (Arrays ) array [1…10] of array [`a`…`z`] of boolean array [(rot,gelb,blau, schwarz)] • Dateien (Files) Reset,rewrite,put,get • Verbunde (Records ) record monat:(jan…dez ); tag: 1…31 jahr: integer; END; • Mengen (sets ) type menge = set of 1…3; Vereinbarte Mengentyp enthält als werte die Teilmenge [],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]

  8. Konstanten,Typen ,Variablen • In einer Konstantendefinition können Namen für konstanten (benamte konstanten) festgelegt werden. const Name=konstante; …{nicht leer } • In einer Typdefinition können Namen für Typen festgelegt werden. type Name = Typ; …{ nicht leer } • In einer Variablenvereinbarung können Namen für Variablen festgelegt werden. var Namensliste: Typ; … { nicht leer }

  9. Bedingte Anweisungen • if-Anweisung Die if-Anweisung ermöglicht die wahlweise Ausführung vonzwei Anweisungen : if logischer Ausdruck then Anweisung else Anweisung {kann entfallen } • Case-Anweisung Im Unterschied zur if-Anweisung erlaubt die case-anweisung oder Auswahl-anweisung die Ausführung einer Anweisung, welche aus beliebig vielen Alternatinen ausgewählt wird: case Auswahlausdruck of Auswahlkonstantenliste: Anweisung;….{ nicht leer} end

  10. Beispiel • If- Anweisung if x<=y then z:=y-x else z:=x-y; {positive Differenz von x und y} • Case-Anweisung CASE a OF `0`…`9`: digit; `A`,`E`,`I`,`O`,`U`: vowel; OTHERWISE other; END {case }.

  11. Mengen Operatoren + Vereinigung * Durchschnitt - Differenz >< Symmetrische Differenz

  12. Beispiel m:=m1+m2 m:=m1*m2 m:=m1-m2 m:=m1><m2

  13. Module • Im Extended Pascal kann ein Modul (ähnlich wie in Modula) aus zwei Teilen bestehen: 1.Interface-Teil Beschreibt die Import/Export Schnittstelle 2.Implementationsteil realisiert die Ressourcen, die der Modul zur Nutzung bereitstellt verfügt wahlweise über einen Initialisierungteil.

  14. Interface-Teil MODULE name INTERFACE; EXPORT name = ( liste ); IMPORT … ; Deklarationen END.

  15. Implementationsteil MODULE name IMPLEMENTATION DEKLARATIONEN TO BEGIN DO BEGIN ausführbare Anweisungen END; TO END DO BEGIN ausführbare Anweisungen END.

  16. Beispiel MODULE ONE; EXPORT i1 = (lower,upper) ; CONST lower=0; upper=11; {must be prime } VAR dummy: Booolean; END {of module-heading}; END {of module-block}.

  17. Zusammenfassung • Pascal war ursprünglich als reine Lernsprachegedacht undist dafür sehr gut geeignet. Inzwischen in vielen Verschiedenen Erweiterungen (Turbo-Pascal, Prospero-Pascal, UCSP-Pascal) Verbreitet. • Die Erweiterung sind meist sehr fähig, aber die dadurch entstehenden Dialekte zu unterschiedlich, um Programme übertragen zu können. • Der Übertragbare, genormte Teil von Pascal ist dagegen von der Funktion so stark eingeschränkt, daß man nicht vernünftig damit Arberten kann. • Es gibt auch eine genormte Erweiterung von Pascal, nämlich Extended Pascal ,die aber nicht sehr verbreitet ist.

  18. Danke für ihre Aufmerksamkeit

More Related