of 21 /21
Delphi Programmieren lernen für Einsteiger von Dietmar Weber 1. Auflage Delphi Programmieren lernen für Einsteiger – Weber schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Europa Lehrmittel 2004 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 8085 8435 4

Delphi Programmieren lernen für Einsteiger - Weber ... · Delphi Programmieren lernen für Einsteiger von Dietmar Weber 1. Auflage Delphi Programmieren lernen für Einsteiger –

  • Author
    vankiet

  • View
    239

  • Download
    0

Embed Size (px)

Text of Delphi Programmieren lernen für Einsteiger - Weber ... · Delphi Programmieren lernen für...

  • 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