IT-Kaetzchen Geschrieben 2. Januar 2013 Geschrieben 2. Januar 2013 Hallo Leute. Ich lerne gerade Fachinformatikerin Anwendungsentwicklung im 1. Lehrjahr. Ich hab eine Blockwoche verpasst, als wir Übungen zu Programmablaufpläne und Struktogramme gemacht haben. Jetzt hab ich hier eine Übung und weiß nicht, wie ich am besten vorgehe. Ich hab noch GAR keine Idee. Ich hoffe, ihr könnt mir helfen. Aufgabe: Es sollen für einen bestimmten Zeitraum die Kontoführungsgebühren bei einem Geldinstitut nach folgenden Maßgaben ermittelt werden. 0 < Anzahl <= 5 |Die ersten 5 Buchungen sind gebührenfrei 5 < Anzahl <= 10 |Gebühr je Buchung: 0,40 € 10 < Anzahl <= 20 |Gebühr je Buchung: 0,20 € 20 < Anzahl <= 1000 |Gebühr je Buchung: 0,10 € Es mag für manche wirklich leicht sein, aber ich bin blutiger Anfänger Mehr Angaben hab ich leider nicht. Ich freu mich über eure Hilfe :-) Grüße, Katja. Zitieren
oppi Geschrieben 2. Januar 2013 Geschrieben 2. Januar 2013 Hallo Katja, wenn ich so eine Aufgabe lösen muss gehe ich immer nach dem "Divide & Conquer" Prinzip vor. D.h. ich zerlege die Aufgabe solange in kleine Teilaufgaben bis sie trivial sind. Danach füge ich alles wieder zusammen. In deinem konkreten Beispiel würd ich wohl erstmal mit Gedanken um die Schleife machen, ohne den Geldwert zu beachten. z.B. erstmal alle Buchungen von 0-5 erfassen, danach 6-10 usw... Dann bist du schon ein ganz großes Stück weiter Was passiert bei mehr als 1000 Buchungen ? Zitieren
IT-Kaetzchen Geschrieben 2. Januar 2013 Autor Geschrieben 2. Januar 2013 (bearbeitet) Das ist keine Hausaufgabe! Ich hab die Woche wegen einer Knieop verpasst. Ich versuche gerade die Aufgabe zu lösen, aber hab leider auch keine Ahnung, wie ich meine Lösung hier am besten darstelle... :-) Ich hoffe, dass jemand Lust hat mir dabei zu helfen. Ich verlange auch keine Lösungen. Lediglich Gedankenanstöße oder so ;D EDIT: Danke Oppi. Ich bin gerade dabei die Abfragen zu machen (sprich 'Raute' Anzahl < 5? JA,NEIN usw.). Mehr als das was ich bereits geschrieben habe steht leider nicht dabei. Bearbeitet 2. Januar 2013 von IT-Kaetzchen Zitieren
IT-Kaetzchen Geschrieben 2. Januar 2013 Autor Geschrieben 2. Januar 2013 Soweit bin ich bis jetzt. Liege ich denn richtig? Wenn es passt, gestalte ich das ganze natürlich noch schöner ;-) Zitieren
oppi Geschrieben 2. Januar 2013 Geschrieben 2. Januar 2013 Leider noch nicht ganz korrekt. Die "Anzahl" bezieht sich immer auf alle Buchungen. Das heisst in deinem Beispiel dass auch die ersten 5 Buchungen mit Gebühren belastet werden. Das ist aber leider nicht korrekt. Ganz simpler Schreibtischtest: Eingabe: Anzahl = 20 jetzt werden ALLE mit den Gebühren von 0.20€ versehen => 0.20€ * 20 = 4 € Richtig wäre: 0-5 gebührenfrei 6-10 10 cent => 5*0.4 = 2,00 11-20 20 cent => 10*0.2 = 1,00 insgesamt: 3 Euro Zitieren
IT-Kaetzchen Geschrieben 2. Januar 2013 Autor Geschrieben 2. Januar 2013 (bearbeitet) Ich weiß ja die Anzahl der Buchungen nicht. Deswegen hab ich "Anzahl" geschrieben. Ich kann ja nicht einfach sagen, dass jetzt JEDER 3 Euro Gebühren zahlen muss. Was müsste ich denn an meiner Zeichnung ändern? Bearbeitet 2. Januar 2013 von IT-Kaetzchen Zitieren
oppi Geschrieben 2. Januar 2013 Geschrieben 2. Januar 2013 Nochmal, so würde ich vorgehen Zählschleife mit sovielen Durchläufen wie Buchungen bei jedem Schleifendurchlauf wird geprüft, welche Gebühr fällig wird und diese zur Summe addiert Ausgabe der Summe Zitieren
IT-Kaetzchen Geschrieben 2. Januar 2013 Autor Geschrieben 2. Januar 2013 Wir haben bis jetzt im Unterricht noch keine Schleifen eingebaut. Das ist nämlich mein Problem. Ich hab keine Ahnung, wie ich so eine Schleife aufbaue! -.-' Ich hatte erst 4 Blockwochen (die erste wurde NICHTS gemacht und eine hab ich komplett gefehlt). Ohne irgendein Bild kann ich mir das leider nicht vorstellen... Zitieren
flashpixx Geschrieben 2. Januar 2013 Geschrieben 2. Januar 2013 Du brauchst keine Schleifen, um den korrekten Gebührensatz zu berechnen. Mit ein bisschen Mathematik (+-*) lässt es sich ausrechnen. Oppi hat es im Post #5 einmal per Hand aufgeschrieben und das kann man fast genauso umsetzen. Zitieren
oppi Geschrieben 2. Januar 2013 Geschrieben 2. Januar 2013 nochmal zu meinem Verständnis: 0 < Anzahl <= 5 |Die ersten 5 Buchungen sind gebührenfrei // heisst das nur wenn ich höchstens 5 Buchungen habe, oder sind die ersten 5 immer frei ? 5 < Anzahl <= 10 |Gebühr je Buchung: 0,40 € // gilt das für alle Buchungen oder nur die Buchungen #6 bis #10 ? Zitieren
IT-Kaetzchen Geschrieben 2. Januar 2013 Autor Geschrieben 2. Januar 2013 So steht es auf meinem Blatt. Ich meine, wenn ich die Gebühren ausrechnen möchte und z.B. Eingebe, dass ich 8 Buchungen gemacht habe [in einem bestimmten Zeitraum, der nicht angeben ist], dann zahle ich für diese 8 Buchungen jeweils 0,40 €. So dachte ich das. Also in dem Fall meine ich, dass die ersten 5 (0-5) gebührenfrei sind. Zitieren
IT-Kaetzchen Geschrieben 2. Januar 2013 Autor Geschrieben 2. Januar 2013 Ich hab ja in meinem PAP stehen dass wenn die Anzahl der Eingegeben Buchungen zwischen 0 und 5 Gebührenfrei sind (einschließlich 5), die Zahl zwischen 5 und 10 (einschließlich 10) dann eben jeweils 0,40€ kostet.. usw. Zitieren
Blueshark Geschrieben 2. Januar 2013 Geschrieben 2. Januar 2013 Wenn die Aufgabenstellung genau so auf deinem Blatt steht würde ich oppi beipflichten. Denn dann sind wirklich die ersten 5 Buchungen kostenlos. Für jede weitere drauf bezahlt man 40ct bis man über 10 ist und so weiter. Zitieren
Blueshark Geschrieben 2. Januar 2013 Geschrieben 2. Januar 2013 Anders wäre es wenn es hieße: "Bis zu 5 Buchungen sind kostenfrei, ab 6 Buchungen kostet jede Buchung 40ct. Etc." Jedenfalls würd ich das nun so verstehen. Zitieren
flashpixx Geschrieben 2. Januar 2013 Geschrieben 2. Januar 2013 Bevor man über die sprachliche Auslegung der Aufgabe philosophiert kann man auch beide Diagramme entwerfen, bei einer so kleinen Aufgabe sollte das möglich sein und außerdem ist es eine sinnvolle Übung. Zitieren
IT-Kaetzchen Geschrieben 3. Januar 2013 Autor Geschrieben 3. Januar 2013 Ja was stimmt denn daran jetzt nicht? Ich hab doch verstanden, dass die ersten 5 kostenlos sind. Hier nochmal: Ich hab hier doch eine Eingabe nach dem Start oben links gemacht ("Anzahl" [sprich die Anzahl an Buchungen]) und dann die Abfrage, wenn die "Anzahl" eine von 0 - einschließlich 5 ZAHL ist, dann geht es doch runter über JA auf ENDE. Weil es ja nichts kostet berechne ich da nichts. Anders ist das bei den anderen Abfragen. Da steht, wenn die "Anzahl" von 5 bis einschließlich 10 eine Zahl ist, dann geht es über JA, auf eine Rechnung: die eingegebene "Anzahl" * 0,40 € ! Wenn das nicht stimmt, wie mach ich dann das Diagramm? Ich hab das mit den Buchungen schon verstanden. Darum geht es mir auch gar nicht. Nur, was dann eben an meinem Diagramm (PROGRAMMABLAUFPLAN) falsch ist Zitieren
Aras Geschrieben 3. Januar 2013 Geschrieben 3. Januar 2013 Ja steht doch dort.. "Die ersten 5 Buchungen sind gebührenfrei" d.h. wenn du bei deinem Algo den Wert für 10 berechnest, dann bist du bei 4 € und nicht 2 € (5 kostenlos + 5 * 40 cent) Also entweder du nutzt eine schleife die solange durchgeht bis keine buchungen mehr vorhanden sind und die Zählvariable als Anzahl dient und entsprechenden Wert addiert (was imho am saubersten ist). Oder du machst statt deiner Berechnungen: für 6-10 : "Anzahl * 40 Cent = Summe" die korrekte Berechnung "(Anzahl - 5) * 40 Cent = Summe" für 10 Buchungen wird also 200 Cent veranschlagt. Dies wird für die nächste Berechnung genutzt: für 11-20: "Anzahl * 20 Cent = Summe" die korrekte Berechnung "(Anzahl - 10) * 20 Cent + 200 Cent = Summe" d.h. wenn du 20 stück hast, dann ergibt das 400 Cent. Dies wird fürs nächste verwendet für 21-1000: "Anzahl * 10 Cent = Summe" die korrekte Berechnung "(Anzahl - 20) * 10 Cent + 400 Cent = Summe" Zitieren
IT-Kaetzchen Geschrieben 3. Januar 2013 Autor Geschrieben 3. Januar 2013 Achso. Ja gibt Sinn. Ich hab gedacht, dass, wenn es eben mehr Buchungen sind, die Gebühren immer weniger werden. Zitieren
mcn Geschrieben 3. Januar 2013 Geschrieben 3. Januar 2013 (bearbeitet) Hallo IT-Kätzchen, der PAP sieht eigentlich ganz ok aus, finde ich. Bei den Bedingungen würde ich bissl was anders aufschreiben. Erste Bed.: 0 < Anzahl <= 5 finde ich noch ok, da für mich nicht ersichtlich ist ob negative Werte eingegeben werden können, oder negative Werte abgefangen werden. Zweite Bed.: 5 < Anzahl <= 10 hier kannst du m.E. das "5 <" weglassen. Denn wenn "0 < Anzahl <=5" nicht erfüllt ist, dann muss "5 < Anzahl" eigentlich nicht weiter geprüft werden. Wurde ja in Bed. 1 geprüft und war dort nicht erfüllt. Selbes gilt für die dritte und vierte Bedingung. Aus "Anzahl * Buchungsgebühr = Summe" würde ich "Summe = Anzahl * Behungsgebühr" machen. Das wird Zuweisung genannt. Und die Variable, der zugewiesen wird, die steht im Normalfall links (ist aber vllt. auch nur Kosmetik, ich habe es halt so gelernt und finde es auch leichter Verständlich). Für den Fall dass die ersten 5 Buchungen, egal bei welcher Buchungsmenge, kostenfrei sind musst du diese ggf. von der Gesamtmenge vorher abziehen. Lässt sich aber mit einfacher Mathematik bewerkstelligen. Nun noch ein paar Fragen: Was passiert bei mehr als 1000 Buchungen? Da wird nix berechnet? Warum geht dein PAP bei fünf oder weniger Buchungen direkt zum Ende? Wird da nichts fällig. bzw. soll da keine Ausgabe stattfinden? Weil, auch die Gebühr 0,00 Eur. ist, formal gesehen, eine Gebühr. Nur eben i.H.v. 0,00 Eur. Das Du für jeden Fall (jede Buchungsmenge(n)) eine eigenes Trapez für die Ausgabe der Summe aufmalst ist unnötig. Es wird immer das Selbe ausgegeben - die Summe der Buchungsgebühren. Diese mag zwar variieren, ist aber immer die Summe der Gebühren. Da reicht es u.U. nur ein Trapez für die Ausgabe der Summe aufzumalen und von den "Berechnungs-Vierecken" auf dieses weiter zu gehen. So, ich hoffe das hilft mehr als es verwirrt *Edit Weil ich es grad (wieder) gesehen habe: Also entweder du nutzt eine schleife die solange durchgeht bis keine buchungen mehr vorhanden sind und die Zählvariable als Anzahl dient und entsprechenden Wert addiert (was imho am saubersten ist). Ich finde ja Schleifen auch toll. Aber sorry, eine Schleife ist hier sowas von fehl am Platz! Ansonsten kann ich der Berechnung von Aras (Anzahl - 5) * Gebühr pro Buchung nur zustimmen. *nochmal Edit: @IT-Kätzchen: Wäre nett wenn Du die Aufgabe mal im Original postest. Gibt hier offensichtlich verschiedene Auslegungen welche Gebühren wann fällig werden. Bearbeitet 3. Januar 2013 von mcn Zitieren
IT-Kaetzchen Geschrieben 3. Januar 2013 Autor Geschrieben 3. Januar 2013 Danke. So verstehe ich das ganze schon besser. Dann lag ich ja nicht GANZ so falsch mit meinem PAP ;D Die Aufgabe hab ich so aufgeschrieben, wie ich sie hier habe. Es gibt keine weiteren Informationen dazu. Zuhause kann ichs dann mal abfotografieren und dann hier posten. Bei mehr als 1000 Buchungen weiß ich leider nicht was passiert, da hier nichts weiteres steht. Und es ist auch nicht angegeben, was bei unter 5 Buchungen passiert, deswegen hab ich nichts hingeschrieben. Aber vielen Dank. So komme ich ein ganzes Stückchen weiter. Zitieren
mcn Geschrieben 3. Januar 2013 Geschrieben 3. Januar 2013 Weil ich meinen letzten Post irgendwie nicht mehr editieren kann. für 6-10 : "Anzahl * 40 Cent = Summe" die korrekte Berechnung "(Anzahl - 5) * 40 Cent = Summe" für 10 Buchungen wird also 200 Cent veranschlagt. Dies wird für die nächste Berechnung genutzt: Wieso??? für 11-20: "Anzahl * 20 Cent = Summe" die korrekte Berechnung "(Anzahl - 10) * 20 Cent + 200 Cent = Summe" d.h. wenn du 20 stück hast, dann ergibt das 400 Cent. Dies wird fürs nächste verwendet Dies ist gemäß Aufgabenstellung nicht richtig. Ebenso wie für 21-1000: "Anzahl * 10 Cent = Summe" die korrekte Berechnung "(Anzahl - 20) * 10 Cent + 400 Cent = Summe" Denn die Aufgabe lautet ja: 0 < Anzahl <= 5 |Die ersten 5 Buchungen sind gebührenfrei 5 < Anzahl <= 10 |Gebühr je Buchung: 0,40 € 10 < Anzahl <= 20 |Gebühr je Buchung: 0,20 € 20 < Anzahl <= 1000 |Gebühr je Buchung: 0,10 € Da steht aber nix davon, dass bei z.B. 500 Buchungen für die sechste bis zehnte 40 Cent fällig werden, für die elfte bis zwanzigste 20 Cent usw. Da steht, wie hoch die Gebühren bei einer gegebenen Anzahl von Buchungen sind. Also bei z.B. 500 Buchungen sind die ersten fünf Buchungen frei. Für die restlichen 495 Buchungen fällt dann eine Gebühr von je 10 Cent an. @IT-Kätzchen: Ich hab mir den Spass auch eben mal gegeben und den PAP aufgemalt. Da Du aber "nur" um Hilfe gebeten hast stell ich den hier jetzt mal nicht ungefragt rein. Bei Interesse... einfach posten oder PM. greetz & viel Spass noch beim PAP designen. Zitieren
IT-Kaetzchen Geschrieben 3. Januar 2013 Autor Geschrieben 3. Januar 2013 Jetzt hat mich endlich einer mal verstanden. Dann lag ich ja doch richtig mit meinen Gedanken^^ haha Vielen Dank :-) Zitieren
Aras Geschrieben 3. Januar 2013 Geschrieben 3. Januar 2013 Ich könnte jetzt auch behaupten, dass sich die angegebene Gebühr auf die davorstehende Anzahl der Buchungen bezieht. Zitieren
IT-Kaetzchen Geschrieben 3. Januar 2013 Autor Geschrieben 3. Januar 2013 Ja darüber könnte man jetzt streiten Ich hab noch eine Aufgabe und den PAP dazu: "Es soll der Notenschnitt einer Klassenarbeit ermittelt werden. Dabei ist sicher zustellen, dass nur Noten im Intervall: Note > 0 und Note <= 6 bei der Eingabe aktzeptiert werden. Die Eingabe "0" soll die Noteneingabe beenden. Ist die Anzahl der Noten kleiner als zwei, so wird kein Notendurchschnitt ermittelt." Ich wusste nicht, wie ich mit der "anzahl" >= 2 umgehen soll. Ob ich da dann nach der Textausgabe noch eine Abfrage machen soll mit "Weitere Noten eingeben" oder "Abbrechen" oder sowas.... ;D und dann zum Ende oder zum Start je nach dem^^ Zitieren
mcn Geschrieben 3. Januar 2013 Geschrieben 3. Januar 2013 Ich könnte jetzt auch behaupten, dass sich die angegebene Gebühr auf die davorstehende Anzahl der Buchungen bezieht. Ich wüsste nicht was es da zu diskutieren gibt. Die Aufgabe ist ja folgendermaßend gestellt: 0 < Anzahl <= 5 |Die ersten 5 Buchungen sind gebührenfrei 5 < Anzahl <= 10 |Gebühr je Buchung: 0,40 € 10 < Anzahl <= 20 |Gebühr je Buchung: 0,20 € 20 < Anzahl <= 1000 |Gebühr je Buchung: 0,10 € Ich hatte versucht das in post #21 zu belegen. Sorry wenn es nicht deutlich wurde. 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.