Novità

Richiesta Aiutino

joe

Advanced Member >PLATINUM PLUS<
Buona serata a tutte/ì.

Mi permetto di sottolineare che non è opportuno nominare variabili diverse con nomi simili.

come e1, e2, p1, p2,r1,r2, perché poi ci si confonde.

Per esempio in questo caso se per gli indici si fossero usati "X" e "Y",

sarebbe stato molto più difficile confondere X & Y con 1,

di quanto invece è molto facile CONFONDERE l' "indice 1" con p1 e con e1.

LE OPERAZIONI INTERNE ai 2 cicli nidificati con valori degli indici (X & Y)

che vanno da 1 a 5 (cioè quante sono le posizioni), SONO ESEGUITE 25 VOLTE.

Ovvero: 5 VOLTE * PER * 5 VOLTE.

Perché Nidificare è sinonimo di Moltiplicare

In sintesi se hai una sola delle 5 posizioni da controllare (PERCHE' cerchi un ISOTOPO)

"DEVI" usare 1 SOLO INDICE.

In alternativa) si possono usare X & Y cioè

For X = 1 TO 5

For Y = 1 TO 5

PERO', si deve controllare che: X sia = Y (perché sia isotopo) aggiungendo un test del tipo:

IF X = Y Then

(che rende "insignificante" il valore di Y ) seguito da

IF Distanza (Estratto (Es-1,R,X),Estratto(Es,R,X)) = Numero-Cercato ecc. ecc.

Ma è uno spreco nel lavoro, nel numero delle variabili, nei cicli, nel tempo di elaborazione ecc. ecc.

Insomma diventa un lavoro da "complicazione affari semplici".

:)
 
Ultima modifica:

i legend

Premium Member
Ciao joe.
Anche io utilizzo le variabili
Mi permetto di sottolineare che non è opportuno nominare variabili diverse con nomi simili.

come e1, e2, p1, p2,r1,r2, perché poi ci si confonde.

Per esempio in questo caso se per gli indici si fossero usati "X" e "Y",
Personalmente non essendo dotato
Di grande memoria , indico le variabili nel modo più semplice.
P1 = posizione 1
P2= posizione 2
E1= estratto 1
Se li chiamassi x e y e chi se li ricorderebbe? 🤣🤣🤣🤣
Se faccio fatica io ,mi metto nei panni di chi deve leggerlo e magari modificarlo. Questo per me sarebbe troppo complicato.

Per quanto riguarda l uso di
E1,e2,e3
È vero che
Distanza ( estratto(id, r1,x),estratto (id, r2,y))
È più veloce di
E1= estratto ( id,r1,p1)
E2= estratto(id,r2,p2)
Distanza(e1,e2)
Ma questo solo se non devo utilizzare più quei valori.
E1ed e2 li calcolo solo una volta
Se la condizione è rispettata e voglio riscriverli basta utilizzare quei valori già calcolati
Altrimenti dovrò chiedere al pc di calcolare nuovamente estratto (id,r1,p1) ,ecc
Sono d accordo con te sul doppio ciclo for per un numero isotopo .
Ma questi sono piccoli errori di chi sta imparando:)
Se ho scritto qualcosa di errato , chiedo venia, ho appena finito di lavorare, e rispondo da cellulare.
Ciao e buona giornata a tutti.
Visto che sono a pezzi ,spero possa proseguire tu ad aiutare xerox. Spieghi meglio di me, io avrei postato direttamente lo script, e questo non sarebbe utile.
 
Ultima modifica:
L

LuigiB

Guest
invero quando uno ha necessità di fare riferimento piu volte ai numeri di una stessa ruota stessa estrazione , invece di usare tante variabili
si dovrebbe usare un array ed usare l'apposita istruzione che lo legge GetArrayNumeriRuota
..tanto per fare il pignolo ...

ciao :)
 

Xeroxs

Advanced Member >PLATINUM<
Ciao, a Tutti
Premetto che cerco sempre di Imparare e quindi Migliorare e su Spaziometria molte cose a me sono ancora ignote non tanto quanto trovo nella guida e nelle sue descrizioni utili, ma a far interagire il tutto in un mix più performante, come dice I-Legend non conoscevo questi piccoli o scorciatoie che le impari proprio dall'esperienza nell'usare il programma.
Per quanto riguarda i nomi delle variabili posso anche concordare con quanto scrivete perchè devo poi se ho bisogno usare qualcosa di chiaramente leggibile, Io sto cercando di Uniformare e memorizzarne molte nello stesso modo per avere una continuità ( ovvio Mia )
e vi assicuro che quando ho cominciato ad usare spaziometria e leggere alcuni script trovati in rete qualcuno chiamava le variabili pippo o chissà come ed io non capivo nulla, ma rileggendo e vedendo i vari script ho capito e modificato quanto fatto da altri.

Per quanto mi riguarda posso anche dire che avendo uno script ben fatto ho avuto modo di imparare e capire più cose che nel tentare di provare e riprovare in quanto manco di conoscenza della materia, ma Vi assicuro che grazie ad alcuni lavori di I-Legend, Joe, Mike58,Claudio8, di Salvo50, Master, Druid sperando di non offendere a chi ho dimenticato di Citare.

Ora Posto le Modifiche fatte al mio precedente dove ho eliminato un ciclo For per la seconda posizione, per quanto riguarda la distanza non ho proprio capito come scriverla e quindi poi impostarla nello script, o meglio se la scrivo poi non so come gestirla e quindi ho eliminato un if inutile.


Codice:
Option Explicit
Sub Main()
   Dim Ini,Fin,es,QE,K
   Dim r1,r2
   Dim A,B,C,D,p1,p2
   Dim Ds,Dis1,Dis2
   QE = CInt(InputBox(" Quante Estrazioni vuoi controllare ? ",,"100"))
   Ini = EstrazioneFin - QE
   Fin = EstrazioneFin
   Ds = 5 ' --------------------> Quì Scelgo la Distanza Voluta
   Scrivi
   ColoreTesto 0
   Scrivi String(123,"-")
   Scrivi String(40," ") & "----> Ricerca <--- ",1,,,2
   Scrivi String(27," ") & "Dal " & DataEstrazione(Ini) & " Al " & DataEstrazione(Fin) & " ---> " &(QE) & " Estrazioni",1,,,0
   Scrivi String(13," ") & " Ricercare la Distanza Scelta Isotopa su Estrazioni Consecutive su 2 Ruote ",1,,,0
   Scrivi String(123,"-")
   For es = Ini To Fin
      Messaggio "Elab. Estr. [" &(es) & "] del " & DataEstrazione(es,1)
      Call AvanzamentoElab(Ini,Fin,es)
      For r1 = 1 To 10
         For p1 = 1 To 5
               A = Estratto(es,r1,p1)
               B = Estratto(es - 1,r1,p1)
                  Dis1 = Distanza(A,B)
                  'If Dis1 = Ds Then
                     'For r2 = r1 + 1 To 10 ' -----> Senza la Ruota Nazionale
                     For r2 = r1 + 1 To 11
                        If r2 = 11 Then r2 = 12
                        C = Estratto(es,r2,p1)
                        D = Estratto(es - 1,r2,p1)
                           Dis2 = Distanza(C,D)
                           If Dis1 = Dis2 And Dis1 = Ds Then
                           'If Dis2 = Dis1 Then
                              ColoreTesto 1
                              K = K + 1
                              Scrivi "Estrazione n." & Format2(es) & " " & String(95,"*") & " Caso n°" & Format2(K),1
                              ColoreTesto 0
                              Scrivi "Trovata la Distanza [" & Dis1 & "] In Posizione Isotopa sulle Ruote di ---> " & NomeRuota(r1) & " e " & NomeRuota(r2),1,,,2
                              Scrivi
                              Scrivi DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1) & " ---> " & "[" & Format2(A) & "]",1,0
                              Scrivi " - " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2) & " ----> [" & Format2(C) & "]",1,0
                              Scrivi " ----> [" & Format2(A) & "-" & Format2(B) & "]" & " 1^ ambo " & "In " & p1 & "^ Pos.",1
                              Scrivi DataEstrazione(es - 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es - 1,r1) & " ---> " & "[" & Format2(B),1,0
                              Scrivi "]" & " - " & DataEstrazione(es - 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es - 1,r2) & " ----> [" & Format2(D),1,0
                              Scrivi "]" & " ----> [" & Format2(C) & "-" & Format2(D) & "]" & " 2^ ambo " & "In " & p1 & "^ Pos.",1
                              Scrivi
                              ColoreTesto 1
                              Scrivi String(123,"-"),1
                              Scrivi
                           End If ' Chiude Dis1 = Dis2   
                           'End If ' Chiude Dis2 = Dis1
                     Next ' Chiude r2
                  'End If ' Chiude Dis1
         Next ' Chiude p1
      Next ' Chiude r1
   Next ' Chiude es
   ColoreTesto 2
   Scrivi" Casi trovati : " & K,1
End Sub

Sperando di non aver commesso errori.

se è ancora migliorabile resto in attesa.
 

i legend

Premium Member
Ciao seguendo il suggerimento di luigi e utilizzare getarraynumeriruota.
Al momento non posso controllare lo script che hai postato
 

Baciccia

Junior Member
Luigi se non lo sai tu siamo apposto 🤣🤣🤣🤣l
Dopo un long long Covid, dall'oltretomba, saluto tutti. Sto usando Windows 11 (installato con l'inganno visto che il mio PC non lo supporta) Spaziometria funziona. Bisognerà vedere con la versione finale (che probabilmente non riuscirò ad ingannare).
Da quello che ho visto Windows 11 si può tranquillamente aspettare ad installarlo. Peccato che Spaziometria non funzioni con Linux altrimenti si potrebbe dire addio a Windows.
 
L

LuigiB

Guest
Dopo un long long Covid, dall'oltretomba, saluto tutti. Sto usando Windows 11 (installato con l'inganno visto che il mio PC non lo supporta) Spaziometria funziona. Bisognerà vedere con la versione finale (che probabilmente non riuscirò ad ingannare).
Da quello che ho visto Windows 11 si può tranquillamente aspettare ad installarlo. Peccato che Spaziometria non funzioni con Linux altrimenti si potrebbe dire addio a Windows.
si in compenso la useresti tu e altre 2 o 3 persone ... :) la verità è cche spaziometria andrebbe riscritta solo che chi me lo fa fare . sarebeb un lavoro immane , aiuti non li ho mai trovati , io ho fatto il possibile per cercare di indirizzare e formare i piu volenterosi sulla strada della programmazione..
 

i legend

Premium Member
Luigi sei immenso:)
Spaziometria è super.
Spaziometria ha anche tanti moduli , ma il suo punto di forza è .Ls
Ci sono così tante funzioni già pronte che si può fare qualsiasi cosa senza essere nemmeno bravi.
Ripeto sei stato immenso. Chiederti di riscriverlo sarebbe da ingrati .almeno è il mio pensiero.
Ciao :)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 04 maggio 2024
    Bari
    02
    31
    81
    52
    21
    Cagliari
    39
    88
    84
    01
    67
    Firenze
    36
    30
    70
    06
    41
    Genova
    59
    23
    61
    22
    27
    Milano
    05
    17
    69
    57
    39
    Napoli
    81
    62
    82
    43
    50
    Palermo
    73
    55
    62
    45
    18
    Roma
    76
    70
    01
    64
    15
    Torino
    82
    55
    35
    70
    46
    Venezia
    58
    23
    61
    29
    21
    Nazionale
    10
    14
    01
    43
    09
    Estrazione Simbolotto
    Milano
    30
    01
    05
    32
    11
Alto