Author
vankiet
View
239
Download
0
Embed Size (px)
Delphi Programmieren lernen fr Einsteiger
vonDietmar Weber
1. Auflage
Delphi Programmieren lernen fr Einsteiger Weber
schnell und portofrei erhltlich bei beck-shop.de DIE FACHBUCHHANDLUNG
Europa Lehrmittel 2004
Verlag C.H. Beck im Internet:www.beck.de
ISBN 978 3 8085 8435 4
http://www.beck-shop.de/Weber-Delphi-Programmieren-lernen-Einsteiger/productview.aspx?product=12419542&utm_source=pdf&utm_medium=clickthru_lp&utm_campaign=pdf_12419542&campaign=pdf/12419542http://www.beck-shop.de/Weber-Delphi-Programmieren-lernen-Einsteiger/productview.aspx?product=12419542&utm_source=pdf&utm_medium=clickthru_lp&utm_campaign=pdf_12419542&campaign=pdf/12419542http://www.beck-shop.de?utm_source=pdf&utm_medium=clickthru_lp&utm_campaign=pdf_12419542&campaign=pdf/12419542http://www.beck.de
Computerpraxis Schritt fr Schritt
Delphi
Programmieren lernen fr Einsteiger
VERLAG EUROPA-LEHRMITTEL Nourney, Vollmer GmbH & Co. KG Dsselberger Strae 23 42781 Haan-Gruiten Europa-Nr.: 84351
2 Impressum
Autor
OStR Dietmar Weber, Koblenz
Verlagslektorat
Benno Buir
Die in diesem Lehr- und Lernbuch genannten Software-, Hardware- und Handelsnamen sind in ihrer Mehrzahl gleichzeitig auch eingetragene Warenzeichen. Das vorliegende Buch wurde auf Grundlage der neuen amtlichen Rechschreibregeln ers tellt.
1. Auflage 2004 Druck 5 4 3 2 1 Alle Drucke derselben Auflage sind parallel einsetzbar, da sie bis auf die Behebung von Druckfehlern untereinander unverndert sind. ISBN 3-8085-8435-1 Alle Rechte vorbehalten. Das Werk ist urheberrechtlich geschtzt. Jede Verwertung auerhalb der gesetzlich geregelten Flle muss vom Verlag schriftlich genehmigt werden. 2004 by Verlag Europa-Lehrmittel, Nourney, Vollmer GmbH & Co. KG, 42781 Haan-Gruiten http://www.europa-lehrmittel.de Satz: Dietmar Weber, 56073 Koblenz Druck: Media Print Informationstechnologie, 33100 Paderborn
Vorwort 3
Vorwort
Anfang der Neunzigerjahre fand im Bereich der Programmierung ein Umbruch statt, die so genannten strukturierten Programmiersprachen wurden mehr und mehr von den grafik- und objektorientierten Programmiersprachen verdrngt. Fr den Lerner bedeutete dies, dass einiges neues Wissen hinzu gekommen ist. In der quantitativ und qualitativ unberschaubaren Flle stellt sich fr den Lerner die Frage: Wie lernt man heutzutage eine Programmiersprache und welche Aspekte sollten dabei beachtet werden? Sammelt man diesbezglich Begriffe, so knnte Folgendes zustande kommen.... Allgemein gltig eigenverantwortliches Lernen weit verbreitet Schlsselqualifikationen exemplarisch problemorientiertes Programmieren objektorientiertes Programmieren bungsintensiv GUI-Programmierung Selbsterschlieungsfhigkeiten
u. v. m.
Mit diesem Buch werden folgende Ziele verfolgt:
Der Lerner lernt die Prinzipien des Programmierens. Dass, was er lernt, lsst sich auf andere Programmiersprachen bertragen. Es sollte deshalb eine Programmiersprache gewhlt werden, die dies ermglicht. Delphi stellt hierbei eine mgliche Lsung dar.
Der Lerner lernt, wie man sich selbststndig neue Problematiken erschliet. Die Lernunterlagen frdern die Selbsterschlieungsfhigkeiten, ohne den Neuling quantitativ bzw. qualitativ zu berfordern.
Der Lerner erhlt einen Einblick in die GUI-Programmierung und somit in den aktuellen Entwicklungsstandard.
Voraussetzungen: Die bungen und die Entwicklung dieses Buches basieren auf dem Borland Delphi Compiler Delphi 6.0 Professional. Zur Bearbeitung bentigen Sie eine Delphiversion ab Delphi 3.0 Standard.
Autor und Verlag wnschen den Leserinnen und Lersern dieses Buches viel Erfolg beim Einstieg in das Programmieren. Kritik, Hinweise und Anregungen werden gerne entgegen genommen: [email protected] [email protected] Im Sommer 2004
4 Leittextmethode
Leittextmethode Was ist die Leittextmethode? Das Buch orientiert sich an der Leittextmethode. Bei dieser Methode sollen aufbereitete Aufgaben (Aufgabenteil ) selbststndig gelst werden. Um diese Aufgaben lsen zu knnen, bedarf es entsprechender Informationen (Informationsteil ). Diese Informationen stehen i. d. R. in Form von Texten zur Verfgung und sollen den Lerner entsprechend anleiten. Daher stammt der Begriff - Leittexte - Mit diesen Unterlagen werden im Wesentlichen zwei Ziele verfolgt:
Selbststndiges Lernen unter Anleitung, d. h. Methodenlernen Lernen von grundlegenden Programmiertechniken mittels Delphi
Wie arbeite ich mit dem Buch? Man beginnt mit dem Aufgabenteil! Eine Aufgabe stellt den zentralen Ausgangspunkt dar. Zur Lsung einer Aufgabe beschafft man sich die entsprechenden Informationen aus dem Informationsteil. Weitere Informationsquellen knnen selbstverstndlich hinzugezogen werden,
sind fr die Bewltigung zumeist jedoch nicht notwendig. Die Bearbeitung einer Aufgabe gliedert sich in verschiedene Phasen. Phasen Leittextmethode Kapitelabschnitt Beschreibun g
1. Informieren
Lernziele Klrung der zu erreichenden Ziele. Informationsquellen: Informationsteil, Informatikduden, Delphi-Hilfe, Fach-zeitschriften, Internet etc.
2. Planen und 3. Entscheiden
Aufgabenbeschreibung Zentrale Aufgabe des Kapitels! Was ist zu tun? Planung der Durchfhrung.
4. Durchfhren
Arbeitsschritte Erarbeiten der Aufgabenstellung unter Anleitung (falls notwendig).
5. Kontrollieren und 6. Bewerten
Lernerfolgskontrolle Wurden die oben angegebenen Ziele erreicht? Selbststndiges Kontrollieren und Bewerten der eigenen Fhigkeiten.
Alle Phasen
Erweiterung und Vertiefung Erweiterung und ggf. Vertiefung der Kenntnisse durch entsprechende Fragen bzw. Erarbeitung eines kleinen (Micro-Project) Projektes unter Anwendung aller Phasen, ohne detaillierte Beschreibung des Lsungsweges.
Inhalt 5
Aufgabenteil
A1 Einfhrung Programmierung.......................... ..............................................9 Was bedeutet Programmieren?
A2 Schnuppern in Delphi.............................. ....................................................10 Programmaufbau, Zeichenvorrat und Syntax, Entwicklungsumgebung
A3 Einfache Programme................................ ...................................................11 A3.1 Standard-Datentypen........................... ...........................................11 Ganzzahl-, Gleitkommatypen
A3.2 Variablen und Konstanten...................... ........................................12 Deklaration, Variablen und Konstanten
A3.3 Ein- und Ausgabe.............................. ..............................................13 Formatierte Ein- und Ausgabe
A3.4 Rechnen in Delphi............................. ..............................................14 Operatoren und Ausdrcke, Ganzzahloperationen
A4 Kontrollstrukturen Folgestrukturen .............. ..........................................16 A4.1 Programmentwicklung........................... .........................................16 Algorithmusbegriff, Programmentwicklungsphasen, Grafische Darstellung
A4.2 Sequenz ....................................... ....................................................17 Sequenzielle Programme
A5 Kontrollstrukturen Verzweigungen ................ .........................................18 A5.1 Zweiseitige Verzweigung....................... .........................................18 ifthenelseAnweisung
A5.2 Einseitige Verzweigung ........................ ..........................................19 ifthenAnweisung
A5.3 Mehrseitige Verzweigung ....................... ........................................20 Verschachtelte ifthenelseAnweisung
A5.4 Mehrfachauswahl ............................... .............................................21 caseAnweisung
A6 Kontrollstrukturen Schleifen.................... ................................................22 A6.1 Kopfgesteuerte Schleife ....................... ..........................................22 whileSchleife
A6.2 Fugesteuerte Schleife........................ ...........................................23 repeatSchleife
A6.3 Zhlschleife .................................. ...................................................24 forSchleife
6 Inhalt
A7 Unterprogramme.................................... ..................................................... 26 A7.11 Prozeduren mit Wertparameter .................. ................................... 26 Deklaration und Aufruf call by value, Allgemeiner Aufbau einer Prozedur
A7.12 Prozeduren mit Referenzparameter ............... ............................... 27 Deklaration und Aufruf call by reference, Allgemeiner Aufbau einer Prozedur
A7.2 Funktionen.................................... .................................................. 28 Deklaration und Aufruf, Rckgabewerte, Allgemeiner Aufbau einer Funktion
A8 Module (Units) .................................... ......................................................... 30 Konzeption, Aufbau, Deklaration
A9 Rekursion ......................................... ........................................................... 32 Iteration versus Rekursion, Abbruchbedingung
A10 Strukturierte Datentypen .......................... .................................................. 33 A10.1 Strings...................................... ....................................................... 33 Deklaration
A10.2 Arrays (Felder).............................. .................................................. 34 Eindimensionale Arrays, mehrdimensionale Arrays
A10.3 Records (Verbunde) ........................... ............................................ 36 Deklaration, withAnweisung, record im record
A11 Datenstrukturen und Algorithmen................... .......................................... 38 A11.2 Sortierverfahren ............................. ................................................ 38 berblick, Sortieren durch Auswhlen, Einfgen, Vertauschen
A11.3 Suchverfahren ................................ ................................................ 39 Lineare Suche, Halbierungssuche
P11 Listenoperationen .............................. ............................................ 40 Projektplanung, Implementierung
A12 GUIEntwurf ....................................... ......................................................... 42 Jetzt geht's los, Beispiel, Ereignisprogrammierung
Inhalt 7
Informationsteil
I1 Einfhrung Programmierung.......................... ............................................45 Was bedeutet Programmieren?
I2 Schnuppern in Delphi.............................. ....................................................47 Programmaufbau, Zeichenvorrat und Syntax, Entwicklungsumgebung
I3 Einfache Programme................................ ...................................................52 I3.1 StandardDatentypen ........................... ..........................................53 Ganzzahl-, Gleitkommatypen, Strukturierte Datentypen
I3.2 Variablen und Konstanten...................... ........................................57 Zuweisungsregeln, Deklaration von Konstanten
I3.3 Ein- und Ausgabe.............................. ..............................................59 Formatierte Ein- und Ausgabe
I3.4 Rechnen in Delphi............................. ..............................................60 Operatoren und Ausdrcke, Ganzzahloperationen
I4 Kontrollstrukturen Folgestrukturen .............. ..........................................64 I4.1 Programmentwicklung........................... .........................................64 Algorithmusbegriff, Programmentwicklungsphasen, Grafische Darstellung
I4.2 Sequenz ....................................... ....................................................69 Sequenzielle Programme, Verbundanweisung
I5 Kontrollstrukturen Verzweigungen ................ .........................................70 I5.1 Zweiseitige Verzweigung....................... .........................................70 ifthenelseAnweisung
I5.2 Einseitige Verzweigung ........................ ..........................................72 ifthenAnweisung
I5.3 Mehrseitige Verzweigung ....................... ........................................73 Verschachtelte ifthenelseAnweisung, Bedingungen
I5.4 Mehrfachauswahl ............................... .............................................76 caseAnweisung
I6 Kontrollstrukturen Schleifen.................... ................................................78 I6.1 Kopfgesteuerte Schleife ....................... ..........................................78 whileSchleife
I6.2 Fugesteuerte Schleife........................ ...........................................80 repeatSchleife
I6.3 Zhlschleife .................................. ...................................................81 forSchleife
8 Inhalt
I7 Unterprogramme.................................... ..................................................... 84 I7.1 Prozeduren ..................................... ................................................ 86 Prozeduren mit Wert- und Referenzparameter, Allgemeiner Aufbau einer Prozedur
I7.2 Funktionen.................................... .................................................. 88 Deklaration und Aufruf, Rckgabewerte, Allgemeiner Aufbau einer Funktion
I8 Module (Units) .................................... ......................................................... 91 Konzeption, Aufbau, Deklaration
I9 Rekursion ......................................... ........................................................... 93 Iteration versus Rekursion, Abbruchbedingung
I10 Strukturierte Datentypen .......................... .................................................. 97 I10.1 Strings...................................... ....................................................... 97 Deklaration
I10.2 Arrays (Felder).............................. .................................................. 99 Eindimensionale Arrays, mehrdimensionale Arrays
I10.3 Records (Verbunde) ........................... .......................................... 103 Deklaration, withAnweisung, record im record
I11 Datenstrukturen und Algorithmen................... ........................................ 106 I11.1 Listen ....................................... ..................................................... 106 Aufbau und Deklaration
I11.2 Sortierverfahren ............................. .............................................. 107 berblick, Sortieren durch Auswhlen, Einfgen, Vertauschen
I11.3 Suchverfahren ................................ .............................................. 111 Lineare Suche, Halbierungssuche
I12 GUIEntwurf ....................................... ....................................................... 114 Jetzt geht's los, Beispiel, Ereignisprogrammierung
Anhang
A Glossar ............................................ .......................................................... 124
B Sachregister ....................................... ....................................................... 130
C Struktogramm/Programmablaufplan .................... ................................... 132
A 1 Einfhrung Programmierung 9
A 1 Einfhrung Programmierung
Was bedeutet Programmieren?
Lernziele Programmiersprachen nennen knnen Informationen selbststndig beschaffen und auswerten
Erarbeiten Sie eine bersicht, auf der die Entwicklung der einzelnen Programmiersprachen whrend der letzten 40 Jahre ersichtlich wird. Besprechen und vergleichen Sie Ihr Ergebnis mit Ihrem Nachbarn. Benutzen Sie weiterfhrende Quellen zur Lsung dieser Aufgabe.
1. Recherche mittels verschiedener Quellen 2. Auswahl der Informationen (Brainstorming) 3. Auswahl eines geeigneten Werkzeugs zur Visualisierung 4. Erstellung des Produktes (z. B. PowerPoint, Folie, Plakat etc.)
a) Nennen Sie 8 verschiedene Programmiersprachen. b) Was versteht man unter Maschinensprache? c) Wodurch unterscheidet sich die Assemblersprache von der Maschinensprache? d) Was versteht man unter einer hheren Programmiersprache? e) Erklren Sie den Unterschied zwischen einem Compiler und einem Interpreter. f) Was versteht man unter der Syntax einer Programmiersprache? g) Was versteht man unter der Semantik einer Programmiersprache? h) Mit welchem Werkzeug findet man Fehler hinsichtlich der Semantik?
i) Seit wann ist Delphi auf dem Markt verfgbar und in welchen Versionen ist diese Sprache
zurzeit erhltlich? j) Welches ist die Vorgngersprache von Delphi und wann und von wem wurde sie
entwickelt?
Aufgabenbeschreibung
Arbeitsschritte
Lernerfolgskontrolle
Erweiterung und Vertiefung
10 A 2 Schnuppern in Delphi
A 2 Schnuppern in Delphi
Programmaufbau Zeichenvorrat und Syntax Entwicklungsumgebung
Lernziele Die Entwicklungsumgebung handhaben Ein Delphiprogramm eingeben und testen
Geben Sie das Programm mein_erstes_delphi_programm aus dem Infoteil I2 ein und testen
Sie es.
1. Erstellen Sie auf Ihrem Datenlaufwerk eine Ordnerstruktur zur Verarbeitung der
Delphibungen. 2. Erstellen Sie das o. a. Programm und beseitigen Sie die Fehler. 3. Testen Sie das Programm ohne das letzte readln. 4. Erstellen Sie das ablauffhige Programm welt.exe und rufen Sie es vom Explorer aus auf.
Speichern Sie das Programm, Dateiname: welt.dpr
a) Welche Delphidateien entstehen durch Ihr Projekt und wofr werden diese Dateien
bentigt? b) Was versteht man unter einem Bezeichner bzw. reservierten Wort? c) Was versteht man unter der Semantik einer Programmiersprache? d) Aus welchen 3 Teilen setzt sich ein Delphikonsolprogramm zusammen? e) Was ist eine Compilerdirektive? f) Wozu dient die Anweisung uses?
g) Wie wird der Anweisungsteil eingeleitet bzw. beendet? h) Auf welche Weise kann man Kommentare in ein Programm einfgen? i) Was ist ein Editor?
j) In welcher Unit ist die Funktion sin(x) enthalten und was macht diese Funktion?
k) Informieren Sie sich ber die Syntaxdiagramme von Pascal bzw. Object-Pascal.
Aufgabenbeschreibung
Arbeitsschritte
Lernerfolgskontrolle
Erweiterung und Vertiefung
A 3 Einfache Programme 11
A 3.1 StandardDatentypen
Ganzzahltypen Gleitkommatypen
Lernziele Datentypen von Ganzzahl- und Gleitkommazahlen unterscheiden knnen
Geben Sie das Programm bruttoberechnung aus dem Infoteil I3 ein und analysieren Sie die einzelnen Programmzeilen. Vergeben Sie anschlieend statt des Datentyps single den Datentyp integer fr die Variablen und erklren Sie die Reaktion.
1. Programmeingabe, bersetzung und Test 2. Analyse und Diskussion der Erkentnisse mit dem Nachbarn 3. nderung des Datentyps 4. Diskussion des Ergebnisses
Speichern Sie das Programm, Dateiname: bruttoberechnung.dpr
a) Nennen Sie 3 Real- und 3 Ganzzahltypen. b) Welchen Wert liefert die Funktion low(x) wenn x vom Typ integer ist? c) Erklren Sie die Arbeitsweise der Prozeduren inc(x) und dec(x). Von welchem Typ muss
dabei x sein?
d) Ermitteln Sie mithilfe der Funktion sizeof() den Speicherbedarf einer Variablen vom Typ
extended.
e) Ermitteln Sie die Formel und den mathematischen Zusammenhang, wenn statt des Netto- der Bruttobetrag eingeben und berechnet werden sollte.
Aufgabenbeschreibung
Arbeitsschritte
Lernerfolgskontrolle
Erweiterung und Vertiefung
12 A 3 Einfache Programme
A 3.2 Variablen und Konstanten
Deklaration Variablen und Konstanten
Lernziele Konstanten deklarieren knnen
ndern Sie das Programm bruttoberechnung derart ab, dass die Mehrwertsteuer als
Konstante deklariert wird.
1. Programmeingabe, Speicherung und Test
2. Deklaration der Mehrwertsteuer als Konstante (d. h. keine Eingabe der MwSt)
Speichern Sie das Programm, Dateiname: bruttoberechnung1.dpr
a) Wie werden Variablen deklariert? Geben Sie ein Beispiel an. b) Deklarieren Sie Konstanten fr die Zahl pi und die Zahl e. c) Wann beginnt und wann endet die Lebensdauer einer Variablen? d) Welchen Anfangswert besitzen Variablen im Allgemeinen?
e) Was versteht man unter initialisierten Variablen und wie werden diese deklariert?
f) Was versteht man unter typisierten Konstanten und wie werden diese deklariert? g) Wie knnen hexadezimale Werte verarbeitet werden?
Arbeitsschritte
Lernerfolgskontrolle
Erweiterung und Vertiefung
Aufgabenbeschreibung
A 3 Einfache Programme 13
A 3.3 Ein- und Ausgabe
Ein- und Ausgabe
Lernziele Ausgabeformatierungen vornehmen knnen
ndern Sie das Programm bruttoberechnung1 derart ab, dass als Ausgabe zustzlich der
Text 'Heute ist der 10.10.2003' erscheint. Dabei soll das aktuelle Datum zunchst in eine Stringvariable geschrieben und dann ausgegeben werden. Hinweis: Beachten Sie die Erklrungen zum Datentyp string im Kapitel I3.
1. Ermitteln Sie mittels der Delphihilfe die Funktion, die das aktuelle Datum liefert.
2. Deklaration einer Variablen, die das Datum aufnehmen kann. 3. Konvertierung des Datumwertes in eine Stringvariable. 4. Ausgabe der Stringvariablen.
Speichern Sie das Programm, Dateiname: bruttoberechnung2.dpr
a) Was bewirkt ein einzelnes writeln; im Programm?
b) Erklren Sie, wie die Ausgabeformatierung in Zeile [24] des Programms bruttoberechnung funktioniert:
writeln ('Nettobetrag von ', netto:8:2 ,' ergibt ', brutto:8:2);
c) Erklren Sie das Ausgabeformat von Zahlen in wissenschaftlicher Notation. d) Bei der Programmausfhrung verschwindet die Ausgabe sofort. Wie kann dieses Problem
behoben werden?
Arbeitsschritte
Lernerfolgskontrolle
Aufgabenbeschreibung
14 A 3 Einfache Programme
A 3.4 Rechnen in Delphi
Operatoren und Ausdrcke Ganzzahloperationen
Lernziele Berechnungen mit Variablen unterschiedlichen Typs durchfhren knnen
Schreiben Sie ein Programm, mit dem Sie die nebenstehen-den Berechnungen durchfhren knnen.
1. Die Operanden und die Ergebnisse sollen in Variablen eingelesen werden.
2. bernehmen Sie die Ergebnisse in die o. a. Tabelle.
Speichern Sie das Programm, Dateiname: div_mod.dpr
a) Bestimmen Sie das Ergebnis folgender Operationen: var a,b,x,y,z: boolean; a := true; b := false; x := a and not b; y := not a or a and b or not b; z := (a > b) and (a xor b);
b) Bestimmen Sie den Typ von a bis d sowie das Ergebnis der folgenden Operationen: var a,b: ...................; c,d: ...................; a := int (pi); c := trunc (pi); b := frac (pi);
d := round (pi + 0.4);
14 Div 5 = 14 mod 5 = 6 Div 8 = 6 mod 8 =
15 Div 5 = 15 mod 5 = -8 Div 3 = -8 mod 3 =
-11 Div -4 = -11 mod -4 = 10 Div -3 = 10 mod -3 = 13 Div 0 = 13 mod 0 =
Arbeitsschritte
Lernerfolgskontrolle
Aufgabenbeschreibung
A 3 Einfache Programme 15
c) Ermitteln Sie die Ausgabe des folgenden Programms:
// Programmkopf program rechnen; {$APPTYPE CONSOLE} // Deklarationsteil uses SysUtils; const y = 10.0; var a, b : integer; x : double;
// Anweisungsteil begin writeln ('Testprogramm fuer die Grundrechenarten'); writeln; a := 13; b := 10; a := (2 * a) div 10; writeln (a); writeln (b); x := a / b; x := x * y; b := b + a mod b; writeln (a); writeln (b); writeln (x); b := b - b; a := a + a; x := x + 2 * x; writeln (a); writeln (b); writeln (x); readln end.
d) Bestimmen Sie das Ergebnis folgender BitOperationen: var a,b,x,y,z: integer; a := 5034; b := -7834; x := a and b; y := a or not b; z := a xor b;
e) Setzen Sie folgende Formeln in Object-Pascal-Schreibweise um:
I. 22: bay +=
II. xay =:
III. a
cab
x
b*
2:
2
2
1
+
=
f) Schreiben Sie folgende Object-Pascal-Ausdrcke als normale Formel: I. y := sqrt (4.5 * sqr (x) 3 * x + 10.5); II. y := exp (ln (2.5) * 2.5); III. y := sqrt (sqrt (81));
Erweiterung und Vertiefung
16 A 4 Kontrollstrukturen Folgestrukturen
A 4.1 Algorithmusbegriff
Definitionen und Darstellung
Lernziele Algorithmen aus Problemstellungen formulieren knnen Tools zur Aufgabenbewltigung einsetzen knnen
Fr eine Mahlzeit sollen 400 g Reis abgewogen werden. Formulieren Sie den Algorithmus und stellen Sie diesen mittels STG grafisch dar.
1. Formulieren Sie den Algorithmus.
2. Arbeiten Sie sich in das mitgelieferte Tool zur Erstellung von Struktogrammen ein. 3. Erstellen Sie das Struktogramm und speichern Sie es ab. 4. Diskutieren Sie Ihr Ergebnis mit Ihrem Nachbarn.
a) Nennen Sie die Definition fr den Algorithmusbegriff. b) Aus welchen 3 Grundstrukturen setzt sich jeder Algorithmus zusammen? c) Erarbeiten Sie die Problemanalyse fr folgende Aufgabe: Ein Programm soll den
Benzinverbrauch auf 100 km ermitteln.
d) Nennen Sie die Programmentwicklungsphasen.
e) Erklren Sie die Entwicklungsmodelle top-down und bottom-up. f) Nennen Sie die beiden grafischen Darstellungsformen fr Algorithmen. g) In welchen Fllen ist die eine oder die andere Variante zu bevorzugen?
Arbeitsschritte
Lernerfolgskontrolle
Erweiterung und Vertiefung
Aufgabenbeschreibung
A 4 Kontrollstrukturen Folgestrukturen 17
A 4.2 Sequenz
Sequenzielle Programme
Lernziele Sequenzielle Programme erstellen knnen
Schreiben Sie das Programm benzinberechnung, das den Benzinverbrauch auf 100 km
ermittelt (vgl. 4.1 c).
1. Skizzieren Sie, basierend auf der Problemanalyse des vorangegangenen Kapitels, das
STG fr das Programm. 2. Codieren Sie das Programm. 3. Ermitteln Sie Testdaten um die Grenzbereiche des Programms zu testen.
Speichern Sie das Programm, Dateiname: benzinberechnung.dpr
a) Skizzieren Sie das grafische Element (STG) fr die Folgeanweisung (Sequenz). b) Geben Sie ein Beispiel fr eine Verbundanweisung an.
P1 Das Programm Benzinberechnung soll zustzlich die Benzinkosten auf 100 km berechnen
und ausgeben. Erweitern Sie das Programm entsprechend. P2 Der Gesamtwiderstand zweier parallel geschalteter Widerstnde soll berechnet werden.
Entwickeln Sie das STG und codieren Sie das Programm. P3 Schreiben Sie ein Programm, das bei Eingabe des Radius die Flche und den Umfang
eines Kreises berechnet. Verwenden Sie die von Delphi zur Verfgung gestellten mathematischen Funktionen.
Arbeitsschritte
Lernerfolgskontrolle
Erweiterung und Vertiefung
Aufgabenbeschreibung
18 A 5 Kontrollstrukturen Verzweigungen
A 5.1 Zweiseitige Verzweigung
ifthenelseAnweisung
Lernziele Verzweigungen unterscheiden knnen Programme mit zweiseitigen Verzweigungen entwickeln
Mittels Programm sollen 2 Zahlen miteinander verglichen werden und die grere der beiden Zahlen ausgegeben werden.
Entwickeln Sie den Algorithmus und skizzieren Sie das STG.
Codieren Sie das Programm, geben Sie es ein und testen Sie es.
Speichern Sie das Programm, Dateiname: max2.dpr
a) Welche Arten von Verzweigungen werden unterschieden? b) Wie viele Anweisungen drfen im then bzw. im elseZweig stehen? c) Warum darf vor einem else kein Semikolon stehen?
Arbeitsschritte
Lernerfolgskontrolle
Aufgabenbeschreibung
A 5 Kontrollstrukturen Verzweigungen 19
A 5.2 Einseitige Verzweigung
ifthenAnweisung
Lernziele Programme mit einseitigen Verzweigungen entwickeln
Mittels Programm soll der Kehrwert einer beliebigen Zahl ermittelt werden. Nach der Berechnung gibt das Programm die Zahl und den Kehrwert mit vier Nachkommastellen aus. Falls der Kehrwert nicht berechnet werden kann, erfolgt die Ausgabe Error Division durch 0!
1. Entwickeln Sie den Algorithmus und skizzieren Sie das STG.
2. Implementieren Sie das Programm und testen Sie es. Hinweis: Die Prozedur exit; beendet den aktuellen Block. Ist der aktuelle Block das
Hauptprogramm, so wird das Programm sofort beendet. Beispiel: if a < 0 then begin writeln (Die Zahl......); exit // wenn dieses exit ausgefhrt wird, wird das Programm sofort beendet end; z := ...... // hier geht es normalerweise weiter
Speichern Sie das Programm, Dateiname: kehrwert.dpr
a) Skizzieren Sie das STG fr die einseitige und die zweiseitige Auswahl. b) Gegeben seien folgende Deklarationen und Operationen: var a, b, c, d, e : boolean; begin a := true; b := false; c := a and b; d := a or b; e := not b; if e then a := false else a := not b; end;
Ermitteln Sie die Ergebnisse.
Arbeitsschritte
Lernerfolgskontrolle
Aufgabenbeschreibung
20 A 5 Kontrollstrukturen Verzweigungen
A 5.3 Mehrseitige Verzweigung
Verschachtelte ifthenelseAnweisung
Lernziele Programme mit verschachtelten ifthenelseAnweisungen entwickeln Selbststndiges Analysieren von Problemstellungen
Das Jahr 2000Schaltjahr oder kein Schaltjahr? Schreiben Sie ein Programm, das bei Eingabe eines Jahres entscheidet, ob ein Jahr ein Schaltjahr ist oder nicht. Gehen Sie zunchst von der vereinfachten Variante aus, dass alle Jahre, die ganzzahlig durch 4 teilbar sind, Schaltjahre sind.
1. Entwickeln Sie den Algorithmus und skizzieren Sie das STG.
2. Implementieren Sie das Programm und testen Sie es.
Speichern Sie das Programm, Dateiname: schaltjahr1.dpr 3. Informieren Sie sich ber die genaue Berechnung des Schaltjahres. 4. Entwickeln Sie den Algorithmus und das STG. 5. Tauschen Sie anschlieend das STG mit Ihrem Nachbarn und implementieren Sie das
Programm nach dessen STG.
Speichern Sie das Programm, Dateiname: schaltjahr2.dpr
a) Zu welchem if gehrt das else ? if ausdruck1 then if ausdruck2 then anweisung1 else anweisung2
b) Nennen Sie alle Vergleichsoperatoren.
P1 Fr die Implementierung des Programms schaltjahr2 soll nur noch eine ifthenelse
Anweisung verwendet werden. Die einzelnen Bedingungen mssen daher mit den Operatoren and, or, not entsprechend verknpft werden. Implementieren Sie das
Programm und speichern Sie es unter dem Namen schaltjahr3.dpr.
Arbeitsschritte
Lernerfolgskontrolle
Erweiterung und Vertiefung
Aufgabenbeschreibung