Teil X. Von Mini Pascal zu Pascal
|
|
|
- Ella Küchler
- vor 9 Jahren
- Abrufe
Transkript
1 Teil X Von Mini Pascal zu Pascal 1
2 Teil X.1 Pascal Datentypen 2
3 Begriffe Typ: Menge von Werten Beispiel: integer alle ganzen Zahlen zwischen - MaxInt und MaxInt Variable: Reserviert Speicherplatz für Werte ihres Typs Zuweisung: Weist einer Variablen einen Wert zu. 3
4 Einfache Datentypen Integer: alle ganzen Zahlen - MaxInt und MaxInt Varianten: byte: word: 0..MaxInt LongInt: - MaxInt 2..MaxInt 2 1 ShortInt: Boolean: True oder False Char: Meist ASCII-Code Real: Exponentendarstellung nach IEEE 754/854 Varianten: single: 32 bit double: 64 bit extended: 80 bit String: Zeichenketten (beliebiger Länge) zwischen 4
5 Typkonstruktoren (1) Array: Vektor fester Länge, Matrix mit fester Größe Syntax: array [ Bereichstyp ] of Type Beispiele: array[0..10] of Integer array[ a.. z ] of Integer type matrix = array[0..10] of array [0..6] of Real type matrix1 = array[0..10,0..6] of Real Zugriff: var m: matrix; m[3,2] := 7.3; 5
6 Typkonstruktoren (2) Record: Verbund über Typen T 1... T n Beispiel: type Datum = record Tag : 1..31; Monat : (Jan, Feb, Mar, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez); Jahr : Integer end; Zugriff: var date: Datum; date.monat := Jan; with date do begin Tag := 3; Monat := Jun; Jahr := 2002 end; 6
7 Typkonstruktoren (3) case Record mit Varianten Beispiel: type Stand = (verh, verw, gesch, ledig); Person = record name : record vorname, nachname : string end; Versnr : integer; Geschlecht : (Mann, Frau); Geburt : Datum; Kinder : integer; case stkomp : Stand of verh, verw : (vd : Datum); gesch : (gd : Datum); ledig : (unabh : boolean); end; 7
8 Typkonstruktoren (4) Set: Menge von Ordinaltypen Syntax: set of OrdinalerTyp Beispiel: type myset = set of Integer Operationen: + Mengenvereinigung - Komplementbildung * Durchschnitt in ElementOf 8
9 Zeigertypen (1) Zeiger: Addresse auf Speicher eines gegebenen Typs Beispiel: type Liste = ^Eintrag; Eintrag = record Elem : Integer; Nachfolger : Liste end; var : anfang, neu, p, q : liste; Operationen: new(v) fordert freien Speicher vom Typ T an Zugriff auf Wert: v^ dispose(v) gibt Speicher für v wieder frei. 9
10 Zeigertypen (2) Erzeugen einer Liste anfang := nil; (* leere Liste erzeugen *) new(anfang); (* Es wird eine Variable anfang^ vom Typ Eintrag erzeugt *) anfang^.elem := 2; anfang^.nachfolger := nil; (* nun hat die Liste ein Element *) (* der Listenanfang ist erzeugt *) 10
11 Zeigertypen (3) Einfügen eines Elements an den Anfang p := anfang; new(anfang); anfang^.nachfolger := p; anfang^.elem := 5; 11
12 Zeigertypen (4) Einfügen eines Elements an das Ende p := Anfang; while p^.nachfolger <> nil do p := p^.nachfolger; new(q); q^.nachfolger := nil; q^.elem := y; p^.nachfolger := q; (* Eintrag an alte Liste gehaengt *) 12
13 Zeigertypen (5) Suchen eines Elements elem = x p := anfang; found := false; leer := false; while not found and not leer do begin if (p <> nil) then begin if p^.elem = x then found := true else p := p^.nachfolger end else leer := true; if found then writeln( gefunden ) else if leer then writeln( nicht vorhanden ); end; (* while *) 13
14 Zeigertypen (6) Einfügen eines Elements nb nach dem Element nach p := anfang; found := false; leer := false; while not found and not leer do begin if (p <> nil) then begin if p^.elem = nach then found := true else p := p^.nachfolger end else leer := true; if found then writeln( gefunden ) else if leer then writeln( nb nicht vorhanden ); end; (* while *) if found then begin new(q); q^.nachfolger := p^.nachfolger; q^.elem := nb; p^.nachfolger := q end; 14
15 Zeigertypen (7) Löschen des ersten Elements mit Wert x if (anfang <> nil) then begin if (anfang^.elem = x) then begin p:=anfang^.nachfolger; dispose(anfang); anfang:=p end (* if erstes Element = x *) else begin p := anfang; found := false; leer := false; while not found and not leer do begin if (p^.nachfolger <> nil) then begin if (p^.nachfolger^.elem = x) then found := true else p := p^.nachfolger end else leer := true; end; (* while *) if found then begin q:=p^.nachfolger^.nachfolger; dispose(p^.nachfolger); p^.nachfolger:=q end; end; (* if erstes Element <> x *) end (* if anfang <> nil) 15
16 Dateien Syntax: file [ of Typ]. Semantik: Folge von Komponenten mit gegebenen Typ. Operationen (in ISO-Pascal): get(f) lese aktuelle Komponente und schalte F auf die nächste Komponente reset(f) öffnen von F zum Lesen put(f) schalte F auf die nächste Komponente zum Beschreiben rewrite(f) öffnen, initialisieren von F für Schreibvorgang eof(f) Abfrage auf Dateiende close(f) Schließen einer Datei. 16
17 Teil X.2 Kontrollstrukturen, Prozeduren, Funktionen 17
18 Kontrollstrukturen Repeat-Anweisung = "Repeat" statement {";" statement } "until" expression. For-Anweisung If-Anweisung Case-Anweisung = "for" Laufvariable ":=" expression ("to" "downto") expression "do" statement. = "if" expression "then" statement ["else" statement]. = "case" expression "of" Bereich ":" statement {Bereich ":" statement} ["else" ":" statement] 18
19 Prozeduren mit Parametern Syntax: procdecl = "procedure" ident [ Interface ]; block; interface = "(" [var] ident ":" Type {; [var] ident ":" Type} ")" Wertparameter: ident : Type Die Variable ident wird bei Aufruf mit dem Wert des aktuellen Parameters (Variable oder Ausdruck) belegt, Änderung von ident innerhalb der Prozedur nach außen nicht sichtbar. Referenzparameter: var ident : Type Die Variable ident wird bei Aufruf mit einer Referenz auf den aktuellen Parameter (nur Variable) belegt, Änderung von ident innerhalb der Prozedur ist nach außen sichtbar. Nützlich für strukturierte Ausgaben. 19
20 Beispiel: Wert- vs. Referenzparameter Program callbyvaluevscallbyref var i,j,k: integer procedure p(var i1: integer; j1: integer) begin j1:=j1+1; (*? *) i1:=i1+j1; end begin i:=0; j:=1; k:=2; writeln( before: i:, i,, j: j,, k:,k); p(i,j*k); writeln( after: i:, i,, j: j,, k:,k) end. (* Ergebnis: before: i : 0, j:1, k:2 after: i : 3, j:1, k:2 *) 20
21 Verschränkt rekursive Prozeduren Problem: Verwendung einer Prozedur vor Deklaration Lösung: Trennung von Deklaration und Implementierung mit Hilfe von forward Program abwechselnd; var i, h : integer; procedure q (var k : integer); forward; procedure p (var i, j : integer); begin inc(i); j := i+5; if j < 10 then begin write( q:, j); q(j) end; end; procedure q; begin inc(k); write( p:, k); p(i, k) end; begin i := 0; h := 1; write ( p:, h); p(i, h); writeln( p:, h) end. (* Ergebnis: p:1 q:6 p:7 q:7 p:8 q:8 p:9 q:9 p:10 p:10 *) 21
22 Ablauf der verschränkten Rekursion i:=0; h:=1; writeln( p:, h); (* p: 1 *) p(i,h); (* i=0, h=1 *) inc(i); j:= i+5; if j < 8 then begin writeln( q:, j); (* q: 6 *) q(j); (* j=6 *) inc(k); writeln( p: k); (* p: 7 *) p(i,k); (* i=1, k=7 *) inc(i); j:= i+5; if j < 8 then begin writeln( q:, j) (* q: 7 *) q(j); (* j=7 *) inc(k); write( p:, k); (* p: 8 *) p(i,k); (* i=2, k=8 *) inc(i); j: = i+5 (* j=8 *) if j < 8 then... writeln( p:, h) (* p: 8 *) 22
23 Funktionen Wie Prozeduren, jedoch mit explizitem Rückgabeparameter Syntax: Nur einfache Rückgabetypen erlaubt. funcdecl = "function" ident [Interface]: Type; block; Beispiel: Vergleiche: function rfak(n : word) : word; begin if n=0 then rfak := 1 else rfak := rfak(n-1) * n end; procedure rfak(n : word; var ret: word); begin if n=0 then ret := 1 else begin rfak(n-1,ret); ret := ret * n end; end; 23
24 Beispiel: Minicompiler Aufgabe: Übersetze folgende Syntax in Maschinenprogramm Wertzuweisung = ("a"... "z") ":" "=" Ausdruck ";" Ausdruck = Term = Term {("+" "-") Term} Faktor {("*" "/") Faktor} Faktor = "a"... "z" ("(" Ausdruck ")") 24
25 Minicompiler: Hauptprogramm program Minicompiler; uses wincrt; var i: Byte; s: String[80]; {80 Zeichen maximal} procedure Fehler(i: byte); begin writeln( Fehler in Position,i:2); end;... begin {Hauptprogramm} write( Wertzuweisung einlesen ); write( - ohne Leertaste - ); writeln( mit Semikolon zum Ende: ); readln(s); i:= 1; while s[i] <> X do begin writeln; Wertzuweisung(s,i); writeln( Press X to stop ); readln(s); i:= 1 end end. 25
26 Regel für Wertzuweisung (* verschraenkte Rekursion *) procedure Ausdruck(var s: String[80]; var i: Byte); forward; procedure Term(var s: String[80]; var i: Byte); forward; procedure Faktor(var s: String[80]; var i: Byte); forward; (* Wertzuweisung = ("a"... "z") : = Ausdruck ";" *) procedure Wertzuweisung(var s: String[80]; var i: Byte); var ch: Char; begin case s[i] of a.. z : begin ch:= s[i]; inc(i); if s[i] <> : then Fehler(i); inc(i); if s[i] <> = then Fehler(i); inc(i); Ausdruck(s,i); writeln( STORE, ch); if s[i] <> ; then Fehler(i) end else Fehler(i) end end; {Wertzuweisung} 26
27 Regel für Ausdruck (* Ausdruck = Term {("+" "-") Term} *) procedure Ausdruck(var s: String[80]; var i: Byte); var stop: boolean; begin Term(s,i); stop:=false; repeat case s[i] of + : begin inc(i); Term(s,i); writeln( ADD ) end; - : begin inc(i); Term(s,i); writeln( SUB ) end else stop:=true; end; until stop end; {Ausdruck} 27
28 Regel für Term (* Term = Faktor {("*" "/") Faktor} *) procedure Term(var s: String[80]; var i: Byte); var stop: boolean; begin stop:=false; Faktor(s,i); repeat case s[i] of * : begin inc(i); Faktor(s,i); writeln( MULT ) end; / : begin inc(i); Faktor(s,i); writeln( DIV ) end else stop:=true; end; until stop; end; {Term} 28
29 Regel für Faktor (* Faktor = "a".. "z" ("(" Ausdruck ")") *) procedure Faktor(var s: String[80]; var i: Byte); begin case s[i] of a.. z : begin writeln( LOAD,s[i]); inc(i) end; ( : begin inc(i); Ausdruck(s,i); if s[i] <> ) then Fehler(i) else inc(i) end else Fehler(i) end end; {Faktor} 29
30 Teil X.3 Objektorientierte Programmierung in Pascal 30
31 Grundbegriffe der Objektorientierten Programmierung Objekttyp: (Klasse) Kombination von Daten (Zustand) mit Programmen (Methoden) Kapselung: Nur öffentliche (public) Methoden und Variablen sind außerhalb einer Klasse sichtbar; auch genannt: Interface einer Klasse. Vererbung: Ableitung neuer Klassen aus einer bereits bestehenden durch Hinzufügen von Methoden und Variablen. Konstruktor: Methode zum Erzeugen eines Objekts Destruktor: Methode zum Löschen eines Objekts 31
32 Klasse Ellipse implementieren. Beispiel: Geometrische Figuren Eine mögliche Klassenhierarchie für geometrische Figuren zeigt unser Bild: Implementierung In einem Definitionsmodul werden die Merkmale und Methoden der verschiedenen Klassen exakt definiert und gleichzeitig die Hierarchiebeziehungen zwischen den Klassen festgelegt. 32
33 GrObjekt Gemeinsame Methoden Gemeinsame Methoden(-interfaces) und Variablen Program Geometrische_Figuren; Type PunktRec = Record x, y : Longint; End; GrObjekt = CLASS (* In Borland Pascal muss das Schluesselwort *) (* CLASS durch OBJECT ersetzt werden *) Bezugspunkt : PunktRec; Sichtbar : Boolean; Constructor Init (x, y : Longint); Destructor Done ; Procedure Verschiebe(dx, dy : Longint); Procedure Zeichne; Virtual; Procedure Anzeigen; Procedure Loesche; End; (* GrObjekt *); 33
34 Punkt und Strecke Spezifische Implementierung für Konstruktor, Destruktor, Zeichnen Zusätzliche Methode Skaliere Punkt = CLASS(GrObjekt) Constructor Init (x, y : Longint); Destructor Done ; Procedure Zeichne; Virtual; End; (* Punkt *) Strecke = CLASS(GrObjekt) P1 : Punkt; Constructor Init (xa, ya, xb, yb : Longint); Destructor Done ; Procedure Skaliere (F : Real); Procedure Zeichne; Virtual; End; (* Strecke *) 34
35 Polygon und Dreieck Neue Methode Fläche Const MaxPunkte = 100; Type PktVektor = Array[0..MaxPunkte] Of PunktRec; PolygonS = CLASS(GrObjekt) Constructor Init (PV : PktVektor); Destructor Done ; Procedure Zeichne; Virtual; Procedure Skaliere (F : Real); Function Flaeche : Real; End; (* PolygonS *) Dreieck = CLASS(PolygonS) Constructor Init (xa, ya, xb, yb, xc, yc : Longint); Destructor Done ; Procedure Zeichne; Virtual; Function Flaeche : Real; End; (* Dreieck *) 35
36 Rechteck und Quadrat Neue Eigenschaften: Winkel, Breite, Höhe Rechteck = CLASS(GrObjekt) Winkel : Real; Breite, Hoehe : Real; Constructor Init (xa, ya : Longint; W, B, H : Real); Destructor Done ; Procedure Skaliere (F : Real); Procedure Zeichne; Virtual; Function Flaeche : Real; End; (* Rechteck *) Quadrat = CLASS(Rechteck) Constructor Init (xa, ya : Longint; W, B: Real); Destructor Done ; Procedure Zeichne; Virtual; End; (* Quadrat *) 36
37 Implementierung: Konstruktor Getrennt von Interface-Deklaration: Constructor Punkt.Init (x, y : Longint); Begin Bezugspunkt.x := x; Bezugspunkt.y := y; Sichtbar := true End; (* Punkt.Init *) 37
38 Implementierung: Verschiebe Verwendung von spezifischen Methoden (Zeichne) in einer generischen Methode (Verschiebe) Procedure GrObjekt.Verschiebe (dx, dy: LONGINT); Begin If sichtbar Then Begin Loesche; Bezugspunkt.x := Bezugspunkt.x + dx; Bezugspunkt.y := Bezugspunkt.y + dy; Zeichne End; End; (* Verschiebe *) 38
Syntax der Sprache PASCAL
Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +
1953/54 (USA) PS FORTRAN (FORmula TRANslating system) 1958/60 (Europa) ALGOL (ALGOrithmic Language)
4. Zur Struktur der PS PASCAL 4.1. Einleitende Bemerkungen 1953/54 (USA) PS FORTRAN (FORmula TRANslating system) 1958/60 (Europa) ALGOL (ALGOrithmic Language) Anfang 60er (USA) COBOL (Commercial Business
Datentypen: integer, char, string, boolean
Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,
Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
2.2 Einfache Datenstrukturen
2.2 Einfache Datenstrukturen Konstante und Variable Die Begriffe "Konstante" und "Variable" haben zunächst auch in der Informatik dieselbe grundsätzliche Bedeutung wie in der übrigen Mathematik. Variablen
15 Der strukturierte Datentyp»set«(Mengen)
Dr. K. Haller Turbo-Pascal Kap. 15: Mengen (Sets) 15-1 15 Der strukturierte Datentyp»set«(Mengen) Gliederung 15.1 Allgemeines zu Mengen...2 15.2 Mengen-Operatoren, Demo-Programm...3 15.3 Mengen-Prozeduren,
16 Der strukturierte Datentyp "record"
Dr. K. Haller Turbo-Pascal Kap. 16: Records 16-1 16 Der strukturierte Datentyp "record" Gliederung 16.1 Kurze Wiederholung zu Datentypen... 2 16.2 Allgemeines zum Datentyp record... 2 16.3 Demonstration
1. Allgemeine Datei (Binärdatei mit formatierten Inhalt)
Datei ein komplexer Datentyp, der primär zur dauerhaften (persistenten) Speicherung von Daten auf einen externen Datenträger dient die wichtigsten Operationen, die mit Dateien durchgeführt werden, sind
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
TURBO PASCAL VERSION 5.5
Jörg Lange TURBO PASCAL VERSION 5.5 / Hüthig Buch Verlag Heidelberg 7 Inhaltsverzeichnis 1. DasTURBO-Pascal-System 13 1.1 Starten des TURBO-Pascal-Systems 13 1.2 DasTURBO-Pascal-Menue-System 17 1.3 DasF)ILE-Menue
Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme
Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,
Kurs 1575, Klausur vom , Musterlösung
Aufgabe 1: Schleife, Fallunterscheidung (CASE) Schreiben Sie ein Programm, das eine positive ganze Zahl (im Gültigkeitsbereich von integer) einliest und ihre Ziffern in umgekehrter Reihenfolge als Text
10 Wiederholungsanweisungen
Dr. K. Haller Turbo-Pascal Kap. 10: Wiederholungsanweisungen 10.1 10 Wiederholungsanweisungen /until-schleifen while-schleifen for-schleifen Break und Continue Gliederung 10.1 Die /until-schleife...2 10.2
Teil VI: Prozeduren Feld-Parameter & Typen. 1. Offene ARRAY-Parameter 2. Prozedurtypen und -variablen
Teil VI: Prozeduren Feld-Parameter & Typen 1. Offene ARRAY-Parameter 2. Prozedurtypen und -variablen Offene ARRAY-Parameter Motivation Problem : geg.: mehrere deklarierte Felder unterschiedlicher Längen,
4.Grundsätzliche Programmentwicklungsmethoden
4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden
(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)
Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden
Thomas Binzinger. Jetzt lerne ich. Delphi. Markt+Technik Verlag
Thomas Binzinger Jetzt lerne ich Delphi Markt+Technik Verlag Inhaltsverzeichnis Vorwort 1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 3 3.1 3.2 3.3 3.4 3.5 3.6 4 4.1 4.2 4.3 4.4 4.5 4.6 5 5.1 5.2 5.3 Was ist Delphi?
Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen
Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung
Um mit dem Computer über ein Programm in Kontakt treten zu können braucht man sogenannte Ein- und Ausgabebefehle.
TURBO-PASCAL Programmaufbau Jedes Pascal-Programm hat eine ganz bestimmte Struktur. Außerdem hat jeder Teil des Programms eine ähnliche Struktur. Man teilt ein Pascal-Programm in drei Abschnitte ein: 1.
Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
Grundlagen wissenschaftlichen Arbeitens (ws /05)
Grundlagen wissenschaftlichen Arbeitens (ws.. 2004/05) Thema: The programming language PASCAL Autor: Ratko Trajanovski 1 kurzfassung Zur Sprache PASCAL Pascal in der Ausbildung Lexikalische Elemente Programmaufbau
Eigenschaften strukturierter Datentypen
Strukturierte Datentypen Eigenschaften strukturierter Datentypen Strukturierte Datentypen sind auf anderen, einfacheren Datentypen aufgebaut. ermöglichen Aggregation von Einzelelementen. Beispiele für
Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
C.3 Funktionen und Prozeduren
C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens
Dynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
Kurs 1613 Einführung in die imperative Programmierung
1 Wintersemester 2003/2004 Hinweise zur Bearbeitung der Klausur zum Wir begrüßen Sie zur Klausur "Einführung in die imperative Programmierung". Lesen Sie sich diese Hinweise vollständig und aufmerksam
Theorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
Delegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein
Delegates «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen 2 Definition 3 Definition Ein Delegat
EINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/
Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration:
Boolean Wertemenge: Wahrheitswerte {,}, auch {,} Deklaration: VAR present,billig,laut,gefunden : BOOLEAN; Ein-/Ausgabe: keine! Operatoren: Negation, Verneinung NOT ~ Konjunktion, logisches UND AND & Disjunktion,
Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
Städtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode
Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
Informatik I Übung, Woche 40
Giuseppe Accaputo 1. Oktober, 2015 Plan für heute 1. Nachbesprechung Übung 2 2. Vorbesprechung Übung 3 3. Zusammenfassung der für Übung 3 wichtigen Vorlesungsslides Informatik 1 (D-BAUG) Giuseppe Accaputo
Informatik 1. Prüfung im Wintersemester 1997/98
Informatik 1 Prüfung im Wintersemester 1997/98 Fachhochschule für Technik und Wirtschaft Reutlingen, Fachbereich Elektronik Prüfungsfach/Studiengang/Semester: Informatik 1 in Elektronik 1 Prüfer: Prof.
Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.
Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit
Grundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
{$MODE Delphi} // fuer Free Pascal unit UCd;
CD -Name -Identifikationsnummer -Beschaffungsdatum -Status +getname() +setname(in Name) +getid() +setid(in ID) +getbeschaffungsdatum() +setbeschaffungsdatum(in Datum) +getstatus() +setstatus(in Status)
Modul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
Grundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
INHALTSVERZEICHNIS. 1 Strukturierte Datentypen. 1.1 String. 1.2 Array (Feld) 1.3 Record. 1.4 Set. 2. Erweiterungen in Pascal
INHALTSVERZEICHNIS 1 Strukturierte Datentypen 1.1 String 1.2 Array (Feld) 1.3 Record 1.4 Set 2. Erweiterungen in Pascal 2.1 Prozeduren und Funktionen 2.1.1 Prozeduren 2.1.2. Funktionen 2.2. File 2.3. Pointer
Informationsverarbeitung im Bauwesen
12 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 11. Vorlesung Objektorientierte Programmierung (OOP) Wozu eigentlich? Was unterscheidet OOP von traditionellen Techniken? Verwendung von vordefinierten
Aufzählungs- und Unterbereichstypen Aufzählungstyp ( enumeration ) (cont d)
Aufzählungs- und Unterbereichstypen Aufzählungstyp ( enumeration ) (cont d) Beispiele: mit Typdefinition Wochentag = (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag); FarbPalette = (Weiss,
Institut für Informatik Christian-Albrechts-Universität zu Kiel. Borland Delphi. Einführung in die Programmiersprache
Institut für Informatik Christian-Albrechts-Universität zu Kiel Borland Delphi Einführung in die Programmiersprache Geschichte Objective Pascal objektorienterte Programmiersprache Rapid Development schweizer
C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11
C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen
Klausur zur Wirtschaftsinformatik II im Grundstudium
Prof. Dr. R. Gabriel Sommersemester 2005 Wirtschaftsinformatik 19. August 2005 Ruhr-Universität Bochum Klausur zur Wirtschaftsinformatik II im Grundstudium - Die Bearbeitungszeit der Klausur beträgt 90
Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
Kurs 1613 Einführung in die imperative Programmierung
1 Wintersemester 2002/2003 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung Wir begrüßen Sie zur Klausur "Konzepte imperativer Programmierung". Lesen Sie sich
Die Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar
7.5.0 Collection Die Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar bestehen. Die Schlüssel sind generell vom Typ String und die assoziierten Werte
Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08
Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende
Objektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen
Agenda für heute, 1. April, 2010 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative
Programmieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
Konzepte der Programmiersprachen
Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C
Einstieg in die Informatik mit Java
1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,
Java I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
Objektorientierte Programmierung mit C++ SS 2007
Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string
Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
Martin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online
Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches
Probeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Einführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
Vorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
Kurs 1613 Einführung in die imperative Programmierung
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { Programm sortiert das Eingabefeld iofeld aufsteigend var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1;
Vorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
Programmieren mit PASCAL
Programmieren mit PASCAL Eine Kurzanleitung Informatik Sekundarstufe II Städtische Gesamtschule Duisburg-Hamborn/Neumühl August 2000 1 EINLEITUNG...3 2 GRUNDLAGEN...3 2.1 AUFBAU EINES EINFACHEN PASCAL-PROGRAMMS...3
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein ([email protected]) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
Kurs 1613 Einführung in die imperative Programmierung
Kurs 1613 Einführung in die imperative Programmierung 1 Wintersemester 2009/2010 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung Wir begrüßen Sie zur Klausur
Kurs 1613 Einführung in die imperative Programmierung Lösungen der Aufgaben zum Studientag
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { Programm sortiert das Eingabefeld iofeld aufsteigend var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1;
PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion
