Soluzioni esercizi prof. Gallo
Raga
Ho pubblicato nella mia homepage altre soluzioni, segnalate da Cyberboy, degli esercizi del prof. Gallo e in più le soluzioni del prof. (dato che il sito della facoltà dà un pò di problemi).
Per vederle clicca qui
Ciao e buon anno.
Ho pubblicato nella mia homepage altre soluzioni, segnalate da Cyberboy, degli esercizi del prof. Gallo e in più le soluzioni del prof. (dato che il sito della facoltà dà un pò di problemi).
Per vederle clicca qui
Ciao e buon anno.
Risposte
Ahhhhh...quindi 1 nn è compreso...ora ci semu...ti ringrazio Archimede e grazie a tutti ciao

Esatto mi scuso per l´errore. ha ragione cyber
Funzionamento di "random" (al di la´ di Java, il ragionamento vale per quasi tutti i linguaggi):
Normalmente una chiamata alla funzione "random" restituisce un numero reale (float, single, double, real... dipende dal linguaggio) "x" tale che 0 <= x < 1. E´ evidente (disequazioni!) che moltiplicando il risultato ottenuto per un intero "n", otteniamo un numero reale "y" : 0<= y < n.
Trasformando y in un numero intero (troncando i decimali!) risulta:
se 0<= y < 1 (es. 0.9999...) -> (int)y=0
se 1<= y < 2 (es. 1.9999...) -> (int)y=1
se 2<= y < 3 (es. 2.9999...) -> (int)y=2
...
se (n-1)<= y < n (es. (n-1).9999) -> (int)y=(n-1)
Come si vede ogni numero ha le stesse probabilita´ di tutti gli altri, non ci sono favoriti o sfavoriti.
In definitiva scrivendo "(int)(random*6") ottengo un intero da 0 a 5, scrivendo "(int)(random*6+1)" ottengo un intero da 1 a 6.
- Mariano.-
[ Questo Messaggio è stato Modificato da: archimede il 2002-01-05 22:30 ]
Normalmente una chiamata alla funzione "random" restituisce un numero reale (float, single, double, real... dipende dal linguaggio) "x" tale che 0 <= x < 1. E´ evidente (disequazioni!) che moltiplicando il risultato ottenuto per un intero "n", otteniamo un numero reale "y" : 0<= y < n.
Trasformando y in un numero intero (troncando i decimali!) risulta:
se 0<= y < 1 (es. 0.9999...) -> (int)y=0
se 1<= y < 2 (es. 1.9999...) -> (int)y=1
se 2<= y < 3 (es. 2.9999...) -> (int)y=2
...
se (n-1)<= y < n (es. (n-1).9999) -> (int)y=(n-1)
Come si vede ogni numero ha le stesse probabilita´ di tutti gli altri, non ci sono favoriti o sfavoriti.
In definitiva scrivendo "(int)(random*6") ottengo un intero da 0 a 5, scrivendo "(int)(random*6+1)" ottengo un intero da 1 a 6.
- Mariano.-
[ Questo Messaggio è stato Modificato da: archimede il 2002-01-05 22:30 ]
Fabry, con +1 i range varia da 1 a 6.
Ciao
Ciao
allora
int num_casuale=(int)(Math.random()*6)
dà un numero casuale intero da 0 a 5 (infatti sono 6)
se immetti +1 il range di numeri sarà da 1 a 7
Se hai ancora dubbi immetti la stessa domanda nel forum ufficiale. (http://www.uniweb.fabriziofarina.it/forum/)
lì il prof ti risponderà sicuramente
int num_casuale=(int)(Math.random()*6)
dà un numero casuale intero da 0 a 5 (infatti sono 6)
se immetti +1 il range di numeri sarà da 1 a 7
Se hai ancora dubbi immetti la stessa domanda nel forum ufficiale. (http://www.uniweb.fabriziofarina.it/forum/)
lì il prof ti risponderà sicuramente
Mi correggo...mettendo 6.99 si può arrivare al risultato 7 che è sbagliato...mmm però ora nn capisco xchè mettendo solo 6 nn si ha lo stesso problema...voglio dire...se il Math.random è 1 moltiplicandolo x 6 e sommandolo a 1 otteniamo 7...però ho provato + volte ma nn esce mai questo numero...per favore illuminatemi!

ben detto Daisy83
A noi servono solo gli interi!

Una curiosità...nelle soluzioni prese dal tuo sito(Frabryturnopz) ho visto che x simulare il lancio del dado moltiplicate Math.random * 6...anche se sarebbe + corretto moltiplicarlo * 6.99 (x il calcolo delle probabilità)...c´è un motivo particolare x cui nn lo fate?
Buona giornata e grazie in anticipoundefined
Buona giornata e grazie in anticipoundefined
Studiamo Java!
Per quanto riguarda gli appunti usiamo molto i lucidi che fa vedere il prof a lezione, li trovi sulla sua homepage se vuoi dare un´occhiata. Gli appunti che prendiamo sono a corredo di quelli...

Per quanto riguarda gli appunti usiamo molto i lucidi che fa vedere il prof a lezione, li trovi sulla sua homepage se vuoi dare un´occhiata. Gli appunti che prendiamo sono a corredo di quelli...
Ora ho capito!!!!
Mi ero dimenticato che il prof ha anche una materia al 1° anno.... mi sento molto invecchiato, ma da quello che dite sembra C++ o Java?
ma al corso di Programmazione 1 non si studiava C
l´ anno scorso????
Comunque se avete materiale aggiornato mandatelo che li metto tra gli appunti gratuiti di Villaceramica....
vorrei anche un vostro commento su quelli già presenti...
un saluto a tutti
Mi ero dimenticato che il prof ha anche una materia al 1° anno.... mi sento molto invecchiato, ma da quello che dite sembra C++ o Java?
ma al corso di Programmazione 1 non si studiava C
l´ anno scorso????
Comunque se avete materiale aggiornato mandatelo che li metto tra gli appunti gratuiti di Villaceramica....
vorrei anche un vostro commento su quelli già presenti...
un saluto a tutti

Se hai dei problemi puoi guardare come abbiamo svolto l´esercizio io e Cyberboy.
Come?
Basta visitare la mia home. clicca qui
NdBrawnSR... Messaggio Promozionale
[ Questo Messaggio è stato Modificato da: BrawnSR il 2002-01-04 22:59 ]
Come?
Basta visitare la mia home. clicca qui
NdBrawnSR... Messaggio Promozionale

[ Questo Messaggio è stato Modificato da: BrawnSR il 2002-01-04 22:59 ]
Ho un problema:
Sto facendo l´esercizio 1.4
La compilazione è ok, ma quando inserisco un cast mi da un errore del tipo
missing return statement
{
Non c´entra niente!!!
perchè?!?!?!
AIUTO!
Sto facendo l´esercizio 1.4
La compilazione è ok, ma quando inserisco un cast mi da un errore del tipo
missing return statement
{
Non c´entra niente!!!
perchè?!?!?!
AIUTO!

Cyber Se vuoi correggo l´esercizio che mi hai mandato e che ho messo nella mia home! Risp
inserire il file è semplicissimo cito direttamente dalle nostre FAQ:
· Come faccio ad aggiungere un appunto o un programma?
E´ molto semplice : clicca su appunti in alto,o nel riquadro canali di destra.La vedi sopra la scritta appunti,dove c´è aiuto invia links ecc... Andrai cosi alla pagina degli appunti,quella da cui si scaricano i programmi. Sotto la scritta download vedi aggiungi file,clicca e da li troverai tutte le istruzioni. Devi solo scegliere la categoria dove vuoi inserire il programma,e il collegamento,che non necessariamente deve essere sul nostro sito,ma può anche essere esterno (solo se non sono violati copyright eh!).Gli altri dati sono molto graditi (anche per attribuirvi la paternita dell´appunto o della risorsa) ma non necessari.
· Come faccio ad aggiungere un appunto o un programma?
E´ molto semplice : clicca su appunti in alto,o nel riquadro canali di destra.La vedi sopra la scritta appunti,dove c´è aiuto invia links ecc... Andrai cosi alla pagina degli appunti,quella da cui si scaricano i programmi. Sotto la scritta download vedi aggiungi file,clicca e da li troverai tutte le istruzioni. Devi solo scegliere la categoria dove vuoi inserire il programma,e il collegamento,che non necessariamente deve essere sul nostro sito,ma può anche essere esterno (solo se non sono violati copyright eh!).Gli altri dati sono molto graditi (anche per attribuirvi la paternita dell´appunto o della risorsa) ma non necessari.
Daisy... mandameli in e-mail che li metto sul sito... anche tu Cyber... così li mettiamo a disposizione di tutti... CIAO

Vorrei farvi vedere la mia soluzione all´esercizio 1.3
Penso sia giusto... volevo confrontarlo con qno x uno scambio di opinioni.
La soluzione del prof è con gli oggetti e io non li ho usati, quella di Cyber è diversa dalla mia... volevo mettere il file qui... ma come si fa ad allegare un file al msg?!?!?!!? Se lo scrivo qui direttamente è troppo lungo! HELP!
Penso sia giusto... volevo confrontarlo con qno x uno scambio di opinioni.
La soluzione del prof è con gli oggetti e io non li ho usati, quella di Cyber è diversa dalla mia... volevo mettere il file qui... ma come si fa ad allegare un file al msg?!?!?!!? Se lo scrivo qui direttamente è troppo lungo! HELP!
Già, ho visto e ho dimenticato di aggiungere +1 al primo e al secondo esercizio, cmq la forma corretta sarebbe
Math.random() * 6 + 1
anche se
6 * Math.random() + 1 va bene lo stesso...
Usare i metodi in questo caso mi sembra proprio un spreco. Ciao
Math.random() * 6 + 1

anche se
6 * Math.random() + 1 va bene lo stesso...
Usare i metodi in questo caso mi sembra proprio un spreco. Ciao
Cyber... forse dovresti rivedere la soluzione del primo esercizio (Scrivere una classe che simuli il lancio di un dado con sei facce)
Nella tua proposta è ammesso che esca il numero 0 (non mi pare che sia su nessuna faccia del dado...)
La mia proposta di soluzione potrebbe essere
System.out.println((int)(6*Math.random()+1));
(Questa soluzione richiama la tua, ma guardando le soluzioni del prof potrebbe essere svolto anche mediante l´uso dei metodi)
Ciao e auguri di buon anno a tutti!!!
[ Questo Messaggio è stato Modificato da: Daisy83 il 2002-01-01 21:12 ]
Nella tua proposta è ammesso che esca il numero 0 (non mi pare che sia su nessuna faccia del dado...)
La mia proposta di soluzione potrebbe essere
System.out.println((int)(6*Math.random()+1));
(Questa soluzione richiama la tua, ma guardando le soluzioni del prof potrebbe essere svolto anche mediante l´uso dei metodi)
Ciao e auguri di buon anno a tutti!!!

[ Questo Messaggio è stato Modificato da: Daisy83 il 2002-01-01 21:12 ]