Novità

e' talmente facile

  • Creatore Discussione Creatore Discussione genios
  • Data di inizio Data di inizio

genios

Advanced Member >PLATINUM PLUS<
E' talmente facile che non ci riesco .

Dati due numeri A e B in Ingresso stabilire quale dei due sia il maggiore. Nel caso in cui i due numeri siano uguali comunicarlo con un apposito messaggio (vedere Figura 2). Variabili in Ingresso: variabili A e B. Variabili in Uscita: messaggio che può o indicare il numero maggiore, il numero minore, o se sono uguali.

Lo script fatto non funziona

Codice:
Option Explicit
Sub Main
Dim a,b 
    a=InputBox ("Inserisci un numero" )
    b=InputBox ("Inserisci un numero" )

    If a > b Then 

       If a < b Then
      Scrivi b &" è maggiore di "& a  
        Else 
    Scrivi a &" è uguale a "& b
      End If 

Scrivi a &" è maggiore di "& b

End If 

End Sub

Disegno11.jpg
 
io quando ho difficolta provo a scrivere in pseudo codice e mi aiuta




se a<di b poi
scrivi a < b
altrimenti se a=b poi
scrivi a=b
altrimenti se a>b poi
scrivi a>b
fine se
 
Grazie Ilegend come tu hai citato probabilmente funzionerà ma come hai potuto vedere dal diagramma di flusso la prima istruzione é un If then end if e poi ce l' istruzione if then else end if .

In pseudocodice :

VERIFICA dell'algoritmo descritto in Figura al variare dei valori delle variabili in Ingresso:
ˆ Caso 1:
1. Siano A = 2 e B = 5.
2. L'esito della prima condizione (A > B) e falsa, di conseguenza si esegue la seconda
condizione.
3. L'esito della seconda condizione (A < B) e vera, quindi in Uscita si avra il messaggio
A minore di B';
4. L'algoritmo termina.
ˆ Caso 2:
1. Siano A = 5 e B = 2.
2. L'esito della prima condizione (A > B) e vera, di conseguenza in Uscita si avra il
messaggio A maggiore di B';
3. L'algoritmo termina.
ˆ Caso 3:
1. Siano A = 5 e B = 5.
2. L'esito della prima condizione ( A>B ) e falsa, di conseguenza si esegue la seconda
condizione.

3. L'esito della seconda condizione (A < B) e falsa, quindi in Uscita si avra il messaggio
'A uguale a B';
4. L'algoritmo termina.

Ciao Eugenio

Disegno11.jpg
 
Codice:
 Option Explicit
Sub Main
	Dim A,B
	A = NumeroCasuale(1,3)
	B = NumeroCasuale(1,3)
	Scrivi "A = " & A,True
	Scrivi "B = " & B,True
	Scrivi
	If A <> B Then
		If A > B Then
			Scrivi "A è Maggiore di B"
		Else
			Scrivi "B è Maggiore di A"
		End If
	Else
		Scrivi "A è uquale B"
	End If
End Sub

Tempo di realizzazione 1 minuto :)


Postarlo ri-accerervi rieditarlo ... NO COMMENT!
 
Ciao Joe grazie, funziona ma usi due istruzioni if then else end if . Come puoi vedere dal diagramma di flusso occorre usare un istruzione if then end if e un istruzione if then else end if
 
Codice:
 Option Explicit
Sub Main
	Dim A,B
	A = NumeroCasuale(1,3)
	B = NumeroCasuale(1,3)
	Scrivi "A = " & A,True
	Scrivi "B = " & B,True
	Scrivi
	If A > B Then
		Scrivi "A è Maggiore di B"
	Else
		If A < B Then
			Scrivi "A è minore di B"
		Else
			Scrivi "A è uguale a B"
		End If
	End If
End Sub

:)
 
Ciao Eugenio.

Parte dello script era andata persa,

inoltre non era possibile rieditarla.

Ora l'ho corretto

ma rimane anche questa una delle tante possibili soluzioni,

e non è detto che sia perfettamente corrispondente al diagramma proposto.

:)
 
Joe ieri sera ci ho riflettuto a lungo ed avevi ragione tu utilizzando nello script 2 istruzioni condizionali it then else end if . Difatti il diagramma di flusso è giusto .


diagramma di flusso script numero maggiore numero minore.jpg
dato che il blocco del secondo if then else end if puo' essere esplicitato con il seguente diagramma di flusso :
 
diagramma di flusso 2.jpg



Quindi anche il primo blocco è un if then else end if .

[CODE
If A > B Then
Scrivi "A è Maggiore di B"
Else
If A < B Then
Scrivi "A è minore di B"
Else
Scrivi "A è uguale a B"
End If
End If
[/CODE]

Ciao Eugenio
 
Ciao Eugenio.

Provo a scrivere una cosa ... di cui non so.

If è binario cioè restituisce True / False.

Uno dei due stati (normalmente False) può trasformarsi in Else

ed ancora avere al suo interno un altro If .... Ecc Ecc

Quindi come è per il primo ... oguno degli if successivi

ha "2 stati" di cui uno eventualmente impegnato,

per la "concatenazione successiva".

Dunque ... per avere 3 risultati (Maggiore,Minore,Uguale) occorrono 2 IF.

Essendo gli Enne risultati calcolabili da If, uguali a 2+ (N-1) * If

Se è sbagliato ... mi correggerete.

:)
 
Ultima modifica:
Come faccio dopo aver trovato la condizione che in quell' estrazione stampata in out le due cinquine hanno dato l' ambo a sapere dopo quante estrazioni una delle due ha dato di nuovo un ambo ? Un po' contorto ma spero di essermi spiegato .
Codice:
Sub Main()

Dim n1(5),n2(5),ru1(1),ru2(1),posta(2)
posta(2) = 1


n1(1) = 1 : n1(2) = 10 : n1(3) = 11 : n1(4) = 19 : n1(5) = 2

n2(1) = 3 : n2(2) = 30 : n2(3) = 33 : n2(4) = 39 : n2(5) = 6


fin = EstrazioneFin
ini = 3575
For es = ini To fin
AvanzamentoElab ini,fin,es

For r1 = 1 To 10
For r2 = r1 To 10
ru1(1) = r1 : ru2(1) = r2
If SerieFreq(es,es,n1,ru1,2) > 0 And SerieFreq(es,es,n2,ru2,2) > 0 Then


Scrivi es&"  "&DataEstrazione(es) &"  "& StringaEstratti (es,r1)&"    "& r1 &"    "& StringaEstratti (es,r2)&"    "&r2
End If

Next
Next
Next

End Sub
 
Ultima modifica:
Ciao Eugenio
Se ho capito bene a te serve sapere l intervallo tra una sortita e la successiva della tua formazione..
stasera se non lo fa nessun altro prima ti posto il codice è semplice.ora sono senza PC.
quando faccio uno script per avere tutto sotto controllo uso option espliCit e dichiarò tutte le variabili che utilizzo.
noto che nel tuo esempio fai un ciclo for in più.
A dopo.
 
Ciao eugenio per trovare i ritardi tra una sortita e la successiva io faccio cosi ma potrebbe non essere quello che tu richiedi
lo script che segue restituisce i ritardi tra una sortita e la successiva e la data di estrazione vedi se è quello che cercavi.
altrimenti non saprei come aiutarti
Codice:
forse ho capito cosa volevi ci provo
 
Ultima modifica:
Interessante il tuo script ma non è quello che cercavo esempio dell' out del mio script :
3717 28.03.1942 42.11.48.19.50 2 32.39.56.78.06 5
Nell' estrazione 3717 del 28.03.1942 sulla ruota di CA esce l' ambo 11 19 che appartiene ai cinque numeri 1 2 10 11 19 e nella stessa estrazione sulla ruota di MI esce l' ambo 39 06 che appartiene ai cinque numeri 3 6 30 33 39 . Ora quello che vorrei sapere dopo quante estrazioni almeno una delle due cinquine ha dato l' ambo nelle loro ruote di appartenenza ?

Utilizzando l' out del tuo script :

CA 01.10.11.19.02 Rit: 18 28.03.1942 42.11.48.19.50
CA 01.10.11.19.02 Rit: 61 21.08.1943 10.63.46.02.20

MI 03.30.33.39.06 Rit: 9 28.03.1942 32.39.56.78.06
MI 03.30.33.39.06 Rit: 20 22.08.1942 33.06.09.35.10


possiamo notare che i cinque numeri 01.10.11.19.02 sulla ruota di CA hanno dato di nuovo l' ambo dopo 61 estrazioni mentre sulla ruota di MI i numeri 03.30.33.39.06 hanno dato l' ambo dopo 20 estrazioni quindi almeno una delle due cinquine ha dato di nuovo l' ambo nelle ruote di appartenenza dopo 20 estrazioni .
 
Ultima modifica:
Ciao Eugenio
mi spiace che non era quello che ti serviva. Posso provare a fare qualcosa di più specifico, ma non ti assicuro nulla . Questa settimana è piena di impegni.
ciao a tutti
 
Ciao Eugenio stamattina presto ho fatto lo script al volo pertanto non so se sia corretto.
ti posto i risultati
estrazione iniziale n: 3950
estrazione finale : ultima
formazione 1 presente solo su una ruota
formazione 2 presente solo su una ruota
verifica colpi 25
casi validi 185
casi positivi intorno ai 130 se non ricordo male.
Stasera posto il codice così lo si può verificare .
magari ho sbagliato qualcosa.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 22 novembre 2025
    Bari
    82
    08
    24
    45
    37
    Cagliari
    07
    16
    67
    74
    35
    Firenze
    76
    32
    44
    06
    51
    Genova
    22
    77
    19
    27
    89
    Milano
    46
    81
    56
    29
    85
    Napoli
    68
    90
    80
    06
    47
    Palermo
    31
    07
    43
    83
    19
    Roma
    08
    68
    17
    12
    57
    Torino
    87
    17
    61
    60
    58
    Venezia
    27
    05
    17
    72
    50
    Nazionale
    70
    76
    56
    81
    15
    Estrazione Simbolotto
    Torino
    26
    34
    10
    42
    33

Ultimi Messaggi

Indietro
Alto