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.

BlaueMotte

Trainee

  • "BlaueMotte" is female
  • "BlaueMotte" started this thread

Posts: 76

Date of registration: Apr 9th 2002

Location: vom platten Land mit Nordseeluft

Occupation: hä? Studi...

1

Friday, November 15th 2002, 8:13pm

Programmieren I

Hallo!

Konnte leider heute nicht zur Vorlesung. Gab es gar kein Übungsblatt heute? Steht noch keins im Netz...
Kann dann ja noch gar nicht loslegen...
Gab es sonst was besonderes?

Danke!

cbe

Praktikant

Posts: 25

Date of registration: Oct 28th 2002

2

Friday, November 15th 2002, 10:28pm

Die 5. Aufgabe steht jetzt im Netz, ebenso wie die Musterlösungen zu den Aufgabenblättern 2 und 3.

http://www-psue.informatik.uni-hannover.…rogI/uebung.php

Christian

BlaueMotte

Trainee

  • "BlaueMotte" is female
  • "BlaueMotte" started this thread

Posts: 76

Date of registration: Apr 9th 2002

Location: vom platten Land mit Nordseeluft

Occupation: hä? Studi...

3

Saturday, November 16th 2002, 11:26am

Danke! Dann kann ich ja loslegen!!!

Ray-D

Alter Hase

  • "Ray-D" is male

Posts: 690

Date of registration: Oct 9th 2002

Location: Zimbabwe-Island Ost Beiträge: 3.427

Occupation: Informatiker

4

Saturday, November 16th 2002, 1:48pm

kann mir mal einer sagen was auf dem aufgabenblatt mit "akkumulieren-von-rechts" gemeint ist? das hat vermutlich nix mit akku laden zu tun.
"ob ich alles weiss, was wir wissen, weiss ich auch nicht, aber ich weiss natürlich niemand von uns weiss etwas was er nicht weiss" - Wolgang Schäuble
Freiheit wird nicht erbettelt, sondern erkämpft


Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von »Ray-D« (Heute, 04:29)

smeyer82

Alter Hase

  • "smeyer82" is male

Posts: 372

Date of registration: Oct 14th 2002

Location: Ex-Kanzlerstadt Hannover

5

Saturday, November 16th 2002, 2:38pm

Quoted

Original von Ray-D
kann mir mal einer sagen was auf dem aufgabenblatt mit "akkumulieren-von-rechts" gemeint ist? das hat vermutlich nix mit akku laden zu tun.


Hi,
ich vermute mal, daß das so funktioniert wie eine Annäherung an eine Nullstelle von rechts (Siehe Calculus)

Und akkumuliere von links nähert sich ensprechend von links an den Wert an.
"Sir! We are surrounded!" - "Excellent! We can attack in any direction!"

Ray-D

Alter Hase

  • "Ray-D" is male

Posts: 690

Date of registration: Oct 9th 2002

Location: Zimbabwe-Island Ost Beiträge: 3.427

Occupation: Informatiker

6

Saturday, November 16th 2002, 3:54pm

ja, sowas habe ich mir auch gedacht, war mir aber nicht sicher. danke für die bestätigung. da hat sich der telefonjoker wieder gelohnt :)
"ob ich alles weiss, was wir wissen, weiss ich auch nicht, aber ich weiss natürlich niemand von uns weiss etwas was er nicht weiss" - Wolgang Schäuble
Freiheit wird nicht erbettelt, sondern erkämpft


Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von »Ray-D« (Heute, 04:29)

Tara

Junior Schreiberling

Posts: 131

Date of registration: Apr 21st 2002

7

Saturday, November 16th 2002, 5:32pm

Ich versteh immer noch nicht, was akkumuliere-von-rechts überhaupt macht. Wie geb ich denn das ein, damit da was vernünftiges rauskommt? Muß ich abbruch? erst noch definieren?
Danke schonmal

smeyer82

Alter Hase

  • "smeyer82" is male

Posts: 372

Date of registration: Oct 14th 2002

Location: Ex-Kanzlerstadt Hannover

8

Saturday, November 16th 2002, 6:10pm

Also im Prinzip musst Du alles neu definieren, auch Abbruch?

Das sind ja anscheinend alles Funktionen, die man übergibt (außer x). Und die müssen natürlich alle auch irgendwie von Dir definiert werden.
"Sir! We are surrounded!" - "Excellent! We can attack in any direction!"

Tara

Junior Schreiberling

Posts: 131

Date of registration: Apr 21st 2002

9

Sunday, November 17th 2002, 1:41pm

?( ?( ;( ?( ;( ?( ;( ?( ;( ?( ;( ?( ;( ?( ;( ?(

Ich hock nun schon ne ganze Weile davor und hab überhaupt keine Ahnung was ich bei 1 machen soll. Hat hier vielleicht wer nen Ansatz für mich? Was die einzelnen Parameter machen sollen ist mir so einigermaßen klar. Die Prozedur soll ja wohl das gleiche wie sum machen oder? ?( ?( ?(

Jethro

Junior Schreiberling

  • "Jethro" is male

Posts: 185

Date of registration: Oct 15th 2002

10

Sunday, November 17th 2002, 2:15pm

Hi,
also, die Prozedur soll definitiv das gleiche machen, wie 'sum', aber ich verstehe nicht wie das geht,
denn: 'sum' hat dich zwei Funktionen und zwei Zahlen (a,b) als Parameter, 'akkumuliere..' hat aber nur eine!!Zahl als Parameter (x). Einmal müsste x den Wert von a, haben, ein anderes Mal den von b und einmal auch von der Differenz der beiden. Wie soll man denn da unterscheiden, wenn man 'akkumuliere..'´aufruft ?( ?(
Information is like a mist, you have to breath it in

(De-Phazz - Information)

smeyer82

Alter Hase

  • "smeyer82" is male

Posts: 372

Date of registration: Oct 14th 2002

Location: Ex-Kanzlerstadt Hannover

11

Sunday, November 17th 2002, 6:24pm

Also den Wert von b kannst Du ja in die Funktion Abbruch packen.
Also z.B.
(lambda (x) (if (> x 10)))
Wobei 10 dann der Wert ist, denn Du bei sum für b eingesetzt hast.

X gibt ja den Startwert an, also so wie a bei sum.
"Sir! We are surrounded!" - "Excellent! We can attack in any direction!"

dimi

Trainee

Posts: 41

Date of registration: Nov 18th 2002

12

Monday, November 18th 2002, 1:08pm

ich kann doch nicht einfach die Zahl b in Abbruch? reinschreiben. Dann funktioniert das Ganze doch nicht wie das sum-Prozedur aus der Vorlesung.

Hannes5282

Trainee

  • "Hannes5282" is male

Posts: 57

Date of registration: Nov 13th 2002

13

Monday, November 18th 2002, 7:53pm

also ich verstehe auch nur bahnhof bei aufgabe 1. hab sozusagen keinen blassen schimmer... ?( ?(

smeyer82

Alter Hase

  • "smeyer82" is male

Posts: 372

Date of registration: Oct 14th 2002

Location: Ex-Kanzlerstadt Hannover

14

Monday, November 18th 2002, 9:05pm

Quoted

Original von dimi
ich kann doch nicht einfach die Zahl b in Abbruch? reinschreiben. Dann funktioniert das Ganze doch nicht wie das sum-Prozedur aus der Vorlesung.


Damit wir uns nicht falsch verstehen:
Akkumuliere-von-rechts funktioniert genauso, wie sie auf dem Zettel definiert ist.
Die Aufgabe ist jetzt sum "nachzubauen" indem Du akkumuliere-von-rechts verwendest.
Und dazu musst Du schon b in Abbruch reinschreiben.
Sonst funktioniert es eben NICHT wie die sum-Funktion.

So far 8)
"Sir! We are surrounded!" - "Excellent! We can attack in any direction!"

dimi

Trainee

Posts: 41

Date of registration: Nov 18th 2002

15

Tuesday, November 19th 2002, 1:28pm

wenn dort aber steht: (abbruch? x), wie soll ich daraus (< a b) machen? da wird ja nur eine Variable zugeordnet.

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

16

Tuesday, November 19th 2002, 1:49pm

Quoted

Original von dimi
wenn dort aber steht: (abbruch? x), wie soll ich daraus (< a b) machen? da wird ja nur eine Variable zugeordnet.


abbruch? soll eine Prozedur sein. Du muss also eine Prozedur an akkumuliere-von-rechts uebergeben.

Diese kannst du wie schon smeyer82 sagte, bequem mit lambda erzeugen.

Das sieht dann ungefaehr so aus:

(define (sum term a next b) (akkumuliere-von-rechts ... ... ... (lambda (x) (< x b)) ...)

Ich hoffe, das hilft etwas.
tar: Anlegen eines leeren Archivs wird feige verweigert.

dimi

Trainee

Posts: 41

Date of registration: Nov 18th 2002

17

Tuesday, November 19th 2002, 8:04pm

danke, jetzt habe ich das endlich geschafft.
Aber die Aufgabe 2 schaffe ich nicht. Wie kann man denn iterative Prozess erzeugen, wenn dort nur die Variable x gibt. Es muss doch gleichzeitig ein Zähler geben. und was ist dann mit kombinierer.

smeyer82

Alter Hase

  • "smeyer82" is male

Posts: 372

Date of registration: Oct 14th 2002

Location: Ex-Kanzlerstadt Hannover

18

Tuesday, November 19th 2002, 8:11pm

Quoted

Original von dimi
Aber die Aufgabe 2 schaffe ich nicht. Wie kann man denn iterative Prozess erzeugen, wenn dort nur die Variable x gibt. Es muss doch gleichzeitig ein Zähler geben. und was ist dann mit kombinierer.


Du kannst doch eine "Vorschaltprozedur" schreiben, die die Parameter in der selben Form aufnimmt und dann für die wirkliche iterative Prozedur umformt.

Das Du nicht genau die selben Parameter nehmen kannst dürfte ja wohl klar sein.

Aber das ist ja bei jeder iterativen Prozedur so, oder?
"Sir! We are surrounded!" - "Excellent! We can attack in any direction!"

mDev

Erfahrener Schreiberling

  • "mDev" is male

Posts: 282

Date of registration: Oct 10th 2002

Location: Hannover

Occupation: Wissenschaftlicher Mitarbeiter

19

Tuesday, November 19th 2002, 8:11pm

kurze frage zu 3b:
ist mit n-facher hintereinanderausführung f(f(f(n-mal)))
oder f(x)*f(x)*...n-mal... gemeint?

edit: zweite frage schon im vorigen beitrag beantwortet

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

20

Tuesday, November 19th 2002, 8:22pm

Quoted

Original von dimi
danke, jetzt habe ich das endlich geschafft.
Aber die Aufgabe 2 schaffe ich nicht. Wie kann man denn iterative Prozess erzeugen, wenn dort nur die Variable x gibt. Es muss doch gleichzeitig ein Zähler geben. und was ist dann mit kombinierer.


Du hast doch sicherlich schon einmal eine iterative Prozedur geschrieben, nicht wahr? Denke z.B. an eine typisch iterative Implementation der Fakultätsfunktion (Im Code zur Vorlesung sollte eine Implementation zu finden sein).
Man definiert sich dafür eine innere Hilfsprozedur, die bei Aufruf der äußeren Prozedur genau einmal mit spezifischen Startwerten aufgerufen wird. Die innere Hilfsprozedur ruft sich nun rekursiv auf, bis das Problem gelöst ist (Abbruchbedingung) und erzeugt dabei einen iterativen Prozess, indem sie das (vorläufige) Endergebnis immer sich selbst übergibt. (Dieses ist deshalb beim ersten Aufruf der inneren Prozedur sinnvoll zu wählen.)

Bei akkumuliere-von-links sollte (muss?) jetzt ebenfalls eine innere Prozedur entworfen werden. Dabei wird sich zwangsläufig etwas im Aufbau ändern.

Ich hoffe, das hilft etwas. Wenn nicht: fragen. :)
tar: Anlegen eines leeren Archivs wird feige verweigert.