Zum neuen Informatik-Forum >>
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Dringende Hilfe benötigt ( LOOP - WHile Programme )

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Theoretische Informatik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Matar



Anmeldungsdatum: 02.05.2006
Beiträge: 2

BeitragVerfasst am: 02. Mai 2006 15:24    Titel: Dringende Hilfe benötigt ( LOOP - WHile Programme ) Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Crotaphytus



Anmeldungsdatum: 08.05.2005
Beiträge: 213

BeitragVerfasst am: 02. Mai 2006 18:25    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Matar



Anmeldungsdatum: 02.05.2006
Beiträge: 2

BeitragVerfasst am: 02. Mai 2006 18:42    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Crotaphytus



Anmeldungsdatum: 08.05.2005
Beiträge: 213

BeitragVerfasst am: 02. Mai 2006 20:50    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Paul_H



Anmeldungsdatum: 01.02.2006
Beiträge: 52
Wohnort: Bonn

BeitragVerfasst am: 08. Mai 2006 12:32    Titel: Potenz kein Prob Antworten mit Zitat

...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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Theoretische Informatik Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen