Vorwort

Während 5 Jahren hatte ich die Möglichkeit Informatiker Lehrlinge zu betreuen und ihnen das Gebiet der Softwareentwicklung näher zu bringen. Es hat mir viel Freude bereitet den jungen Leuten das "Computern" näher zu bringen. Die nachfolgenden Aufgaben habe ich verwendet um schrittweise das Programmieren zu erlernen und Erfahrungen zu sammeln.
Die Beispiele habe ich einem ersten Draw für Delphi aufgelistet und werden noch erweitert, sobald ich Zeit habe ;-)

Siehe auch folgende Informations Quelle für Delphi Grundlagen


Iteration (for, while, repeat until)

Iterationen (Schleifen) ermöglichen es einer Prgrammiersprache Anweisungen mehrmals zu durchlaufen. Diese Art Statement (Befehl) findet man in jeder Programmiersprache mit mehr oder weniger identischem Syntax. Erstelle ein Delphi Konsolenprogramm das folgende Ausgabe auf dem Consolefenster ausgibt.

Hinweis for i:= 1 to 20 do FOR ist der Befehl um eine bekannte Anzahl Schleifendurchgänge zu durchlaufen.
while do Eine Kopfgesteuerte Schlaufe
repeat until Eine Fussgesteuerte Schlaufe
break unterbricht die Schlaufe und führt die Anweisungen nach der Schleife aus
continue fährt mit der nächsten anstehenden Iteration (Schleifendurch-gang) fort

Ausgabe Beispiel 1

 1  2  3  4  5  6  7  8  9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100

Ausgabe Beispiel 2

1  11 21 31 41 51 61 71 81 91
2  12 22 32 42 52 62 72 82 92
3  13 23 33 43 53 63 73 83 93
4  14 24 34 44 54 64 74 84 94
5  15 25 35 45 55 65 75 85 95
6  16 26 36 46 56 66 76 86 96
7  17 27 37 47 57 67 77 87 97
8  18 28 38 48 58 68 78 88 98
9  19 29 39 49 59 69 79 89 99
10 20 30 40 50 60 70 80 90 100

Ausgabe Beispiel 3

          *
         ***
        *****
       *******
      *********
     ***********
    *************
   ***************
  *****************
 *******************
*********************

Selektion (if, else, elseif, case)

Mittels einer Selektion (Bedingung) lässt sich der Programmablauf steuern. Mittels diesem Statement können während des Programablaufs Entscheidungen getroffen werden. Auch diese Art Statement findet man in jeder Programmiersprache. Beachte, das die Selektion respektive der Bedingungsausdruck immer entweder falsch oder wahr zurück geben muss.
Um das Hilfesystem von Delphi kennen zulernen, schlage die Statements if then, else, elseif und case direkt im Delphi Help nach und versuche die Art der Syntax Erklärung/Beschreibung zu verstehen.

Zahlen Ratespiel als Console Programm

Programmiere ein Zahle Rate Spiel. Es ist ein Console Programm zu schreiben, bei dem sich der Computer eine Zahl denkt und der Benutzer am PC diese zu erraten hat. Der Computer soll bei der Eingabe der richtigen Zahl eine Gratulation ausgeben, respektive bei einer falschen Zahl dem Benutzer mitteilen, ob seine gedachte Zahl grösser oder kleiner ist, als die gedachte Zahl des Computers.
Ein Zähler für die Anzahl Versuche wäre auch noch ganz nett.

Hinweis Randomize Initialisiert den Zufalsszahlengenerator.
Random(20) Generiert eine Zufallszahl zwischen 0 und 20
Readln(aWert) Liest eine Eingabe ab Tastatur in aWert ein.
   

Dreieckform bestimmen

Erneut sei ein Consoleprogramm zuschreiben, das auf Grund von drei Seitenlängenangaben ei-nes beliebigen Dreicks entscheidet, ob es sich um:

Lottozahlen Berater

Schreibe ein Console Programm, das dem Anwender Lottozahlen vorschlägt. Es sind 6 gültige Lottozahlen im Bereich von 1 bis 45 vorzuschlagen. Zu beachten gilt:

Datei Operationen

Mit Hilfe von den Delphi Befehlen Readln und Writeln können nicht nur Daten aus Strandard Input gelesen repektive auf Standard Output geschrieben werden, sondern es können auch Dateien als Eingabekänäle verwendet werden.

Hinweis Assignfile(f,'c:\t.txt') Die Prozedur AssignFile weist einer Dateivariablen den Na-men einer externen Datei zu.
Rewrite(f) Die Prozedur Reset öffnet eine vorhandene Datei.
Rewrite(f) Die Prozedur öffnet eine Datei zu Schreibzwecken.
Append(f) Die Prozedur Append bereitet eine vorhandene Datei auf das Anhängen von Textdaten vor.
Readln(f,aWert) Liest eine Zeile aus der Datei f in die Variable aWert ein.
Writeln(f,'Hello') Schreibt den Text 'Hello' in die Assozierte Datei f
Closefile(f) Schliesst den Dateihandle und gibt diesen frei.

Beispiel
var
f: Textfile;
aWert: String;
begin
    Assignfile(f,'c:\config.sys');
    Reset(f);
    while not eof(f) do begin
        Readln(f,aWert);
        Writeln(aWert);
    end;
    Closefile(f);
end;

Analyse eines Textfiles

Es ist ein Console Programm zu schreiben, das in der Lage ist den Output des Befehls
DIR *.JPG /s >C:\Temp.tmp einzulesen. Während dem einlesen soll dann das Programm nur noch solche Zeilen ausgeben, bei denen es sich um Bilder handelt, die eine Dateigrösse von min-destens 500 KBytes aufweisen.

Zeilennummerierung

Es soll ein Tool programmiert werden, das in der Lage ist eine Textdatei mit Zeilennummern zu versehen. Die Zeilennummern sollen zB. einen Platz von 5 Zeichen inklusive Leerabstand zum Text rechts aufweisen. Das Tool soll gemäss folgendem Syntax seine Arbeit verrichten:
Syntax:
                addNumbers MeinSourceFile.txt

Reverse

Das Tool soll in der Lage sein ein beliebiges Textfile in umgekehrter Reihenfolge auszugeben. Die letzte Zeile der Eingabedatei soll dann also als erstes und die erste Zeile als letztes ausgegeben werden.

Grafiken zeichnen

Zeichne folgende Grafik mittels Delphi auf einem Form.

 

 

Diverse Kleinprojekte

Horizontales Scrolling

Es soll eine Routine geschrieben werden, die es erleubt einen Text von Rechts in einem Textfeld reinscrollen zulassen. Der Text soll danach auf der Linken Seite rausscrollen, bevor dieser erneut von Rechts reinscrollt.

Directory Lesen

Es wird ein Tool gewünscht, dass eine anzugebende Directorystruktur durchsucht und Dateien die zB. irgendwo im Namen "Default" enthalten und vom Typ htm, html oder asp sind auflistet.

Aus den aufgelisteten Dateien sollen gültige URL's generiert werden können.

Ziel Hundert

Hier geht es darum als erstes mal das Spiel Ziel Hundert zu spielen und gegen den Computer zu gewinnen. Anschliessend soll die vom Computer gewählte Strategie erkannt werden und in einem eigenen Algorithmus umgesetzt werden.