Reeaver
Utente Attivo
- Messaggi
- 1,188
- Reazioni
- 134
Salve a tutti
Ho appena cominciato un corso di programmazione (Foundations of Programming - Simon Allardice - Lynda.com). Per spiegare i vari concetti viene usato come linguaggio Javascript. Variabili, stringhe, condizione sono spiegati molto bene (in inglese) e di facile comprendimento.
Per allenarmi un po' mi sono proposto di creare un programma che risolva un'equazione di secondo grado. Basta inserire i valori di A, B e C quando richiesti e vengono restituiti i valori di X1 e X2.
Questo è quello che ho scritto.
Ho notato prima di tutto che se vengono inseriti certi valori, mi viene restituito un errore NaN (e va bene se il numero che va sotto radice è negativo).
Inoltre, ho verificato i risultati e sono giusti. Probabilmente i risulatati di X1 e X2 sono invertiti (mi è successo durante alcune verifiche). Non so perchè certe volte funziona bene e altre no.
Ma la domanda è questa: voi cosa migliorereste ? Sintassi ? Logica ?
C'è da tener conto che fino ad ora ho un'infarinatura dei concetti if ed else.
Ho appena cominciato un corso di programmazione (Foundations of Programming - Simon Allardice - Lynda.com). Per spiegare i vari concetti viene usato come linguaggio Javascript. Variabili, stringhe, condizione sono spiegati molto bene (in inglese) e di facile comprendimento.
Per allenarmi un po' mi sono proposto di creare un programma che risolva un'equazione di secondo grado. Basta inserire i valori di A, B e C quando richiesti e vengono restituiti i valori di X1 e X2.
Questo è quello che ho scritto.
Codice:
// Equazioni di secondo grado - Codice
alert("Questo programma restituisce il risultato di un'incognita in un equazione di secondo grado");
alert("Inserire i dati quando richiesto");
// Formula = [-b +- (√ b*2 - 4ac)] / 2a
// Ax*2 + Bx + C = 0
var a = prompt("Inserisci il valore di a");
var b = prompt("Inserisci il valore di b");
var c = prompt("Inserisci il valore di c");
var d = b*b // Calcolo di B al quadrato
var e = 4*(a*c) // Calcolo di 4AC
var f = 2*a // Calcolo di 2A sotto radice
var g = (d-e) // Calcolo del risultato totale sotto radice
var j = Math.sqrt(g); // Calcolo radice quadrata
// Le lettere sono state "invertite". Non credo questo cambi il risultato.
var h = -b+j // Somma di -B e il valore della radice
var i = -b-j // Sottrazione di -B e il valore della radice
alert("Il valore di X1 e'...");
alert(i / f);
alert("Il valore di X2 e'...");
alert(h / f);
Ho notato prima di tutto che se vengono inseriti certi valori, mi viene restituito un errore NaN (e va bene se il numero che va sotto radice è negativo).
Inoltre, ho verificato i risultati e sono giusti. Probabilmente i risulatati di X1 e X2 sono invertiti (mi è successo durante alcune verifiche). Non so perchè certe volte funziona bene e altre no.
Ma la domanda è questa: voi cosa migliorereste ? Sintassi ? Logica ?
C'è da tener conto che fino ad ora ho un'infarinatura dei concetti if ed else.