Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
Functii recursive
#1
Posted 15 September 2009 - 12:25
Explicati-mi si mie, va rog, cum apelez functia urmatoare in mod recursiv:
Quote function test($x) { if($x>=1) test($x--); // aici e problema else return $x; }echo test(4); // ar trebui sa afiseze 0 Edited by OriginalCopy, 15 September 2009 - 12:48. |
#3
Posted 15 September 2009 - 12:48
phinkuletz, on 15th September 2009, 12:25, said: Explicati-mi si mie, va rog, cum apelez functia urmatoare in mod recursiv: function test($x) { if($x>=1) [b]test($x--);[/b] // aici e problema else return $x; } echo test(4); // ar trebui sa afiseze 0 Apelul la functia test() in interiorul functiei insasi este deja apelul recursiv pe care il ceri. Functia este scrisa bine si functioneaza asa cum te astepti (sau cel putin asa cum ai scris-o), problema este la echo. Incearca in schimb: printf("%d",test(4)); |
#5
Posted 15 September 2009 - 13:20
phinkuletz, on 15th September 2009, 14:04, said: Nu merge nici cum ai spus tu. L.E: ofof... intrebam ce iti afiseaza pentru ca la prima citire a codului mi-a sarit ceva in ochii dar nu puteam sa vorbesc pana nu era testat sau nu imi ziceai tu ca iti da eroare.... dupa ce am facut o conexiune ftp la un server ce il administrez si am testat scriptul mi sa confirmat presupunerea... Problema e acolo unde zici si tu... test($x--);va produce o bucla infinita in program...pentru ca se apeleaza functia cu valoarea curenta si apoi se face decrementarea... scrie test(--$x);si va merge....garantat Edited by NLC, 15 September 2009 - 13:33. |
#6
Posted 15 September 2009 - 13:34
#7
Posted 15 September 2009 - 13:36
#8
Posted 15 September 2009 - 13:38
NLC, on 15th September 2009, 16:20, said: spui ca ar trebui sa afiseze 4... ei bine, tie ce iti afiseaza? L.E: ofof... intrebam ce iti afiseaza pentru ca la prima citire a codului mi-a sarit ceva in ochii dar nu puteam sa vorbesc pana nu era testat sau nu imi ziceai tu ca iti da eroare.... dupa ce am facut o conexiune ftp la un server ce il administrez si am testat scriptul mi sa confirmat presupunerea... Problema e acolo unde zici si tu... test($x--);va produce o bucla infinita in program...pentru ca se apeleaza functia cu valoarea curenta si apoi se face decrementarea... scrie test(--$x);si va merge....garantat Am testat ce zici tu si nu rezulta nimic. Problema nu e la "$x--", ci la apelarea functiei, cred. dar daca tu zici ca la "$x--" e problema atunci as putea sa modific codul asa: function test($x) { if($x>=1) { $x--; test($x); } else return $x; } echo test(4); Dar tot nu rezulta nimic. Edited by phinkuletz, 15 September 2009 - 13:43. |
#9
Posted 15 September 2009 - 13:43
phinkuletz, on 15th September 2009, 14:38, said: Am test ce zici tu si nu rezulta nimic. Problema nu e la "$x--", ci la apelarea functiei, cred. dar daca tu zici ca la "$x--" e problema atunci as putea sa modific codul asa: function test($x) { if($x>=1) { $x--; test($x); } else return $x; } echo test(4); Dar tot nu rezulta nimic. printf("%d",test(4)); |
#10
Posted 15 September 2009 - 13:50
Degeaba... intr-adevar, afiseaza 0, dar codul tot nu e bun. De exemplu, testeaza codul asta si ai sa vezi ca afiseaza tot 0 cu toate ca rezultatul corect ar trebui sa fie 5:
function test($x) { if($x<=4) test(++$x); else return $x; } printf("%d",test(0)); |
|
#11
Posted 15 September 2009 - 13:51
trebuie să returnezi apelarea funcției
function test($x) { if($x >= 1) { return test($x-1); // sau $x--, n-are importanță aici } else return $x; } echo test(4); Edited by Mr.Jinx, 15 September 2009 - 13:52. |
#12
Posted 15 September 2009 - 13:56
Cu ideea folosita de tine, Mr.Jinx=> nu merge...
function test($x) { if($x<=4) { return test($x++); } else return $x; } echo test(0); |
#13
Posted 15 September 2009 - 13:58
cum să nu meargă? ia fi tu atent ce faci pe acolo. merge 100%. aia e problema funcției tale
Edited by Mr.Jinx, 15 September 2009 - 13:59. |
#14
Posted 15 September 2009 - 14:00
<?PHP function test($x) { if($x>=1) { $x--; test($x); } else { return $x; } } printf("%d", test(4)); ?> Ti s-a dat deja raspunsul dar nu ai fost atent. Aveai doua probleme .. decrementarea lui $x la apelul functiei si afisarea valorii cu echo. Edited by urban, 15 September 2009 - 14:00. |
#15
Posted 15 September 2009 - 14:01
|
#16
Posted 15 September 2009 - 14:01
phinkuletz, on 15th September 2009, 13:56, said: Cu ideea folosita de tine, Mr.Jinx=> nu merge... function test($x) { if($x<=4) { return test($x++); } else return $x; } echo test(0); preincrementeaza LE: altfel nu intra in recursiune cu noua valoare. Vezi "pass by value" si "pass by reference". Edited by OriginalCopy, 15 September 2009 - 14:04. |
#17
Posted 15 September 2009 - 14:04
urban, on 15th September 2009, 17:00, said: <?PHP function test($x) { if($x>=1) { $x--; test($x); } else { return $x; } } printf("%d", test(4)); ?> Ti s-a dat deja raspunsul dar nu ai fost atent. Aveai doua probleme .. decrementarea lui $x la apelul functiei si afisarea valorii cu echo. O intrebare: voi, cand scrieti codurile, le testati inainte? Mie nu-mi merge nici unul. Am incercat toate ideile voastre, nu merge niciuna. Edited by phinkuletz, 15 September 2009 - 14:04. |
#18
Posted 15 September 2009 - 14:05
uite si codul ca sa vezi daca functia merge sau nu fara echo:
<?PHP function test($x) { echo $x; if($x>=1) { $x--; test($x); } else { return $x; } } ?> sau <?PHP function test($x) { echo $x; if($x>=1) { test(--$x); } else { return $x; } } ?> versus <?PHP function test($x) { echo $x; if($x>=1) { test($x--); } else { return $x; } } ?> Enjoy phinkuletz, on 15th September 2009, 15:04, said: O intrebare: voi, cand scrieti codurile le testati inainte? Mie nu-mi merge nici unul. Am incercat toate ideile voastre, nu merge niciuna. Edited by urban, 15 September 2009 - 14:09. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users