Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - risoluzione di semplici sistemi di disequazioni in una incognita(vb.net)?
Forum - C# / VB.NET - risoluzione di semplici sistemi di disequazioni in una incognita(vb.net)?

Avatar
Jacob241 (Normal User)
Rookie


Messaggi: 32
Iscritto: 06/06/2011

Segnala al moderatore
Postato alle 19:34
Lunedì, 06/06/2011
Salve a tutti ,sono nuovo del forum e vorrei porvi il mio problema.
Ho un aserie di disequazioni di primo grado ad una incognita,per esempio:
{x<0
{x>-3
{-1<x<1
Ora io vorrei che vb trovasse la soluzione(-1<x<0).Spero in un vostro aiuto avendo inparato il linguaggio grazie proprio alle vostre guide!


Il mondo è fatto da due fondamentali tipologie di persone :Una prima risolve i problemi ,la seconda invece ne crea.Ecco io appartengo alla terza.
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 14:16
Martedì, 07/06/2011
Una soluzione in stile più object-oriented. Crei una struttura per rappresentare un intervallo (un dominio compatto di R) e definisci su questa un'operazione (ossia un operatore in codice) che dati due intervalli ne restituisca l'intersezione.
Risolvere un sistema di disequazioni equivale a trovare l'intersezione di tutti gli intervalli. Se questa intersezione è vuota, il sistema non ammette soluzioni.

Codice sorgente - presumibilmente VB.NET

  1. Structure Interval
  2.     '...
  3.  
  4.     Public Shared Property Empty() As Interval
  5.  
  6.     Public Shared Operator And(ByVal a As Interval, ByVal b As Interval) As Interval
  7.         '...
  8.     End Operator
  9. End Structure


Una sola domanda:come definire un nintervallo in vb.net - Jacob241 - 07/06/11 21:26


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 23:13
Lunedì, 06/06/2011
io ho pensato inizialmente a 2 possibili soluzioni, ma uno lo scartata mentre provavo a scrivertela per risposta...
cosi ti illustro la seconda:
-trova e separa tutti i numeri (0;-3;-1;1)
-trova e separa i simboli (per 0 è <; per -3 è >;per -1 e 1 è "compreso")
-adesso assegni a una variabile x il valore minimo (-3)
-con un ciclo controlli se TUTTE e 3 le condizioni sono verificate CONTEMPORANEAMENTE se è cosi salvi il valore di x e in ogni caso incrementi x di 1 e alla prossima iterazione ricontrollerai.
-quando x vale quanto il valore massimo trovato (1) avrai sicuramente 2 due numeri:
*il valore minimo per la quale valgono le 3 condizioni
*il valore massimo per la quale valogono le medesime condizioni
-mostri il risultato nella forma:
{Nmin_Trovato}<X<{Nmax_Trovato}

Cosi non sarai in grado di trovare tutte le possibili soluzioni di disequazioni, ma spero di averti almeno illuminato un pochino...:idea:

Ultima modifica effettuata da walker93 il 06/06/2011 alle 23:14
Interessante risposta ,GRAZIE. - Jacob241 - 07/06/11 11:41
Ma comunque funziona con soluzioni comprese , ci lavorerò... Comunque se ce qualche modo in cuì posso essere utile al forum non esitate a chiedermelo! - Jacob241 - 07/06/11 11:43


Il software è come il sesso, è meglio quando è libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM