Novità

Funzione FOR - NEXT - Quadrato Intellettuale

salvo50

Advanced Member >PLATINUM PLUS<
Ciao a Tutti!

s1 = 10
For s1 = 10 To 99

Mi serviva partire col 10 anche col To, si può fare?
 
Ultima modifica:
Ciao Giovanni!

Scusa ma non ho capito la tua risposta, rifaccio la mia richiesta con più dettagli

Dim s1
s1 = 10
For s1 = 10 To 99

facendo così funziona, For s1 parte da 10, però il To 99 parte da 1, a me servirebbe che anche il To partisse da 10 fino a 99.
 
Parlarne e stato costruttivo, mi si è accesa la lampadina, potrei fare così, mettere una variabile qualsiasi nel For Next al posto di s1 e farla partire da 1, poi con un IF THEN di proseguire solo quando la variabile che metto nel For Next è arrivata a 10, adesso ci provo.
 
Ciao Salvo.

Secondo me no.

Devi "comandare tu" e non farti soggiogare dallo script.

Quindi se devi avere delle "esse" da 10 a 99

è meglio scrivere:

Codice:
Sub main ()
Dim S
For S = 10 To 99
Scrivi S
Next
End Sub


:)
 
Ciao Joe!

Quello che devo ottenere io, è un po' più complicato di scrivere i numeri da 10 a 99, naturalmente da quello che ho scritto fino ad adesso questo non si comprende, adesso ti spiego quello che voglio fare, prendere tutti i 4000 e rot ambi che si formano con 90 numeri, ad ogni ambo in mezzo ai due numeri inserire un terzo numero e poi piramidare i tre numeri ottenuti, poi fare delle ricerche nelle estrazioni passate per vedere se ci sono dei riscontri, fare le piramidi come li fai tu, io non ci riesco, anche con copia e incolla mi dà sempre errore, quindi le piramidi le ho fatte passo-passo, prima una riga, poi un'altra ecc. il fatto che voglio iniziare da 10 è perche, lo zero prima dei numeretti non lo mette, quindi partendo da 10 ed arrivando a 99 ho anche i numeretti, perche dopo il 90, con 91, 92, ecc. ho i numeretti, adesso io l'ho fatto mettendo la condizione che deve iniziare da 10, ed uno dei due numeri dell'ambo per il momento è fisso, lo posto

Codice:
Option Explicit
Sub Main
    Dim num(4),dec(6),cad(6),p1r2(5),p1r3(4),p1r4(3),p1r5(2)
    Dim fig(1),xfig(1),a,riga,k
    num(1) = 15
    For k = 1 To 99
        If k > 9 Then
        num(3) = k
        dec(1) = Decina(num(1))
        cad(1) = Cadenza(num(1))
        dec(3) = Decina(num(3))
        cad(3) = Cadenza(num(3))
        '-----------------------------------------
        xfig(1) = dec(1) + cad(1) + dec(3) + cad(3)
        fig(1) = FuoriX(((xfig(1)) + 9),9)
        If fig(1) = 1 Then num(2) = 52
        If fig(1) = 2 Then num(2) = 85
        If fig(1) = 3 Then num(2) = 28
        If fig(1) = 4 Then num(2) = 82
        If fig(1) = 5 Then num(2) = 25
        If fig(1) = 6 Then num(2) = 58
        If fig(1) = 7 Then num(2) = 22
        If fig(1) = 8 Then num(2) = 55
        If fig(1) = 9 Then num(2) = 88
        dec(2) = Decina(num(2))
        cad(2) = Cadenza(num(2))
        'calcoli  piramide
        'seconda riga
        p1r2(1) = dec(1) + cad(1)
        p1r2(2) = cad(1) + dec(2)
        p1r2(3) = dec(2) + cad(2)
        p1r2(4) = cad(2) + dec(3)
        p1r2(5) = dec(3) + cad(3)
        If p1r2(1) > 9 Then p1r2(1) = p1r2(1) - 9
        If p1r2(2) > 9 Then p1r2(2) = p1r2(2) - 9
        If p1r2(3) > 9 Then p1r2(3) = p1r2(3) - 9
        If p1r2(4) > 9 Then p1r2(4) = p1r2(4) - 9
        If p1r2(5) > 9 Then p1r2(5) = p1r2(5) - 9
        'terza riga
        p1r3(1) = p1r2(1) + p1r2(2)
        p1r3(2) = p1r2(2) + p1r2(3)
        p1r3(3) = p1r2(3) + p1r2(4)
        p1r3(4) = p1r2(4) + p1r2(5)
        If p1r3(1) > 9 Then p1r3(1) = p1r3(1) - 9
        If p1r3(2) > 9 Then p1r3(2) = p1r3(2) - 9
        If p1r3(3) > 9 Then p1r3(3) = p1r3(3) - 9
        If p1r3(4) > 9 Then p1r3(4) = p1r3(4) - 9
        'quarta riga
        p1r4(1) = p1r3(1) + p1r3(2)
        p1r4(2) = p1r3(2) + p1r3(3)
        p1r4(3) = p1r3(3) + p1r3(4)
        If p1r4(1) > 9 Then p1r4(1) = p1r4(1) - 9
        If p1r4(2) > 9 Then p1r4(2) = p1r4(2) - 9
        If p1r4(3) > 9 Then p1r4(3) = p1r4(3) - 9
        'quinta riga
        p1r5(1) = p1r4(1) + p1r4(2)
        p1r5(2) = p1r4(2) + p1r4(3)
        If p1r5(1) > 9 Then p1r5(1) = p1r5(1) - 9
        If p1r5(2) > 9 Then p1r5(2) = p1r5(2) - 9
        'fine calcoli piramide
        If p1r5(1) = 9 Then p1r5(1) = 0
        a =(p1r5(1) & p1r5(2))
        riga = riga & Format2(a) & " "
        Scrivi "AMBO " & Format2(k) & "  "& Format2 (num(1))& "    Esito " & riga
        riga = Null
    End If
    Next
End Sub
 
Come non detto
Cancelliamo tutto, avevo dato per scontato che lo zero nei numeretti non lo metteva, ed invece ho fatto una prova e mi sono accorto che lo zero nei numeretti c'è.
 
Ciao a Tutti!

L'ho fatto con tutti i 4005 ambi che si formano con 90 numeri, in seguito lo farò con i 5 estratti di una qualsiasi ruota, gli farò fare anche delle ricerche.

Codice:
Option Explicit
Sub Main
    Dim num(4),dec(6),cad(6),p1r2(5),p1r3(4),p1r4(3),p1r5(2)
    Dim fig(1),xfig(1),a,riga,k,k1,ri
    Scrivi "   Nm Prog.                Ambo                 Esito"
    Scrivi
    ri = 0
    For k1 = 1 To 89
        num(1) = k1
        For k = k1 + 1 To 90
            ri = ri + 1
            num(3) = k
            dec(1) = Decina(num(1))
            cad(1) = Cadenza(num(1))
            dec(3) = Decina(num(3))
            cad(3) = Cadenza(num(3))
            '-----------------------------------------
            xfig(1) = dec(1) + cad(1) + dec(3) + cad(3)
            fig(1) = FuoriX(((xfig(1)) + 9),9)
            If fig(1) = 1 Then num(2) = 35
            If fig(1) = 2 Then num(2) = 57
            If fig(1) = 3 Then num(2) = 79
            If fig(1) = 4 Then num(2) = 92
            If fig(1) = 5 Then num(2) = 24
            If fig(1) = 6 Then num(2) = 46
            If fig(1) = 7 Then num(2) = 68
            If fig(1) = 8 Then num(2) = 81
            If fig(1) = 9 Then num(2) = 13
            dec(2) = Decina(num(2))
            cad(2) = Cadenza(num(2))
            'calcoli  piramide
            'seconda riga
            p1r2(1) = dec(1) + cad(1)
            p1r2(2) = cad(1) + dec(2)
            p1r2(3) = dec(2) + cad(2)
            p1r2(4) = cad(2) + dec(3)
            p1r2(5) = dec(3) + cad(3)
            If p1r2(1) > 9 Then p1r2(1) = p1r2(1) - 9
            If p1r2(2) > 9 Then p1r2(2) = p1r2(2) - 9
            If p1r2(3) > 9 Then p1r2(3) = p1r2(3) - 9
            If p1r2(4) > 9 Then p1r2(4) = p1r2(4) - 9
            If p1r2(5) > 9 Then p1r2(5) = p1r2(5) - 9
            'terza riga
            p1r3(1) = p1r2(1) + p1r2(2)
            p1r3(2) = p1r2(2) + p1r2(3)
            p1r3(3) = p1r2(3) + p1r2(4)
            p1r3(4) = p1r2(4) + p1r2(5)
            If p1r3(1) > 9 Then p1r3(1) = p1r3(1) - 9
            If p1r3(2) > 9 Then p1r3(2) = p1r3(2) - 9
            If p1r3(3) > 9 Then p1r3(3) = p1r3(3) - 9
            If p1r3(4) > 9 Then p1r3(4) = p1r3(4) - 9
            'quarta riga
            p1r4(1) = p1r3(1) + p1r3(2)
            p1r4(2) = p1r3(2) + p1r3(3)
            p1r4(3) = p1r3(3) + p1r3(4)
            If p1r4(1) > 9 Then p1r4(1) = p1r4(1) - 9
            If p1r4(2) > 9 Then p1r4(2) = p1r4(2) - 9
            If p1r4(3) > 9 Then p1r4(3) = p1r4(3) - 9
            'quinta riga
            p1r5(1) = p1r4(1) + p1r4(2)
            p1r5(2) = p1r4(2) + p1r4(3)
            If p1r5(1) > 9 Then p1r5(1) = p1r5(1) - 9
            If p1r5(2) > 9 Then p1r5(2) = p1r5(2) - 9
            'fine calcoli piramide
            If p1r5(1) = 9 Then p1r5(1) = 0
            a =(p1r5(1) & p1r5(2))
            riga = riga & "     " & FormattaStringa((ri),"0000") & "                  " & Format2(num(1)) & " " & Format2(k) & "                 " & p1r5(1) & p1r5(2) & " "
            Scrivi riga
            riga = Null
        Next
    Next
End Sub
 
Ciao
per inserire un numero TRA due numeri fai così

es: 1 e 52 vuoi iserire tra i due numenri 56
1*100 = 100
100+56=156
156*100=15600
15600+52=15652

per piramidare usa la funzione piramide(a) se vuoi vedere i vari esiti usa piramide(a,1) o piramimide(a,2) ecc
 
bravo Avio .. mi sa che sei un amante della matematica oppure uno abilissimo a trovare "altre vie" .. eheheh purche funziona va bene ... io aggiungfo un facilissimo esempio perche un minimo sindacale di teoria ci vuole quindi lo script è commentato.

Codice:
Option Explicit
Sub Main
    ' dichiaro la variabile del vettore
    ReDim aNumeri (2)

    ' all'inizio ho un vettore da 2 elementi
    aNumeri(1) = 1
    aNumeri(2) = 52

    ' Ora voglio Inserire un numero In Mezzo.
    ' siccome il vettore poteva contenere solo 2 elementi
    ' lo devo ridimensionare aggiungendo
    ' una posizione libera ma  senza perdermi i valori che aveva
    ' si fa cosi
    ReDim Preserve aNumeri (3)

    ' ora dato che lo voglio inserire in mezzo
    ' prima sposto il secondo nel terzo

    aNumeri(3) = aNumeri(2)

    ' ora inserisco finalmente il numero in mezzo
    aNumeri(2) = 56


    ' il vettore contiene tre numeri se voglio ottenere una stringa
    ' con la concatenzione dei 3 numeri a loro volta formattati
    ' con lo 0 davanti per il caso dei numeretti faccio cosi

    Dim s
    s = StringaNumeri(aNumeri,"",True)

    ' ora voglio mostrrare la stringa in output

    Scrivi s

End Sub
 
Ciao Avio!
Il suggerimento di moltiplicare per 100 lo sapevo, l'avevo già applicato in un altro script, qui era solo da decidere quale metodo usare, l'esempio che hai fatto della piramide non l'ho capito puoi farmi qualche esempio con uno script, se si può fare più semplice mi interessa, perche ho intenzione di fare uno script sul - Quadrato Intellettuale - di Pico Della Mirandola e li solo per un ambo si devono fare 21 piramidi.
 
ciao

Grazie luigi per i comprlimenti se riuscissi a usare tutte le tue funzioni che hai messo in questo meraviglioso programma forseeeee

adesso avrei trovato un ambo al 50% ..... le idee sono tante ma i risultati deludenti

PS: studio lotto da anni ma non mai giocato :p:p:p

per salvo

Sub Main
a=15652
b=Piramide(a)
Scrivi b
b=Piramide(a,1)
Scrivi b
b=Piramide(a,2)
Scrivi b
b=Piramide(a,3)
Scrivi b
b=Piramide(a,4)
Scrivi b
Scrivi
a=225652
b=Piramide(a)
Scrivi b
b=Piramide(a,1)
Scrivi b
b=Piramide(a,2)
Scrivi b
b=Piramide(a,3)
Scrivi b
b=Piramide(a,4)
Scrivi b
b=Piramide(a,5)'come vedi qui i numeri sono 6 e ci vuole un passagio in + devi decidere tu quale risultato ti va bene se fermarti all' 1 o 2 ecc
Scrivi b


End Sub
 
eh .. ti posso garantire che se fosse possibile pure io avrei risolto tutti i miei problemi ... mica ho un lavoro con il sedere al caldo ..magari fosse possibile .. purtroppo l'unico modo per vincere è la fortuna , coincidenza come si vuole chiamare si chiami .il giocatore per me puo solo condurre un gioco pu o meno ragionevole che ne so con le progressioni o comunque con tecniche avvedute . ma non influire minimamente sul fatto che possa vincere quello dipende solo dal caso
 
Grazie Avio!
Adesso ci provo.

Scusa LuigiB non avevo visto il tuo post.

Anch'io in linea di massima penso che vincere sia questione di fortuna e che dipenda dal caso, però a volte mi vengono dei dubbi, e penso alla famosa frase di un grande,( Dio non gioca a dadi) e se la natura usasse una specie di algoritmo,
penso alla cinquina di fra Pacifico e se fra Pacifico avesso scoperto questo algoritmo, non mi ricordo l'anno forse era il 2005 nel palazzo dove abito un signore fece la quaterna e raccontò a tutti che era stato il suo ex principale defunto, che non solo gli aveva dato i numeri ma gli aveva indicato pure la ruota ed anche quanto doveva puntare per ogni sorte, io incuriosito andai a vedere qual'era il quinto numero ed era il 53 controllai nella smorfia e corrispondeva a morto che da i numeri, appena posso vado a cercare qual'era l'estrazione.
 
Buon giorno a tutte/i.

Secondo me,

Luigi ha ragione ove afferma che in alcuni casi è opportuno utilizzare le stringhe.

Avio, sottolinea che bisogna stabilire "a priori" quali sono le regole.

Indipendentemente da quanto complicato ... si può fare.

Quindi propongo ed affermo:

Se ci sono chiare tutte le regole, cercherò di apportare il mio modesto contributo.

Però voglio essere esplicito a costo di apparire maleducato.

prima ci vuole una completa e rigida descrizione della metodica

da trasformare in codice.

:) Buona Giornata a tutte/i.
 
Per Avio

Ho lanciato lo scriptino che hai fatto di esempio

questo è l'output

7
6227
849
34
7

5
47227
2949
244
68
5

quel 7 e 5 in cima alle piramidi si possono eliminare? Se la risposta è si, come?
 
Ho fatto la prima piramide, grazie a Tutti dei preziosi ed utili suggerimenti che mi avete dato, metto il codice

Codice:
Option Explicit
Sub Main
Dim g1p1,fig(1)
    Dim p1(5)
    ReDim Preserve Num(3)
    Scrivi
    Num(1) = 95
    Num(3) = 40
    fig(1) = FuoriX(((Num(1) + Num(3)) + 9),9)
    If fig(1) = 1 Then Num(2) = 35
    If fig(1) = 2 Then Num(2) = 57
    If fig(1) = 3 Then Num(2) = 79
    If fig(1) = 4 Then Num(2) = 92
    If fig(1) = 5 Then Num(2) = 24
    If fig(1) = 6 Then Num(2) = 46
    If fig(1) = 7 Then Num(2) = 68
    If fig(1) = 8 Then Num(2) = 81
    If fig(1) = 9 Then Num(2) = 13
    g1p1 = StringaNumeri(Num,"",True)
    p1(1) = Piramide(g1p1,1)
    p1(2) = Piramide(g1p1,2)
    p1(3) = Piramide(g1p1,3)
    p1(4) = Piramide(g1p1,4)
    ColoreTesto 1

    Scrivi "  Gruppo:1 ",1
    Scrivi " Piramide:1",1
    ColoreTesto 0
    Scrivi
    Scrivi "   " & g1p1
    Scrivi "   " & p1(1)
    Scrivi "   " & p1(2)
    Scrivi "   " & p1(3)
    Scrivi "   " & p1(4)

End Sub
 
ciao

ho scaricato Pico della Mirandola. IL QUADRATO ITELLETTUALE

secondo me (mi posso sbagliare) se usi questa funzione g1p1 = StringaNumeri(Num,"",True) per controllare l'esempio che riporta pico della mirandola non ti troverai i numeri uguali ..... perche la funzione tratta i numeretti con "05" o "06" ecc
quando farai la prova fammi sapere se ho raggione o sbaglio
 
ciao , per fare uscire i numeretti senza lo 0 basta passare False al posto di True alla funzione stringanumeri.
Altra cosa Redim Preserve si fa qunado uno ha un array gia dimensionato ma non della dimensione sufficiente.
Se uno gia sa che vuole avere 3 posizioni nel array basta fare redim aNum(3)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 gennaio 2025
    Bari
    24
    76
    02
    72
    12
    Cagliari
    21
    08
    77
    04
    17
    Firenze
    74
    84
    07
    12
    72
    Genova
    13
    07
    33
    47
    18
    Milano
    01
    34
    09
    55
    48
    Napoli
    46
    23
    25
    03
    06
    Palermo
    44
    07
    01
    46
    84
    Roma
    88
    78
    64
    74
    04
    Torino
    07
    87
    67
    38
    53
    Venezia
    31
    25
    04
    18
    02
    Nazionale
    49
    82
    59
    65
    67
    Estrazione Simbolotto
    Bari
    03
    13
    31
    23
    35

Ultimi Messaggi

Indietro
Alto