Zum Inhalt springen

Pls Help bei beispielaufgabe für Uni


cyb0

Empfohlene Beiträge

Abend Leute,

hab morgen eignungstest an der Uni für Bachelor Informatik, und da muss ich ne Klausur schrieben, kapier eig. alle Aufgaben außer eine, wäre vlt einer so nett Sie mir mal zu lösen/erklären

Danke!

Hier ist sie:

9 Programme

Eine Zahlenfolge Gn

ist durch die Vorschrift

G0 = 1

G1 = 1

Gn+2 = Gn + 2Gn+1

definiert ( jeweils nach dem G "runtergestellt", also z.B. G3 = 7.

Folgendes Programm einer hypothetischen Programmiersprache

gestattet es, den Wert Gn zu berechnen:

Eingabe von n

u:=1

v:=1

Schleife wenn n>1

dann n:=n-1

w:=v

v:=u+2*v

u:=w

springe nach ‘‘Schleife’’

sonst wenn n=0

dann Ausgabe von u

sonst Ausgabe von v

Erklärung des Programms Hier sind u,v,w,m,n Programmvariablen, die wahrend

des Programmablaufs ihren Wert ¨andern nach Maßgabe der Wertzuweisungen wie u:=0. Die Programmzeilen werden der Reihe nach abgearbeitet mit folgenden Ausnahmen:

beim Ausführen des springe nach Befehls wird zu der mit Schleife

gekennzeichneten Programmzeile gesprungen, beim Ausführen der wenn Anweisung wird entweder zu der mit dann oder der mit sonst gekennzeichneten Programmzeile

gesprungen, je nachdem ob die Bedingung zutrifft oder nicht. In der ersten wenn Anweisung lautet diese Bedingung n>1.

Ihre Aufgabe Die Zahlenfolge Hn ist durch die folgende Vorschrift definiert:

H0 = 1

H1 = 2

H2 = 3

Hn+3 = Hn + Hn+1 - Hn+2

Was muss man anstelle von XXXX einsetzen, damit im gleichen

Sinne Hn berechnet wird?

Eingabe von n

u:=1

v:=2

w:=3

Schleife wenn n>2

dann n:=n-1

XXXX

springe nach ‘‘Schleife’’

sonst wenn n=0

dann Ausgabe von u

sonst wenn n=1

dann Ausgabe von v

sonst Ausgabe von w

Kreuzen Sie in der folgenden Auswahl die richtige Einsetzung für XXXX an.

h:=w

v:=u+v-w

u:=w

v:=h

h:=w

w:=u+v-w

u:=v

v:=h

w:=u+v-w

u:=v

v:=w

h:=w

w:=v

u:=u+v-w

v:=h

h:=w

w:=v

u:=u+v+w+3,14159

v:=w

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo cyb0,

leider schreibst du nicht, wo genau dein Problem bei der Aufgabe liegt, also was du davon verstehst und was nicht.

[...] also z.B. G3 = 7 [...]

Hast du das selbst herausgefunden, oder stand das bereits bei der Aufgabe dabei? Wenn du das selbst erkannt hast, dann sollte die Aufgabe eigentlich kein Problem mehr sein.

Bitte schreib doch, wo genau du Verständnisprobleme hast, dann kann man dir auch besser helfen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ja des was ich geschrieben habe ist alles Angabe, unverändert!

Ok also des Programm an sich versteh ich schon, muss halt imemr schaun was für n zutrifftt und dann die Schritte durchgehen bzw. Schleife wenn n noch zu groß usw...

ja ok Problem jetzt, erstmal was soll ich mit der Vorschrift anfangen bzw. was kann ich daraus schließen/muss ich beachten....

und wie komm ich lettendlich auf die richtige Lösung, Schritt für Schritt Beschreibung wäre hilfreich ;9

Danke & MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

ok, dann versuche ich mich mal an einer kleinen Anleitung ;)

Ich habe selbst ne Weile an der Aufgabe geknobelt (bin ja kein Student, "nur" Azubi ;) ), deswegen weiß ich nicht, ob meine Lösung so 100% richtig ist, wers besser weiß, soll mich bitte korrigieren ^^

Bei der Aufgabe musst du eigentlich nur auf eines wirklich achten, nämlich darauf, dass die Variablen, die du hast, Schritt für Schritt "abgelaufen" werden. So hast du z.B. im ersten Schleifendurchlauf in der Variablen u den Wert von G0 stehen und in v den Wert von G1. Im nächsten Durchlauf steht in u der Wert von G1 und in v der neu berechnete Wert (quasi G2).

Du kannst es auch so sehen, das die Werte der Reihe nach abgearbeitet werden und dafür in jedem Schleifendurchlauf der niedrigste Wert (also G0 im ersten, G1 im zweiten usw) durch den nächsthöheren ersetzt wird.

Also, ganz am Anfang hast du die Vorschrift, Gn+2 = Gn + 2Gn+1 und die Variablen u (=G0) und v (=G1), w ist eine einfache Hilfsvariable.

Aus der Formel allein würde ich jetzt gar nichts schließen können, ist nur eine einfache Formel. Wichtig ist das, was in der Schleife passiert, bzw. wie sich die Variablen in der Schleife verändern.

In der Schleife passieren die folgenden Dinge:

w = v

--> der Wert von v wird 'gesichert', da v im nächsten Schritt einen neuen Wert bekommt, wir aber den ursprünglichen Wert im nächsten Schleifendurchlauf für die Berechnung noch brauchen.

v = u+2*v

--> hier wird die gegebene Rechenforschrift angewandt

u = w

--> u erhält den Wert von w

... ok, ich glaube, dass hat dir nicht wirklich geholfen...

Desswegen versuche ich es mal so, wie ich die Aufgabe gelöst habe.

Ich bin hergegangen und habe mir das ganze in einem Schreibtischtest angesehen, so kannst du sehen, wie sich die Variablen während der Schleifendurchläufe verändern, dass macht das ganze vielleicht etwas einfacher.


n:=3


u:=1

v:=1


Schleife wenn n > 1

dann n:=n-1          // n ist jetzt 2

w:=v                 // w = 1

v:=u+2*v             // v = 1+2*1 --> v = 3

u:=w                 // u = 1

springe nach ‘‘Schleife’’


// da n = 2 ist wird die Schleife wieder durchlaufen


Schleife wenn n > 1

dann n:=n-1          // n ist jetzt 1

w:=v                 // w = 3

v:=u+2*v             // v = 1+2*3 --> v = 7

u:=w                 // u = 3

springe nach ‘‘Schleife’’


// n ist 1 und somit nicht mehr >1, die Schleife wird also nicht mehr 

// durchlaufen, Ergebnis v(G3) = 7

Ich hoffe du verstehst es so besser. Die Formel an sich ist nicht sonderlich wichtig. Ich glaube, dass wichtigste bei dieser Aufgabe ist es zuverstehen, wie die Schleife funktioniert und wie sich die Variablen verändern.

Die Aufgabe kannst du auf genau die selbe Art und Weise lösen.

Ein kleiner Tipp noch, die Hilfsvariable ist äußerst wichtig, da du sonst falsche Werte für die Berechnung verwendest.

Ich hoffe, ich konnte dir ein wenig weiter helfen, bin nicht gut im erklären... Deswegen, solltest du meine Erklärungen nicht verstehen, einfach nochmal fragen, dann versuche ich es noch einmal anders :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ansatz, erstmal hinschreiben, wie sich die Zahlenfolge generell entwickelt

H0 = 1

H1 = 2

H2 = 3

H0+3 = H0 + H1 - H2 = 1 + 2 - 3 = 0 (n=0)

H1+3 = H1 + H2 - H3 = 2 + 3 - 0 = 5 (n=1)

H2+3 = H2 + H3 - H4 = 3 + 0 - 5 = -2 (n=2)

H3+3 = H3 + H4 - H5 = 0 + 5 - (-2) = 7 (n=3)

H4+3 = H4 + H5 - H6 = 5 + (-2) - 7 = -4 (n=4)

Link zu diesem Kommentar
Auf anderen Seiten teilen

h:=w

v:=u+v-w

u:=w

v:=h

falsch, da hier der Wert der Variablen w die ganze Zeit über konstant bleibt.

h:=w

w:=u+v-w

u:=v

v:=h

richtig

w:=u+v-w

u:=v

v:=w

falsch, da v den Wert annehmen müsste, den W vorher hat.

h:=w

w:=v

u:=u+v-w

v:=h

falsch, da der Wert von Hn+3 am Ende immer in der Variablen w stehen muss.

h:=w

w:=v

u:=u+v+w+3,14159

v:=w

falsch, da hier der Algorithmus von der Definition der Zahlenfolge abweicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...