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
    martedì 23 aprile 2024
    Bari
    47
    22
    34
    20
    50
    Cagliari
    33
    14
    86
    02
    62
    Firenze
    61
    22
    44
    19
    26
    Genova
    21
    12
    57
    82
    55
    Milano
    66
    05
    11
    70
    30
    Napoli
    05
    23
    25
    52
    73
    Palermo
    23
    44
    49
    71
    65
    Roma
    82
    37
    59
    34
    71
    Torino
    26
    42
    66
    15
    58
    Venezia
    57
    06
    68
    54
    84
    Nazionale
    21
    79
    49
    03
    01
    Estrazione Simbolotto
    Genova
    24
    02
    19
    03
    27

Ultimi Messaggi

Alto