Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Matar
Anmeldungsdatum: 02.05.2006 Beiträge: 2
|
Verfasst am: 02. Mai 2006 15:24 Titel: Dringende Hilfe benötigt ( LOOP - WHile Programme ) |
|
|
Grüße miteinander,
ich stehe vor einen, für mich unlösbaren Problem bei meinen Übungen. 2 Der dutzend Aufgaben verstehe ich schlichtweg nicht und finde keinerlei Ansatz.
Es geht um folgendes Problem:
1) Einmal soll ich ein LOOP-Programm schreiben für x mod y ( x%y )
2) Ein While-Programm für x^y ( x hoch y )
Kennt einer von euch die Problemstellung, kennt zufaellig eine Lösung dafür oder hat einen passenden Link parat?
Ich bin euch für alles dankbar, da ich seit 3 Tagen an den Aufgaben verzweifel.
Liebe Grüße
Matar |
|
Nach oben |
|
|
|
Crotaphytus
Anmeldungsdatum: 08.05.2005 Beiträge: 213
|
Verfasst am: 02. Mai 2006 18:25 Titel: |
|
|
Was genau soll denn ein LOOP- bzw. while-Programm sein? Ich verstehe das jetzt so, dass da jeweils Schleifen eingebaut werden sollen...
Wie siehts mit der Programmiersprache aus? Vorgegeben, egal, Pseudocode? _________________ Genie oder Wahnsinn? Wer kann es wissen... |
|
Nach oben |
|
|
Matar
Anmeldungsdatum: 02.05.2006 Beiträge: 2
|
Verfasst am: 02. Mai 2006 18:42 Titel: |
|
|
Wir dürfen leider keine Prog.Sprachen nutzen sondern pseudo bzw. Assembler Code.
Das problem an beiden aufgaben ist, das in dieser Art Code nur Addition und Subtraktion erlaubt sind und damit fangen auch meine Probleme an, dass ich nciht weiss wie ich die Schleifen aufbauen kann um letztendlich das ergebnis zu bekommen.
Hier mal ein einblick in so einen Code für X*Y:
While-Programm:
x0:=0
while x1 != 0 do
x3:=x2
while x3 != 0 do
x3:=x3-1
x0:=x0+1
end
x1:=x1-1
end.
LOOP-Programm:
x0:=0
loop x2 do
loop x1 do
x0:=x0+1
end
end.
In beiden fehlen sieht die Variablenbelegung folgend aus:
x0 --> Laufvariable die letztendlich das Ergebnis beeinhaltet
x1 --> Variable für die Eingabe x
x2 --> Variable für EIngabe y
x3 --> Hilfsvariable für Schleifendurchläufe.
In dem Fall sind die Pseudo-codes recht leicht zu überschauen, jedoch weiss ich nicht wie ich die oben beschriebenen Probleme umsetzen kann. |
|
Nach oben |
|
|
Crotaphytus
Anmeldungsdatum: 08.05.2005 Beiträge: 213
|
Verfasst am: 02. Mai 2006 20:50 Titel: |
|
|
Die Frage ist: Was genau macht loop? Ich hab das jetzt so verstanden, dass das die Variable nach jedem Schleifendurchlauf um 1 runterzählt und die Schleife beendet ist, sobald hier 0 erreicht ist. Ist das so weit korrekt? Die Frage wäre hier dann: Was passiert, wenn der Variable während des Schleifendurchlaufs ein negativer Wert zugewiesen wird? Wenn die Schleife dann auch abbricht, liese sich die Modulo-Operation damit erziehlen.
Die Potenzoperation würde ich durch entsprechend häufige Aufrufe von X*Y mit variablen X-en erziehlen.
Hilft dir das schon mal n bisschen weiter? _________________ Genie oder Wahnsinn? Wer kann es wissen... |
|
Nach oben |
|
|
Paul_H
Anmeldungsdatum: 01.02.2006 Beiträge: 52 Wohnort: Bonn
|
Verfasst am: 08. Mai 2006 12:32 Titel: Potenz kein Prob |
|
|
...also was die Potenzfunktion angeht, sollte das machbar sein.
Ich hab mir hier mal folgendes einfallen lassen (deckt sich vielleicht nicht 100%ig mit deinen formalen Angaben wie ein Pseudocode aussehen soll)
Sei A ^B zu berechnen:
A=x0
B=x3
x2 = x0
x1 = x0
while(x3 != 1) /* falls gleich eins, läuft die Schleife einmal zu viel*/
while(x0 != 1)
x2 = x2+x1 /* diese Schleife macht die normale Multiplikation mit */
x0 =x0-1 /* sich selbst, und zwar genau A-mal */
end
x1=x2 /* unser neuer Faktor ist dass was in der inneren */
/* Schleife rausgekommen ist */
x3=x3-1 /* Index der äußeren Schleife aktualisieren */
x0=A */ x0 soll A bleiben, deswegen setzen wir es zurück */
end
Habs jetz nich gründlich durchgeprüft |
|
Nach oben |
|
|
|