Español
Wünsche y Sugerencias

Wunsch: "Infinite" Rekursion auch para Características

 
Seit XProfan-sin-Grenzen es posible una schier unendliche Prozedurrekursion a Abarbeitung a bewegen.

Leider trifft el no en propio Características a, pero sólo en Prozeduren.

Hierbei Es el Schreibweise entscheidend.
KompilierenMarcaSeparación
stürzt por ejemplo muy rápidamente de wogegen
KompilierenMarcaSeparaciónunendlich (grenzenFrei como versprochen) abgearbeitet se.

Puedo me vorstellen el Prf2CPP-Nutzer sowieso ya siempre una unendliche Procedimiento/Funktionsrekursion abarbeiten dejar puede. @Sebastian: Ist el así?

Büdde verbessern Roland.

Hier todavía una muy anschauliches y einfaches Ejemplo para una Füll-Función welche el Rekursion nutzt como Speicher.
KompilierenMarcaSeparación
CLS
USEPEN 0,0,0
RECTANGLE 1,1 - WIDTH(%HWND)-10,HEIGHT(%HWND)-10
LINE 10,10 - 200,20
LINE 200,20 - 50,300
LINE 50,300 - 100,50
LINE 100,50 - 10,10
ELLIPSE 300,200 - 500,400
F 120,100,GETPIXEL(120,100)
F 400,300,GETPIXEL(300,200)
PRINT bingo
WAITINPUT

proc F

    PARAMETERS X&,Y&,TOFILL&
    SETPIXEL X&,Y&,0

    IF GETPIXEL(X&+1,Y&)=TOFILL&

        F X&+1,Y&,TOFILL&

    ENDIF

    IF GETPIXEL(X&,Y&+1)=TOFILL&

        F X&,Y&+1,TOFILL&

    ENDIF

    IF GETPIXEL(X&-1,Y&)=TOFILL&

        F X&-1,Y&,TOFILL&

    ENDIF

    IF GETPIXEL(X&,Y&-1)=TOFILL&

        F X&,Y&-1,TOFILL&

    ENDIF

ENDPROC


976 kB
Hochgeladen:13.02.2008
Ladeanzahl148
Descargar
 
13.02.2008  
 




Sebastian
König
IF

Puedo me vorstellen el Prf2CPP-Nutzer sowieso ya siempre una unendliche Procedimiento/Funktionsrekursion abarbeiten dejar puede. @Sebastian: Ist el así?

Nein, por desgracia, no - el Aufruftiefe es momentan en 32 begrenzt. Das ha con el Speicher-Management para el Paramter-Stack a tun...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
13.02.2008  
 



Yo verstehe - y es muy schade.

A 32: Erlaubte como Roland no una deutlich höhere Rekursionstiefe?
 
13.02.2008  
 




Sebastian
König
IF
Yo verstehe - y es muy schade.

A 32: Erlaubte como Roland no una deutlich höhere Rekursionstiefe?


Como bin Yo ahora no sicher... Yo pensamiento, Yo hätte mich en Zahl a XProfan orientiert...

El Einschränkung no hay manera todavía garnicht así largo, pero sólo seit Yo festgestellt habe, dass lo para el Parámetro-Stack una Diferencia macht, si una Procedimiento como Befehl oder como Función aufgerufen se. In el Zusammenhang todavía el Referencia, dass el Grenze sólo para el Funktions-Variante gilt - como Befehl Es el erlaubte Tiefe tatsächlich unendlich. EDIT: Also genau como en XProfan, Yo gerade sehe - mein Nachbau es offenbar wirklich bien...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
13.02.2008  
 



Dieser Testcode son una gewisse Auskunft: (unten el exe)
KompilierenMarcaSeparación
//Version:0.0.3
 {$cleq}
randomize
long i
cls
usepen 0,0,0
rectangle 1,1 - width(hwnd)-10,height(hwnd)-10
line 10,10 - 200,20
line 200,20 - 50,300
line 50,300 - 100,50
line 100,50 - 10,10
ellipse 300,200 - 500,400
f 400,300,getpixel(400,300)
f 120,100,getpixel(120,100)
f 400,300,getpixel(300,200)
print bingo
waitinput
end

f(long x,y,tofill){

    i+
    locate 1,20
    print i
    setpixel x,y,0
    case getpixel(x+1,y)==tofill : f(x+1,y,tofill)
    case getpixel(x,y+1)==tofill : f(x,y+1,tofill)
    case getpixel(x-1,y)==tofill : f(x-1,y,tofill)
    case getpixel(x,y-1)==tofill : f(x,y-1,tofill)
    i-nt color=#0000FF>}


EDIT: Code y EXE überarbeitet, lo fehlte i- al Ende el Función f.

Mit el neuen Code se me max 4.380 para i adecuado.

977 kB
Hochgeladen:13.02.2008
Ladeanzahl155
Descargar
 
13.02.2008  
 




Sebastian
König
Ok, el Zahl kann Yo bestätigen. Tatsächlich finde Yo en el XProfan-Ayuda Angabe para el maximale Aufruf-Verschachtelung, el 32 Yo also wohl incluso gewählt... Schien me irgendwie una bastante guter Kompromiss zwischen Performance y Speicher-Verbrauch a ser. Technisch wäre lo kein allzu großes Problema, el Grenze abzuschaffen - Yo muss sólo veces schauen, si y cómo muy el Geschwindigkeit darunter leiden sería...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
13.02.2008  
 




Sebastian
König
Noch una Apéndice...

Beim Betrachten meines eigenen Codes sehe Yo gerade, dass el erlaubte Tiefe en el Principio  en Profano2Cpp doch unendlich es. Ab el 33. Ebene verhält se el Stack en una Aufruf como Función allerdings entonces genauso como en una Aufruf como Befehl. Soll heißen: el übergeordnete Stack se entonces más benutzt....
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
13.02.2008  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

4.247 Views

Untitledvor 0 min.
Jörg Sellmeyer12.05.2018

Themeninformationen

Dieses Thema ha 2 subscriber:

Sebastian König (4x)
iF (3x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie