Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

compost

Trainee

  • "compost" is male
  • "compost" started this thread

Posts: 74

Date of registration: Dec 11th 2001

Location: Linden

1

Tuesday, January 29th 2002, 6:15pm

theoInf Blatt 13

kurze frage:

das angegebene goto-programm berechnet jawohl x0 - x1

aber was passiert wenn x1 > x0 ist?
funktionieren negative zahlen? und wie kann man die mit einer turingmaschine darstellen?


gruss Jens



oh, mir kommt da gerade eine idee...mal sehen

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

2

Tuesday, January 29th 2002, 6:28pm

Negative Zahlen gibt es definitiv nicht.

Und so wie ich das in der Übung heute verstanden habe ist eine Variable, die 0 ist und von der man einen Wert größer 0 abzieht, immer noch 0. In einen Fehler oder so laufen die Programme in diesem Fall nicht.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Zypressen Hügel

Junior Schreiberling

Posts: 244

Date of registration: Dec 22nd 2001

3

Tuesday, January 29th 2002, 8:24pm

@compost

wie Joachim schon sagte, negative Zahlen gibt es nicht. null minus fünf ist also immer noch null.

was ich eigentlich sagen wollte: ich weiss nicht genau, wie wichtig es ist, aber lipeck hat am ende der letzten vorlesung erwähnt, dass es nicht ziel der übung sei, einen automaten zu konstruieren, der einfach x0 - x1 berechnet, sondern das goto-programm, so wie es da steht, in einen TA umzubauen.

vielleicht auch nicht so wichtig. trotzdem, wenn jemand interesse an der hausübung hat, kurze mail an mich.

gruß, eike
Man kann auch ohne Spass Alkohol haben 8)

compost

Trainee

  • "compost" is male
  • "compost" started this thread

Posts: 74

Date of registration: Dec 11th 2001

Location: Linden

4

Tuesday, January 29th 2002, 8:30pm

aber aber...

man kann doch das turingteil so bauen, dass ein positives ergebnis links von dem trennzeichen steht und ein negatives steht logischerweise rechts...wäre dann natürlich nicht genau das goto-programm..aber besser eigentlich :-)

na egal. mal sehen...

TV-TIPP: heute in der harald schmidt show - helge schneider.

gruss Jens

Zypressen Hügel

Junior Schreiberling

Posts: 244

Date of registration: Dec 22nd 2001

5

Tuesday, January 29th 2002, 9:04pm

klar geht das. aber LOOP-programme kennen keine negativen zahlen und ein TA, der auch negative zahlen berechnet, ist nicht äquivalent zu dem LOOP-programm.
Man kann auch ohne Spass Alkohol haben 8)

compost

Trainee

  • "compost" is male
  • "compost" started this thread

Posts: 74

Date of registration: Dec 11th 2001

Location: Linden

6

Wednesday, January 30th 2002, 5:27pm

nächste frage

so. noch mal ne frage: eigentlich sogar zwei:

1. das while programm - kann man das folgendermaßen simpel schreiben:

read (x0, x1)
while x1 ungleich 0 do
x1:=x1-1
x0:=x0-1
endwhile
stop ??
write (x0)


2. über einen kleinen tipp zu aufgabe 2 würde ich mich sehr freuen...


danke gruss

Jens

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

7

Wednesday, January 30th 2002, 5:38pm

Quoted

Original von compost
so. noch mal ne frage: eigentlich sogar zwei:

1. das while programm - kann man das folgendermaßen simpel schreiben:

read (x0, x1)
while x1 ungleich 0 do
x1:=x1-1
x0:=x0-1
endwhile
stop ??
write (x0)
In der Aufgabe war die Konstruktion nach Satz 8.11 gefordert. Und dein Programm hat damit ja nun überhaupt nichts zu tun. Mag zwar wie gewünscht funktionieren, ist aber nicht im Sinne der Aufgabe. Leider.

Quoted

2. über einen kleinen tipp zu aufgabe 2 würde ich mich sehr freuen...
Für jede der beiden Sprachen rausfinden, zu welcher Sprachklasse sie gehört und das dann beweisen:
1. Grammatik angeben oder über Abschlußeigenschaften argumentieren, um zu zeigen, daß die Sprache zu der genannten Sprachklasse gehört.
2. Zeigen, daß die Sprache zu keiner kleineren Klasse gehört (Pumping-Lemma!)

Tip: a) ist kontextfrei, b) ist kontextsensitiv


HTH,
Joachim
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Zypressen Hügel

Junior Schreiberling

Posts: 244

Date of registration: Dec 22nd 2001

8

Wednesday, January 30th 2002, 8:40pm

noch 'n kleiner tip:

zu a) sprache vereinfachen {a^2n b^n c^m} = {aa}o{a^2y b^y}o{b}o{c}* für y größer oder gleich null (ausnutzung der abschlusseigenschaften)
sieht zwar erstmal wild aus, aber bekannt ist, dass die teilwörter aa , b und c* regulär sind. zu zeigen bleibt dann nur noch, dass das teilwort {a^2y b^y} durch folgende kontextfreie grammatik (produktion!) erzeugt werden kann (S->aaSb|epsilon). damit ist gezeigt, dass auch die ganze sprache L1 mindestens kontextfrei ist. beweis, dass nicht regulär, durch pumping lemma.

zu 2)
WHILE-programm nach satz 8.irgendwas:

(x0 , x1);
xs := 1;
while (xs ungleich 0) do
if (xs = 1) then
if (x1 = 0) then
xs := 5;
else
xs := xs + 1;
endif;
endif;
if (xs = 2) then x1 := x1 – 1; xs := xs + 1; endif;
if (xs = 3) then x0 := x0 – 1; xs := xs + 1; endif;
if (xs = 4) then xs := 1; endif;
if (xs = 5) then xs := 0; endif;
endwhile;
write(x0);

sieht beknackt aus, ist aber original nach vorlesung.
Man kann auch ohne Spass Alkohol haben 8)

Zypressen Hügel

Junior Schreiberling

Posts: 244

Date of registration: Dec 22nd 2001

9

Wednesday, January 30th 2002, 8:42pm

tschuldigung, die erste zeile des WHILE-programms lautet natürlich read (x0,x1);
:P
Man kann auch ohne Spass Alkohol haben 8)