==== 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)