Novità

e' talmente facile

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

genios

Advanced Member >PLATINUM<
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
    giovedì 27 febbraio 2025
    Bari
    79
    62
    45
    19
    31
    Cagliari
    03
    56
    76
    58
    79
    Firenze
    89
    21
    35
    46
    65
    Genova
    78
    05
    47
    18
    20
    Milano
    31
    46
    04
    40
    33
    Napoli
    53
    78
    04
    36
    90
    Palermo
    38
    30
    84
    41
    22
    Roma
    01
    20
    53
    50
    44
    Torino
    15
    61
    82
    49
    03
    Venezia
    49
    28
    16
    86
    43
    Nazionale
    50
    45
    46
    68
    13
    Estrazione Simbolotto
    Cagliari
    20
    02
    10
    07
    22

Ultimi Messaggi

Indietro
Alto