Informatik Programmieren 6.Klasse
|
|
|
- Linus Kappel
- vor 9 Jahren
- Abrufe
Transkript
1 Informatik Programmieren 6.Klasse Inhalt 1. Datentypen Grundlegenden Datentypen in Delphi: Deklaration Globale Variablen Lokale Variablen Initialisierung/Zuweiseung - Definition Typumwandlung: Teilbereichstypen Aufzählungstypen Mengentypen Arrays Dynamische Arrays Mehrdimensionale Arrays Records Verbundvariablen... 8 Übungsbeispiel Personendatenbank mit Records: Variante Records Records mit Methoden Benutzerdefinierte Datentypen Beispiel: Monate, Wochentage Beispiel: Roulette Datentypen Bevor eine Variable verwendet werden kann, sollte man sich darüber im Klaren sein, welche Werte sie aufnehmen soll. Variablen sind also Platzhalter oder "Container" für einen Wert, der Platz im Arbeitsspeicher belegt; der Datentyp ist dagegen der Bauplan, nach dem die Variable erstellt wird. [1]
2 1.1. Grundlegenden Datentypen in Delphi: 1.2. Deklaration Man kann eine Variable nicht einfach verwenden. Vorher muss sie dem Compiler bekannt gemacht werden, damit er beim Kompilieren entsprechende Typprüfungen durchführen kann. Diese Bekanntmachung nennt man Deklaration. Vor einer Deklaration wird das reservierte Wort var geschrieben. Als erstes kommt der Name der Variablen, hinter einem Doppelpunkt der Typ. Mehrere Variablennamen vom gleichen Typ können in einer Zeile, durch Kommata getrennt, stehen. Beispiel: var zahl1, zahl2, zahl3: integer; ergebnis: real; text, eingabe: string; An folgenden Stellen im Code ist das möglich, je nach Gültigkeitsbereich: 1.3. Globale Variablen Bei manchen Programmierern sind sie verpönt, trotzdem sind sie möglich: globale Variablen. Ihr Wert ist in der gesamten Unit verfügbar und in allen Units, die diese einbinden. Die Deklaration erfolgt am Anfang der Unit: unit Unit1; interface uses Windows, Messages, SysUtils, type [2]
3 TForm1 = class(tform) private { Private-Deklarationen } public { Public-Deklarationen } var Form1: TForm1; einezahl: integer; // Diese Variable gilt in der ganzen Unit und // in allen Units, die diese Unit einbinden implementation {$R *.DFM} var eine_andere_zahl: real; { Diese Variable gilt nur in dieser Unit Globale Variablen können bei ihrer Deklaration mit einem Startwert belegt werden: } einezahl: integer = 42; Diese Art der Zuweisung verwendet ein einfaches Gleichheitszeichen, nicht := Bei lokalen Variablen ist diese Initialisierung nicht möglich Lokale Variablen Das Gegenstück zu globalen Variablen sind die lokalen. Hierbei wird eine Variable zu Beginn einer Prozedur, Funktion oder Methode deklariert. Sie kann somit nur innerhalb dieses Abschnitts verwendet werden. Wird die Prozedur/Funktion verlassen, dann wird der Speicher für die Variablen wieder freigegeben, d. h. auf die Werte kann nicht mehr zugegriffen werden. So könnte eine lokale Variablendeklaration aussehen: procedure IchMacheIrgendwas; var text: string;... //Irgendwas Sinnvolles 1.5. Initialisierung/Zuweiseung - Definition Bevor auf eine Variable zugegriffen wird, sollte sie initialisiert werden, es sollte ihr also ein Anfangswert zugewiesen werden. Strings enthalten zwar einen leeren String; alle anderen Variablentypen enthalten jedoch irgendwelche zufälligen Werte. Zuweisung von Werten an eine Variable erfolgt in Pascal durch die Symbolfolge := ("ergibt sich aus"). Im Gegensatz zur Mathematik ist deshalb auch Folgendes möglich: x := x + 1; Das Laufzeitsystem berechnet hier die Summe von x und 1 und legt das Ergebnis dann wieder in x ab. x ergibt sich aus dem bisherigen x plus 1. Kurz: x wird um 1 erhöht. Für diesen Fall gibt es auch eine eigene Prozedur: inc(x). [3]
4 2. Typumwandlung: Im Gegensatz zu einigen anderen Sprachen ist Delphi bei Typen sehr streng. Es ist also nicht möglich, einer Integer-Variable eine Gleitkommazahl-Variable zuzuweisen. Dafür steht eine große Auswahl an Konvertierungsfunktionen zur Verfügung: [4]
5 3. Teilbereichstypen Einen weiteren Datentyp, der eigentlich gar kein eigener Datentyp ist, gibt es noch, nämlich den Teilbereichstyp, auch Unterbereichstyp genannt. Hierüber kann man Variablen z. B. zwar den Typ Integer zuordnen, aber nicht den kompletten Definitionsbereich, sondern nur einen Teilbereich davon: var kleinezahl: ; Der Variablen kleinezahl lassen sich jetzt nur ganze Zahlen zwischen 0 und 200 zuweisen. Ähnlich lassen sich auch Strings begrenzen: var kleinerstring: string[10]; Diese Variable kann nur zehn Zeichen aufnehmen, es handelt sich nun um einen ShortString, der auch Nachteile gegenüber einem "normalen" AnsiString hat. Mehr dazu aber in einem extra Abschnitt über Strings Aufzählungstypen Um das Ganze für einen Programmierer lesbarer zu machen, können statt Zahlen auch konstante Bezeichner verwendet werden: var farben: (blau, gelb, gruen, rot); Intern werden die Werte bei Null nend durchnummeriert und haben deshalb eine feste Reihenfolge. Über die Funktion ord lässt sich die Position bestimmen. Wichtige Funktionen zum Arbeiten mit Aufzählungstypen sind: ord pred succ low high gibt die Position des Bezeichners zurück gibt den Vorgänger zurück gibt den Nachfolger zurück gibt den niedrigsten Wert zurück gibt den höchsten Wert zurück Die Typen Integer und Char gehören ebenfalls zu den ordinalen (abzählbaren) Typen, d.h. die Werte lassen sich in einer Reihenfolge anordnen, weshalb o.g. Funktionen auf sie ebenfalls angewandt werden können. 4. Mengentypen Um in einer einzigen Variablen eine unterschiedliche Menge an Werten des gleichen Typs zu speichern, gibt es Mengentypen. Es ist eine Menge an möglichen Werten vorgegeben, aus der eine beliebige Anzahl (keiner bis alle) in der Variablen abgelegt werden kann. Folgendermaßen wird eine solche Mengenvariable deklariert: var zahlen: set of 1..10; [5]
6 Damit können der Variablen zahlen Werte aus der Menge der Zahlen von 1 bis 10 zugewiesen werden - mehrere gleichzeitig oder auch gar keiner: zahlen := [5, 9]; // zahlen enthält die Zahlen 5 und 9 zahlen := []; // zahlen enthält überhaupt keine Werte zahlen := [1..3]; // zahlen enthält die Zahlen von 1 bis 3 zahlen := zahlen + [5]; // zahlen enthält die Zahlen 1, 2, 3, 5 zahlen := zahlen - [3..10]; // die Zahlen von 3 bis 10 werden aus der // Menge entfernt, es bleiben 1 und 2 Um nun zu prüfen, ob ein bestimmter Wert in der Menge enthalten ist, wird der Operator in verwendet: if 7 in zahlen then... In einem Set sind nur Werte mit der Ordnungsposition von 0 bis 255 möglich. 5. Arrays Müssen mehrere Werte des gleichen Typs gespeichert werden, ist ein Array (zu deutsch Feld oder Liste) eine praktische Lösung. Ein Array hat einen Namen wie eine Variable, jedoch gefolgt von einem Index in eckigen Klammern. Über diesen Index kann man auf die einzelnen Werte zugreifen. Am einfachsten lässt sich das mit einer Straße vergleichen, in der sich lauter gleiche Häuser befinden, die sich jedoch durch ihre Hausnummer (den Index) unterscheiden. Eine Deklaration der Art var testwert: array [0..10] of integer; bewirkt also, dass wir quasi elf verschiedene Integer-Variablen bekommen. Man kann auf sie über den Indexwert zugreifen: testwert[0] := 15; testwert[1] := 234; //usw. Vorteil dieses Indexes ist, dass man ihn durch eine weitere Variable ersetzen kann, die dann in einer Schleife hochgezählt wird. Folgendes Beispiel belegt alle Elemente mit dem Wert 1: for i := 0 to 10 do testwert[i] := 1; Auf Schleifen wird jedoch in einem gesonderten Kapitel eingegangen. Bei dem vorgestellten Array handelt es sich genauer gesagt um ein eindimensionales, statisches Array. "Eindimensional", weil die Elemente über nur einen Index identifiziert werden, und "statisch", weil Speicher für alle Elemente reserviert wird. Legt man also ein Array für Indexwerte von 1 bis an, so wird für Werte Speicher reserviert, auch wenn während des Programmablaufs nur auf zwei Elemente zugegriffen wird. Außerdem kann die Array-Größe zur Programmlaufzeit nicht verändert werden. [6]
7 5.1. Dynamische Arrays Wenn schon so viel Wert auf die Eigenschaft statisch gelegt wird, muss es ja eigentlich auch etwas Dynamisches geben. Und das gibt es auch, zumindest seit Delphi 4: die dynamischen Arrays. Der erste Unterschied findet sich in der Deklaration: Es werden keine Grenzen angegeben. var dynarray: array of integer; dynarray ist nun prinzipiell eine Liste von Integer-Werten, die bei Index Null nt. Zum Hintergrundverständnis: Während statische Arrays direkt die einzelnen Werte beinhalten, enthält ein dynamisches Array nur Zeiger auf einen Arbeitsspeicherbereich. In der Anwendung ist das nicht zu merken, es ist keine spezielle Zeigerschreibweise nötig. Nur an einer Stelle bemerkt man das interne Vorgehen: Bevor man Werte in das Array stecken kann, muss man Speicher für die Elemente reservieren. Dabei gibt man an, wie groß das Array sein soll: SetLength(dynArray, 5); Nun kann das Array fünf Elemente (hier Integer-Zahlen) aufnehmen. Man beachte: Da die Zählung bei Null nt, befindet sich das fünfte Element bei Indexposition 4! Der Zugriff erfolgt ganz normal: dynarray[0] := 321; Damit es mit der Unter- und vor allem der Obergrenze, die ja jederzeit verändert werden kann, keine Probleme gibt (Zugriffe auf nicht (mehr) reservierten Speicher), lassen sich Schleifen am einfachsten so realisieren: for i := 0 to high(dynarray) do dynarray[i] := 0; Dadurch werden alle Elemente auf 0 gesetzt. high(dynarray) entspricht dem höchstmöglichen Index. Über length(a) lässt sich die Länge des Arrays ermitteln, welche immer high(dynarray)+1 ist. Dabei handelt es sich um den Wert, den man mit SetLength gesetzt hat. Da die Länge des Arrays jederzeit verändert werden kann, könnten wir sie jetzt mit SetLength(dynArray, 2); auf zwei verkleinern. Die drei hinteren Werte fallen dadurch weg. Würden wir das Array dagegen vergrößern, würden sich am Ende Elemente mit undefiniertem Wert befinden. [7]
8 5.2. Mehrdimensionale Arrays Wenn es eindimensionale Arrays gibt, muss es auch mehrdimensionale geben. Am häufigsten sind hier wohl die zweidimensionalen. Man kann mit ihnen z. B. ein Koordinatensystem oder Schachbrett abbilden. Die Deklaration ist wie folgt: var koordinate: array [1..10, 1..10] of integer; Es werden also 10x10=100 Elemente angelegt, die jeweils einen Integer-Wert aufnehmen können. Für den Zugriff auf einzelne Werte sind zwei Schreibweisen möglich: koordinate[1,6] := 34; koordinate[7][3] := 42; Und es gibt auch mehrdimensionale dynamische Arrays: var koordinate: array of array of Integer; Die Längenzuweisung erfolgt dann durch Angabe der Länge für jede Dimension: SetLength(koordinate, 10, 10); 6. Records Verbundvariablen Records entsprechen von der Struktur her einem Datensatz einer Datenbank - nur dass sie, wie alle bisher aufgeführten Variablen, nur zur Laufzeit vorhanden sind. Wenn wir unterschiedliche Daten haben, die logisch zusammengehören, können wir sie sinnvollerweise zu einem Record zusammenfassen. Beispiel: Adressen. var Adresse: record name: string; plz: integer; ort: string; Die Variable Adresse wird also in drei "Untervariablen" aufgegliedert. Folgendermaßen greift man auf die einzelnen Felder zu: adresse.name := 'Hans Müller'; adresse.plz := 12345; adresse.ort := 'Irgendwo'; Damit das nicht (besonders bei vielen Elementen) in enorme Tipparbeit ausartet, gibt es dafür auch eine Abkürzung: with adresse do name := 'Hans Müller'; plz := 12345; ort := 'Irgendwo'; [8]
9 Aufgabe: Schreibe Programm Projektverwaltung welches 10 Datensätze Projektaufwand mit folgenden Einzelvariablen erfasst: Person (Name), den Projektnamen(ProjektName), die gearbeiteten Stunden(stunden) und die gearbeiteten Minuten(minuten). Danach soll ein String in ein Memofeld mit beispielsweise folgendem Wortlaut ausgegeben werden : Insgesamt wurde am Projekt Schiffe versenken 5 Stunden und 22 Minuten gearbeitet! Übungsbeispiel Personendatenbank mit Records: Grundlage für das Beispiel ist eine kleine Personaldatenbank, in welcher der Name, das Geburtsdatum, das Geschlecht und die Telefonnummer abgespeichert werden sollen. Bei der Umsetzung werden wir auf kein Standard-Datenbankformat (Paradox, dbase...) zurückgreifen, sondern auf einen benutzerdefinierten Datentyp (Record). Die einzelnen Records werden in einem eindimensionalen Array abgespeichert, auf das bekanntlich über einen Feldindex (entspricht einer laufenden Nummer) zugegriffen werden kann. GUI Plazieren Sie (entsprechend der Abbildung) auf dem Startformular fünf Labels, drei Editierfelder, eine CheckBox und fünf Buttons: Quelltext Fügen Sie in den Private-Abschnitt von TForm1 die folgenden drei Methodendeklarationen ein: Private { Private-Deklarationen } procedure dsinit; // Methode zum Initialisieren aller Datensätze procedure dsspeichern; // dto. zum Speichern eines Datensatzes procedure dsanzeigen; // dto. zum Anzeigen Wir hätten auch auf obige Methodendeklarationen verzichten können und stattdessen drei ganz normale Prozeduren in den Implementation-Abschnitt einfügen können. Die gewählte Vorgehensweise ist aber eleganter und übersichtlicher (insbesondere im Hinblick auf die objektorientierte Programmierung). Im Implementation-Abschnitt definieren wir zunächst unseren Record, um dann eine eindimensionale Array-Variable mit der gewünschten Anzahl von Feldern (10) zu deklarieren: type TPerson = record // Typ der Strukturvariablen [9]
10 name: string[20]; // max. 20 Buchstaben geburt: TDateTime; // Geburtsdatum geschlecht: Boolean; // männlich = True, weiblich = False nr: Integer // Telefonnummer const pmax = 10; // max. Anzahl von Personen = Größe des Arrays var personen: array[1..pmax] of TPerson; // Array-Variable index: Byte = 1; // aktueller Feldindex Nun zu den Methoden-Implementationen: procedure TForm1.FormCreate(Sender: TObject); // Programmstart dsinit; // initialisiert alle Datensätze dsanzeigen // und zeigt den ersten an Es folgen die drei nutzerdefinierten Methoden: procedure TForm1.dsInit; // setzt alle Personen auf Standardwerte var i: Integer; for i := pmax downto 1 do with personen[i] do name := ''; geburt := StrToDate(' '); geschlecht := False; nr := end Von der Anzeige in den Speicher: procedure TForm1.dsSpeichern; personen[index].name := Edit1.Text; if Edit2.Text <> '' then personen[index].geburt := StrToDate(Edit2.Text); personen[index].geschlecht := CheckBox1.Checked; personen[index].nr := StrToInt(Edit3.Text) Vom Speicher in die Anzeige: procedure TForm1.dsAnzeigen; Label1.Caption := IntToStr(index); // Index anzeigen Edit1.Text := personen[index].name; Edit2.Text := DateToStr(personen[index].geburt); CheckBox1.Checked := personen[index].geschlecht; Edit3.Text := IntToStr(personen[index].nr) Zu den vier Bewegungstasten: [10]
11 procedure TForm1.Button3Click(Sender: TObject); // vorwärts (>) if index < pmax then dsspeichern; Inc(index); dsanzeigen; procedure TForm1.Button2Click(Sender: TObject); // rückwärts (<) if index > 1 then dsspeichern; Dec(index); dsanzeigen; end procedure TForm1.Button1Click(Sender: TObject); // zum Anfang ( <) dsspeichern; index := 1; dsanzeigen; procedure TForm1.Button4Click(Sender: TObject); // zum Ende (> ) dsspeichern; index := pmax; dsanzeigen; Nach Programmstart können die Standardwerte mit den Daten einzelner Personen überschrieben werden. Wie bei einem "richtigen" Datenbankprogramm bewegen Sie sich mit den Tasten durch die Datensätze. Damit enden aber schon die Gemeinsamkeiten, denn leider ist die ganze Mühe umsonst gewesen, wenn Sie das Programm verlassen. Dann wird auch der Inhalt des Arbeitsspeichers gelöscht, und die mühselig eingegebenen Personen sind beim Neustart auf Nimmerwiedersehen verschwunden. Aufgabe: Erweitere obenstehendes Übungsprogramm so, dass die eingegebenen Daten resistent gespeichert werden können (auf die Festplatte), sodass sie bei einem neuerlichen Programmstart wieder zu Verfügung stehen! 6.1. Variante Records Eine besondere Form der Records sind die varianten Records. Hier wird mittels case- Unterscheidung immer nur ein bestimmter Datenteil berücksichtigt. Beispiel: type person = record name: string; case erwachsen: boolean of [11]
12 true: (personalausweisnr: integer); false: (kinderausweisnr: integer; erziehungsberechtigte: string); Das Record speichert in jedem Fall die Daten name und erwachsen. Abhängig von dem Wert erwachsen wird dann entweder die personalausweisnr (bei erwachsen=true) oder kinderausweisnr und erziehungsberechtigte (bei erwachsen=false) gespeichert. Ist erwachsen=false, sollte nicht auf den Wert personalausweisnr zugegriffen werden. Dadurch hat man eindeutige Beschreibungen von Feldwerten und kommt nicht in Gefahr, die Kinderausweisnr versehentlich als Personalausweisnr zu speichern. Wichtig ist noch zu bemerken, dass der variante Teil eines Records (also der case-teil) immer am Ende stehen muss. Und case hat in diesem Fall auch kein schließendes end, wie sonst üblich. Die Teile hinter case teilen sich denselben Speicherbereich. Der Compiler reserviert so viel Platz wie die größte Variante benötigt. Deshalb können auch variante Records in typisierten Dateien verwendet werden. Variante Records können auch in Delphi für.net-programmen verwendet werden, werden dort allerdings als "unsicherer Typ" mit einer Warnung versehen. Nun wäre es praktisch, eine größere Menge solcher Variablen zu haben, da eine Adressverwaltung üblicherweise mehr als nur eine Adresse enthält. Die Lösung: Wir kombinieren Array und Record. Damit wir unseren neuen Adresstyp aber einfach weiterverwenden können, wollen wir zuerst einen eigenen Typ anlegen Records mit Methoden Seit Delphi 2006 können Records auch Methoden enthalten. Sie sind damit einer Klasse relativ ähnlich geworden. Vererbung und Polimorphismus sind allerdings nicht möglich. Während Variablen eines Klassentyps bei Funktionsaufrufen per Referenz übergeben werden, werden Records immer als Wert übergeben. Ein Record benötigt zur Erzeugung keinen Konstruktor. Dennoch ist es möglich, zur Initialisierung von Variablen einen zu implementieren, der aber mindestens einen Parameter haben muss. Einen Destruktor hingegen kann es nicht geben, da ein Record ja auch nach Gebrauch nicht wieder freigegeben werden muss - im Gegensatz zur Instanz einer Klasse. 7. Benutzerdefinierte Datentypen Wir erinnern uns: Variablendeklarationen enthalten auf der linken Seite einen Variablennamen und rechts vom Doppelpunkt einen zugehörigen Datentyp. Solche Typen können wir auch selbst definieren, beispielsweise obiges Record: [12]
13 type TAdressRecord = record name: string; plz: integer; ort: string; Eine Typdefinition besteht also aus dem Schlüsselwort type gefolgt von einer Konstruktion, die einer Variablendeklaration ähnelt. Da aber statt einer Variablen ein Typ deklariert wird, ist das Folgende auch kein Variablen- sondern ein Typname. Typnamen nen in Delphi mit einem großen T, wenn sich der Programmierer an den Styleguide gehalten hat. Statt eines Doppelpunkts wird ein Gleichheitszeichen verwendet. Auf die folgende Weise kann solch ein Typ dann verwendet werden: var adresse: TAdressRecord; Diese Variablendeklaration entspricht der im obigen Beispiel für Records. Wollen wir nun noch ein Array daraus machen, dann geht das so: var adresse: array [1..50] of TAdressRecord; Der Zugriff erfolgt streng nach den Regeln für Arrays und Records: adresse[1].name := 'Hans Müller'; adresse[2].name := 'Susi Sorglos'; Will man einer Funktion oder Prozedur ein Array oder ein Record als Parameter übergeben, muss hierfür auch zuerst ein Typ definiert werden: type TMyArray = array of array of Integer; Anschließend kann "TMyArray" als Typ bei der Variablendeklaration oder bei der Implementierung von Funktionen und Prozeduren verwendet werden. [13]
14 7.1. Beispiel: Monate, Wochentage unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls; type MonatsTyp = (Januar, Februar, Maerz, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember); // Grossbuchstaben = 'A'..'Z'; // Teilbereiche herausnehmen Kleinbuchstaben = 'a'..'z'; // Teilbereiche ZZiffern = '0'..'9'; // Teilbereiche TTag = (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag); Tage = Set of TTag; // Teilbereiche Ziffern = Set of 0..9; // Set of ZZiffern Zeichen = Set of Char; // String ist ein Set of Char TForm1 = class(tform) Button1: TButton; Label1: TLabel; Label2: TLabel; Edit1: TEdit; procedure Button1Click(Sender: TObject); function MonatToStr (Monat: Monatstyp): String; function StrToMonat (Monat: String): Monatstyp; private { Private declarations } public { Public declarations } var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Monat1, Monat2: Monatstyp; i : integer; Wochentage, Wochenende, Zweitage: Tage; // Tage ist ja Set of TTag Monat1 := StrToMonat(Edit1.Text); // StrToMonat Monat2 := Mai; if Monat1 < Monat2 then Label1.Caption := MonatToStr(Monat1); //successor-succ predecessor-pred Wochentage := [Montag..Freitag]; Wochenende := [Samstag, Sonntag]; if Mittwoch in Wochentage then Label2.Caption := 'huhu'; [14]
15 function TForm1.StrToMonat (Monat:String): Monatstyp; Case Monat of Januar: MonatToStr := Januar; //Result := 'Januar' Februar: MonatToStr :=Februar; Maerz: MonatToStr := Maerz; April: MonatToStr := April; Mai: MonatToStr := Mai; Juni: MonatToStr := Juni; Juli: MonatToStr := Juli; August: MonatToStr := August; September: MonatToStr := September; Oktober: MonatToStr := Oktober; November: MonatToStr := November; Dezember: MonatToStr := Dezember; function TForm1.MonatToStr (Monat: Monatstyp): String; Case Monat of Januar: MonatToStr := 'Januar'; //Result := 'Januar' Februar: MonatToStr := 'Februar'; Maerz: MonatToStr := 'Maerz'; April: MonatToStr := 'April'; Mai: MonatToStr := 'Mai'; Juni: MonatToStr := 'Juni'; Juli: MonatToStr := 'Juli'; August: MonatToStr := 'August'; September: MonatToStr := 'September'; Oktober: MonatToStr := 'Oktober'; November: MonatToStr := 'November'; Dezember: MonatToStr := 'Dezember'; end Beispiel: Roulette Wichtige Programmteile sind hier eingefügt: type roulettezahlen = 0..36; //die Gesamtmenge Roulette enthält 37 Zahlen roulette = Set of roulettezahlen; //roulette sind Teilmengen von r.z. TForm1 = class(tform) Image1: TImage; Label1: TLabel;... var Form1: TForm1; one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirdteen, fourteen, fifteen, sixteen, seventeen, eighteen, nineteen, twenty, twentyone, twentytwo, twentythree, twentyfour, twentyfive, twentysix, twentyseven, twentyeight, twentynine, thirty, thirtyone, thirtytwo, thirtythree, thirtyfour, thirtyfive, thirtysix, rote, schwarze, d, m, p, manque, passe, row1, row2, row3, pair, impair, zero: roulette; //alle Gewinne sind vom Typ Roulette zahl, kapital, gewinn, einsatz, i: integer; implementation [15]
16 {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); randomize; kapital := 1000; //die einzelnen TeilMengen werden bestimmt rote := [1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36]; schwarze :=[2,4,6,8,10,11,13,15,17,20,22,24,26,28,29,31,33,35]; d := [25..36]; m := [13..24]; p := [1..12]; pair := [2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36]; impair := [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35]; manque := [1..18]; passe := [19..36]; row1 := [1,4,7,10,13,16,19,22,25,28,31,34]; row2 := [2,5,8,11,14,17,20,23,26,29,32,35]; row3 := [3,6,9,12,15,18,21,24,27,30,33,36]; procedure TForm1.Button1Click(Sender: TObject); zahl := random(37); //Zufallszahl wird am Tisch gedreht einsatz := StrToInt(Combobox1.Text); if zahl in rote then //überprüfe ob Zahl in Teilmenge enthalten Label5.Font.Color := clred else Label5.Font.Color := clblack; Label5.Caption := IntToStr(zahl); if checkbet = true then if (zahl in rote) and (Checkbox42.Checked = true) then kapital := kapital + einsatz*2; Label2.Caption := IntToStr(kapital); if (zahl in schwarze) and (Checkbox39.Checked = true) then kapital := kapital + einsatz*2; Label2.Caption := IntToStr(kapital);... [16]
Studienseminar Koblenz - Fachseminar Informatik Visualisierung von Sortieralgorithmen
Thema: Visualisieren von Sortieralgorithmen in Delphi (am Beispiel: Bubblesort und Quicksort) Ziel ist es, eine Animation des Bubblesort- und Quicksort-Algorithmus in Delphi für die Anwung im Unterricht
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
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
unit sudoku; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TCvD_Sudoku = class(tform) Panel1: TPanel; Bevel1: TBevel; Bevel2:
Schriftliche Reifeprüfung aus INFORMATIK: Klasse 8D Haupttermin 2002/03
Schriftliche Reifeprüfung aus INFMATIK: Klasse 8D Haupttermin 2002/03 Name: 1. Programmieraufgabe: DELPHI a) Schreibe ein Delphi-Projekt CHARxxxx.DPR, das folgende Zeichenketten erzeugt: S 1 = A, S 2 =
Grundlagen und Konzepte von C Datenstrukturen
Grundlagen und Konzepte von C Datenstrukturen Ausarbeitung von Andreas Gadelmaier Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik,
Komponente NumEdit für Delphi 5.0
Komponente NumEdit für Delphi 5.0 NumEdit Handbuch Seite 1 von 9 INHALTSVERZEICHNIS Komponente NumEdit... 4 Private Funktion... 5 Protected Funktion... 5 Public Funktion... 6 Published Funktion... 6 Kompnenten
GK Informatik /08 (bumue) Klausur
Aufgabe 1) Ein kleines DELPHI-Projekt soll ein Mini-Bingo Spiel simulieren. Dafür werden zuerst zufällig 5 verschiedene Würfelzahlen (zwischen 1 und 6) erwürfelt und in einem String-Grid nacheinander abgelegt.
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
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,
Name. Aufgabe 1) Zur Erinnerung:
Aufgabe 1) Pick it up heißt das kleine Spiel, das mit Hilfe eines DELPHI-Projekts simuliert wurde. (s.anlage!) a) Analysiere das Projekt und beschreibe, was in dem Spiel geschieht. Kommentiere die einzelnen
Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben
Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit
Delphi Starter. Einführung in Embarcadero Delphi. Florian Hämmerle, Martin Strohal. Christian Rehn, Andreas Hausladen
Delphi Starter Einführung in Embarcadero Delphi Florian Hämmerle, Martin Strohal Christian Rehn, Andreas Hausladen Version 1.0, Juni 2011 Inhaltsverzeichnis 1. INHALT 2. Worum geht es hier?... 7 2.1. Was
Variablen, Konstanten und Datentypen
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling [email protected] Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick
Delphi Grundkurs Seite 31
Delphi Grundkurs Seite 31 Beispiel 9 Notenanalyse Problem: Programm P09 Schulnoten in Editfeld eingeben: bei wird Text in Zahl x umgewandelt; Bei Eingabefehler (x < 1 oder x > 5 oder x nicht numerisch)
Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3
Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................
C++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, mneueintrag, meintrag, morderedlist;
unit madressliste; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, mneueintrag, meintrag, morderedlist; type TMain = class(tform) Panel1: TPanel;
Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
3.2 Datentypen und Methoden
Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte
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
5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu!
5.4 Arrays Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! Feld: Index: 17 3-2 9 0 1 0 1 2 3 4 5 Harald Räcke 114/656
Typisierte Dateien von Martin Strohal. Einleitung. Der Record
Typisierte Dateien von Martin Strohal Einleitung Herzlich willkommen im Tutorial zum Erstellen und Verwenden sequenzieller Dateien! Als Allererstes: Was sind eigentlich "sequenzielle Dateien" und wozu
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
C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.
Mehrdimensionale Arrays
Mehrdimensionale Arrays Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Eindimensionale Arrays haben wir bereits kennen gelernt. Es gibt aber auch mehrdimensionale Arrays. Die sind auch sehr notwendig, denken
Projekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
Round One. Deutsche Eishockey Liga Betriebsgesellschaft mbh
Round One Freitag, Sep 3 Adler Mannheim vs. EHC München ERC Ingolstadt vs. Thomas Sabo Ice Tigers Grizzly Adams Wolfsburg vs. Hannover Scorpions Hamburg Freezers vs. Kölner Haie Iserlohn Roosters vs. Eisbären
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?
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 +
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
GI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
ÜBUNGS-BLOCK 7 LÖSUNGEN
ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i
Umsetzung einer Klassenkarte in einer Programmiersprache
Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,
Felder, Zeiger und Adreßrechnung
Felder, Zeiger und Adreßrechnung Felder bestehen aus Variablen eines einzigen Datentyps. Bisher kennen wir eindimensionale Felder. In C sind Felder mit beliebigen Dimensionen möglich. Unsere räumliche
Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach [email protected] http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
Tag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15
Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen
Grundlagen der Programmierung Teil1 Einheit III Okt. 2010
Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den
C++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
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
9. Vektoren. (auch Felder/array)
9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die
Arrays. Einleitung. Deklarieren einer Array Variablen
Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt
Delphi eine Einführung
Delphi eine Einführung 1. Die Entwicklungsumgebung Delphi ist ein sogenanntes RAD Werkzeug. RAD = Rapid Application Development = schnelle Anwendungsentwicklung Merkmale: - es gibt vorgefertigte Komponenten
Workshop 1 Idealgewicht, Version 1 Starten Sie Delphi. Erstellen Sie ein Formular, das ungefähr so aussieht wie die folgende Abbildung:
3. IDEALGEWICHT Kurz zum Ziel dieses Abschnitts: Wir wollen ein Programm schreiben, welches das Idealgewicht des Benutzers aus der Körpergröße und dem Geschlecht berechnet. Workshop 1 Idealgewicht, Version
INE1 Arrays, Zeiger, Datenstrukturen
INE1 Arrays, Zeiger, Datenstrukturen Arrays Felder von Elementen gleichen Typs Verwenden von Adressen: Zeiger Datenstrukturen mit struct Zeiger auf Datenstrukturen Spezielle Zeiger und komplexe Deklarationen
Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
Anregungen zu Übung 2
Anregungen zu Übung 2 Allgemeine Informatik II - SS 2007 Was sind Arrays und wie kann man sie verwenden? Ein Array ist ein spezieller Datentyp, der mehrere Werte zu einer Einheit zusammenfasst. Er ist
1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
1. Referenzdatentypen: Felder und Strings
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
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
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
Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
Programmieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11
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.
Programmierung mit Delphi
Programmierung mit Delphi Programmierung Kommunikation Mensch Maschine Komponente Attribute Formular Größe, Farbe, Schaltflächen,... Label Beschriftung (Caption),... Edit... Button... Quellcode Anweisungen
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
Objektorientierte Programmierung und Modellierung
Objektorientierte Programmierung und Modellierung Einführung, Teil 2 24.10.17 - WS17/18 Hakan Aksu 1 Raumänderung beachten Dienstag 14:15-15:45 Uhr in M001 (anstatt K101) 2 Ausfalltermine 31.10 Vorlesung
6. Zeiger Allgemeines Definition eines Zeigers
6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
Algorithmen und ihre Programmierung
Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines
2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
Einstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik
5. Datenstrukturen Motivation Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik Eine Datenstruktur speichert gegebene Daten und stellt auf diesen bestimmte Operationen
Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme
Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,
Programmierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
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:
DELPHI 03 SIEBEN ÜBUNGSPROGRAMME. Herbert Paukert
Herbert Paukert: Programmieren in DELPHI Grundkurs, Teil 3 41 DELPHI 03 SIEBEN ÜBUNGSPROGRAMME Herbert Paukert [3.01] Quadratische Gleichungen "quagl" (- 42 -) [3.02] Die Statistik von Schulnoten "noten"
C++ Notnagel. Ziel, Inhalt. Programmieren in C++
C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt
Java Referenzdatentypen genauer betrachtet
Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen
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
Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 1 SS 2016
Eine praktische Einführung in die Programmierung mit der Programmiersprache C
Eine praktische Einführung in die Programmierung mit der Programmiersprache C www.c-howto.de C-HowTo www.c-howto.de Inhaltsverzeichnis 1 Einführung.. 10 1:1 Wozu Programmieren? 10 1.2 Was ist ein Programm?
Grundlagen der Informatik
Grundlagen der Informatik Musterklausur 1. Dynamische Datenstrukturen und objektorientierte Programmierung Zur Verwaltung einer digitalen Fotogalerie sollen Techniken der objektorientierten Programmierung
Einstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von
Klassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
Excel VBA Arrays, Enumeration und benutzerdefinierte Typen
Excel VBA Arrays, Enumeration und benutzerdefinierte Typen Array (Feld)... ist aus vielen Variablen, die den gleichen Datentyp besitzen, zusammengesetzt.... fasst Elemente vom gleichen Datentyp zusammen....
7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code:
7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines Spiels werden von den 10 besten Spielern die Namen
Prozeduren und Funktionen
OSZ Handel I - Gymnasiale Oberstufe (Abt. V) In Anlehnung an: Duden Informatik (3.Auflage, Dudenverlag, 2001, S. 477). Prozeduren und Funktionen Fach: Informatik Parameter sind Platzhalter in einer Prozedur
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
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
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
