==== Programmiertechnische Grundlagen ==== Anhand des Programm "Zahlenauswertung" * Variablenbekanntgabe am Anfang des Programms (Deklaration) * Zählervariablen sind anfangs auf einem Anfangswert zu setzen * Summenvariablen sind anfangs auf 0 zu setzen * Benutzereingaben sind mit Benutzerführungshinweisen zu realisieren. Diese sind auf Fehler zu prüfen (z.B.: Try-Catch) * Sollen kleinste und / oder größte Werte ermittelt werden, ist die erste Eingabe in diese "Vergleichvariablen" zu kopieren * Schema der sequenziellen Datenverarbeitung * Lesen des ersten Datenbestandes * Verarbeitungsschleife (solange Daten vorhanden) * Verarbeitung * nächsten Datenbestand * Ermittlung des kleinsten Wertes * Vergleich der jeweiligen Eingabe mit der "Vergleichsvariable für Minimum" * Ermittlung des kleinsten Wertes * Vergleich der jeweiligen Eingabe mit der "Vergleichsvariable für Maximum" * Zählerverwaltung * Addieren bzw. subtrahieren und speichern des Zählschrittes in die Zählervariable: anzahl=anzahl+wert * Summenbildung * Addieren bzw. subtrahieren und speichern des Wertes in die Summenvariable: summe=summe+wert * **Letzte Aktion im Schleifenrumpf: Lesen des nächsten Datenbestandes!!!** * eine mögliche Division durch 0 abfangen * Durchschnit = summe / anzahl * Wenn Divisorinhalt = 0, dann Ausgabe einer Fehlermeldung und Programmende * Ausgabe der Ergebnisse ====Namespaces (Namensräume)==== Zusammenführung von Deklarationen und Diagrammen für den gleichen Zweck. System: grundlegende Eigenschaften und Funktionen (z.B. Konsole) z.B.: System.IO = Eigenschaften und Funktionen von Massenspeichern (Dateien auf Festplatten) Klassen: (class) Zusammenfassung von Attribute und Methoden zu den Attributen * Attribut: Eigenschaften (Variablen, Konstanten) * Anwendung: Methode * Methode: Programm, dass die Attribute verarbeitet z.B.: * Attribute: Auto, Farbe, Motor, Reifen * Methoden: Audi, Silbergrau, 100 PS -> Zusammenbau * Klassen: Fast logische Methoden zu logischen Einheiten zusammen * Namensräume:Fasst Klassen zu logischen Einheiten zusammen **Deklaration:** Namespace { … Klassen … } Attribute: z.B.: int i; … Programme … z.B.: public void Summe() { … Anweisungen … } Beispiel: namespace Schule { class Klasse { Schueler s; Lehrer l; private void Unterricht() { … Anweisungen … } } } ====Objekt deklarieren==== Objekt: Kann von jedem beliebigen Typ sein (z.B. Integer, Grafisches GUI-Element (Button), Filestream) 1. Teil: Deklaration von Objektname und Objektstruktur int i; // Integer-Wert mit Name „i“ Objektname: i Objektstruktur: ganzzahliger Wert Anlage im HEAP-Speicher 2. Teil Wertzuweisung i = 0; Wert steht im STEAK-Speicher (Stabel) Teil 1 und 2 in einem Schritt: int i = 0; oder int i; i = 0; Beispiel 2: string [] Text; Text = {„1“, „2“, „3“, „3“, …} Beispiel 3: for (int i = 0; i < 10; i = i + 1) { … } Beispiel 4: Filestream Fs = new Filestream(); oder Filestream Fs = new Filestream(@”c:\Temp\Beispiel.txt”); Objekt wird über die Ausgaben **Namensraum.Klasse.Methode** bzw. **Namensraum.Klasse.Attribut** angesprochen. (Ausgabe der Hierarchieebenen getrennt durch einen Punkt) -> vgl. Fall-qualified-Name (FQN)