Soluzioni esercizi prof. Gallo

Studente Anonimo
Studente Anonimo
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.

Risposte
Studente Anonimo
Studente Anonimo
Ahhhhh...quindi 1 nn è compreso...ora ci semu...ti ringrazio Archimede e grazie a tutti ciao

Studente Anonimo
Studente Anonimo
Esatto mi scuso per l´errore. ha ragione cyber

Studente Anonimo
Studente Anonimo
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 ]

Studente Anonimo
Studente Anonimo
Fabry, con +1 i range varia da 1 a 6.



Ciao

Studente Anonimo
Studente Anonimo
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

Studente Anonimo
Studente Anonimo
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!

Studente Anonimo
Studente Anonimo
ben detto Daisy83

Studente Anonimo
Studente Anonimo
A noi servono solo gli interi!

Studente Anonimo
Studente Anonimo
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

Studente Anonimo
Studente Anonimo
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...

Studente Anonimo
Studente Anonimo
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

Studente Anonimo
Studente Anonimo
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 ]

Studente Anonimo
Studente Anonimo
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!

Studente Anonimo
Studente Anonimo
Ecco qui le soluzioni di Daisy83 e di CyberBoy

Studente Anonimo
Studente Anonimo
Cyber Se vuoi correggo l´esercizio che mi hai mandato e che ho messo nella mia home! Risp

beltipo-votailprof
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.

Studente Anonimo
Studente Anonimo
Daisy... mandameli in e-mail che li metto sul sito... anche tu Cyber... così li mettiamo a disposizione di tutti... CIAO

Studente Anonimo
Studente Anonimo
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!

Studente Anonimo
Studente Anonimo
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

Studente Anonimo
Studente Anonimo
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 ]

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.