TweakPC

Zurück   Computer Hardware Forum - TweakPC > TweakPC Community > Humor

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05.02.2005, 20:20   #26 (permalink)
Cool Master
Gast
 

Beiträge: n/a

Standard AW: Rekursion ist doch was feines.

Gibt es überhaupt "einen" Gott
  Mit Zitat antworten
Alt 06.02.2005, 02:13   #27 (permalink)
Abakus
 
Benutzerbild von 10tacle
 

Registriert seit: 03.02.2005
Beiträge: 32

10tacle befindet sich auf einem aufstrebenden Ast

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von Cool Master
Gibt es überhaupt "einen" Gott
Auf diese Frage lautet die Antwort "NEIN"!

@kerri, mein Respekt!
10tacle ist offline   Mit Zitat antworten
Alt 06.02.2005, 11:31   #28 (permalink)
Lecker Forenbrot
 
Benutzerbild von Pirke
 

Registriert seit: 10.04.2002
Beiträge: 14.992

Pirke kann auf vieles stolz seinPirke kann auf vieles stolz seinPirke kann auf vieles stolz seinPirke kann auf vieles stolz seinPirke kann auf vieles stolz seinPirke kann auf vieles stolz seinPirke kann auf vieles stolz seinPirke kann auf vieles stolz sein

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von 10tacle
Auf diese Frage lautet die Antwort "NEIN"!
Kannst du es beweisen???
Ok, lassen wir das Thema, das gab es hier schon zur genüge...
Pirke ist offline   Mit Zitat antworten
Alt 06.02.2005, 11:43   #29 (permalink)
Stickstoff Junkie
 

Registriert seit: 06.07.2004
Beiträge: 3.814

Qndre wird schon bald berühmt werden

Standard AW: Rekursion ist doch was feines.

Zitat:
WINE = WINE Is Not an Emulator
WINE ist doch aber eher WinE (Windows Emulation)... Das mit dem Stein iss gut. Eigentlich keine Rekursion aber ne tolle philosophische Fragestellung.
Qndre ist offline   Mit Zitat antworten
Alt 08.02.2005, 13:08   #30 (permalink)
Extrem Performer
 
Benutzerbild von HyperY2K
 

Registriert seit: 12.12.2003
Beiträge: 1.009

HyperY2K sorgt für eine eindrucksvolle AtmosphäreHyperY2K sorgt für eine eindrucksvolle Atmosphäre

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von Qndre
Ist der Satz wahr oder unwahr? Um die Rekursion zu verstehen muss man erst einmal die Rekursion verstehen. Definition des Begriffes Rekursion: Siehe Rekursion.

Das ist kein ! Denkt einfach mal ein wenig drüber nach...
also wenn der Satz wahr ist, dann ist er auch unwahr und somit hätte man mit einem Rechner ein Problem, weil man sich ne tolle Endlosschleife gebaut hat, Oder?
HyperY2K ist offline   Mit Zitat antworten
Alt 08.02.2005, 13:27   #31 (permalink)
EoN
Kaffeejunkie
 
Benutzerbild von EoN
 

Registriert seit: 01.05.2002
Beiträge: 5.035

EoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer Anblick

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von HyperY2K
also wenn der Satz wahr ist, dann ist er auch unwahr und somit hätte man mit einem Rechner ein Problem, weil man sich ne tolle Endlosschleife gebaut hat, Oder?
Zu einer richtig programmierten Rekursion gehört auch immer eine Abbruchbedingung die immer in einer endlichen Zeit erreicht werden muss (nachweisbar über Vollständige Induktion).
An sonsten hast du dir, wie du richtig festgestellt hast, eine Endlosschleife gebaut.
EoN ist offline   Mit Zitat antworten
Alt 08.02.2005, 13:29   #32 (permalink)
Extrem Performer
 
Benutzerbild von HyperY2K
 

Registriert seit: 12.12.2003
Beiträge: 1.009

HyperY2K sorgt für eine eindrucksvolle AtmosphäreHyperY2K sorgt für eine eindrucksvolle Atmosphäre

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von EoN
Zu einer richtig programmierten Rekursion gehört auch immer eine Abbruchbedingung die immer in einer endlichen Zeit erreicht werden muss (nachweisbar über Vollständige Induktion).
An sonsten hast du dir, wie du richtig festgestellt hast, eine Endlosschleife gebaut.
Wie wärs: Machen wir ne VI mal im Forum zusammen...
HyperY2K ist offline   Mit Zitat antworten
Alt 08.02.2005, 13:57   #33 (permalink)
Tweaker
 

Registriert seit: 10.04.2002
Beiträge: 518

Shadow2000 befindet sich auf einem aufstrebenden Ast

Standard AW: Rekursion ist doch was feines.

Das will ich mal sehen, wie du eine unendlich laufende Rekursion hinkriegst.
Shadow2000 ist offline   Mit Zitat antworten
Alt 08.02.2005, 14:42   #34 (permalink)
Extrem Tweaker
 
Benutzerbild von Jlagreen
 

Registriert seit: 19.10.2004
Beiträge: 2.955

Jlagreen ist einfach richtig nettJlagreen ist einfach richtig nettJlagreen ist einfach richtig nettJlagreen ist einfach richtig nett

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von Shadow2000
Das will ich mal sehen, wie du eine unendlich laufende Rekursion hinkriegst.


wie soll man das denn verstehen?

sollte doch ganz einfach sein (in C):

Code:
void bla();

int main()
{
   bla();
   return 0;
}

void bla()
{
   bla();
}


ansonsten hat EON natürlich recht und jeder halbwegs intelligente Programmierer wird da ne Abbruchbedingung setzen

allerdings war das ne "programmierte" unendliche laufende Rekursion, ob man sowas auch in nem einfachen Satz hinkriegt, weiss ich ned

btw:
was ist "VI"?
--> steh da grad aufm Schlauch

Geändert von Jlagreen (08.02.2005 um 15:13 Uhr)
Jlagreen ist offline   Mit Zitat antworten
Alt 08.02.2005, 14:48   #35 (permalink)
Tweaker
 

Registriert seit: 10.04.2002
Beiträge: 518

Shadow2000 befindet sich auf einem aufstrebenden Ast

Standard AW: Rekursion ist doch was feines.

Und wo soll der unendliche Stackplatz für eine unendliche Rekursion herkommen.
Shadow2000 ist offline   Mit Zitat antworten
Alt 08.02.2005, 14:50   #36 (permalink)
Extrem Performer
 
Benutzerbild von HyperY2K
 

Registriert seit: 12.12.2003
Beiträge: 1.009

HyperY2K sorgt für eine eindrucksvolle AtmosphäreHyperY2K sorgt für eine eindrucksvolle Atmosphäre

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von Jlagreen


wie soll man das denn verstehen?

sollte doch ganz einfach sein (in C):

void bla();

int main()
{
void bla ()
{
bla();
}
}

ansonsten hat EON natürlich recht und jeder halbwegs intelligente Programmierer wird da ne Abbruchbedingung setzen

allerdings war das ne "programmierte" unendliche laufende Rekursion, ob man sowas auch in nem einfachen Satz hinkriegt, weiss ich ned

btw:
was ist "VI"?
--> steh da grad aufm Schlauch
BTW: dein prog geht nicht.....
du kannste funktionen nur ausserhalb von main anlegen:


Code:
int test(void)
{
   test();
   return 0; 
}

int main(void)
{
   test();
   return 0;
}


VI = Vollständige Induktion
HyperY2K ist offline   Mit Zitat antworten
Alt 08.02.2005, 14:54   #37 (permalink)
Tweaker
 

Registriert seit: 10.04.2002
Beiträge: 518

Shadow2000 befindet sich auf einem aufstrebenden Ast

Standard AW: Rekursion ist doch was feines.

Und selbige am besten noch aufrufen.

Wenn du die Funktionsdefinition und den Prototyp vertauschst, gehts sogar ohne das man nur ein weiteres Zeichen einfügen musst.
Shadow2000 ist offline   Mit Zitat antworten
Alt 08.02.2005, 15:12   #38 (permalink)
Extrem Tweaker
 
Benutzerbild von Jlagreen
 

Registriert seit: 19.10.2004
Beiträge: 2.955

Jlagreen ist einfach richtig nettJlagreen ist einfach richtig nettJlagreen ist einfach richtig nettJlagreen ist einfach richtig nett

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von HyperY2K
BTW: dein prog geht nicht.....
du kannste funktionen nur ausserhalb von main anlegen:
jepp stimmt, aber ich wollts jetzt auch ned so genau nehmen , eigentlich wollte ich die main Funktion gar nicht schreiben und nur eine Funktion, die sich selbst aufruft, habe aber im nachhinein ohne nachzudenken schnell noch main geschrieben, aber ich denke mal, dass die Intension durchgedrungen ist

naja auf nen VI hätte ich jetzt keine Lust, da ich sowas schon ne Weile nicht mehr gemacht hab

EDIT:
btw hab mein Beispiel "verbessert", so stimmts doch nun oder?
Jlagreen ist offline   Mit Zitat antworten
Alt 08.02.2005, 15:22   #39 (permalink)
Tweaker
 

Registriert seit: 10.04.2002
Beiträge: 518

Shadow2000 befindet sich auf einem aufstrebenden Ast

Standard AW: Rekursion ist doch was feines.

Dann kompilier das mal und lasses laufen, sehr lange wird der nicht laufen
Shadow2000 ist offline   Mit Zitat antworten
Alt 08.02.2005, 15:28   #40 (permalink)
Extrem Performer
 
Benutzerbild von HyperY2K
 

Registriert seit: 12.12.2003
Beiträge: 1.009

HyperY2K sorgt für eine eindrucksvolle AtmosphäreHyperY2K sorgt für eine eindrucksvolle Atmosphäre

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von Shadow2000
Dann kompilier das mal und lasses laufen, sehr lange wird der nicht laufen
jepp, entweder bekommst du ne fehlermeldung oder dein os schmiert ab..
HyperY2K ist offline   Mit Zitat antworten
Alt 08.02.2005, 15:31   #41 (permalink)
Tweaker
 

Registriert seit: 10.04.2002
Beiträge: 518

Shadow2000 befindet sich auf einem aufstrebenden Ast

Standard AW: Rekursion ist doch was feines.

Hab das grad mal mit einem int als Parameter probiert. Der Stack hat grad mal für 4788 Rekursinen gereicht .

Das gibt aber nur im Debug-Modus nen Fehler, beim normalen lauf bricht er einfach Fehler- und Exceptionlos ab.
Shadow2000 ist offline   Mit Zitat antworten
Alt 08.02.2005, 16:47   #42 (permalink)
EoN
Kaffeejunkie
 
Benutzerbild von EoN
 

Registriert seit: 01.05.2002
Beiträge: 5.035

EoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer Anblick

Standard AW: Rekursion ist doch was feines.

Klar, in C gehts nicht, weil irgendwann die Variablen überlaufen, aber in Funktionaler Programmierung ists eigentlich ganz einfach. Hier mal das ganze in Haskell als Beispiel:
Code:
unendlich :: Int -> Int
unendlich x = unendlich x
Und wenn der PC nicht gestorben ist, dann rechnet er noch heute
EoN ist offline   Mit Zitat antworten
Alt 08.02.2005, 20:00   #43 (permalink)
Polsterwaffenkampfsportle r
 
Benutzerbild von tele
 

Registriert seit: 29.10.2003
Beiträge: 14.561

tele hat eine strahlende Zukunft
tele hat eine strahlende Zukunfttele hat eine strahlende Zukunfttele hat eine strahlende Zukunfttele hat eine strahlende Zukunfttele hat eine strahlende Zukunft

Standard AW: Rekursion ist doch was feines.

warum soll rekursion in C net gehen? in haskell könnte es daran liegen, dass rekursion das einzige ist was es gibt, oder gibs da schon schleifen?
tele ist offline   Mit Zitat antworten
Alt 08.02.2005, 20:04   #44 (permalink)
Extrem Tweaker
 
Benutzerbild von Jlagreen
 

Registriert seit: 19.10.2004
Beiträge: 2.955

Jlagreen ist einfach richtig nettJlagreen ist einfach richtig nettJlagreen ist einfach richtig nettJlagreen ist einfach richtig nett

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von tele
warum soll rekursion in C net gehen? in haskell könnte es daran liegen, dass rekursion das einzige ist was es gibt, oder gibs da schon schleifen?
ich denke EON hat ihr eher die "unendlich laufende Rekursion" gemeint, da in C schnell der Stack zb. zu Ende geht

Rekursion selbst geht in C natürlich einwandfrei (wäre ja auch schlimm, wenn nicht)
Jlagreen ist offline   Mit Zitat antworten
Alt 08.02.2005, 21:31   #45 (permalink)
EoN
Kaffeejunkie
 
Benutzerbild von EoN
 

Registriert seit: 01.05.2002
Beiträge: 5.035

EoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer Anblick

Standard AW: Rekursion ist doch was feines.

Zitat:
Zitat von tele
warum soll rekursion in C net gehen? in haskell könnte es daran liegen, dass rekursion das einzige ist was es gibt, oder gibs da schon schleifen?
Nein es gibt keine Schleifen. Das würde aber auch den Sinn der funktionalen Programmierung ad absurdum führen, da dort nur Ausdrücke ausgewertet werden.

Zitat:
Zitat von Jlagreen
ich denke EON hat ihr eher die "unendlich laufende Rekursion" gemeint, da in C schnell der Stack zb. zu Ende geht
Das ist ja das tolle in Haskell, es gibt keine wirklichen Stack/Variablenbeschränkungen, da die Programmiersprache nicht so sehr Maschinennah ist wie C.
Man kann z.B. unendlich lange Listen definieren. Genügend Arbeitsspeicher vorrausgesetzt, sind genau so unendlich große Variablen möglich.

Daher funktioniert dann die Rekursion auch "unendlich" oft und wird nicht (so sehr) durch Maschinenbeschränkungen eingeschränkt.
Wobei ich auch sagen muss, dass bei mir mit gcc 126 594 Rekursionen möglich sind, bevor das Programm abbricht. Für den Hausgebrauch dürfte das normalerweise ausreichen
EoN ist offline   Mit Zitat antworten
Alt 08.02.2005, 21:54   #46 (permalink)
Die Kerrimaus
 
Benutzerbild von kerri
 

Registriert seit: 17.11.2003
Beiträge: 2.987

kerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz sein

Blinzeln AW: Rekursion ist doch was feines.

Zitat:
Zitat von EoN
[...]
Wobei ich auch sagen muss, dass bei mir mit gcc 126 594 Rekursionen möglich sind, bevor das Programm abbricht. Für den Hausgebrauch dürfte das normalerweise ausreichen
Wie messt Ihr das? Ich habs einfach mal laufen lassen, mit ner print anweisung, die alle 10000 rekursionen mal 'piep' sagt, also so:
Code:
void bla()
{
    i++;
    if (i%10000 == 0)
	printf("rekursion nr %d\n",i);
    bla();
}
und das muellte mir rasend schnell (in etwa 2 Minuten) den Speicher (incl SWAP insgesamt etwa 800MB waren frei) zu, und das Ende vom Lied war dann, das fast ueberhaupt nix mehr reagierte (Ctrl+C hat nach 2 Minuten angesprochen) und die letzten Zeilen waren:

Code:
[...]
rekursion nr 61810000
rekursion nr 61820000
rekursion nr 61830000
rekursion nr 61840000
rekursion nr 61850000
rekursion nr 61860000
rekursion nr 61870000
rekursion nr 61880000
cccbash: [5474: 1] tcsetattr: Interrupted system call
Terminated

Also sollte er fast 62 Millionen rekursionen geschafft haben? Kann man das noch anders ermittlen?

Gruesse, kerri

PS.: so langsam macht der Thread ja Sinn *staun*
kerri ist offline   Mit Zitat antworten
Alt 08.02.2005, 22:00   #47 (permalink)
EoN
Kaffeejunkie
 
Benutzerbild von EoN
 

Registriert seit: 01.05.2002
Beiträge: 5.035

EoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer Anblick

Standard AW: Rekursion ist doch was feines.

Interessant wie unterschiedlich das die Compiler handhaben.

Ausgabe von deiner Funktion:
Code:
C:\Dokumente und Einstellungen\XXX\Desktop>test
rekursion nr 10000
rekursion nr 20000
rekursion nr 30000
rekursion nr 40000
rekursion nr 50000
rekursion nr 60000
rekursion nr 70000
rekursion nr 80000
rekursion nr 90000
rekursion nr 100000
rekursion nr 110000
rekursion nr 120000

C:\Dokumente und Einstellungen\XXX\Desktop>
Mein Programmcode sieht so aus:
Code:
#include <stdio.h>

void bla();

unsigned int i;
int main()
{
   i = 0;
   bla();
   printf("%i\n", i);
   return 0;
}

/*void bla()
{
	i++;
	printf("%i\n", i);
   bla();
}*/

void bla()
{
    i++;
    if (i%10000 == 0)
	printf("rekursion nr %d\n",i);
    bla();
}
Compiliert mit gcc aus cygwin.
EoN ist offline   Mit Zitat antworten
Alt 08.02.2005, 22:23   #48 (permalink)
Die Kerrimaus
 
Benutzerbild von kerri
 

Registriert seit: 17.11.2003
Beiträge: 2.987

kerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz sein

Standard AW: Rekursion ist doch was feines.

Ok, naechste Version, diesmal mit uebergabe der Variablen:

Code:
#include <stdio.h>

void bla(unsigned int i);

int main()
{
    unsigned int i=0;
    bla(i);
    return 0;
}

void bla(unsigned int i)
{
    i++;
    if (i%10000 == 0) printf("rekursion nr %d\n",i);
    bla(i);
}
Ausgabe diesmal:
Code:
[...]
rekursion nr 30940000
rekursion nr 30950000
rekursion nr 30960000
rekursion nr 30970000
 
kerri@assam:~>
Hm, nur 31 mille muellt nicht ganz so effektiv den Speicher zu, wie die andere Version Aber hat sich dafuer auch etwas friedlicher beendet

Wobei ich es eigentlich erstaunlich finde, das sich die Kiste hinterher wieder faengt.

Gruesse, kerri

EDIT:
kerri@assam:~> gcc --version
gcc (GCC) 3.3.3 (SuSE Linux)
kerri ist offline   Mit Zitat antworten
Alt 08.02.2005, 22:38   #49 (permalink)
Extrem Tweaker
 

Registriert seit: 19.01.2004
Beiträge: 2.660

TwinView ist ein sehr geschätzer MenschTwinView ist ein sehr geschätzer MenschTwinView ist ein sehr geschätzer Mensch

Standard AW: Rekursion ist doch was feines.

Komme mit beiden Versionen auf 130k.
TwinView ist offline   Mit Zitat antworten
Alt 08.02.2005, 22:40   #50 (permalink)
EoN
Kaffeejunkie
 
Benutzerbild von EoN
 

Registriert seit: 01.05.2002
Beiträge: 5.035

EoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer Anblick

Standard AW: Rekursion ist doch was feines.

Hm.. wirklich interessant. Anscheinend ist der Windowsport von gcc nicht mal halb so mächtig wie die original Linuxversion:

$ gcc --version
gcc (GCC) 3.3.3 (cygwin special)

PS: Mit der Variablenübergabe, bekomm ich genau die gleichen Ergebnisse wie ohne.
EoN ist offline   Mit Zitat antworten
Antwort

Stichworte
feines, rekursion


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2 GB ram oder doch 3 GB ? luginius RAM 18 24.01.2007 10:03
Softwarepatente, nun doch..... Pirke Politik & Gesellschaft 37 22.03.2005 01:01
Das tut doch weh... io.sys Off Topic 118 19.12.2003 15:50
ATI verarscht uns doch Gast Streitgespräche 60 07.08.2003 10:17
AMD 1800XP doch nur auf 1.13 GHZ :( unbreaky AMD: CPUs und Mainboards 14 22.11.2002 13:25


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.






Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.
Impressum, Datenschutz Copyright © 1999-2015 TweakPC, Alle Rechte vorbehalten, all rights reserved