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.

ente

Trainee

  • "ente" is male
  • "ente" started this thread

Posts: 51

Date of registration: Oct 14th 2003

Location: Hannover

Occupation: AnInf.

1

Tuesday, November 11th 2003, 12:14pm

Programmieren 1 Ü-Blatt 4

Hallo zusammen,

verstehe ich das richtig, wenn in (trapez funk ...) soll eine beliebige Funktion funk aufgerufen werden ?
z.B.
(trapez (x^2+1) 3 7 2) -

da kennt er noch nicht meine Variable x.
getrennter Aufruf wäre kein Problem:
(define (funk x) (+ (exp x 2) 1))
(trapez 3 7 2)

Frage: Wie beinge ich die funk in den Aufruf (trapez ...) mit ein ?

siehe auch :
Uebungsblatt 4

gruß
Micha

This post has been edited 1 times, last edit by "ente" (Nov 11th 2003, 12:17pm)


Artemis

Trainee

  • "Artemis" is male

Posts: 52

Date of registration: Oct 6th 2003

Location: Milchstraße

Occupation: um Millionaer zu werden

2

Tuesday, November 11th 2003, 6:52pm

mach es so:

(define (square x)
(* x x)
)

(define (trapez funk a b n) ; wenn das die param sind
(
;hier geht dann etwas derart:
(funk a)

))

Funktionsaufruf ist dann:

(trapez square 1 1 1)

so funktioniert das und du übergibst einfach eine definierte funktion...
ist zwar etwas kauderwelsch, aber hoffe es wird deutlich

gruß der artemis
he who runs away, lives to fight another day

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

3

Tuesday, November 11th 2003, 9:21pm

RE: Programmieren 1 Ü-Blatt 4

das einzige was vorgegeben ist, ist die trapez
(trapez a b n)
Wobei a = linke Grenze des Integrals, b= rechte Grenze des Integrals, n = Anzahl der Trapeze (je höher n desto genauer, logischerweise)

Die Funktion kannst die denkenund kann ins Trapez rein, sollte natürlich mit allen Funktionen funktionieren!
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

Mutzkow

Junior Schreiberling

  • "Mutzkow" is male

Posts: 129

Date of registration: Oct 10th 2003

Location: Hannover

Occupation: Informatik

4

Tuesday, November 11th 2003, 10:23pm

Also soll diese Trapez-Funktion NICHT für eine x-beliebige Funktion geschrieben werden?

Würde ich aber der Aufgabenstellung so entnehmen, immerhin steht die Variable ,,funk" mit in der Trapez-Funktion, die wir erstellen sollen (,,(trapez funk a b n))

Wüsste aber irgendwie nicht, wie ich an die Koordinaten käme, die sich durch die Funktion, die in funk gespeichert ist, ergeben würden... ?(
Es ist ein einförmiges Ding um das Menschengeschlecht. Die meisten verarbeiten den größten Teil der Zeit, um zu leben, und das bisschen, das ihnen von Freiheit übrig bleibt, ängstigt sie so, dass sie alle Mittel aufsuchen, um es los zu werden.

HoloMaD

Trainee

  • "HoloMaD" is male

Posts: 115

Date of registration: Oct 5th 2002

Location: Hannover (Nordstadt)

5

Wednesday, November 12th 2003, 7:21pm

Die Funktion soll für jede beliebige Funktion funk funktionieren.
Beispieleaufrufe:
(trapez sin 0 1 10)
(trapez f 0 10 25)
cu
Holo
We purposely trained him wrong, as a joke.

Mutzkow

Junior Schreiberling

  • "Mutzkow" is male

Posts: 129

Date of registration: Oct 10th 2003

Location: Hannover

Occupation: Informatik

6

Wednesday, November 12th 2003, 8:04pm

Ja, aber die Funktion muss doch vorher im Quelltext definiert sein. Meine Frage bezog sich darauf, dass ich annahm, dass der Benutzer des Programms für ,,funk" einfach eine Funktion einsetzen kann...
Es ist ein einförmiges Ding um das Menschengeschlecht. Die meisten verarbeiten den größten Teil der Zeit, um zu leben, und das bisschen, das ihnen von Freiheit übrig bleibt, ängstigt sie so, dass sie alle Mittel aufsuchen, um es los zu werden.

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

7

Wednesday, November 12th 2003, 8:26pm

verdammt, ich habe das funk überlesen!!!!!!!!
Allerdings ist dass doch auch kein problem...

zB

(Trapez (* x x) 1 7 20)

Und in der Trapezfunktion machst du dann
(define (f x) (funk))
Wenn du dass dann substituierst hast du
(define (f x) (* x x)) oder zu gut deutsch f(x) = x² und damit kannst du dann innerhalb deiner Trapezfunktion arbeiten.
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

This post has been edited 1 times, last edit by "Markus" (Nov 12th 2003, 8:27pm)


Mutzkow

Junior Schreiberling

  • "Mutzkow" is male

Posts: 129

Date of registration: Oct 10th 2003

Location: Hannover

Occupation: Informatik

8

Wednesday, November 12th 2003, 10:22pm

Ne. Genau das geht eben nicht. Wenn du im unteren Teil von Dr. Scheme, also im Anwendungsbereich zB eingibst (trapez (+ (* 3 x) 4) 1 2 30), dann kriegste ne fehlermeldung.

also geht das schon mal nicht. und genau darauf bezieht sich eben meine frage...
Es ist ein einförmiges Ding um das Menschengeschlecht. Die meisten verarbeiten den größten Teil der Zeit, um zu leben, und das bisschen, das ihnen von Freiheit übrig bleibt, ängstigt sie so, dass sie alle Mittel aufsuchen, um es los zu werden.

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

9

Wednesday, November 12th 2003, 11:30pm

so, hab mich grad mal rangesetzt, ich weiss jetzt, was du meinst :( mal weiter testen, melde mich, wenn ich was finden sollte
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

Mutzkow

Junior Schreiberling

  • "Mutzkow" is male

Posts: 129

Date of registration: Oct 10th 2003

Location: Hannover

Occupation: Informatik

10

Wednesday, November 12th 2003, 11:31pm

Kuhl, bin auch grad dabei...
Es ist ein einförmiges Ding um das Menschengeschlecht. Die meisten verarbeiten den größten Teil der Zeit, um zu leben, und das bisschen, das ihnen von Freiheit übrig bleibt, ängstigt sie so, dass sie alle Mittel aufsuchen, um es los zu werden.

HoloMaD

Trainee

  • "HoloMaD" is male

Posts: 115

Date of registration: Oct 5th 2002

Location: Hannover (Nordstadt)

11

Thursday, November 13th 2003, 1:19pm

Für Funktionen die keinen Namen haben nutzt man die Lambda Ausdrücke. Das könnt ihr in der Scheme Hilfe nachlesen, und in der Vorlesung wird/wurde es auch behandelt (Ist jedenfall im Kapitel 1, Punkt 1.3.2)
We purposely trained him wrong, as a joke.

ente

Trainee

  • "ente" is male
  • "ente" started this thread

Posts: 51

Date of registration: Oct 14th 2003

Location: Hannover

Occupation: AnInf.

12

Thursday, November 13th 2003, 3:41pm

DANKE

Lambda war die Erleuchtung !!!

Micha

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

13

Thursday, November 13th 2003, 11:05pm

es geht auch anders, habe ich vorhin gesehen:

(define (f x) (* x x)
und dann
(trapez funk a b n) einsetzen =
(trapez f wert1 wert2 wert3)
Also nur f, nicht f x, ist zwar auch nicht das nonplusultra aber es funzt
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

Torrero

Senior Schreiberling

  • "Torrero" is male

Posts: 854

Date of registration: Oct 16th 2003

Location: Laatzen

Occupation: Angewandte Informatik

14

Thursday, November 13th 2003, 11:31pm

Wie lautet eigentlich der Mathematische Term, den man beim Trapezverfahren benutzen muss?

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

15

Thursday, November 13th 2003, 11:40pm

meinst du die flächenberechnung vom trapez?
das ist (a+c)/2*h Also die paralelen Seiten addiert und durch 2 geteilt mal die höhe.

Oder meinst du für das Gesamte verfahren?

Das wird eingangs erklärt, obe s dazu genau was mathematisches gibt ka...
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

Torrero

Senior Schreiberling

  • "Torrero" is male

Posts: 854

Date of registration: Oct 16th 2003

Location: Laatzen

Occupation: Angewandte Informatik

16

Thursday, November 13th 2003, 11:43pm

Meine das eher für das gesamte Verfahren, wie die Fläche eines Trapezes berechnet wird ist mir klar, mir gehts darum, was dann später bei der Summe steht.

ente

Trainee

  • "ente" is male
  • "ente" started this thread

Posts: 51

Date of registration: Oct 14th 2003

Location: Hannover

Occupation: AnInf.

17

Friday, November 14th 2003, 8:42am

Quoted

Original von Torrero
Meine das eher für das gesamte Verfahren, wie die Fläche eines Trapezes berechnet wird ist mir klar, mir gehts darum, was dann später bei der Summe steht.


Summe = Trapez 1 + Trapez 2 + ... + Trapez n :D

Micha

ente

Trainee

  • "ente" is male
  • "ente" started this thread

Posts: 51

Date of registration: Oct 14th 2003

Location: Hannover

Occupation: AnInf.

18

Friday, November 14th 2003, 8:46am

Quoted

Original von Markus
es geht auch anders, habe ich vorhin gesehen:

(define (f x) (* x x)
und dann
(trapez funk a b n) einsetzen =
(trapez f wert1 wert2 wert3)
Also nur f, nicht f x, ist zwar auch nicht das nonplusultra aber es funzt


Der Ehrgeiz, lag darin im Aufruf (trapez (....) a b n)
eine beliebige Funktion f(x) einzubinden ohne vorher Code eine definieren zu müssen!!! ;)

Micha

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

19

Friday, November 14th 2003, 10:34am

nmein ehrgeiz lag darin, dass es überhaupt gunktioniert, alles andere ist bonus ;)
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

Krebskasper

Praktikant

  • "Krebskasper" is male

Posts: 24

Date of registration: Dec 18th 2003

Location: Mutterns Bauch

Occupation: Mathe / Inf

20

Friday, December 19th 2003, 1:04am

mit lambda (x) geht das ganz einfach z.b.

(lambda (x) (* x x))

eine funk die nich vordefiniert ist.