Donnerstag, 2. Dezember 2010

Mehrfache Alternative

Diesmal haben wir uns in SAE mit einem Tarifauskunftsrechner beschäftigt. Dabei hatten wir die Vorgabe, dass die Zonen 1-6 einen gewissen Betrag kosten. Unser Programm sollte jetzt anhand der Eingabe des Kunden erkenne, welche Betrag dieser zu zahlen hat.

Meine Idee war es mehrere Einfachverzweigungen zu machen, die nacheinander geprüft werden. Wenn also der Kunde eingibt, dass er 3 Zonen fahren möchte, prüft das System, ob die Bedingung für 1 Zone zutrifft. Dies ist nicht der Fall, also tritt der “Nein”-Fall ein und es wird geprüft, ob die Bedingung für 2 Zonen zutrifft. Auch dies ist nicht der Fall. Aber die Bedingung für 3 Zonen trifft zu und somit spuckt das Programm den Betrag für 3 Zonen aus.

Allerdings haben wir dann erfahren, dass es mit der switch-Anweisung schneller klappt, da das System ganz schnell durch alles durchgeht und man auch nicht das Problem hat, dass man sich eventuell bei den vielen Klammern in der Einfachverzeigung mit if vertut. Bei switch setzt man eine Klammer am Anfang und eine am Ende und dazwischen schreibt man die verschiedenen Fällt, die eintreffen können und die das Programm durchgehen soll.

Wirklich ersichtlich wurde uns dann, dass switch besser ist, als wir auch noch die Aufgabe bekommen haben, dass das Programm wählen soll, ob Einzeltickets oder ein Wochenticket günstiger sind. Dafür musste erst einmal ermittelt werden, ab wie vielen Einzelkarten man teurer ist als mit der Wochenkarte. Danach hat man in die switch-Anweisung zu den Einzelnen Fällen die Wochenkartenpreise geschrieben und hinterher hat man das Programm überprüfen lassen, mit was der Kunde günstiger weg kommt und diesen Betrag spukt das Programm dann aus.

Im Grunde genommen also alles recht einfach, wenn man nur weiß, wie es geht.

Keine Kommentare:

Kommentar veröffentlichen