Newsgroup: it.hobby.lotto
Titolo: codice di dadi (lungo!) era :Ancora sui ritardi

Ed ecco il codice (mi scuso per la grettezza ma lo ho scritto in 20
min.) per info chiedere direttamente su NG.
-------------------------------------------------------------------
program dadi;
type dado=array[1..6] of longint;
var ritardi,estratti:dado;
var n,t,v1,v2,v3,v4:longint;
var r,estratto,s1,s2,s3,s4:integer;
begin
write('numero di estrazioni: ');
readln(n);
for t:=1 to 6 do ritardi[t]:=0;
for t:=1 to 6 do estratti[t]:=0;
randomize;
s1:=0;
s2:=0;
s3:=0;
s4:=0;
v1:=0;
v2:=0;
v3:=0;
v4:=0;
repeat
begin
	estratto:=random(6)+1;
	estratti[estratto]:=estratti[estratto]+1;
	for t:=1 to 6 do ritardi[t]:=ritardi[t]+1;
        ritardi[estratto]:=0;
        if s1=estratto then v1:=v1+1;
        if s2=estratto then v2:=v2+1;
        if s3=estratto then v3:=v3+1;
        if s4=estratto then v4:=v4+1;
        {scommessa}
 
        {casuale}
        s1:=random(5)+1;
        {immediato}
        s2:=estratto;
        {ritardo}
        r:=ritardi[1];
        s3:=1;
        for t:=2 to 6 do
        begin
             if r<ritardi[t] then
                begin
                     r:=ritardi[t];
                     s3:=t;
                end;
        end;
        {frequente}
        r:=estratti[1];
        s4:=1;
        for t:=2 to 6 do
        begin
             if r<estratti[t] then
                begin
                     r:=estratti[t];
                     s4:=t;
                end;
        end;
        n:=n-1;
end;
until n<0;
writeln;
writeln('///////////\\\\\\\\\\\\\\');
writeln('casual  ',v1);
writeln('rigioca ',v2);
writeln('ritardo ',v3);
writeln('freqent ',v4);
readln;
end.
-------------------------------------------------------------------------
 bye!


Solo una cosetta: il pascal non e' basic...
a=a+1
si scrive inc(a) :-)
bye
Emanuele Cesena
d.a.m...@iol.it
           Attenti all'antispam NOSPAM
http://www.geocities.com/SiliconValley/Grid/8879
trovate ora l'editor per i livelli di Bubble2000!! :-))
ICQ n° #10570672

si scrive inc(a) :-)
...come compattare il codice... ;)
Ciao!
MagoPeppe
ICQ 9759626
Staff Tecnico MPO
Cornucopia home page:
http://www.geocities.com/SiliconValley/Campus/3723/
MagoPeppe si associa alla campagna contro la TUT (Tariffa Urbana a Tempo)
Visitate il sito 
http://notut.ml.org
REMOVE levaccà to contact me by email.
"Chi non sa scherzare non è una persona seria".
(Pino Caruso)


piu' che altro come non doversi scrivere:
estratto[estratti]=estratto[estratti]+1 :-)))


estratto[estratti]=estratto[estratti]+1 :-)))
...Hai ragione, ma soprattutto pare che Inc(estratto[estratti])
sia più veloce... :)


 
Sai come e' essendo un universitario ci insegnano che la chiarezza e la riusibilita' del codice
sono piu' importanti dell'efficenza, quindi
scivere inc(estratto[estratti]) genera due problemi
1 e' meno chiaro di estratto[estratti]:=estratto[estratti]+1
2 se devo modificare l'incremento diciamo a 5 nel secondo caso basta sostituire 1 con 5
bye 
:)

2 se devo modificare l'incremento diciamo a 5 nel secondo caso basta sostituire 1 con 5
Potrestri anche scrivere Inc(estratto[estratti],1) nel caso di
incremento di una unità e cambiare l'1 a 5 se ti serve. ;)
Ciòppele! :)


Un bel di' sydlevaccà@pn.itnet.itMagoPeppe scrisse:
spii> ...Hai ragione, ma soprattutto pare che Inc(estratto[estratti])
spii> sia più veloce... :)
spii> 
Gia'... scusate se rispondo per cosi' poco... ma devo prova' TIN :-)
Ciaus!!
-- 
"Un esperto e' una persona che evitando tutti i piccoli errori, punta dritto
alla catastrofe", definizione di Weinberg
-- 
Emanuele Cesena
d.a.m...@iol.it
    occhio all'antispam NOSPAM!
http://www.geocities.com/SiliconValley/Grid/8879

2 se devo modificare l'incremento diciamo a 5 nel secondo caso basta
sostituire 1 con 5
Chiarezza più importante dell'efficienza ? Dipende!
Se parli di simulare qualche migliaio di lanci... hai ragione!
Se parli di simulare qualche decina di milioni di lanci... manda la
chiarezza a quel paese con il biglietto di sola andata!!! :-)))
Ciao
P.S. Comunque quando si pubblicano dei sorgenti è molto importante la
chiarezza del codice.
Anche se rischi di farti dire che non sai programmare! :-))
--
Alessandro Pulvirenti
ale...@cedss.it

Anche se rischi di farti dire che non sai programmare! :-))
...Per le mie cosette personali, l'importante che funzioni... ;)
Ciao!


Michele \"Cato\" Ferrario ha scritto:
MCF>  1 e' meno chiaro di estratto[estratti]:=estratto[estratti]+1
non sono d'accordo :-)
lo scopo era incrementare la 'variabile' e la funzione inc() fa proprio quello.
a=a+1 è una deformazione dei programmatori :-))
MCF>  2 se devo modificare l'incremento diciamo a 5 nel secondo caso basta sostituire 1 con 5
infatti io uso il C e scrivo.
estratto[estratti] += 5  :-D
Ciao
Marco
-- 
Tutti mentono, ma non importa perche' nessuno sta a sentire. 
(Legge di Lieberman)

 
inc(a,5) :-)
bye
-- 
"1. Un funzionario vorra' sempre moltiplicare i suoi subordinati, non i rivali
 2. I funzionari creano lavoro l'uno per l'altro", assiomi di Parkinson


uffa smettetela di menarmela :I , come ho detto ho usato il pascal perche' e' uno dei linguaggi 
piu' conosciuti (chiunque ha programmato a scuola ha usato il pascal) e poi ho cercato di scrivere
un codice piu' chiaro possibile.
Mi dispiace poi che solo uno mi ha detto grazie per aver postato il codice e poi nessun comento
a pare sto cavolo di inc(a).
Dato che il programma aveva un senso vogliamo parlare di questo o no?
bye

inc(a,5) :-)
Ma cossa te go dito mi??? :) Ti ga perso il messaggio con TIN??? ;))


...

Grazie! (... e siamo due!)
Il grazie non č da intendersi del fatto che hai messo il codice sul NG... ma
č soltato per il fatto che io volevo mettere il mio codice in C++ ... ma
visto la fine che hanno fatto fare a te... preferisco lasciar perdere! :-))
GRAZIE!
Ciao
Alessandro Pulvirenti
ale...@cedss.it

Michele \"Cato\" Ferrario ha scritto:
MCF>  Mi dispiace poi che solo uno mi ha detto grazie per aver postato il codice e poi nessun comento
MCF>  a pare sto cavolo di inc(a).
bhe, io avrei una comanda:
       estratto:=random(6)+1;
[...]
        {casuale}
        s1:=random(5)+1;
come mai per estrarre il numero si chiama random col parametro 6, mentre per
scegliere a caso col 5? (non conosco molto il Pascal.... non uccidermi:-))
 
MCF>  Dato che il programma aveva un senso vogliamo parlare di questo o no?
che altro dire se non "dimostra quello che già sapevamo in partenza"?
Ciao
Marco
-- 
In ogni organizzazione c'è sempre una persona che sa esattamente che cosa
succede. Questa persona deve essere licenziata. (Legge di Conway)

>inc(a,5) :-)
spii> 
spii> Ma cossa te go dito mi??? :) Ti ga perso il messaggio con TIN??? ;))
spii> 
No, scusa.
In realta' (ve la racconto tutta), avevo problemi a postare i messaggi (non
so se avete visto, ma sono arrivati in una botta quelli di 2 giorni diversi).
Cosi' dovevo rispondere a qualcuno... ed il primo messaggio che mi e'
capitato a tiro... :-D
(Volevo rispondere a quello del dado che cade sull'1, ma avevo fretta e non
l'ho trovato) :-D
-- 
"In casi di crisi che obbligano la gente a scegliere tra varie linee di
condotta, la maggioranza scegliera' la peggiore possibile", legge di Rudin


Un bel di' Alessandro Pulvirenti scrisse:
AP> Il grazie non č da intendersi del fatto che hai messo il codice sul NG... ma
AP> č soltato per il fatto che io volevo mettere il mio codice in C++ ... ma
AP> visto la fine che hanno fatto fare a te... preferisco lasciar perdere! :-))
AP> 
suvvia, il mio voleva essere solo un consiglio... :-)
Se vuoi postare la tua versione in C++, saremo ben lieti di commentare anche
quella (magari su un NG piu' attinente :-D)
Ciao
-- 
"Quando c'e' bisogno di toccar ferro o legno, ci si accorge che il mondo e'
fatto di alluminio e vinile", legge di Flugg


scegliere a caso col 5? (non conosco molto il Pascal.... non uccidermi:-))
Si incominciano a trovare i primi Bug! :-)
Ciao
Alessandro Pulvirenti
ale...@cedss.it

 scegliere a caso col 5? (non conosco molto il Pascal.... non uccidermi:-))
Opsss e' un tipico errore :(
non me ne ero accorto, il fatto e' che non mi ricordo mai come funziona il random...
se non sbaglio random(6) produce numeri da 0 a 5 per cui doveva essere
s1:=random(6)+1
e' interessante vedere che "casuale" non puntando mai sul 6 vince tanto quanto gli altri...
bye

s1:=random(6)+1
questa è una delle caratteristiche "Incoerenti" per il Pascal ma "Coerenti"
per il C e il C++.
il problema è che la funzione random genera numeri tra 0 e N-1 mentre i
vettori (in Pascal) vanno da 1 a N...
In C++ i vettori vanno da 0 a N-1 e quindi non c'è bisogno di aggiungere
quell'1 dopo la funzione random.
Questo fatto degli intervalli tra 0 e N-1 e il vettore tra 1 e N porta a un
pò di confusione! :-( problema che non si pone in C++.
Ciao
Alessandro Pulvirenti
ale...@cedss.it

Un bel di' Alessandro Pulvirenti scrisse:
AP> il problema è che la funzione random genera numeri tra 0 e N-1 mentre i
AP> vettori (in Pascal) vanno da 1 a N...
AP> In C++ i vettori vanno da 0 a N-1 e quindi non c'è bisogno di aggiungere
AP> quell'1 dopo la funzione random.
AP>
Pronto!?
Ma me lo state proprio a travia', il mio caro Turbo?? :-)
In Pascal i vettori si dichiarano cosi':
var vettore:array [inizio..fine] of quellochevuoi;
Che poi la maggior parte della gente usi [1..10], invece di [0..9], e' un
altro discorso... il Pascal e' GIUSTO e perfettamente coerente.
Si possono definire vettori anche v['c'..'k'] :-DD
AP> Questo fatto degli intervalli tra 0 e N-1 e il vettore tra 1 e N porta a un
AP> pò di confusione! :-( problema che non si pone in C++.
AP> 
piu' che C++ parlerei di C... comunque la confusione la crea chi programma,
non certo il linguaggio solo perche' ti mette a disposizione qualche cosa in
piu' :-)
-- 
"L'altra coda e' sempre piu' veloce", osservazione di Zenone
"Se si cambia coda, quella che si e' appena lasciata diventera'
immediatamente la piu' veloce", variazione di O'Brien
"Continuare a cambiar coda le rallenta entrambe e fa infuriare tutti",
corollario di Kenton


Michele \"Cato\" Ferrario ha scritto:
MCF>  e' interessante vedere che "casuale" non puntando mai sul 6 vince tanto quanto gli altri...
già!
vuoi vedere che avrebbe vinto quanto gli altri anche puntando sempre sull'1? :-)
Ciao
Marco
-- 
I tre porcellini si presentano da Mike Bongiorno e chiedono: 
<<Scusi, ha delle domande da porci?>> (A.A.)