DarkFelix (Normal User)
Newbie
Messaggi: 14
Iscritto: 18/10/2010
|
Questo topic è stato chiuso dal moderatore Il codice seguente mi da un errore durante la compilazione, un Fatal Error al rigo di "ELSE", dicendo che ci dovrebbe essere un ; mentre c'è ELSE.
Codice sorgente - presumibilmente Delphi |
program Radice; var x:real; rad:real; begin; write('Scrivi il numero di cui vuoi calcolare la radice quadrata'); readln(x); rad:=sqrt(x); if (rad>0) or (rad=0) then write('La radice quadrata di ,x, è uguale a ,rad,'); else write('Il numero deve essere maggiore o uguale a 0') end.
|
Se ci sono altri errori commentate
|
|
falaskhouse (Normal User)
Newbie
Messaggi: 14
Iscritto: 18/05/2010
|
Postato originariamente da DarkFelix:
Codice sorgente - presumibilmente Delphi |
program Radice; var x:real; rad:real; begin; write('Scrivi il numero di cui vuoi calcolare la radice quadrata'); readln(x); rad:=sqrt(x); if (rad>0) or (rad=0) then write('La radice quadrata di ,x, è uguale a ,rad,'); else write('Il numero deve essere maggiore o uguale a 0') end.
|
|
prima dell'else non ci va il punto e virgola e poi nel write dopo l'else ci va il punto e virgola e poi secondo me non ha molto senso la condizione
if (rad>0) or (rad=0) then
dovevi metterla perla variabile x... perché se no quando immetti il numero ti da subito l'errore se negativo... Ultima modifica effettuata da falaskhouse il 23/11/2010 alle 20:58 |
|
XBarboX (Member)
Guru
Messaggi: 945
Iscritto: 31/12/2008
|
Questo è il mio codice, ci ho messo un bel po' di cose:
Codice sorgente - presumibilmente Delphi |
program Radice; uses crt, dos; var x: real; rad: real; begin; write('Scrivi il numero di cui vuoi calcolare la radice quadrata '); readln(x); if x>=0 then begin rad:=sqrt(x); write('La radice quadrata di ',x:10:4,' è uguale a ',rad:10:4); end else write('Il numero deve essere maggiore o uguale a 0'); repeat until keypressed; end.
|
Allora ecco più o meno gli errori che hai fatto:
1)prima di un else il ; non ci va mai
2)Non si scrive "write('La radice quadrata di ,x, è uguale a ,rad,');" ma write('La radice quadrata di ',x, 'è uguale a ',rad);
(biosgna primere chiuedere le virgolette e poi mettere una virgola per concatenare una variabile)
3)hai fatto la radice quadrato prima del controllo di x>=0
4)Ho aggiunto un repeat until keypressed al fondo per evitare la chiusura immediata del programma
Se hai dei dubbi chiedi
|
|
Giarados (Ex-Member)
Pro
Messaggi: 69
Iscritto: 25/07/2010
|
La nona riga di codice non deve finire con un ; e la variabile di cui si vuole stampare a video il valore deve stare fuori dalla stringa di testo che la precede.
Cambia come segue e ricompila:
Codice sorgente - presumibilmente Plain Text |
write('La radice quadrata di ,x, è uguale a ',rad)
|
|
|
bruno.demarini (Normal User)
Pro
Messaggi: 84
Iscritto: 22/03/2010
|
Ciao, concordo con quanto ha detto falaskhouse (tranne per quanto riguarda il ; prima dell'end finale... non è necessario).
Inoltre, direi che il rigo
Codice sorgente - presumibilmente Plain Text |
write('La radice quadrata di ,x, è uguale a ,rad,');
|
dovrebbe essere così:
Codice sorgente - presumibilmente Plain Text |
write('La radice quadrata di ',x,' è uguale a ',rad);
|
se non sbaglio.
ciao
P.S: Un altro consiglio, fai un po' di indentazione, il codice ti risulterà più chiaro Ultima modifica effettuata da bruno.demarini il 23/11/2010 alle 21:03 |
|
DarkFelix (Normal User)
Newbie
Messaggi: 14
Iscritto: 18/10/2010
|
Grazie a tutti.
Nella guida non mi pareva di aver letto la cosa del ; che non va prima dell'else.
Mentre l'errore nel rigo dopo lo sapevo già, ma ho dimenticato di correggerlo.
Infine, avete ragione tutti.
Grazie di tutto
|
|
bruno.demarini (Normal User)
Pro
Messaggi: 84
Iscritto: 22/03/2010
|
Postato originariamente da DarkFelix:
Grazie a tutti.
Nella guida non mi pareva di aver letto la cosa del ; che non va prima dell'else.
Mentre l'errore nel rigo dopo lo sapevo già, ma ho dimenticato di correggerlo.
Infine, avete ragione tutti.
Grazie di tutto |
|
|
DarkFelix (Normal User)
Newbie
Messaggi: 14
Iscritto: 18/10/2010
|
Scusate, un'ultima cosa
Barbo, mi spiegheresti quei x:10:4 e rad:10:4?
|
|
DarkFelix (Normal User)
Newbie
Messaggi: 14
Iscritto: 18/10/2010
|
Nono, l'ho capito. Grazie a tutti
|
|