Hagbard-Celine Geschrieben 27. April 2009 Geschrieben 27. April 2009 Hi Leute, ich bin gerade dabei zur Prüfungsvorbereitung die Sommer 2004 Prüfung zu machen, dies aber nur nebenbei. Dort wurde folgende Aufgabe gestellt: =================================== Die QCert GmbH gewährt ihren Kunden auf den Jahresumsatz einen Bonus, der wie folgt gestaffelt ist: ab 10.000 € 3,0% Bonus ab15.000€ 4,5 % Bonus ab 20.000 € 5,5 % Bonus Erstellen Sie auf der Nebenseite einen einfachen Prograrnmentwurf (PAP oder Struktogramm), mit dem ein Vertriebsmitarbeiter nach der Eingabe der Kundennummer folgende Daten erhält: - Jahresumsatz - erreichter Bonus Für den Programmentwurf stehen folgende Funktionen zur Verfügung: pruefeKundennummer(kdnr) (Rückgabe: 0= vorhanden -1= nicht vorhanden) ermittleJahresumsatz(kdnr) (Rückgabe: Umsatz in Euro) ========================================= Im Prinzip also eine leichte Aufgabe, nur habe ich schon ewig keine Struktogramme mehr erstellt und bei 2,3 Punkten eine Frage. Erstmal mein erstelltes Struktogramm Und nun meine Fragen: 1) In der Aufgabenstellung steht nicht! das es sich um ein erweitertes Struktogramm handelt, was ja Variablendeklarationen fordert. Kann ich mittlerweile trotzdem davon ausgehend das die IHK immer! von einem erweiterten Struktogramm ausgeht? 2) Ist die Art wie ich Rückgabewerte von Funktionen (z.B. pruefeKundennumer) auffange korrekt. Ich denke mir ja eine Variable aus die ich vorher nicht definiert habe und der ich auch kein Datentyp zuweise. Oder müssen die Variablen wie "jahresUmsatz" auch in die Deklaration ganz nach oben gepackt werden? 3) Bei der Ausgabe von Bildschirmkommentaren setze ich den Variablen Wert mit einem & Variable ein... soviel ich weiß ist das eine Pascal Notation die ich bei Strutogramm Beschreibungen gesehen habe, ist das so gängig und gewünscht? Ansonsten dürfte meines erachtens alles richtig sein. Ich frage mich nur ernsthaft wie man sowas mit der Hand umsetzen soll ^^ Mir reicht der Platz auf dem Papier fast gar nicht aus... und ohne Lineal brauch man das gar nicht erst versuchen was natürlich enorm viel Zeit nimmt. Vielen Dank schon mal für eure Hilfe. Schöne Grüße Hagbard Zitieren
Seskahin Geschrieben 28. April 2009 Geschrieben 28. April 2009 (bearbeitet) Hi, ich bin zwar kein AE, aber dennoch sind mir ein paar Sachen aufgefallen in deinem Struktogramm: 1. Die Schleife wird durchlaufen, bis man 3x die falsche Kundennummer eingegeben hat, auch wenn man schon beim ersten mal richtig war und eigentlich schon fertig ist (du musst im Ja-Zweig deiner If-Abfrage zumindest noch die Versuche auf >=4 setzen). 2. Wird nicht verlangt, welchen Bonus-Prozentsatz erreicht wurde, sondern wie viel der Kunde letztendlich als Bonus hatte (Also Umsatz * Prozentsatz) 3. Deine Switch-Case hat falsche Möglichkeiten (ka wie die Dinger heißen ^^). Wenn du jetzt z.B. einen Umsatz von 30.000 hast, geht er trotzdem in die 3,0% rein. D.h. du musst die genau Abgrenzen, also statt >= 10.000 "umsatz >=10.000 und umsatz <15.000" etc. Dein default dürfte passen. 4. Wegen den Variablen: Ich habe schon IHK Prüfungsaufgaben gesehen, in denen es nötig war die Variablen zu deklarieren, und welche in denen darauf verzichtet wurde. Es dürfte nichts schaden sie mit reinzuschreiben. Wichtig auf jeden Fall ist, wenn es nötig ist für die Richtigkeit des Programms, den Variablen einen Wert vorher zu geben, also z.B. I = 0 wenn I für eine Schleife verwendet wird etc. 5. Rückgabewerte: nummerKorrekt := pruefeKundennummer(knr) ist nicht notwendig. Es sollte auch gehen, wenn du in der IF-Abfrage-Bedingung schreibst "pruefeKundennummer(knr) == 0", so kannst du dir auch eine Variable sparen. 6. Ausgabe: Der IHK geht es nicht darum, dass du eine Ausgabe schön formulieren kannst. Es langt lediglich ein "Ausgabe umsatz, bonus". Bitte sagt was wenn ich was falsch geschrieben habe Gruß Seska Bearbeitet 28. April 2009 von Seskahin Zitieren
Matze666 Geschrieben 28. April 2009 Geschrieben 28. April 2009 Also ich weiss nich so recht aber ich weiss nicht ob ich mit deiner Aussage @Seskahin übereinstimme...das Programm fragt ja nicht nur die 10.000 ab sondern ">=10000" wenn ja dann xxx Bonus, nächste Abfrage "da der betrag >=10000 ist, ist er auch größer/gleich als 15000?" usw... Zitieren
allesweg Geschrieben 28. April 2009 Geschrieben 28. April 2009 Von der Manipulation des Schleifenzählers rate ich ab. Warum keine Abfrage, ob der Login erfolgreich war? (Aber wehe es kommt einer mit Sprungmarken oder so etwas!) Zitieren
Seskahin Geschrieben 28. April 2009 Geschrieben 28. April 2009 Soweit ich weiß, wird die erste zutreffende Bedingung ausgeführt, es werden nicht die nachfolgenden noch mit angesehen, deshalb muss man das ganze genau abgrenzen. Zitieren
allesweg Geschrieben 28. April 2009 Geschrieben 28. April 2009 @Seskahin: Das kommt auf die Sprache an, da ein Struktogramm aber sprachunabhänig ist, sollte man die genaue Abfrage rein schreiben. Zitieren
Seskahin Geschrieben 28. April 2009 Geschrieben 28. April 2009 Universeller bist du aber dran, wenn du es genau abgrenzt. So ist es nämlich auch in der Lösung der Aufgabe In der Abschlussprüfung würd ichs auf jeden fall so machen, kostet nicht sonderlich viel mehr zeit, du bist aber auf der sicheren seite. gruß seskahin Zitieren
christophboehm Geschrieben 2. Mai 2009 Geschrieben 2. Mai 2009 noch ein kleiner fehler ... nummerKorrekt == 1 und nicht == 0, weil ja vorhanden die 1 zurückgibt. Zitieren
Seskahin Geschrieben 3. Mai 2009 Geschrieben 3. Mai 2009 das müsste doch passen so wie es ist? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.