www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Scheme" - Scoping
Scoping < Scheme < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Scheme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Scoping: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 13:16 Do 08.11.2007
Autor: Igor1

Aufgabe
Gegeben sei folgende Prozedur:
(define (specialfunction a b)
(cond
((> a 10) (local
((define b 13 )
(define (specialfunction a c)
(+ a b c)))
(specialfunktion a b )))
((< b 20) (local
(( define b 42 )) (* a b)))
(else (local
((define a (+ b -7))) a))))

Überlegen Sie , welche Variablen frei und welche gebunden sind. Versuchen Sie die Auswertung der Prozedur nachzuvollziehen. Wie lautet die Auswertung für folgende Aufrufe?

Hallo,

ich habe eine Frage zum ersten Teil. bestimmen , welche Variablen sind frei und welche gebunden sind. Wie kann man sich das leichter merken?Bzw. was bedeuten diese Begriffe einfach ausgedrückt? Ich habe in wikipedia auf die Prädikatenlogik in diesem Zusammenhang gestolpert. Es hat mir nicht wirklich weiter geholfen.

Denn auf den ersten Blick sind da so viele Variablen und mehrere Funktionen bzw. Definitionen . Ich blicke hier nicht durch.

Und noch eine wichtige Frage wäre: Kann man in wenigen Wörtern  klarer ausdrücken, wofür man die local-Prozedur benötigt .Ich habe  gelesen, dass es zwischen verschiedenen Prozeduren Interaktionsprobleme gibt und dass eine Variable mit einem bestimmten Namen nicht bei der anderen Prozedur mit demselben Namen auftreten darf, da derselbe Name einer Prozedur kann eine andere Bedeutung der anderen Prozedur haben . Stimmt es? Und man verwendet local, um bestimmte Namen unabhängig von den anderen Prozeduren zu machen. Stimmt es?


Vielen Dank für Eure Hilfe

Igor

        
Bezug
Scoping: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 13:26 Fr 09.11.2007
Autor: Igor1

Ich versuche  anzugeben, welche Variablen frei und welche gebunden sind:

in der 1 Zeile a und b gebunden
......... 3.........a gebunden
          4     b gebunden
          5  a c gebunden
          6  a und c gebunden b frei
          7  a b gebunden
          8 b gebunden
          9   b gebunden
         10 b gebunden
         11  a frei b gebunden
         13 a gebunden b frei a gebunden.

Ich bin mir gar nicht sicher , ob das stimmt.

Ich bitte um eine Korrektur. Kann mir bitte jemand erklären, was die freien und was die gebundenen Variablen sind (bzw. in diesem Kontext)?

    

Bezug
                
Bezug
Scoping: Antwort
Status: (Antwort) fertig Status 
Datum: 18:49 Fr 09.11.2007
Autor: Martin243

Hallo,

für mich sieht das ziemlich richtig aus, aber ich bin nur ein Laie. Allerdings hast du ein b zuviel, wie mir scheint, sonst müssten drei Zeilen mit je einem b aufeinanderfolgen.

Vielleicht hilft dir das weiter: []Funktionen als Argumente und Resultate von Rechenvorschriften und []PROZEDURALE ABSTRAKTION. Dort jeweils nach "gebunden" suchen.


Was die lokalen Definitionen angeht: Die Definitionen im Inneren verschatten die Definitionen außerhalb des lokalen Blocks. Das kann nützlich sein, wenn man die Funktion oder die Variable nur als Hilfsfunktion lokal definieren möchte und sie global gar nicht braucht. Allerdings muss man darauf achten, dass man sich nicht benötigte Variablen verschattet.


Guß
Martin

Gruß
Martin

Bezug
                
Bezug
Scoping: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:21 Mo 12.11.2007
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
        
Bezug
Scoping: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:46 So 11.11.2007
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Scheme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]