Newsgroup: it.scienza.informatica
Titolo: Il programma con che codice di uscita termina?

Secondo voi il seguente programma termina?
double x=1.0;
while (x!=0)
    x=x/2.0;
exit(0);
Ciao!
--
____________bb_
__________b_______
_________b___________
__gggg__bbbbb___________
gg_____bb___bb_____________  (-: Guido Bonacina :-)
gg___gg_____bb___________
_ggggg__bbbb____________
____g________________
___g______________
gg_____________

exit(0);
credo che dia un risultato di Underflow: per quanto ti avvicini allo zero
assoluto non lo raggiungi mai... alla fine superi la capacità della
macchina! e potresti ottenere un codice di errore... non ricordo bene se il
C generi l'underflow... la mia HP28S si!
bye
Alessandro
P.S.: ma se lo compili e lo esegui che ti dice?

    x=x/2.0;
perché non usi "x/=2.0" ?? io lo trovo piů bello! e piů corretto...
bye
Alessandro

Sunspot wrote:

L'idea non era quella di scrivere un programma C ma un programma
comprensibileda piu' persone possibile.
Riguardo la domanda, c'e' qualcuno che ha una risposta diversa?
Ciao


Concordo con Sunspot. 
Provarlo, il programma, non era possibile?? La prova pratica e'
qualcosa di poco teorico e abbastanza difficile da contraddire!!
Ciao
							Max
Massimo Sanna				   \
E-mail: 
s78...@athena.polito.it
		    \
 
fdr...@cclinf.polito.it
 	     \
Talk:	
s78...@cclix3.polito.it
	  	      \
Home:	
http://www.poli.studenti.to.it/~s78645
 \	
------------------------------------------------
"Vedi Bongo, questo e' il progresso! Hai tutto quello che non vuoi, quando non ti serve". 
						A. De Curtis
		  |
		  v
		------
	    -> | STOP | <-  "CLICK HERE TO SHUTDOWN"
		------
		  ^
		  |


Il programma puo' essere provato sicuramente e il codice di uscita dipende dal fatto che
l'elaboratore
identifichi e quindi abortisca l'esecuzione di un programma che va in underflow.
Se avessimo un calcolatore con infinita memoria per contenere il valore di x allora il
programma non terminerebbe mai.
Dato che calcolatori del genere non esistono, il programma termina con 0 o con un errore come
codice di ritorno.
Ciao!!


codice di ritorno.
beh allora avevo ragione io!
ma che a ti serve domandare una cosa simile se già sai la risposta e sai
pure la spiegazione a tale risposta?
scusa è, ma che senso ha?
bye
Alessandro Cerioni - Sunspot


Ciao.
Il programma genera un underflow, perche' un minimo double
rappresentabile esiste.
Secondo lo Standard ISO un underflow
- puo' essere scoperto o meno (nel secondo caso il programma esce con
codice 0).
- puo' causare un abort o meno (se non lo provoca, il risultato e'
zero).
- in caso di underflow ignorato, il risultato e' indefinito (non
necessariamente 0).
Quindi dipende dall'implementazione (macchina + compilatore + OS).
Dissento completamente da chi consiglia di provare, perche' al massimo
ottiene il
risultato valido su quella macchina, con quel compilatore, in quel
giorno, a quella
temperatura (e non sono escluse influenze lunari).
Se poi volete concludere che per essere uno standard e' una schifezza,
concordo.
Ah, giusto per la precisione, exit(0) non e' ISO: bisogna scrivere:
exit(EXIT_SUCCESS), includendo "stddef.h".
Ciao
Mauro Fiorentini

 Alessandro Cerioni - Sunspot
Un senso ce l'ha : capire tra gli informatici (o tra chi si occupa di
informatica) quanti
comprendono che un calcolatore e' uno strumento limitato, anche se potente,
al quale non e' possibile richiedere la soluzione di alcuni particolari
problemi che possono
essere molto semplici.
Ciao


essere molto semplici.
e pensare che volevo fare un programma che mi facesse il caffè...
pensi che non sia  possibile ? ;))
e pure un modo ci sarà pure!
-
scusa l'ironia ma credi che forse che gli informatici siano degli imbecilli?
perché se è cosi ti sbagli!
ciao
Alessandro Cerioni - Sunspot
remove xxx to Reply correctly to the Author