Autor Beitrag
Anjitsch
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Fr 27.03.09 13:13 
Moin leute,
folgende Aufgabe:
Die folgenden Anweisungen sollen so umgeformt werden, dass sie die Bedingungen von Repas erfüllen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
a) a<b
b) IF -a>=22 THEN...
c) b:=22/a
d) a:=-b+c
e) a:=-(b*c)
f) ausgeben(d+1)
g) a:=f[g[b]]
h) a:=ABS(b)+c

Mit den Aufgaben hab ich meine Probleme, da ich eigentlich denke dass Aufgabe b,d sowieso die Bedingungen von Repas erfüllen.

bei a hab ich das folgend umgeformt: IF b>=a THEN GOTO
bei b : IF (-a) >=22 THEN GOTO
bei d : a:= c-b
bei f : x=d+1 ausgeben(x)
Hab ich a,b,d schon richtig gemacht?
Verstehe das wohl noch nicht ganz.
Bitte um Hilfe

MfG
Anjitsch

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 27.03.09 14:51 
Was sind die Bedingungen von Repas? :nixweiss: Wikipedia scheint keinen "Repas" zu kennen... genausowenig google. :gruebel: Kannst du mir mal einen Link geben wo ich nachlesen kann, was das sein soll, oder vielleicht ein Zitat liefern? Ich hab davon ehrlich gesagt noch nie gehört.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Fr 27.03.09 15:02 
Habe gerade das gefunden. Seltsam, den Leuten auf die Art und Weise goto (!) einzutrichtern. Offenbar will man ihnen damit Assembler näherbringen.

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 27.03.09 15:22 
Ja, Timosch, sowas ähnliches kenn ich aus dem Studium(Irgendein Pseudocode mit goto), hat mir auch sauer aufgestoßen. Nun ja.
Wenn ich das richtig sehe, ist a<b zum Beispiel nicht erlaubt weil nur Vergleiche mit 0 erlaubt sind. Effektiv musst du also auf (b-a)>0 umformen, ob man so abfragen darf, weiß ich nicht, kann sein, du musst (Zweiadressform) c:=b; c:=c-a; if c>0 then schreiben. Genauso b). bei c würde ich sagen, das ist Dreiadressform, aber durch / entsteht evtl eine Kommazahl und in RePas gibt's nur Integer, es muss also Div genutzt werden.
d) Würde ich sagen, dass das 2 Operatoren sind, der Vorzeichenwechsel- und der Additionsoperator, das darf man ja nicht. Ausserdem wieder Dreiadressform.
genauso e).
f) ist ein Prozedurenaufruf und ein Operator, das muss man wohl trennen.
etc... (ja, ich drücke mich um die g), weil ich die Begründung nicht kenne ;) (h1 := g[b]; a := f[h1] )

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Anjitsch Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Di 31.03.09 10:09 
Vielen Dank für eure Hilfe.

Hat mir sehr geholfen.

MfG
Anjitsch