Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

random pascal:

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

random pascal:

Messaggioda f1192 » ven nov 14, 2008 8:51 pm

mi rendo conto che per voi sara una cosa banale ma vorrei chiedervi 2 cose visto che io faccio il 3 e sto studiando il pascal
1- e possibile definire la % di possibilita di uscire un certo numero dal random?se si mi puo dire la variabile plz
esempio
x:=random(100) +1
io vorrei che il numero 50 ha il 50% di possibilita di uscire come faccio? ve lo chiedo a voi perche so che il prof mi direbbe: tu pensa a studiare le istruzioni che ti do e dopo se ne parla ;-.-
lo so per certo perche gli ho fatto vedere un programma che ho fatto in circa 3 ore e non mi ha detto niente anzi continuava diciamo a 'vantarsi' e mi strillava perche non gli avevo finito un diagramma che era di un programma banalee sottolino banale in confronto al mio comunque scusate ma mi dovevo sfogare .
se volete vedere il programma ve lo allego pero per questioni di privacy ho levato i nomi
2- la seconda cosa e sempre sul random:
X:=RANDOM(VMAX)VMIN
non me lo legge finisce direttamente il programma la mia domanda e :si puo inserire delle variabili sul random?
la perfezione si crea , si cerca e si scarica .
Avatar utente
f1192
Senior Member
Senior Member
 
Messaggi: 277
Iscritto il: mer dic 12, 2007 9:33 pm
Località: ancona

Re: random pascal:

Messaggioda M@ttia » ven nov 14, 2008 10:01 pm

Non conosco il Pascal, quindi mi limiterò a rispondere in via "concettuale"...
f1192 ha scritto:1- e possibile definire la % di possibilita di uscire un certo numero dal random? io vorrei che il numero 50 ha il 50% di possibilita di uscire come faccio?

La funzione random(x+1) genera numeri interi casuali fra 0 e x in modo uniforme (o almeno mi pare sia così in pascal), quindi:

Codice: Seleziona tutto
funzione miorandom50(x)
v := random(2)
if(v=0) then {Risultato = 50} else {Risultato =  random(x+1)}

(chiedo scusa per la grezzità del pseudo-codice, ma proprio non conosco la sintassi del pascal...)

f1192 ha scritto:2- la seconda cosa e sempre sul random:
X:=RANDOM(VMAX)VMIN
non me lo legge finisce direttamente il programma la mia domanda e :si puo inserire delle variabili sul random?

Come ti ripeto, non conosco il pascal, ma leggendo al volo in Google mi rusulta, come detto sopra, che la funzione random(x+1) genera numeri interi casuali fra 0 e x in modo uniforme, quindi per generare interi casuali fra vmin e vmax (compresi) dovrebbe bastare

Codice: Seleziona tutto
vmin + random(vmax - vmin +1)
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Re: random pascal:

Messaggioda f1192 » sab nov 15, 2008 4:24 pm

aspe non ho capito .
v prende un valore random da 0 a 2
poi se v =0
risultato =50
altrimenti
risultato=random(x+1)
non ho capito che senso ha (x) dove lo prendi? E poi non capisco che funzione ha risultato ?
spiegamelo a parole per favore
la perfezione si crea , si cerca e si scarica .
Avatar utente
f1192
Senior Member
Senior Member
 
Messaggi: 277
Iscritto il: mer dic 12, 2007 9:33 pm
Località: ancona

Re: random pascal:

Messaggioda M@ttia » sab nov 15, 2008 8:41 pm

Allora, io parto sempre col presupposto che "La funzione random(x+1) genera numeri interi casuali fra 0 e x" (che spero tu possa confermare, non essendo io un conoscitore del Pascal).

A questo punto:

-) v := random(2) prende valore 0 o 1 al 50% (come lanciare una monetina)
-) Se esce 0 (50% di prob.) allora il risultato è 50 (come volevi tu, che accadesse con probabilità 50%)
-) altrimenti genera un numero casuale fra 0 e x (x nel mio codice era parte dell'input, perché non so tu in che intervallo li voglia generare, ad esempio x=100) e dai quello come risultato.



(se proprio vogliamo fare i pignoli, dobbiamo escludere il caso che nel secondo caso venga generato un 50, ma è abbastanza irrilevante...)
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising