PS-Trainer C - Entwicklung
Lehreinheit Nr. 3
Homepage von PS-Trainer - C-Entwicklung - Bibliotheken - an PS-Trainer
PS-Trainer PS-Trainer

Zusammenarbeit mehrerer einfacher Unterprogramme:
Ziel dieser Lehreinheit ist die Zusammenarbeit kleinerer Unter-Einheiten. Sie erhalten ein Entwicklungsprojekt, diskutieren alle Aspekte der Entwicklung, und definieren Teil-Aufgaben.

Lern-Phase: In der ersten Phase eignen sie sich in mehreren kleinen Projekten das notwendige Fachwissen für die Lösung der Aufgaben an. Dazu setzen sie sich mit den einzelnen Teil-Projekten in möglichst einfacher Form auseinander. Recherchieren sie, schreiben sie Testprogramme und speichern sie den Code für die spärere Verwendung. Verschwenden sie keine Zeit für die äußere Form, testen sie jedoch sorgfältig. Konzentrieren sie sich auf die Kernfunktion, überlassen sie Details der späteren Ausarbeitung.

Planung, Schnittstellen, dummies: In der zweiten Phase beginnt die reale Arbeit an den Teilprojekten: Die notwendigen Schnittstellen werden definiert. Jede/r StudentIin bzw. jede Gruppe erhält eines oder mehrere Teilprojekte delegiert, eines davon ist der Zusammenbau der Teile. Ihr Ziel: Sie sollten so rasch wie möglich ein dummy-Resultat abliefern, das formal genau (!) den Spezifikationen entspricht, jedoch inhaltlich (noch) nichts tut. Damit können andere Gruppen bereits provisorisch weiterarbeiten. Sobald sie erste Ergebnisse haben, wird ihre dummy-Funktion durch eine funktionierende ersetzt.

Programmierung, Einzeltest: In der dritten Phase programmieren sie ihre Teilprojekte und testen diese professionell. Sobald eine Version fertig ist, wird sie zur Integration in das Gesamtprojekt freigegeben.

Rückkopplung, Fehler-Korrektur: Aus den Test-Ergebnissen des Gesamtprojekts ergeben sich Änderungen, Anregungen usw. Diese werden von ihnen umgehend verarbeitet und führen zu neuen, verbesserten Versionen ihrer Teil-Module.

Fertigstellung: Zuletzt entsteht durch Integration aller Bestandteile die fertige Lösung.


Beschreibung des Projekts ATSEUR:
Stellen sie ein Programm her, das (im Konsolen-Betrieb) ATS in EUR und umgekehrt umrechnet.

Eine einfaches Muster dieses Programms ist in wenigen Minuten hergestellt. Gerade deshalb eignet sich dieses Beispiel besonders gut dazu, den Unterschied zu professionelle Programmierung zu demonstrieren, und nebenbei eine ganze Menge anderer Details zu lernen.

Das Programm soll mit Commandline-Argumenten arbeiten, d.h. aus einem Konsolen-Fenster etwa so aufgerufen werden:
ATSEUR 123.34 A oder ATSEUR E 34 usw.
Anzahl und Reihenfolge der Argumente soll variabel sein. Falls keine Commandline-Argumente vorliegen, soll das Programm einmalig über Konsole die benötigten Argumente (Wert, Währung) abfragen.
Als Steuer-Symbole für die Währung soll a oder A bzw e oder E zugelassen werden, und zwar an jeder beliebigen Stelle der/des Eingabe-Strings.
Als Kommazeichen werden sowohl "." als auch "," zugelassen.
Das Programm soll die für DOS-Programme typische Hilfe enthalten.
Falls kein Wert oder der Wert=0 definiert wird, so wird Wert=1 gesetzt.
Falls keine Währung definiert wird, so setzt das Programm vor dem 1.1.2002 ATS ein, danach EUR.
Die angeführten Spezifikationen sind absichtlich nicht sehr genau und umfassen auch nicht alle benötigten Definitionen. Ein wenig Planungs-Arbeit bleibt daher für sie !


Übungs-Aufgaben zur Vorbereitung auf das Projekt:
001 String - Länge
002 String - Suche 1: Token
003 String - Suche 2: Teilstrings
004 Command-Line Argumente
005 Datum
006 Rundung realer Zahlen
007 Umwandlung von Strings in Zahlen
008 Umwandlung von Zahlen in Strings

001
String-Länge

Erstellen sie ein Haupt-Programm, in dem über die Konsole 1 string eingegeben wird.
Erstellen sie eine Funktion, welche die Länge eines strings zurückgibt.
Testen sie ihr Programm, u.a. auch mit strings, die Leerzeichen enthalten.

Hilfe: Für die Eingabe stehen ihnen mehrere Funktionen zur Verfügung. Überlegen sie und testen sie, welche davon in Frage kommt. Programmieren sie eine eigene Eingabe-Funktion, wenn ihnen die vorhandenen nicht passen. Für die Bestimmung der Länge gibt es bereits eine Funktion - vergleichen sie die Resultate.


002
String - Suche 1: Token

Erstellen sie ein Haupt-Programm, in dem über die Konsole 1 string eingegeben wird.
Erstellen sie eine Funktion, welche die Anzahl der im string enthaltenen Token (z.B. das Zeichen "#") ermittelt.
Erstellen sie eine Funktion, welche die Position des 1. Auftretens eines Token nach einer bestimmten Position ermittelt (Damit können sie der Reihe nach alle Token eines strings adressieren).


003
String - Suche 2: Teilstrings

Erstellen sie ein Haupt-Programm, in dem über die Konsole 1 string eingegeben wird.
Erstellen sie eine Funktion, welche die Position eines vorgegebene Teilstrings (z.B. das Wort "Hilfe") ermittelt, der vollständig enthalten sein muß.


004
Command-Line Argumente
Erstellen sie ein Haupt-Programm, an das über die Konsole Command-Line Argumente übergeben werden.
Erstellen sie eine Funktion, welche die Anzahl der CMD-Argumente sowie jedes einzelne der CMD-Argumente auf der Konsole ausdruckt.

005
Datum

Erstellen sie eine Funktion, welche das aktuelle Datum mit zwei vorgegebenen Datums-Werten vergleicht (1x vergangen, 1x zukünftig).

006
Rundung realer Zahlen

Erstellen sie ein Haupt-Programm, das von der Konsole eine ganze Zahl (Schleifenzähler) holt.
Erstellen oder verwenden sie eine Funktion, die je Aufruf eine reale Zahl 0...100 liefert.
Erstellen sie eine Funktion, die eine reale Zahl auf eine vorgegebene Anzahl von Dezimalstellen (z.B. 2) rundet.
Drucken sie je Schleife die Zufallszahl und die gerundete Zahl im Hauptprogramm oder einem weiteren Unterprogramm aus.


007
Umwandlung von Strings in Zahlen

Erstellen sie ein Haupt-Programm, das von der Konsole einen String (Ganze Zahl) holt.
Erstellen sie eine Funktion, die den string in eine ganze Zahl umwandelt.
Diskutieren sie eine Erweiterung auf reale Zahlen
Diskutieren sie eine Erweiterung: isolieren sie die Zahl aus einem "Gemisch" anderer Zeichen, die zu ignorieren sind.

008
Umwandlung von Zahlen in Strings

Erstellen sie ein Haupt-Programm, das von der Konsole eine ganze Zahl holt.
Erstellen sie eine Funktion, die diese Zahl in einen String umwandelt.
Fügen sie bei Bedarf 1000er-Punkte ein.
Diskutieren sie eine Erweiterung auf reale Zahlen (Nachkommastellen...)


Homepage von PS-Trainer - Entwicklung - an PS-Trainer

Aktuelle Daten dieser Seite Letzte Änderung:
  Geocities