già, vorrei fare un programma che mi risolva le equazioni di II grado, in modo da utilizzarlo per facilitarmi la vita.
Qualche consiglio?
già, vorrei fare un programma che mi risolva le equazioni di II grado, in modo da utilizzarlo per facilitarmi la vita.
Qualche consiglio?
La tua firma supera il limite massimo di altezza (158 pixel). Ti invitiamo a leggere il regolamento per non ripetere l'errore.
Studia! :P
A parte gli scherzi, seriamente, credo che fare un programma per risolvere le equazioni di secondo grado è sicuramente più lungo e laborioso ke imparare il metodo.
Se invece lo fai per imparare, credo che tu possa usare la famosa "formula risolutiva" mettendo nel programma tre campi di testo che raccolgano i parametri a, b e c.
Webmaster di Haetal, la città lontana
'Se puoi sognarlo, puoi farlo'
"Solo et pensoso i più deserti campi
vo mesurando a passi tardi et lenti,
et gli occhi porto per fuggire intenti
ove vestigio human l'arena stampi"
io ho provato a fare una cosa simile, ma non funziona come dovrebbe,dov'è l'errore?
Option Explicit
Sub EquazioniIIgrado_click()
Dim a As Single, b As Single, c As Single
Dim xuno As String, xdue As String, delta As String, segno As Integer
a = InputBox("inserisci a")
If a = 0 Then
MsgBox ("valore non numerico")
End If
If a < 0 Then
segno = 100
Else
b = InputBox("inserisci b")
c = InputBox("inserisci c")
End If
If segno = 100 Then
a = a * -1: b = b * -1: c = c * -1
Else
delta = b ^ 2 - 4 * a * c
End If
If delta < 0 Then
MsgBox ("l'equazione è impossibile")
Else
If delta = 0 Then
xuno = -b / (2 * a)
MsgBox ("l'equazione ha una sola soluzione x=" & xuno)
Else
xuno = (b + Sqr(delta) / (2 * a))
xdue = ((-b - Sqr(delta)) / (2 * a))
MsgBox ("l'equazione ha due soluzioni X1= " & xuno & "X2=" & xdue)
End If
End If
End Sub
La tua firma supera il limite massimo di altezza (158 pixel). Ti invitiamo a leggere il regolamento per non ripetere l'errore.
lo faccio per imparare ,ovvio.Nimrandir
La tua firma supera il limite massimo di altezza (158 pixel). Ti invitiamo a leggere il regolamento per non ripetere l'errore.
Ho corretto un po'..cmq non l'avrei creato proprio così...The Matrix
Ciao
Nicola
"La violenza è l'ultimo rifugio degli incapaci"
"Non lasciare mai che la morale ti impedisca di fare la cosa giusta"
"La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta."
"fare molte cose alla volta significa non farne bene nessuna"
bohDrizzt
La tua firma supera il limite massimo di altezza (158 pixel). Ti invitiamo a leggere il regolamento per non ripetere l'errore.
Dunque, vediamo...io te lo faccio in C++, poi eventualmente te lo converti in VB o quel che ti pare:
EDIT: mi ero dimenticato la radice nella formula finale Ora dovrebbe essere a posto(ricorda il math.h se usi C)Codice:#include <iostream.h> #include <math.h> void main() { int a,b,c; int delta,r1,r2; cout>>"Inserisci A: "; cin<<a; cout>>"Inserisci B: "; cin<<b; cout>>"Inserisci C: "; cin<<c; delta=b*b-4*(a*c); if (delta<0) { cout>>"L'Equazione è impossibile!"; } else if (delta==0) { r1=(-b+sqrt(delta))/2*a; cout>>"L'equazione ha una soluzione: ">>r1; } else { r1=(-b-sqrt(delta))/2*a; r2=(-b+sqrt(delta))/2*a; cout>>"L'equazione ha 2 soluzioni: ">>r1<<" e "<<r2; } getch(); return 0; }
Ultima modifica di Kyle Lionheart; 17-03-2005 alle 18:22:57
esiste un metodo anche per quelle? io le scomponevo fino a ottenere una equazione di secondo grado.Drizzt
P.S.
se delta è < 0, l'equazione è perfettamente risolvibile solo che le radici non sono numeri reali
infatti di solito si fa così, ma ci sono casi in cui non riesci a scomporle e allora devi usare le formule specifiche(si trovano qui)devilheart
Certo, ma bisogna sapere i numeri complessi...devilheart
che casino! cmq il fatto di ottenere soluzioni con quei metodi implica che il polinomio è scomponibileKyle Lionheart