Zum Inhalt springen

Algorithmus in Pseudocode, Aufgabe Hilfe


Empfohlene Beiträge

Geschrieben

Hallo,

ich habe eine Aufgabe zu bearbeiten bei der ich Hilfe benötige.

Informationen zur Aufgabe sind als jpg angehangen.

Aufgabe:

Formulieren Sie einen Algorithmus in Pseudocode, mit dem die Teilnahmegebühr für eine Familie ermittelt werden kann.

Das ganze ist für mich absolutes Neuland und hab es mal so versucht (Wobei ich denke das es total falsch ist):

Preisberechnung

{ Summe=0;

WHILE (Anmeldung Vorhanden)

{Positionspreis=Anmeldungen*Preis;

Summe=Summe+Positionspreis;

}

Rabattberechnung

{Rabatt=0;

IF (P1)

{Rabatt=Preis*o,o;}

ELSE IF (P2)

{Rabatt=Preis*0,2;}

ELSE IF (P3)

{Rabatt=Preis*0,4;}

ELSE IF (P4)

{Rabatt=Preis*o,6;}

RETURN Rabatt;}

Rechnungsbetrag

{

Preis=Preisberechnung;

Rabatt= Rabattberechnung;

Rechnungsbetrag= Preis-Rabatt;

RETURN Rechnungsbetrag;

}

ich bitte um eure hilfe.

es fehlt auch noch die unterkunft auswahl und das kumulieren der rabatte konnt ich hier nicht nachvollziehn.

ich bin blutiger anfänger, bitte nicht auslachen ^^

post-84688-14430449169173_thumb.jpg

Geschrieben

Ist für den Anfang okay, ich würde aber ein etwas anderes Vorgehen vorschlagen. Ziel ist es ja nachher aus dem Pseudocode einen compilefähigen Quellcode zu erzeugen, d.h. wenn ich jetzt versuchen würde das aus Deinem Code zu erzeugen ist das ganze etwas schwierig, weil z.B. nicht klar ist, woher die Informationen kommen. Was Dir schon gut gelungen ist, dass Du erkannt hast, dass man das Problem zerlegen muss (Deine Überschriften), man würde eben nachher eben daraus Funktionen bauen.

Ich mache mal ein kleines Beispiel:

Im ersten Absatz steht "Der Verein bietet in zwei Wochen verschiedene Events an. Teilnehmer können als Event entweder "alle Events", "Woche 1",

"Woche 2" oder "keine Events" buchen

Die erste Frage ist, ist die Information "zwei Wochen" für die Problemlösung wichtig? Nein, denn der Rabatt ist zeitunabhängig, aber wichtig sind die Unterscheidungen bei den Events, d.h. irgendwo muss gespeichert werden welche Events die Person / Familie bucht. Daraus folgt, woher haben wir die Information zu Person !? Damit wäre der erste Schritt:


Personendaten erfassen und in der Variablen $person speichern

Rabatt erfassen und in der Variablen $rabatt speichern

...

D.h. nachdem diese beiden Zeilen (später Befehle) abgearbeitet sind, haben wir in $person die Daten zu einer Person drin (wie z.B. Name, Anschrift etc) und in $rabatt den gewünschten Rabatt. Jetzt musst Du Dir überlegen, ob das so richtig ist, denn z.B. wie erfasst Du Familien und wie unterscheidest Du diese von Einzelpersonen !? Der Ansatz, dass in Teilprobleme (Funktionen) zu zerlegen ist gut, d.h. Du hast einen Hauptpseudocode (das Hauptprogramm) und dann Funktionsblöcke, die z.B. nur ein Teilproblem lösen. Im Normallfall übergibt man dann diesen Funktionen irgendwelche Parameter als z.B.

...

Rabatt berechnen ($person, $event)

...

Wenn man das dann schon so versucht aufzuschreiben, dann ist es nicht mehr so schwer daraus Quellcode in einer Programmiersprache zu schreiben

Hoffe das hilft weiter

Geschrieben

danke für deine hilfe !

ich glaube ich habe es ansatzweise verstanden.

das ganze quasi wie ein ,,kuchenrezept" runterschreiben und daraus dann nen quellcode zaubern.

mal schaun ob ich das mit dem quellcode hinbekomme ^^

Geschrieben

das ganze quasi wie ein ,,kuchenrezept" runterschreiben und daraus dann nen quellcode zaubern.

Das höre ich so zum ersten Mal, aber ja genau das meinte ich. Natürlich kannst Du das auch in etwa so machen


1. Person einlesen

und dann gehst Du hin und verfeinerst das ganze z.B.

1a) Vorname einlesen und in $vorname speichern

1b) Nachname einlesen und in $nachname speichern

Pseudocode soll Dir die Möglichkeit bieten relativ umgangssprachlich einen Algorithmus zu formulieren, wenn Du das aber schon recht "programmnah" machst, dann ist der Sprung in echten Code eben nicht mehr weit. Bei mir ist Pseudocode eben schon sehr progamnah und ich formuliere meist auf englisch. Du musst halt selbst ausprobieren, wie Du am besten klar kommst.

Wenn Du den Pseudocode in mehreren Schritten aufbaust, also erst grob und dann das grob formulierte verfeinerst wirst Du sehen, dass Du dafür mehrere Durchgänge brauchst, was man dann später nachher nicht mehr so braucht. Die Verfeinerung sollte dann aufhören, wenn Du im Grunde jede Pseudocode Zeile mit einem Befehl einer Programmiersprache umsetzen kannst.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...