GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich...

34
GPI02A Entwicklungsumgebung und Modellierungswerkzeug SiSy® Prof. Dr. rer. nat. Ralph Großmann Dipl. Ing. Päd. Alexander Huwaldt

Transcript of GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich...

Page 1: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

GPI02A Entwicklungsumgebung und Modellierungswerkzeug SiSy® Prof. Dr. rer. nat. Ralph Großmann Dipl. Ing. Päd. Alexander Huwaldt

Page 2: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

GPI02A 1

VORWORT........................................................................................................................................................... 2

INSTALLATION.................................................................................................................................................. 3

VORAUSSETZUNGEN........................................................................................................................................... 3 DOWNLOAD DER AKTUELLEN SISY VERSION..................................................................................................... 3 BEGINN DER INSTALLATION ................................................................................................................................ 5 VERIFIKATION DER LIZENZIERUNG..................................................................................................................... 6 FREIGABE VON STUDIENELEMENTEN.................................................................................................................. 7

HILFEN UND HANDBÜCHER.......................................................................................................................... 8

DIE STANDARD-HILFE ........................................................................................................................................ 8 DER ASSISTENT................................................................................................................................................... 9

EIN ERSTES PROGRAMM MIT SISY ERSTELLEN.................................................................................. 10

START VON SISY UND VERWALTEN VON PROJEKTEN....................................................................................... 10 Erstellen eines neuen Projektes................................................................................................................... 10 Projekte archivieren .................................................................................................................................... 11 Projekt schließen ......................................................................................................................................... 11 Ein vorhandenes Projekt öffnen .................................................................................................................. 11

ARBEITEN MIT EINFACHEN PROGRAMMEN (QUELLTEXTORIENTIERT)............................................................... 12 Einführung................................................................................................................................................... 12 Kleine Programme....................................................................................................................................... 13 Programme mit mehreren Modulen............................................................................................................. 16

EIN ERSTES STRUKTOGRAMM MIT SISY ERSTELLEN......... .............................................................. 17

ARBEITEN IM STRUKTOGRAMM ........................................................................................................................ 18 RAHMENELEMENTE JEDES STRUKTOGRAMMS................................................................................................... 18 TRANSFORMATION DES STRUKTOGRAMMS IN EIN AUSFÜHRBARES PROGRAMM ............................................... 20 ALGO1 FERTIGSTELLEN..................................................................................................................................... 21

STRUKTOGRAMME MIT ALTERNATIVEN ..................... ......................................................................... 22

STRUKTOGRAMMELEMENTE BEARBEITEN......................................................................................................... 23 KONVERTIEREN, KOMPILIEREN, LINKEN UND AUSFÜHREN.............................................................................. 24

STRUKTOGRAMME MIT ITERATIONEN...................... ............................................................................ 25

DAS FOR-ELEMENT (ZÄHLSCHLEIFE) .............................................................................................................. 25 Eingabe aller Struktogrammelemente ......................................................................................................... 26 Definition der Struktogrammelemente......................................................................................................... 26 Konvertieren, Kompilieren, Linken und Programmstart............................................................................. 28

DAS REPEAT-ELEMENT .................................................................................................................................. 28 DAS WHILE-ELEMENT..................................................................................................................................... 30

ANHANG............................................................................................................................................................. 31

EINSENDEAUFGABE TYP A

Page 3: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Vorwort

GPI02A 2

Vorwort Das vorliegende Studienheft soll Ihnen eine Unterstützung für die Installation des Modellierungswerkzeugs SiSy (Simple System) geben und in die Nutzung dieses Werkzeugs einführen. Im vorliegenden Studienheft wird auf die Version SiSy® 3.20 eingegangen. SiSy unterliegt in gewissen Zeitabständen auch einem Versionswechsel. So können kleinere Abweichungen zwischen der aktuellen Version und der hier im Studienheft abgebildete Bildschirmauszüge auftreten. Bei wesentlichen funktionellen Abweichungen zwischen aktueller Version und dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen Sie die Hinweise dazu in Study Online bzw. informieren Sie sich auf der Webseite „www.sisy.de“. Die aktuelle Version von SiSy liefert Compiler für verschiedene Programmiersprachen mit bzw. unterstützt verschiedene Zielumgebungen; diese unterliegen ebenfalls einem Versionswandel. Für diese Schnittstelle gilt das über Änderungen Gesagte analog! Wie bei jeder neuen Software müssen Sie sich auch bei SiSy an die Nutzung gewöhnen und etwas Geduld zum Erlernen der neuen Technologien aufbringen. Nach wenigen Beispielen werden Sie schon solche Fertigkeiten entwickelt haben, dass die Arbeit mit SiSy Freude bereitet. Die Einführung in die Nutzung von SiSy beschränkt sich vorerst auf die Bearbeitung von einfachen Quelltexten und Struktogrammen. Struktogramme sind sehr übersichtliche Darstellungen von Algorithmen, die jedem Programm zugrunde liegen. Diese Thematik ist Gegenstand der Studienhefte zu den Grundlagen der Programmierung bzw. Algorithmierung. Die Darstellungen in dem vorliegenden Studienheft nutzen entsprechende Strukto-grammbeispiele, sodass Sie in die Lage versetzt werden, das theoretische Studium gleich durch praktische Experimente am Rechner zu verifizieren. Struktogramme sind weitgehend programmiersprachenunabhängige Darstellungen von Algorithmen. Will man jedoch die Struktogramme in ausführbare Programme übertragen, muss man die Elementarbestandteile, wie Ein- und Ausgabeanweisungen, Operatoren usw. sprachspezifisch für die Zielsprache angeben. In unserem Fall wird die Sprache C bzw. C++ benutzt. Sie benötigen mit SiSy keine weiteren Entwicklungsumgebungen für Ihre C/C++ oder C#- Übungsaufgaben. Beginnend mit der Beschreibung der notwendigen Grundbestandteile jedes Struktogramms werden mit den Folgebeispielen jeweils neue Struktogrammelemente eingeführt. Die Darstellung ist vorgehensorientiert angelegt. Dabei ist jeweils nur ein Weg von mehreren möglichen Vorgehensweisen dokumentiert. Sie sollten zusätzlich die Handbücher von SiSy zu Hilfe nehmen und dort zu den jeweils benutzten Elementen weitere Details lesen. Beim Studium wünschen wir Ihnen viel Erfolg. Ihre Studienleitung

Page 4: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Installation

GPI02A 3

Kapitel 1

Installation

Voraussetzungen Für die Installation benötigen Sie eine aktuelle SiSy-CD oder das entsprechende Download sowie einen gültigen Freischaltcode (Lizenzangaben). Falls Sie diese Angaben nicht mit der Lieferung erhalten haben, können Sie diese online abrufen von http://www.sisy.de oder fordern Sie diese beim Hersteller an: Tel: 03585-470222 Fax: 03585-470233 e-Mail: [email protected] Bitte prüfen Sie, ob die Systemvoraussetzungen für die Installation und die Arbeit mit SiSy gewährleistet sind.

• Personalcomputer ab Pentium III oder äquivalent • mindestens 800 MB freier Speicherplatz auf der Festplatte • Windows XP, Windows Vista oder Windows 7 • mindestens 1 GB Arbeitsspeicher • Microsoft Internet-Explorer ab Version 7.0 • Maus oder ähnliches Zeigegerät

Die Installation und der erste Start müssen mit Administratorrechten durchgeführt werden.

Download der aktuellen SiSy Version Die jeweils aktuelle SiSy Version steht Ihnen unter folgender Adresse zum Download zur Verfügung: http://www.sisy.de/portale/wbhs

Abb.: SiSy Portal für Studenten der Wilhelm Büchner Hochschule

Page 5: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Installation

GPI02A 4

Um Ihre persönliche SiSy-Version zu erhalten oder zu aktualisieren ist es notwendig sich als StudentIn der Wilhelm Büchner Hochschule zu identifizieren. Ihr persönlicher Download-Link wird Ihnen dann direkt über Ihr Study Online Konto bereitgestellt.

Abb.: SiSy Download-Anforderung für Studenten der Wilhelm Büchner Hochschule

Abb.: SiSy Download und Freigabedaten im Online Campus Betätigen Sie den Link oder kopieren diesen in die Adressleiste Ihres Browsers um den Download zu starten.

Page 6: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Installation

GPI02A 5

Beginn der Installation Legen Sie die CD „SiSy“ in Ihr CD-ROM-Laufwerk ein. Falls die CD nicht automatisch startet, wählen Sie bitte im Explorer das CD-ROM-Laufwerk und starten die „setup.exe“ aus dem Pfad CD-Laufwerk:\Ausgabe\SiSy. Auf dem Startbildschirm stehen Schaltflächen zur Verfügung zum Installieren der Software und zum Öffnen von Begleitdokumenten. Für die Installation der Software betätigen Sie die entsprechende Schaltfläche. Bei der Downloadversion starten Sie SiSy3WBHS_Insatller.exe. In Abhängigkeit Ihrer Rechnerkonfiguration kann der Start des Setup-Programms einige Sekunden dauern. Das gestartete Setup-Programm wird Sie durch die weitere Installation führen. Betätigen Sie im Setup-Programm die Schaltfläche „Weiter“. Sie erhalten die Lizenz-bestimmungen. Bitte lesen Sie diese sorgfältig durch. Wenn Sie sich mit diesen Bestimmungen einverstanden erklären, bestätigen Sie die Lizenzbestimmungen mit der Schaltfläche „Annehmen“. Sie werden im folgenden Dialog dazu aufgefordert, Ihre Lizenzangaben einzugeben.

Abb.: Eingabe Freischaltdaten

Danach erscheint die Dialogbox „Komponenten auswählen“, welche Sie mit „Weiter“ bestätigen. Im darauf folgenden Fenster können Sie festlegen, unter welchem Pfad SiSy installiert werden soll. Wenn ein anderer Pfad (bzw. ein anderes Laufwerk) gewünscht wird, ist die Schaltfläche „Durchsuchen“ zu betätigen. Eine Dialogbox erscheint, in der Sie Laufwerk und Verzeichnis auswählen können.

Abb.: Zielordner der Installation ggf. auswählen

Page 7: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Installation

GPI02A 6

Bestimmen Sie danach den Startmenü-Ordner, in dem die Verknüpfungen von SiSy eingefügt werden. Sie können den Zielordner ändern. Sie können dies durch auswählen von „Keine Verknüpfungen erstellen“ unterbinden. Beginnen Sie die Installation durch Betätigen der Schaltfläche „Installieren“. Die Installation wird nach Auswählen von „Fertig stellen“ abgeschlossen. Sie können SiSy starten. Es erscheint auf Ihrem Bildschirm der Dialog „Willkommen in SiSy“. Legen Sie jetzt ein neues Projekt an oder folgen Sie den Hinweisen des Assistenten, indem Sie „Assistent öffnen“ auswählen.

Abb.: Start-Bildschirm

Abb.: Willkommen-Bildschirm von SiSy

Hinweis: In SiSy sind zwei Dateien enthalten, die Makros beinhalten („handbuch.doc“, und „multi.doc"). Von einigen Virenscannern werden diese Makros irrtümlich als „Virus“ erkannt und entsprechend behandelt. In den Heuristik-Einstellungen des Virenscanners kann diese Behandlung unterdrückt werden.

Verifikation der Lizenzierung Ihre SiSy Version ist jetzt arbeitsbereit. In den nächsten Wochen erfolgt eine Verifizierung Ihrer Lizenz. Dazu ist eine Internetverbindung notwendig. Sie werden auf diesen Vorgang entsprechend hingewiesen.

Page 8: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Installation

GPI02A 7

Freigabe von Studienelementen Entsprechend Ihres Studienganges können Sie die als nächstes angebotenen Vorgehensmodelle für abzuarbeitende Studienelemente freischalten. Dieser Vorgang wird beim erstmaligen Auswählen des Studienelementes im Vorgehensmodell-Dialog (Menüpunkt: Projekt neu) ausgeführt. Es sollten nur Studienelemente freigeschaltet werden die Sie dann auch abarbeiten möchten. Der Vorgang kann abgebrochen werden.

Abb.: Studienelement freischalten

Abb.: Studienelement erfolgreich freigeschaltet Wurde der Vorgang abgebrochen oder war die Freischaltung nicht erfolgreich verzweigt SiSy automatisch in das Vorgehensmodell „einfache Programmierung“.

Abb.: Studienelement nicht freigeschaltet Sie können in diesem Vorgehensmodell alle verfügbaren Möglichkeiten zur Programmierung in C, C++ und anderen Programmiersprachen nutzen. Wenden Sie sich ggf. gern an die SiSy-Hotline.

Page 9: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Hilfen und Handbücher

GPI02A 8

Kapitel 2

Hilfen und Handbücher In SiSy gibt es verschiedene Arten von Hilfen:

– Hilfe über „F1“ oder „Hilfe“ im Hauptmenü und „Hilfe“-Schaltflächen – Tipps und Hinweise in einzelnen Bedienelementen oder Schlüsselworten – HTML-Seiten, lokal und online – SiSy-Assistent – Handbücher als Download

Die Standard-Hilfe

Abb.: Standardhilfe zu SiSy

Abb.: Hilfe zum Struktogramm Sie haben die Möglichkeit der Standard-Hilfe, die sich mit Betätigen der Funktionstaste „F1“, dem Menüpunkt oder der Schaltfläche „Hilfe“ öffnet. In Abhängigkeit vom Arbeitskontext (Fenster oder Dialog) erscheint ein Hilfe-Fenster. Jetzt können Sie zwischen konkreten Themen wählen oder über „Suchen“ ein bestimmtes Thema aufrufen. Die Standard-Hilfe hat den Charakter eines Benutzerhandbuches und stellt im Wesentlichen allgemeingültige Informationen zur Verfügung.

Page 10: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Hilfen und Handbücher

GPI02A 9

Der Assistent Der Assistent ist hilfreich bei der Unterstützung und Führung des Nutzers im Umgang mit SiSy bei konkreten Aufgaben. Er befindet sich standardmäßig im linken, unteren Bildschirmbereich. Der Assistent kann über die Werkzeugleiste ( -Symbol) geöffnet werden, falls dies nicht beim Programmstart erfolgte. Der Assistent begleitet Sie im gesamten Projekt. Sie erhalten immer passende Informationen zum aktuellen Diagrammtyp und haben die Möglichkeit, durch verschiedene Links weitere Hilfethemen aufzurufen oder Vorlagen in Ihr Projekt zu laden. Beachte: Der Assistent ist auf die jeweilige Ausgabe von SiSy, die verfügbaren Add-Ons und das gewählte Modell bezogen. Bedeutung der verwendeten Symboliken im Assistenten: � weitere Informationen anzeigen;

öffnet eine Hilfedatei (*.chm, *.hlp, *htm)

� Demovideo zur Handhabung zeigen;

öffnet eine Animation oder Videomitschnitt der Bildschirmarbeit (AVI, ScreenCam- oder FLASH-Film)

� entsprechendes Diagramm öffnen, das so geöffnete Diagramm kann über die Schließen-Schaltfläche des Diagramms wieder geschlossen werden;

Beispiel 1 eine Diagrammvorlage laden;

���� Vorschau zur Diagrammvorlage;

� zurück zur Startseite des Assistenten;

� ein kleines Skript zu Arbeitsschritten anzeigen;

� nächster Schritt (Arbeitsschritt);

Verweis auf den Standardassistenten dieser Sicht;

blaue Schrift und

blaue Symbole sind mit Links hinterlegt und können per Mausklick aktiviert werden.

Beispiele für Assistenten:

Abb.: Der Assistent von SiSy

Page 11: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Programm mit SiSy erstellen

GPI02A 10

Kapitel 3

Ein erstes Programm mit SiSy erstellen

Start von SiSy und Verwalten von Projekten Nach dem Starten von SiSy erscheint das Eröffnungsfenster (Willkomen-Dialog). Wählen Sie hier die Schaltfläche „Neues Projekt erstellen“. Sie können auch den Assistenten öffnen. Sie erhalten einen kurzen Überblick zum weiteren Vorgehen. Aus dem Assistenten heraus können Sie ebenfalls mit dem den Link „Neues Projekt anlegen“ ein neues Projekt erstellen.

Abb.: Eröffnungsfenster von SiSy

Erstellen eines neuen Projektes Das Erstellen eines neuen SiSy-Projektes verlangt die Vergabe eines Projektdateinamens. Dieser wird als Unterverzeichnis vom Verzeichnis „User\Documents\SiSy-Projekte“ standardmäßig angelegt und enthält dann alle zum Projekt gehörigen Dateien. Vergeben Sie für das erste Projekt in SiSy den Namen „Test1“ und klicken Sie auf OK.

Abb.: Vergabe des Projektnamens Das Vorgehensmodell ist der Einstiegspunkt eines jeden Projektes. Es beschreibt eine Schrittfolge aller Aktivitäten bei einer Projektdurchführung. Dafür kann eine Vorlage ausgewählt oder ein eigenes Diagramm entworfen werden. Jedes Vorgehensmodell beinhaltet die spezifischen Objekte, die für die getroffene Auswahl relevant sind. Für die ersten Schritte wählen Sie das Vorgehensmodell „Programmierung“. Benutzen Sie vorerst keine Vorlagen sondern erstellen jetzt ein leeres Diagramm. Sie erhalten als nächstes den typischen SiSy Bildschirmaufbau.

Page 12: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Programm mit SiSy erstellen

GPI02A 11

Abb.: Der Bildschirmaufbau in SiSy Im Diagrammfenster ist jetzt die oberste Ebene des Projektes dargestellt. Sie entspricht dem ausgewählten Vorgehensmodell (kurz VGM). Der blaue Text gibt Hinweise für die Nutzung des leeren Diagramms.

Projekte archivieren Es kann ein komprimiertes Archiv (Menü Projekt/Archiv/Anlegen) des Projektes erzeugt werden. Dies ist besonders aus Gründen der Datensicherheit sinnvoll. Zielverzeichnis und Dateiname für die Archivdatei werden vorgeschlagen und können korrigiert werden. Der Umfang der Archivierung ist festzulegen und die Entscheidung für eine Komprimierung zu treffen, wobei diese empfohlen wird. Wenn ein Projekt unter einem bereits vorhandenen Archivnamen angelegt werden soll, wird eine Warnung vor dem Überschreiben angezeigt. Bei Auswahl von „Nein“ wird die Erstellung des Archivs abgebrochen, bei „Ja“ wird das Projekt archiviert. Hinweis: SiSy bietet die Möglichkeit des regelmäßigen Abspeicherns verschiedener

Arbeitsstände, d.h. ein archiviertes Projekt wird nicht überschrieben. Ein Projektstand kann in einer neuen Archivdatei abgelegt werden

Projekt schließen Das Schließen eines Projektes lässt sich zu jedem beliebigen Zeitpunkt vornehmen. Wählen Sie dafür die Menüfolge „Projekt – Schließen“ bzw. „Projekt – Beenden“. Vorheriges separates Speichern ist nicht erforderlich, da während der Arbeit jede Änderung/Ergänzung sofort gespeichert wird. Sie werden bei jedem Schließen aufgefordert ein Archiv anzulegen.

Ein vorhandenes Projekt öffnen Zum Öffnen eines Projekts wählen Sie im Willkommensbildschirm die Schaltfläche „Vorhandenes Projekt öffnen“. Es öffnet sich ein Fenster mit einer Liste aller vorhandenen Projekte. Wählen Sie beispielsweise den Projektnamen „Test1“, öffnet sich das VGM (Vorgehensmodell = oberste Projektebene) des eben geschlossenen Projektes.

Diagrammfenster

Assistent

Navigator

Menü und Werkzeugleiste

Texteditor

Objektbibliothek

Page 13: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Programm mit SiSy erstellen

GPI02A 12

Arbeiten mit einfachen Programmen (Quelltextorienti ert)

Einführung SiSy bietet neben der Programmierung in Struktogrammen auch die Möglichkeit, Programme in einem konventionellen Zeileneditor zu erstellen und zu übersetzen. Dazu wählen Sie bitte beim Anlegen eines neuen Projekts das Vorgehensmodell „Programmierung“ und drücken die Schaltfläche „OK“.

Abb.: Vorgehensmodell einfache Programmierung Für einen schnellen Start bietet SiSy Ihnen je nach Version und Ausgabe getestete Musterlösungen. Wenn Ihnen das Dialogfenster Diagrammvorlagen angebietet, können Sie sich Grundgerüste der entsprechenden Programmiersprache oder Beispiel-Programme auswählen. Sie erhalten übrigens über den Assistenten ebenfalls Hinweise und Lösungs-beispiele. Wenn Sie keine Vorlage verwenden, folgen Sie der Beschreibung in diesem Abschnitt. Es wird Ihnen die ausführliche Vorgehensweise erklärt.

Abb.: Eine Diagrammvorlage aus dem Assitenten nutzen

Page 14: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Programm mit SiSy erstellen

GPI02A 13

Kleine Programme Die erste Aufgabe ist das berühmte „Hallo Welt“, mit dem jeder Programmierer angefangen hat. Verwenden Sie dazu keine Diagrammvorlage. Ziehen Sie per Drag & Drop ein Objekt „kleines Programm“ in das Diagrammfenster (siehe Abbildung).

Abb.: Hereinziehen einer neuen Unit (kleines Programm) Es öffnet sich automatisch das Dialogfenster Definieren; oder klicken Sie mit der rechten Maustaste auf das Objekt und wählen Sie im Kontextmenü „Definieren“. Geben Sie als Namen des Programms „Hallo“ ein und achten Sie darauf, dass als Sprache „C/C++ Konsole“ eingestellt ist. Wählen Sie die Dialogseite „Programmgerüst“ und laden Sie die Grundstruktur eines C-Programms (Struktur laden). Schließen Sie den Dialog mit „OK“.

Abb: Grundstruktur eines C-Programms laden

Page 15: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Programm mit SiSy erstellen

GPI02A 14

Ergänzen Sie im Quelltextfenster den folgenden Programmcode für „Hallo Welt“: #include <stdio.h> #include <conio.h> int main() { printf( "\r\nHallo Welt!\r\n" ); getch(); return 0; }

Klicken Sie nacheinander auf „Kompilieren“, „Linken“, „Ausführen“. Danach sollte sich ein Konsolen-Fenster öffnen mit der Ausgabe "Hallo Welt" (siehe Abbildung). Ist dies nicht der Fall und Sie erhalten eine Fehlermeldung, liegt wahrscheinlich ein Syntaxfehler vor. Wenn alles geklappt hat, können Sie sich zu Ihrem ersten C-Programm gratulieren.

Abb.: ausführbare Datei erstellen

Abb.: Ausgeführtes Programm

Page 16: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Programm mit SiSy erstellen

GPI02A 15

Die folgenden Abbildungen zeigen Quellcodes des Programms „Hallo Welt“ in den Programmiersprachen Assembler, Java bzw. C#. Die Vorgehensweise zur Erstellung ist identisch mit den oben genannten Schritten.

Abb.: Quelltext „Hallo Welt“ in Assembler

Abb.: Quelltext „Hallo Welt“ in Java

Abb.: Quelltext „Hallo Welt“ in C#

Page 17: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Programm mit SiSy erstellen

GPI02A 16

Programme mit mehreren Modulen

Möchten Sie ein Programm mit mehreren Modulen schreiben, ziehen Sie per Drag & Drop das entsprechende Symbol „Programm“ (siehe oben) in das Diagrammfenster. Es öffnet sich ein Dialogfenster; geben Sie den Namen des Programms ein, überprüfen die gewünschte Zielsprache „C/C++ Konsole“ und schließen Sie mit „OK“. Klicken Sie mit der rechten Maustaste auf das Symbol und wählen Sie im Kontextmenü „Nach unten“. Hier ziehen Sie zwei Units in das Diagramm und nennen diese „Main“ und „UP1“. In dem Dialogfenster zur Definition von „UP1“ setzen Sie in den beiden Zeilen

– „Headerdef-Datei erzeugen, Datei mit Deklaration wird generiert“ – „Funktionsdef-Datei erzeugen (.cpp)“

einen Haken. Ergänzen Sie die folgenden Quelltexte in die jeweiligen Units. In der Unit „Main“ fügen Sie folgenden Quelltext ein: //--------------------------------------- #include <stdio.h> #include <conio.h> #include "up1.h" int main() { //Hier Quelltext eingeben! printf("Hallo Main"); up1(); printf("und wieder zurueck!"); getch(); return 0; } //--------------------------------------- In „UP1“ fügen Sie den folgenden Quelltext ein: //--------------------------------------- #include <stdio.h> #include <conio.h> int up1() { //Hier Quelltext eingeben! printf("\n -> Hallo UP1\n"); return 0; } //---------------------- Danach wählen Sie in „UP1“ den Button „*.h“ und tragen in die Bibliotheken die Deklaration von „UP1“ ein int up1();

Vergleichen Sie Ihr Projekt mit der nebenstehenden Abbildung.

Nach unten

Page 18: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Struktogramm mit SiSy erstellen

GPI02A 17

Kapitel 4

Ein erstes Struktogramm mit SiSy erstellen

In diesem Kapitel lernen Sie die Nutzung von SiSy zur Implementation von Struktogrammen kennen. Es bezieht sich auf das Studienelement GPI (Grundlagen der Programmierung). Die Anleitung zeigt Ihnen an konkreten Beispielen aus dem Studienheft „Grundlagen der Programmierung/Algorithmierung“, wie Sie das Programm SiSy zum Entwurf und zur Implementation von Algorithmen in Struktogrammen einsetzen können und welche Schritte Sie dazu ausführen müssen. Dabei werden nicht alle Varianten gezeigt, die mit SiSy möglich sind, sondern nur eine auf die Beispiele bezogene Auswahl von Möglichkeiten dargestellt. Für Details ist das Nachschlagen im SiSy-Handbuch empfehlenswert. Bevor Sie den Entwurf von Struktogrammen mit SiSy beginnen, sollten Sie im oben genannten Studienheft die Kapitel 1 und 2 gelesen haben, um die Grundbegriffe zu Algorithmen zu kennen und einen Überblick über Darstellung und Bedeutung der Struktogrammelemente Sequenz, Selektion und Iteration zu haben.

Sie besitzen jetzt erste Kenntnisse über Algorithmen und wissen, dass Struktogramme eine einfache Darstellungsform für Algorithmen sind. Die Sprache enthält normierte grafische Elemente zur Beschreibung des Daten- und Steuerflusses, der einem Algorithmus zugrunde liegt. Damit kann man Algorithmen dokumentieren, ohne konkrete prozedurale Sprachen, wie C oder PASCAL zu beherrschen. Die Notation der elementaren Aktionen, wie z. B. Ergibtanweisung, Ein- bzw. Ausgabeanweisung, logischer bzw. arithmetischer Ausdruck usw. ist somit nicht standardisiert. Bisher benutzen wir dazu eine „neutrale“ Notation:

Ergibtanweisung s := s + a i

Eingabeanweisung Eingabe: n, (ai, i=1(1)n)

Ausgabeanweisung Ausgabe: ‘Summe=‘, s

logischer Ausdruck (a=1) ∨ (a=0) ∧ (k>i)

arithmetischer Ausdruck sin(x)/p+k*aj Wir wollen aber Struktogramme mit dem Werkzeug SiSy nicht nur schnell entwerfen und dokumentieren, sondern diese auch in ein ausführbares Programm übertragen. Dadurch sind Sie in der Lage, Struktogramme auf dem Rechner auszuführen und mit dem dadurch repräsentierten Algorithmus zu experimentieren. Damit dies erfolgreich möglich ist, müssen Sie die Notation der erwähnten elementaren Aktionen der vorgesehenen Zielsprache (bei uns C, später C++ oder C#) anpassen. In den vorgestellten Beispielen finden Sie bereits die C/C++-Adaption der elementaren Aktionen. Wir wollen zur Demonstration der Nutzung von SiSy das Beispiel-Struktogramm „Vertauschen zweier Speicherplatzinhalte“ verwenden. Dieses kleine Struktogrammbeispiel stellt nur ein Hauptprogramm dar, das aus einer Folge von Elementarbestandteilen (Anweisungen) besteht. Dadurch ist es möglich, sich auf die in SiSy immer wiederkehrenden Arbeitsschritte zu konzentrieren. Erst die weiteren Struktogrammbeispiele werden dann andere Elemente enthalten.

Page 19: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Struktogramm mit SiSy erstellen

GPI02A 18

Arbeiten im Struktogramm Erstellen Sie ein neues Projekt mit dem Namen „TestSG“ (Menü: Projekt/Neu…). Wählen Sie im Vorgehensmodellordner das Studienelement GPI02A. Schalten Sie ggf. das Studienelement GPI frei. Nutzen Sie keine Vorlage und erstellen ein leeres Diagramm. Ziehen Sie per Drag & Drop ein Objekt vom Typ SG (Struktogramm) in das Diagrammfenster. Geben Sie dem Struktogramm den Namen „Algo1“. Das Struktogramm ist in dieser Ebene lediglich eine Art Ordnersymbol. Um das Struktogramm selbst zu öffnen, selektieren Sie „Algo1“ und wählen im Kontextmenü (rechte Maustaste) den Menüpunkt nach unten.

Abb.: ein Struktogramm anlegen

Abb.: der Struktogrammeditor mit Rahmenelementen eines Struktogramms Im Struktogrammfenster wird das Struktogramm aus den einzelnen Elementen Sequenz, Iteration und Alternative aufgebaut. Die verfügbaren Elemente sind über die Objektbibliothek erhältlich. Das Hinzufügen von Elementen erfolgt per Drag & Drop aus der Objektbibliothek.

Rahmenelemente jedes Struktogramms Jedes Struktogramm muss als Rahmenelement ein Modul als umfassendes Element enthalten. Das Modul repräsentiert die Quelltextdatei, die beim Struktogrammentwurf entstehen soll. Der Modulname wird als Dateiname verwendet. Über eine Konvertierung wird ein fertiges Struktogramm in den Quelltext einer Zielsprache, bei uns C/C++, übertragen. Die Sprache

Diagrammfenster

Assistent

Navigator

Beschreibungsfenster

Objektbibliothek

Quelltextfenster

Anleitungsvideo

Aktionsmenü

Page 20: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Struktogramm mit SiSy erstellen

GPI02A 19

C/C++ verlangt, dass eine Funktion als Hauptprogramm (int main ()) deklariert wird. Folglich benötigen wir immer innerhalb des Moduls mindestens eine Funktion, diese ist im einfachen Struktogramm bereits vorbereitet, wird also automatisch generiert.

Abb.: Rahmenelemente eines Struktogramms Damit aus dem leeren Struktogramm eine ausführbare Datei entsteht, muss mindestens ein Anweisungsblock eingefügt werden. Zur Verdeutlichung der Arbeitsweise soll zunächst eine Sequenz aus einer einfacher Ausgabe und einer Tastenabfrage erarbeitet werden. Die Tastenabfrage bewirkt, dass die Konsole nach der Ausführung des Programms vom Betriebssystem nicht sofort geschlossen wird. Ziehen Sie per Drag & Drop einen Verarbeitungsblock in das Struktogramm. Beachten Sie die Einfügemarke.

Abb.: ein Struktogrammelement einfügen Per Doppelklick gelangen Sie in den Editiermodus des eingefügten Elementes. Sie können das Editieren mit der Taste ESC beenden. Tragen Sie folgende Anweisung ein:

Abb.: eine Anweisung eingeben

Erweitern Sie das Struktogramm um die Tastenabfrage.

Modul

Funktion (main)

Einfügemarke

+

Page 21: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Struktogramm mit SiSy erstellen

GPI02A 20

Abb.: das vollständige Struktogramm Die Moduleinstellungen erreicht man über das Kontextmenü (rechte Maustaste) auf dem Modul. Vergleichen Sie die Moduleinstellungen und ergänzen Sie diese gegebenenfalls.

Abb.: Moduleinstellungen von „Algo1“

Transformation des Struktogramms in ein ausführbare s Programm Wir benötigen dazu vier Schritte:

• Konvertieren (Quelltextdatei aus dem Struktogramm erstellen) • Kompilieren • Linken und • Start des ausführbaren Programms

Die Schritte Konvertieren, Kompilieren und Linken sind unter der Aktion „>>> Erstellen“ zusammengefasst. Wählen Sie die Menüfolge „Erstellen“, „Kompilieren“, „Linken“ und „Starten“ einzeln.

Abb.: Konvertieren, Kompilieren, Linken und Starten von „Algo1“

Page 22: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Ein erstes Struktogramm mit SiSy erstellen

GPI02A 21

Beim Konvertieren wird das Struktogramm in einen Quelltext umgesetzt. Als Dateiname für das C-Programm wird der im Modul des Struktogramms festgelegte Name („Algo1“) gewählt, sodass die Datei „Algo1.cpp“ entstanden ist. Diese Datei wird im Ordner des Projektes abgelegt. Mithilfe des Menüpunktes „Quelltext anzeigen“ im Aktionsmenü kann man das erzeugte C-Programm sichtbar machen. Das Ansehen der kompletten Quelltexte kann wichtig sein, wenn das Kompilieren oder Linken zu Fehlern führte. Das kann durch falsche Notation von elementaren Anweisungen geschehen. Schließen Sie das Quelltext-fenster wieder, im Normalfall wird es nicht benötigt. Beim Kompilieren wird aus dem Quelltextprogramm eine Objektdatei erzeugt. Es erscheint im Output-Fenster ein kurzes Protokoll des Kompilers. Bei fehlerfreier Arbeit hat der Kompiler eine Objektdatei „Algo1.obj“ im Projektverzeichnis erzeugt. Beim Linken wird aus der Objektdatei ein arbeitsfähiges Programm „Algo1.exe“ erzeugt.

Abb. 3.16: Ausgeführtes Programm „Algo1.exe“ Den Start des Programms können Sie nach Bedarf beliebig oft wiederholen.

Algo1 fertigstellen Zielstellung für das Beispiel Algo1: Ein Programm soll zwei einzugebende Zahlen vertauschen und ausgeben.

Abb.: „Algo1“ aus der Aufgabenstellung Erarbeiten Sie mit dem Gelernten das folgende Struktogramm. Vergleichen Sie die Vorlage aus der Aufgabenstellung und das Ergebnis. Konvertieren, Kompilieren, Linken und Testen Sie „Algo1“.

Abb.: „Algo1“ als fertiges SiSy-Struktogramm

Page 23: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Struktogramme mit Alternativen

GPI02A 22

Kapitel 5

Struktogramme mit Alternativen Wir widmen uns jetzt dem Beispiel 3.2 aus dem Studienheft „Grundlagen der Programmierung/Algorithmierung“. Das Minimum von drei Variablen ist zu bestimmen; dies erfordert geschachtelte Selektionen. Selektionen sind Alternativen, ggf. mit innerem IF-Zweig. Hinweis: Sie müssen für diese Aufgabe ab SiSy Version 3.01 kein neues Projekt mehr

anlegen. Sie können auf der Ebene des Vorgehensmodells für GPI02A weitere Struktogramme anlegen. Dazu wählen Sie in der Werkzeugleiste die Schaltfläche „nach oben“ oder betätigen die Taste ESC.

Handlungsschritte:

– neues Projekt (VGM GPI02A) anlegen oder zurück ins Vorgehensmodell gehen

– Struktogramm „Algo2“ anlegen und nach unten gehen

– Doppelklick auf die Zeile „Algo2“ – Moduleinstellungen überprüfen

Abb. 4.1: Struktogramm für „Algo2“ aus der Aufgabenstellung Betrachten Sie jetzt bitte Ihr Struktogramm aus dem Studienheft „Grundlagen der Programmierung/Algorithmierung“ Sie erkennen folgenden Aufbau des Struktogramms:

1) Das Struktogramm ist eine Folge (Sequenz) von drei Struktogrammelementen: a. – Eingabeanweisung (DO-Element) b. – Auswahl/Selektion (Alternative) und c. – Ausgabeanweisung (DO-Element)

2) Die Alternative hat wiederum eine innere Struktur: a. – In jedem der beiden Zweige der Alternative ist

wiederum eine Alternative eingebettet. b. – Die zwei geschachtelten Alternativen haben

jeweils in ihren beiden Zweigen je ein DO-Element. Entsprechend diesem strukturellen Aufbau fügen Sie zuerst alle Strukturelemente ein, ehe Sie Kommentare und Quelltexte definieren. Beide Subalternativen müssen jeweils in ihren linken und rechten Zweigen ein Element „Verarbeitung“ erhalten, um das Minimum der drei Zahlen festzulegen, und als letztes Element ein Verarbeitungsschritt für die Ergebnisausgabe. Dies erreichen Sie mit der gleichen Vorgehensweise Ziehen Sie die erforderlichen Elemente per Drag & Drop in das Struktogramm. Beachten Sie die Einfügemarken.

Page 24: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Struktogramme mit Alternativen

GPI02A 23

Abb.: Zwischenschritte und Gesamtstruktur des Programms „Algo2"

Struktogrammelemente bearbeiten Nachdem die innere Struktur des Struktogramms komplett ist, müssen vor allem die Quelltexte der einzelnen Elemente definiert werden. Eventuell können auch noch Kommentare eingegeben werden. Beginnen Sie mit dem Auswählen des ersten Elements. Mit Doppelklick schalten Sie in den Editiermodus um. Hier sind die C-Eingabeanweisungen für die drei Variablen einzugeben, deren Minimum zu bestimmen ist. Die Eingabe einer Variablen a kann durch die Anweisung scanf("%i",&a) ; erfolgen. Damit aber bei Programmstart der Benutzer erkennt, an welcher Stelle welcher Wert einzugeben ist, sollte mit einer printf-Anweisung eine entsprechende Aufforderung ausgegeben werden. Die komplette Definition lautet: printf("Eingabe 1. Wert:"); scanf("%f",&a); printf("Eingabe 2. Wert:"); scanf("%f",&b); printf("Eingabe 3. Wert:"); scanf("%f",&c); In gleicher Weise ist das letzte Element zu definieren. Hier ist die Ausgabe des ermittelten Minimums zu codieren. Abb. 4.6 zeigt die vollständige Definition. Es bleibt nun noch die Definition der Alternative-Elemente. Dazu klicken Sie in das linke leere Dreieck der entsprechenden Alternative. Mit einem Doppelklick können Sie nun die Bedingung (logischer Ausdruck) in C-Notation angeben, die für den linken Zweig (so genannter DANN-Zweig) wahr sein soll. Ist die angegebene Bedingung falsch, wird der rechte Zweig (SONST-Zweig) der Alternative ausgeführt. Die Definitionen für die Alternativen entnehmen Sie bitte der Abbildung.

Abb. 4.6: Definition der Verarbeitungsschritte und der Alternativen

Page 25: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Struktogramme mit Alternativen

GPI02A 24

Vergleichen Sie den Arbeitsstand mit dem Struktogramm der Aufgabenstellung. Zum Abschluss müssen noch die elementaren Ergibtanweisungen (Elemente Verarbeitung) in allen Zweigen der Subalternativen festgelegt werden. Diese belegen die Variable „min“ mit dem jeweils ermittelten Minimum. Das Definitionsfenster erreichen Sie wieder durch Doppelklick. Die folgende Abbildung zeigt Ihnen das mit den notwendigen Quelltexten versehene Struktogramm.

Abb.: fertig gestelltes Struktogramm mit Quelltext

Konvertieren, Kompilieren, Linken und Ausführen Das fertige Struktogramm kann jetzt in ein ausführbares Programm überführt werden. Wählen Sie über das Aktionsmenü des Struktogrammeditors die Schritte

– „>>> Erstellen“ bzw. – Konvertiere – Kompiliere – Linken – und Starten

Die nebenstehende Abbildung zeigt Ihnen die Anwendung mit drei beliebig gewählten Eingabewerten. Beachten Sie die Verwendung des Dezimalpunktes in C bei Dezimalzahlen. Sie können das Programm beenden, indem Sie eine beliebige Taste drücken. Es ist möglich, das Programm wiederholt zu starten und mit anderen Eingabewerten rechnen zu lassen.

Page 26: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Struktogramme mit Iterationen

GPI02A 25

Kapitel 5

Struktogramme mit Iterationen Zur Realisierung von Algorithmen werden oft Wiederholungs-Elemente benötigt, um eine Anweisung mehrfach auszuführen. Sie haben dazu folgende Konstruktionen kennen gelernt:

1) den kopfgesteuerten Bedingungszyklus, in SiSy steht dafür das WHILE -Element (kopfgesteuerte Schleife) zur Verfügung

2) den fußgesteuerten Bedingungszyklus, in SiSy steht dafür das REPEAT-Element (fußgesteuerte Schleife) zur Verfügung

3) den laufbereichsgesteuerten Zyklus, in SiSy steht dafür das FOR-Element (Zählschleife) zur Verfügung

Das FOR-Element (Zählschleife) Wenn Sie das letzte Beispiel der Minimum-Bestimmung von drei Variablen auf beliebig viele Variable ausdehnen wollen, benötigen Sie ein Wiederholungselement. Dem Studienheft „Grundlagen der Programmierung/Algorithmierung“ entstammt das folgende Struktogramm als Beispiel für die Anwendung einer Zählschleife.

Abb. 5.1: Struktogramm zu „Algo3" Dieses sollen Sie jetzt mit SiSy implementieren. Dabei müssen Sie beachten, dass die nicht normierte Eingabeanweisung “Eingabe: n, (ai, i = 1 (1) n)” infolge der Laufbereichsangabe in eine Sequenz von:

– Eingabe für n (Element Verarbeitung) und – laufbereichsgesteuerter Zyklus (Element Zählschleife)

für die Eingabe von n Zahlen a[i] umzuwandeln ist.

Page 27: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Struktogramme mit Iterationen

GPI02A 26

Gehen Sie nach folgender Aktionsliste vor:

1) Anlegen eines neuen Projektes (VGM GPI02A) oder zurück ins Vorgehensmodell 2) Anlegen eines neuen Struktogramms „Algo3“ 3) Öffnen des Struktogramm-Editors („Algo3“, nach unten) 4) Moduleigenschaften, überprüfen 5) Eingabe der kompletten Struktur des Struktogramms entsprechend der

Aufgabenstellung und der folgenden Beschreibung 6) Definition aller Elemente des Struktogramms (Quelltexte) 7) Ausführen von Konvertieren, Kompilieren und Linken 8) Start des erzeugten Programms

Im Folgenden werden nur einige wichtige Zwischenetappen sowie das Vorgehen bei der Definition der Zählschleife gezeigt und erläutert.

Abb.: neues Struktogramm Algo3

Eingabe aller Struktogrammelemente Fügen Sie per Drag & Drop alle nötigen Elemente in das Struktogramm ein. Beachten Sie die Einfügemarke.

Abb.: Fertig gestellte Gesamtstruktur

Definition der Struktogrammelemente Die Funktion „main“ ist bereits vordefiniert. Wählen Sie das erste Element der Sequenz aus. Hier müssen die Variablen deklariert und die Anzahl n der einzulesenden Größen durch Eingabe festgelegt werden:

int i, n, ind; float min, a[100]; printf("Minimumsuche in einem Zahlenvektor\n\n"); printf("Anzahl der Werte = "); scanf("%i",&n);

Nach unten

Page 28: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Struktogramme mit Iterationen

GPI02A 27

Abb.: Quelltext der Eingabeschleife für „Algo3" Die der Zählschleife folgende Anweisung muss die Anfangseinstellungen für die Suche aufnehmen:

min = a[1]; ind = 1;

Es verbleibt nur noch die Definition der zweiten Zählschleife mit der inneren Alternative. Die Schleifenangaben sind die gleichen wie in der ersten Zählschleife. Anschließend wird das Alternative-Element definiert. Sie wählen den linken Zweig aus und geben gemäß Struktogramm die Bedingung

a[i]< min

ein. Als Nächstes wird die Anweisung des linken Zweiges mit den folgenden Wertzuweisungen definiert:

min=a[i]; ind=i; Die letzte Anweisung der Sequenz muss den Ergebnisdruck ausführen:

printf ("Minimum: a[%i] = %f",ind,min); getch(); Abb.: Fertiges Struktogramm für „Algo3"

Page 29: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Struktogramme mit Iterationen

GPI02A 28

Konvertieren, Kompilieren, Linken und Programmstart Jetzt können Sie Konvertieren, Kompilieren und Linken. Zuletzt bleibt Ihnen der Start des Programms. Kontrollieren Sie die Output-Fenster auf Fehlermeldungen und korrigieren Sie die Fehler, falls welche angezeigt werden.

Abb.: Start des Programms „Algo3“ mit Beispielwerten

Das REPEAT-Element Bearbeiten Sie jetzt das Struktogrammbeispiel für einen fußgesteuerten Zyklus. Gehen Sie nach folgender Aktionsliste vor:

1) Anlegen eines Projektes (VGM GPI02A) oder zurück ins Vorgehensmodell 2) Anlegen von „Algo4“ und Öffnen des Struktogrammeditors. (Algo4, nach unten) 3) Moduleigenschaften, überprüfen 4) Eingabe der kompletten Struktur des Struktogramms entsprechend der

Aufgabenstellung und der folgenden Beschreibung 5) Definition aller Elemente des Struktogramms (Quelltexte) 6) Ausführen von Konvertieren, Kompilieren und Linken 7) Start des erzeugten Programms

Abb. 5.8: Struktogrammvorgabe und neues Struktogramm zu „Algo4“

Nach unten

Page 30: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Struktogramme mit Iterationen

GPI02A 29

Die Abbildung zeigt die Definition der fußgesteuerten Schleife. Selektieren Sie die Schleifenbedingung und öffnen Sie diese durch Doppelklick. Sie müssen als Quelltext die Wiederholungsbedingung, also i <= n, angeben.

Abb.: „Algo4" mit REPEAT-Funktion Beachten Sie, dass in C und C++ die fußgesteuerte Schleife (do while) in der Form Wiederhole... Solange realisiert ist. Im Studienheft wurde dagegen die so genannte REPEAT-UNTIL-Form angegeben, wo die Abbruchbedingung i>n Anwendung findet. Die folgende Abbildung zeigt das komplettierte Struktogramm. Führen Sie jetzt den gesamten Prozess des Erstellens aus und starten Sie anschließend das Programm.

Abb.: Fertiges Struktogramm für „Algo4“ und ausgeführtes Programm

Page 31: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Struktogramme mit Iterationen

GPI02A 30

Das WHILE-Element Implementieren Sie zum Abschluss einen Algorithmus mit einem kopfgesteuerten Wiederholungselement entsprechend dem entsprechenden Struktogrammbeispiel Zinsberechnung aus dem Studienheft „Grundlagen der Programmierung/Algorithmierung“. Die Zinseszinsberechnung enthält ein WHILE-Element. Auch hier müssen Sie als Quelltext nur die Wiederholungsbedingung (guthaben <= ende) angeben. Der Quelltext der Struktogramm-Elemente kann der folgenden Abbildung entnommen werden. Verfahren Sie wie gehabt. Erstellen Sie das folgende Struktogramm ().

Abb.: fertiges Struktogramm zu „Algo5“ Bilden und starten Sie das Programm.

Abb. 5.13: Ausgeführtes Programm „Algo5“

Page 32: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Anhang

GPI02A 31

Anhang

Page 33: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

Einsendeaufgabe Grundlagen der Programmierung/ Typ A Algorithmierung

Name: Vorname: Postleitzahl und Ort: Straße: Matrikelnummer: Studiengang:

G P I 0 2 A X X

1 Auflage: 0703 A02

Bitte reichen Sie mit Ihren Lösungen die Aufgabenstellungen ein! Füllen Sie das Adressfeld bitte sorgfältig aus!

1. Überführen Sie den folgenden Programmablaufplan in ein Struktogramm.

Benutzen Sie SiSy und drucken das Struktogramm aus oder senden Sie das Projekt als E-Mail.

bitte wenden!

Einsendeaufgabencode:

GPI02A-XX1-A02

Tutor:

Datum:

Note:

Unterschrift:

Page 34: GPI02a - sisy.desisy.de/fileadmin/downloads/sh_gpi02a.pdf · dieser Beschreibung wird natürlich das Studienheft entsprechend aktualisiert. Bitte verfolgen ... Struktogramme in ausführbare

2. Stellen Sie den folgenden Pseudocode als Struktogramm dar. Benutzen Sie SiSy und drucken das Struktogramm aus oder senden Sie das Projekt als E-Mail. Führe erst A, dann B, dann C aus! Wiederhole D, solange Bedingung E wahr ist! Wenn Bedingung F wahr ist, führe G aus; sonst führe H aus.

3. Stellen Sie den folgenden Quelltext als Struktogramm dar. Benutzen Sie SiSy

und drucken das Struktogramm aus oder senden Sie das Projekt als E-Mail. int funktionA(int anzahl) { printf ("A"); if ( bedingung = wahr ) printf ("E"); else printf ("F"); printf ("B"); while ( anzahl < 2 { printf ("G"); anzahl=anzahl+1; } return 0; }

4. Erstellen Sie ein Programm, bei dem ein „Ball“ bei jedem Tastendruck schrittweise über den Bildschirm rollt und an den Bildschirmrändern abprallt. Das Programm soll mit der Taste „e“ beendet werden. Benutzen Sie SiSy und drucken das Struktogramm und den Quelltext aus oder senden Sie das Projekt als E-Mail.

Lösungshinweise:

• Bildschirm löschen mit clrscr(); • Positionierung der Textausgabe mit gotoxy(x,y);