5.2.20
03/29/20

Diff for IngInf_Struk2 between 5 and 6

+ Struktogrammbeispiele (2)
** W. Tasin, M.Sc. **

Hier finden Sie die Verweise auf vorlesungsbegleitende Unterlagen und sonstige Hinweise zur Lehrveranstaltung **Algorithmen und Datenstrukturen**.
Sie können rechts oben am Datum erkennen, ob eine Aktualisierung der Seite stattfand.  
[[toc]]

----
**Hinweis zur Verwendung der hier veröffentlichten Unterlagen**
Die hier veröffentlichten Unterlagen sind in erster Linie als vorlesungsbegleitende Dienstleistung zu verstehen.
Der Inhalt der Skripten darf für nichtkommerzielle Zwecke (dies schließt auch die kostenlosen Weitergabe innerhalb **kommerzieller** Unternehmen ein) frei verwendet werden, sofern der Inhalt in **unveränderter Form** und **vollständig** verwendet wird.
Siehe auch Hinweise auf [http://www.netzmafia.de/skripten/index.html Netzmafia].
----
++ Allgemeines

Struktogramme dienen zur Darstellung eines Algorithmus' oder eines Programmablaufs.
Sie sollten am besten sprachunabhängig formuliert sein.
Alle Beispiele stellen **eine** Lösung von vielen dar. Man kann die Aufgabenstellung auch anders darstellen bzw. realisieren.

++ Beispiel 1

+++ Aufgabenstellung
Ein Geldautomat soll anhand eines eingegebenen Betrags die minimale Anzahl an
Geldscheinen bestimmen.
Der eingegebene Geldbetrag soll durch 5 teilbar sein, falls nicht wird eine Fehlermeldung ausgegeben.

Der Einfachheit halber wird angenommen, dass der Geldautomat nur Scheine bis 50 EUR beinhaltet.

+++ Struktogramm
[[image Beispiel1.png]]

[[image Beispiel1_C.png]]

+++ Realisierung in C
<geshi<code type="C">/*  Program Geldausgabe  */
#include <stdio.h>

int main(void)
{
	unsigned wert, anz50, anz20, anz10, anz5;
	
	printf("Geben Sie einen Geldbetrag ein: ");
	scanf("%u", &wert);
	if (wert % 5 == 0)
	{
		anz50 = anz20 = anz10 = anz5 = 0;
		while ( wert >= 50 ) 
		{
			wert = wert - 50;
			anz50++;
		}
		while ( wert >= 20 ) 
		{
			wert = wert - 20;
			anz20++;
		}
		while ( wert >= 10 ) 
		{
			wert = wert - 10;
			anz10++;
		}
		while ( wert >= 5 ) 
		{
			wert = wert - 5;
			anz5++;
		}
		printf("%u x 50 EUR - %u x 20 EUR - %u x 10 EUR - %u x 5 EUR\n",
				anz50, anz20, anz10, anz5);
	}
	else
	{
		printf("Geldbetrag muss durch 5 teilbar sein.\n"); 
	}
	
	return 0;
}
</geshi></code>

----
++ Links
((IngInf_Termine|Terminplan Ingenieurinformatik 1))
((IngInf_Praktikum|Praktikum Ingenieurinformatik 1))
((Wiki/Home|Zur Hauptseite))