Discussione:Implementazioni di algoritmi/Elevazione a potenza: differenze tra le versioni

m
Bot: sostituisce source con syntaxhighlight
m (Bot: sostituisce source con syntaxhighlight)
 
[[Utente:Zambu|Zambu]] 15:54, 2 set 2008 (CEST)
:Per l'implementazione in Pascal (scritta da me) ti posso dire che il controllo per 0<sup>0</sup> viene eseguito:
<sourcesyntaxhighlight lang=pascal>
if (b=0) and (e=0) then {verifica il caso 0^0}
writeln('Errore: l''espressione non ha significato')
else
...resto del programma...
</syntaxhighlight>
</source>
Il problema è che 0<sup>0</sup> non ha significato e la funzione non può restituire un numero; neanche valori come 0 o -1 vanno bene in quanto possono essere ottenuti anche con valori corretti. Quello da fare sarebbe impostare il risultato a false, ma in Pascal se ho dichiarato la funzione come reale non posso restituire un boolean. --[[Utente:Ramac|Ramac]] · [[Discussioni utente:Ramac|«che lungi saetta»]] 16:23, 2 set 2008 (CEST)
::Colpa mia :(, scusate, quegli snippet li avevo presi un po in giro da wikipedia e dai miei programmi per projecteuler, quindi non ho badato tanto alla loro correttezza matematica, ma più alla loro efficacia. [[Utente:Link|Link]] 17:20, 2 set 2008 (CEST)
 
::Hai ragione, ormai il Pascal incomincia a sfuggirmi! Però un programma con un'istruzione così:
<sourcesyntaxhighlight lang=pascal>
p:=pot(0, 0)
</syntaxhighlight>
</source>
::Penso che si fermi con un errore di runtime. Forse sarebbe meglio trasformare la funzione in una procedura che stampa la potenza. Ciao e scusate la pignoleria. --[[Utente:Zambu|Zambu]] 19:32, 2 set 2008 (CEST)
 
8 088

contributi