Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-06-2005, 22:32   #1
Carmen
Senior Member
 
Iscritto dal: Jul 2001
Messaggi: 367
Determinare valori Min, Max e medio

Ciao;

E possibile determinare avendo tre variabili quale di essi abbia il valore Min, Max e medio.

Es.

Var1= 0,88
Var2= 0,89
Var3= 0,96


Ciao
Carmen è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2005, 23:05   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
scusa, eh:

Codice:
double Min, Max, Med;
if (Val1 < Val2) {
    Min = Val1;
    if (Val2 < Val3) {
        Med = Val2;
        Max = Val3;
    }
}
else if (Val2 < Val3) {
    Min = Val2;
    if (Val1 < Val3) {
        Med = Val1;
        Max = Val3;
    }
}
else {
    Min = Val3;
    if (Val1 < Val2) {
        Med = Val1;
        Max = Val2;
    }
}
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2005, 23:07   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
no, un momento, c'è un errore
aspetta che lo rivedo... ^^'
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2005, 23:10   #4
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
Quote:
Originariamente inviato da Carmen
Ciao;

E possibile determinare avendo tre variabili quale di essi abbia il valore Min, Max e medio.

Es.

Var1= 0,88
Var2= 0,89
Var3= 0,96


Ciao
ciao.
scusami conosci gli array cosa sono??
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2005, 23:13   #5
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
eccolo:

Codice:
double Min, Max, Med;
if (Val1 < Val2) {
	if (Val1 < Val3) {
		Min = Val1;
		if (Val2 < Val3) {
			Med = Val2;
			Max = Val3;
		}
		else {
			Med = Val3;
			Max = Val2;
		}
	}
	else {
		Min = Val3;
		Med = Val1;
		Max = Val2;
	}
}
else {
	if (Val2 < Val3) {
		Min = Val2;
		if (Val1 < Val3) {
			Med = Val1;
			Max = Val3;
		}
		else {
			Med = Val3;
			Max = Val1;
		}
	}
	else {
		Min = Val3;
		Med = Val2;
		Max = Val1;
	}
}
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2005, 23:21   #6
Carmen
Senior Member
 
Iscritto dal: Jul 2001
Messaggi: 367
Ciao;

Forse o dimenticato di mensionare il linguaggio che utilizzo che è il VB6.

Le parentesi graffe mi fanno pensare che il codice che mi ai postato possa essere se non erro o per java, c


Te ne sarei grata se potresti postarmelo per VB6


Ciao e Grazie

Ultima modifica di Carmen : 02-06-2005 alle 00:06.
Carmen è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2005, 09:41   #7
Massi91
Registered User
 
Iscritto dal: Apr 2005
Messaggi: 56
Codice:
Public Sub Calcola()
' Questa parte del codice serve solo per renderlo più personalizzabile e adatto a ogni caso, niente di più
    Dim Num_Val As Long
    Num_Val = 3
' Dichiarazione delle variabili e ridimensionamento dell'array (var)
    Dim Var() As Double
    ReDim Var(Num_Val - 1)
    Dim Max, Min, Med As Double
' A Min assegnamo un valore molto grande, o poi non verrà eseguito correttamente il codice
' è importante sapere che min dovrebbe essere più grande del numero massimo,
' ma questo comporta un'altro ciclo for
' quindi presuppondendo che il numero massimo non dovrebbe essere più di 999.999,
' assegnamo a min 999.999
    Min = 999999
' Assegnazione
For h = 0 To Num_Val - 1
    Var(h) = InputBox("Valore " & h)
Next h
For i = 0 To Num_Val - 1
' se il valore massimo è minore di Var(i), allora assegna il valore massimo come var(i)
    If Max < Var(i) Then
        Max = Var(i)
    End If
'se il valore minimo è maggiore di Var(i), allora assegna il valore minimo come var(i)
    If Min > Var(i) Then
        Min = Var(i)
    End If
' Addiziona tutto, per formare la media, in seguito
    Med = Med + Var(i)
Next i
' Forma la media, quindi divide tutto per il numero del valori inseriti
    Med = Med / Num_Val + 1
' Stampa a video il valore massimo, minimo e medio
MsgBox Min
MsgBox Max
MsgBox Med
End Sub

Ultima modifica di Massi91 : 02-06-2005 alle 09:59.
Massi91 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2005, 14:30   #8
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da ghiotto86
ciao.
scusami conosci gli array cosa sono??
ma lei magari non ha un array, ha i 3 valori distinti; si fa prima a scrivere qualche if come ho fatto io che a mettere i valori nell'array e ordinarlo.
cmq Carmen, il tuo problema non è difficile, basta solo ragionarci un attimino. portare in VB6 il codice C che ho scritto è semplicissimo, si fa anche ad intuito; basta sapere che se in Cscrivi:
Codice:
if (...) {
.
.
.
}
else {
.
.
.
}
è come scrivere:
Codice:
If ... Then
.
.
.
Else
.
.
.
End If
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2005, 15:11   #9
Carmen
Senior Member
 
Iscritto dal: Jul 2001
Messaggi: 367
Cia a tutti;

La cosa purtroppo a me sembra complessa più che mai.

Il codice postato da "Massi91" potrebbe andare bene, dico potrebbe perche non funziona in tutti i casi che si possono verificare.

All'ora io o tre query le quali tutte e tre possono ritornare dati, oppure non possono ritornare nessuno dei tre, oppure ancora solo una.

Faccio un esempio pratico:

La prima query non contiene dati, la seconda nemmeno e la terza si, Minimo come valore mi ritorna 0 quando invece ci deve essere un valore.

Se invece la prima query e la terza query ritornano un risultato che mi dovrebbe tornare il valore minimo risulta vuoto.

Se invece la prima e la terza query contengono dati funziona.

Posto il codice:

' Questa parte del codice serve solo per renderlo più personalizzabile e adatto a ogni caso, niente di più
Dim Num_Val As Long
Num_Val = 10
' Dichiarazione delle variabili e ridimensionamento dell'array (var)
Dim Var() As Double
ReDim Var(Num_Val - 1)
Dim Max, Min, Med As Double
' A Min assegnamo un valore molto grande, o poi non verrà eseguito correttamente il codice
' è importante sapere che min dovrebbe essere più grande del numero massimo,
' ma questo comporta un'altro ciclo for
' quindi presuppondendo che il numero massimo non dovrebbe essere più di 999.999,
' assegnamo a min 999.999
Min = 999999

'prima query
Data2.RecordSource = "SELECT Min(campo) As PrMin, Max(campo) As PrMax, Avg(campo) As PrMed FROM Tabella1"
Data2.Refresh
If IsNull(Data2.Recordset("PrMin")) = False Then

'gestione prezzi min,max e med fatture
Var(1) = Data2.Recordset("PrMin")
Var(2) = Data2.Recordset("PrMax")
Var(3) = Data2.Recordset("PrMed")
End If

'seconda query
Data3.RecordSource = "SELECT Min(campo) As PrMin, Max(campo) As PrMax, Avg(campo) As PrMed FROM Tabella2"
Data3.Refresh
If IsNull(Data3.Recordset("PrMin")) = False Then

'gestione prezzi min,max e med bolle
Var(4) = Data3.Recordset("PrMin")
Var(5) = Data3.Recordset("PrMax")
Var(6) = Data3.Recordset("PrMed")
End If

'terza query
Data4.RecordSource = "SELECT Min(campo) As PrMin, Max(campo) As PrMax, Avg(campo) As PrMed FROM Tabella3"
Data4.Refresh
If IsNull(Data4.Recordset("PrMin")) = False Then

'gestione prezzi min,max e med vendita al dettaglio
Var(7) = Data4.Recordset("PrMin")
Var(8) = Data4.Recordset("PrMax")
Var(9) = Data4.Recordset("PrMed")
End If


For I = 0 To Num_Val - 1
' se il valore massimo è minore di Var(i), allora assegna il valore massimo come var(i)
If Max < Var(I) Then
Max = Var(I)
End If
'se il valore minimo è maggiore di Var(i), allora assegna il valore minimo come var(i)
If Min > Var(I) Then
Min = Var(I)
End If
' Addiziona tutto, per formare la media, in seguito
Med = Med + Var(I)
Next I
' Forma la media, quindi divide tutto per il numero del valori inseriti
Med = Med / Num_Val + 1
' Stampa a video il valore massimo, minimo e medio
MsgBox Min
MsgBox Max
MsgBox Med


Ciao
Carmen è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2005, 17:32   #10
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ma scusa, sbaglio o alla fine hai usato un array?
ordinalo, no? puoi usare l'insertion sort o il quick sort.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2005, 18:11   #11
Carmen
Senior Member
 
Iscritto dal: Jul 2001
Messaggi: 367
OK! vi proverò sperando di riuscirci....

Ciao
Carmen è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2005, 00:40   #12
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
ciao, io non uso il C perchè potrei scrivere male la sintassi...però questa è la prima cosa che mi è venuta in mente, a funzionare funziona, forse non è il massimo dell'ottimizzazione

Le tue variabili sono Var1, Var2 e Var3 e da quelle abbiamo ricavato il Minimo, Medio e Massimo...
Codice:
Min=Var1

if Var2 < Min then
	Max = Min
	Min = Var2
else
	Max = Var2
end if

if Var3 < Max then
	if Var3 > Min then
		Med = Var3
	else
		Med = Min
		Min = Var3
	end if
else
	Med = Max
	Max = Var3
end if
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2005, 14:23   #13
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Per determinare minimo, massimo, e medio di tre valori, basta usare un algoritmo di ordinamento semplice (anche insertion sort va bene), che, essendo tu una programmatrice, saprai sicuramente implementare in VB6.

Il problema vero, se ho capito bene, è che i tre valori sono ottenuti mediante interrogazioni a un database, che possono anche non dare risposta.
Allora bisogna anzitutto capire come si fa ad accorgersi che una risposta è stata data. Questo dipende dal database: cerca sul manuale.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2005, 12:17   #14
Carmen
Senior Member
 
Iscritto dal: Jul 2001
Messaggi: 367
Grazie 1000 a tutti.


Ciao!!!!!!!!!!
Carmen è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Fortnite, un nuovo listino per i pacchet...
Ecco i nuovi Sonos Play ed Era 100 SL: d...
Razer svela il futuro del gaming potenzi...
Tre robot Narwal in offerta: pulizia aut...
Gracenote denuncia OpenAI: ChatGPT addes...
Microsoft AI Tour Milano: dall'efficienz...
Asus ExpertBook Ultra: Intel Core Ultra ...
Intel presenta i processori desktop Core...
Un'AI ha trovato una falla critica in Wi...
OPPO Find N6 rivoluziona i foldable: add...
Enel, completata l'installazione di tutt...
Tutti abbandonano il Blu-ray ma Panasoni...
CL1: le prime installazioni di data cent...
Yoshi and the Mysterious Book: annunciat...
CATL frena sulle batterie a stato solido...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:57.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v