Visual Basic
Qualcuno di voi sa aiutarmi nella codifica in visual basic di un problema che risolve un'equazione di secondo grado?!!

Risposte
Prima di tutto dovresti creare 5 textbox, uno per il coefficiente di x², uno per il coefficiente di x, uno per il termine noto e gli ultimi due per i risultati.
poi dovrai fare anche un command button.
qui di seguito riporto il testo:
Private Sub CommandButton1_Click(Index As Integer)
Dim a, b, c, x1, x2, delta
a = Text1.Text
b = Text2.Text
c = Text3.Text
delta = (b * b) - 4 * (a * c)
x1=(-1*(b)-sqr(del))/2*a
x2=(-1*(b)+sqr(del))/2*a
text4.text="X1= " & x1
text5.text="X2= " & x2
end sub
Non dovrei aver dimenticato niente...
Questo è il programma nella forma più semplice, poi puoi aggiungere quello che voui per "abbellire" il tuo programma.
Io ne ho uno di questo tipo, però un po più complesso e più gradevole alla vista, ma non so come fartelo vedere. Se vuoi ti mando una mail con il mio file o con il programma d'istallazione.
poi dovrai fare anche un command button.
qui di seguito riporto il testo:
Private Sub CommandButton1_Click(Index As Integer)
Dim a, b, c, x1, x2, delta
a = Text1.Text
b = Text2.Text
c = Text3.Text
delta = (b * b) - 4 * (a * c)
x1=(-1*(b)-sqr(del))/2*a
x2=(-1*(b)+sqr(del))/2*a
text4.text="X1= " & x1
text5.text="X2= " & x2
end sub
Non dovrei aver dimenticato niente...
Questo è il programma nella forma più semplice, poi puoi aggiungere quello che voui per "abbellire" il tuo programma.

Io ne ho uno di questo tipo, però un po più complesso e più gradevole alla vista, ma non so come fartelo vedere. Se vuoi ti mando una mail con il mio file o con il programma d'istallazione.
Potresti inserire anche una struttera select case in modo che il programma ti dica anche quando l'equazione ha due soluzione reali e coincidenti o non ha soluzioni reali...
Io ho semplificato al massimo il programma come avevo già detto, però si protrebbero aggiunngere moltissime altre cose.
@stellacometa2003
Una volta ritrovato il mio programma te lo invierò.
Ciao.
@stellacometa2003
Una volta ritrovato il mio programma te lo invierò.
Ciao.
Ok...grazie Antonio!! E poi un'altra cosa...se nel form1 volessi solo inserire i coeff e tramite un bottone trovare le soluzioni e poi attraverso un'altro bottone collegarmi ad un secondo form in cui, appena aperto, vengano visualizzati il valore del delta e della radice, che devo fare,anzi, scrivere???
Da quello che ho capito tu vuoi che nel primo form si inseriscano i dati e venga visualizzato il risultato e in un secondo form vengano visualizzati i passaggi.
Beh nel mio programma c'è una cosa simile ma è tutto concentrato in un solo form.
Cmq rispondendo alla tua richiesta ho scritto qui di seguito il codice:
If del > 0 Then
delta.Text = " Risoluzione: delta = b² - 4ac = " & b^2 & " - 4* (" & a & " * " & c & ")" & " = " & del
discussione.Text = " Delta maggiore di zero: Soluzioni reali e disinte"
valore_di_x.Text = " X= ( " & -1 * b & " ± " & Sqr(del) & " ) / " & 2 * a
End If
If del = 0 Then
delta.Text = " Risoluzione: delta = b² - 4ac = " & b^2 & " - 4* (" & a & " * " & c & ")" & " = " & del
discussione.Text = " Delta uguale a zero: Soluzioni reali e coincidenti"
valore_di_x.Text = " X= ( " & -1 * b & " ± " & Sqr(del) & " ) / " & 2 * a
End If
If del < 0 Then
delta.Text = " Risoluzione: delta = b² - 4ac = " & b^2 & " - 4* (" & a & " * " & c & ")" & " = " & del
discussione.Text = " Delta minore di zero: Soluzioni complesse coniugate"
valore_di_x.Text = "Non ci sono soluzioni reali"
End If
Mi sembra di aver fatto tutto bene...
Ovviamente devi prima creare un altro form e poi 3 textbox, rispetivamente con i nomi delta, discussione e valore_di_x.
Al posto di a, b, c andranno messi i nomi dei textbox del form1, quelli con i coefficienti e con il termine noto. La variabile del sarà il delta.
Il codice che ho scritto sopra andra al caricamento del form2, con l'istruzione:
Private Sub Form2_Load()
[Istruzioni...]
End Sub
Per finire dovrai fare un collegamento tra il primo e il secondo form, appunto, tramite il secondo commandbutton con l'istruzione:
Private Sub CommandButton2_Click()
Form2.Show
End Sub
Spero che sia stato chiaro, in caso contrario esponimi i tuoi dubbi.
Ciao!
Beh nel mio programma c'è una cosa simile ma è tutto concentrato in un solo form.
Cmq rispondendo alla tua richiesta ho scritto qui di seguito il codice:
If del > 0 Then
delta.Text = " Risoluzione: delta = b² - 4ac = " & b^2 & " - 4* (" & a & " * " & c & ")" & " = " & del
discussione.Text = " Delta maggiore di zero: Soluzioni reali e disinte"
valore_di_x.Text = " X= ( " & -1 * b & " ± " & Sqr(del) & " ) / " & 2 * a
End If
If del = 0 Then
delta.Text = " Risoluzione: delta = b² - 4ac = " & b^2 & " - 4* (" & a & " * " & c & ")" & " = " & del
discussione.Text = " Delta uguale a zero: Soluzioni reali e coincidenti"
valore_di_x.Text = " X= ( " & -1 * b & " ± " & Sqr(del) & " ) / " & 2 * a
End If
If del < 0 Then
delta.Text = " Risoluzione: delta = b² - 4ac = " & b^2 & " - 4* (" & a & " * " & c & ")" & " = " & del
discussione.Text = " Delta minore di zero: Soluzioni complesse coniugate"
valore_di_x.Text = "Non ci sono soluzioni reali"
End If
Mi sembra di aver fatto tutto bene...
Ovviamente devi prima creare un altro form e poi 3 textbox, rispetivamente con i nomi delta, discussione e valore_di_x.
Al posto di a, b, c andranno messi i nomi dei textbox del form1, quelli con i coefficienti e con il termine noto. La variabile del sarà il delta.
Il codice che ho scritto sopra andra al caricamento del form2, con l'istruzione:
Private Sub Form2_Load()
[Istruzioni...]
End Sub
Per finire dovrai fare un collegamento tra il primo e il secondo form, appunto, tramite il secondo commandbutton con l'istruzione:
Private Sub CommandButton2_Click()
Form2.Show
End Sub
Spero che sia stato chiaro, in caso contrario esponimi i tuoi dubbi.

Ciao!

Siccome non riesco a trovare il programma delle equazioni, ne ho fatto uno nuovo molto simile.
Però non conosco il tuo indirizzo e-mail e con questo sito mi pare che non si possano allegare i file quando si vuole mandarla.
Se in qualche modo me lo fai avere ti invierò il mio programma.
Ciao!
Però non conosco il tuo indirizzo e-mail e con questo sito mi pare che non si possano allegare i file quando si vuole mandarla.
Se in qualche modo me lo fai avere ti invierò il mio programma.
Ciao!
Antonio mi sa che tu volevi utilizzare mathplayer sopra vero?Le formule vanno scritte tra i simboli dollaro $...Cmq...il dubbio che avevo io è il fare apparire subito, al momento dell'apertura del secondo form i valori delta i radice in due text box.Cmq, il mio indirizzo email é stellacometa2003@yahoo.it
Ciao e grazie del tuo prezioso aiuto!
Ciao e grazie del tuo prezioso aiuto!
Wowwwww appena ho scritto il simbolo del dollaro è comparso un macello;in quel macello c'è scritto "cmq..il dubbio che avevo io è il far apparire al momento dell'apertura del secondo form i valori delta e radice in due text box.." poi la mia email.

Non ho capito bene cosa intendi???
Io non volevo usare affatto il mathplayer, il codice che ho scritto è interamente in visual basic. Il simbolo & si usa per unire, lo so che può sembrare confusionario a prima vista ma ti assicuro che a vedersi è molto bello. E cmq in alternativa di & puoi usare +.

Io non volevo usare affatto il mathplayer, il codice che ho scritto è interamente in visual basic. Il simbolo & si usa per unire, lo so che può sembrare confusionario a prima vista ma ti assicuro che a vedersi è molto bello. E cmq in alternativa di & puoi usare +.
Ho avuto un problema nell'inviarti l'e-mail e siccome ora non ho più tempo riproverò domani.
Rispondendo al tuo dubbio...
La cosa è seplicissima, puoi sia mettere il codice che ti ho dettato nel sub form_load(), oppure metterlo nel commandbutton2 e quando ti riferisci ad oggetti dell'altro form devi scrivere prima di essi Form2.[oggetto] (ad esempio Form2.TextBox1.Text).
Ciao.
Rispondendo al tuo dubbio...
La cosa è seplicissima, puoi sia mettere il codice che ti ho dettato nel sub form_load(), oppure metterlo nel commandbutton2 e quando ti riferisci ad oggetti dell'altro form devi scrivere prima di essi Form2.[oggetto] (ad esempio Form2.TextBox1.Text).
Ciao.
Quindi ad esempio appena inserisco il comando Form2.show, posso subito scrivere sotto:Form2.[oggetto] e far fare un qualcosa che desidero, giusto?
Si se queste istruzioni le inserisci nel CommandButton2, perchè per riferirti ad oggetti che sono presenti in un altro form devi mettere prima di essi il form di appartenenza.
A proposito hai sistemato il programma? Funziona adesso?
A proposito hai sistemato il programma? Funziona adesso?
Ho provato a fare come dici tu...mi viene tutto bene tranne il fatto che non riesco a fare apparire, al momento dell'apertura del secondo form, immediatamente i valori delta e radice...
Io ho fatto cosi:
Private Sub Command3_Click()
Form2.Show
Form2.[text1.Text1= radice]
End Sub
però non mi viene...'radice' sta a indicare la variabile che contiene il calcolo del radicale.
Io ho fatto cosi:
Private Sub Command3_Click()
Form2.Show
Form2.[text1.Text1= radice]
End Sub
però non mi viene...'radice' sta a indicare la variabile che contiene il calcolo del radicale.
La variabile "radice " deve essere indicata come "static" in Form1 in questo modo:
Private Sub Form_Load()
Static radice As Integer ' ( o altro tipo)
End Sub
E dopo puoi scrivere:"Form2.Text1.Text= radice
Tieni anche presente che in quest'ultimo caso Text1 deve essere un TextBox piazzato
in Form2 e non lo stesso messo in Form1.
Archimede.
Private Sub Form_Load()
Static radice As Integer ' ( o altro tipo)
End Sub
E dopo puoi scrivere:"Form2.Text1.Text= radice
Tieni anche presente che in quest'ultimo caso Text1 deve essere un TextBox piazzato
in Form2 e non lo stesso messo in Form1.
Archimede.
Abbiamo fatto un passo avanti: ora mi apre il secondo form ma non visualizza i valori. Ricopio qui il programma cosi vedi se c'è qualche errore!!
Private Sub Form_Load()
Static radice As Integer
End Sub
Private Sub Command1_Click()
delta = (Text2.Text) ^ 2 - 4 * (Text1.Text) * (Text3.Text)
radice = Sqr(delta)
Text4.Text = (-Text2.Text - radice) / 2 * Text1.Text
Text5.Text = (-Text2.Text + radice) / 2 * Text1.Text
End Sub
Private Sub Command3_Click()
Form2.Show
Form2.Text1b.Text = radice
End Sub
Private Sub Form_Load()
Static radice As Integer
End Sub
Private Sub Command1_Click()
delta = (Text2.Text) ^ 2 - 4 * (Text1.Text) * (Text3.Text)
radice = Sqr(delta)
Text4.Text = (-Text2.Text - radice) / 2 * Text1.Text
Text5.Text = (-Text2.Text + radice) / 2 * Text1.Text
End Sub
Private Sub Command3_Click()
Form2.Show
Form2.Text1b.Text = radice
End Sub
La variabile "radice" deve essere di tipo "double" perche' e' la radice di un reale.
Vedo anche una "b" di troppo in "Form2.Text1b.Text " ma forse si tratta di un
semplice errore di battitura.
Sia pure in altri termini,ho provato il programma usando la variabile "static"
in form2 e mi risulta.
Archimede.
Vedo anche una "b" di troppo in "Form2.Text1b.Text " ma forse si tratta di un
semplice errore di battitura.
Sia pure in altri termini,ho provato il programma usando la variabile "static"
in form2 e mi risulta.
Archimede.
Io non capisco dove sta il problema ?!?

Non so perchè ma anche a me dava lo stesso problema di stellacometa2003.
Così ho cercato una scappatoia e ora mi funziona. Prova così:
Private Sub Command3_Click()
Form2.Show
Form2.Text1.Text = Sqr((Text2.Text) ^ 2 - 4 * (Text1.Text) * (Text3.Text))
End Sub
@ stellacometa2003
Tanto per curiosità, quale versione del Visual Basic hai?
Così ho cercato una scappatoia e ora mi funziona. Prova così:
Private Sub Command3_Click()
Form2.Show
Form2.Text1.Text = Sqr((Text2.Text) ^ 2 - 4 * (Text1.Text) * (Text3.Text))
End Sub
@ stellacometa2003
Tanto per curiosità, quale versione del Visual Basic hai?
ho VB6!!! Ora provo un po qualche alternativa e vi faccio sapere!!!
Anch'io ho VB6, però edizione professional.
Hai già provato nel modo che ti ho suggerito? A me così funziona.
Hai già provato nel modo che ti ho suggerito? A me così funziona.