mirco95 (Normal User)
Newbie
Messaggi: 13
Iscritto: 27/01/2012
|
Ciao a tutti allora rispiego il mio problema :
io voglio creare un calcolatore in Pascal, che permettera in primo punto di sommare due numeri.Quindi (a+b che dara c) . Se questa ''c'' e superiore a 45, il numero creato dalla somma di (a+b) dovra essere moltiplicato per 6(c*6). Iniziando il lavoro ho trovato problemi proprio su questa moltiplicazione. Fin quando inserisco i due valori per fare la somma tutto va alla perfezzione, ma non appena voglio creare la stringa per la moltiplicazione mi da un errore di compilazione :
Codice sorgente - presumibilmente Pascal |
Free Pascal Compiler version 1.0.6 [2002/04/23] for i386 Copyright (c) 1993-2002 by Florian Klaempfl Target OS: Win32 for i386 Compiling c:\docume~1\mirco\desktop\untitl~1.pas untitl~1.pas(25,3) Fatal: Syntax error, ; expected but identifier WRITELN found
|
ecco a voi il mio orrore:
Codice sorgente - presumibilmente Delphi |
(* Name:Calcolatore Author:Mirco_Rizzo Description:Calcolatrice Date:27/01/2012 19.37 *) Program Calcolatore; Uses Crt; Var a,b,c,d:Integer; e:String; Begin ClrScr; WriteLn('Benvenuto, inserire primo valore'); ReadLn(a); WriteLn('inerisci secondo valore'); ReadLn(b); C:=a+b; if c>=45 then ReadLn(e) WriteLn('La somma totale fra i due valori e di, ',c); d:=c+e write(e) else WriteLn('Essendo un valore maggiore di 45 il numero e stato moltiplicato per 6', d) ; Readkey; End.
|
Lascio a voi aiutarmi ! Grazie in anticipo |
|
()
Newbie
Messaggi:
Iscritto:
|
Congratulazioni! Hai commesso il più stupido degli arrori: omettere il ; dopo ReadLn! Inoltre il compilatore te lo aveva anche detto in modo chiaro! Rimango perplesso......
|
|
mirco95 (Normal User)
Newbie
Messaggi: 13
Iscritto: 27/01/2012
|
Di qualè ReadLn parli? Ho provato a toglierlo sul ReadLn(b) e adesso da questo errore di compilazione:
Codice sorgente - presumibilmente Pascal |
Free Pascal Compiler version 1.0.6 [2002/04/23] for i386 Copyright (c) 1993-2002 by Florian Klaempfl Target OS: Win32 for i386 Compiling c:\docume~1\mirco\desktop\untitl~1.pas untitl~1.pas(23,3) Fatal: Syntax error, ; expected but identifier C found
|
|
|
()
Newbie
Messaggi:
Iscritto:
|
Ma uffa! te lo avevo detto nell' altro post, togli quel C (su C:a+b; e metti c:=a+b) poichè come sospettavo il compilatore non è case sensitive e quindi C e c sono due cose ben distinte, inoltre parlo del ReadLn dopo il then, ritocca così il tuo programma:
Codice sorgente - presumibilmente Delphi |
Program Calcolatore; Uses Crt; Var a,b,c,d:Integer; e:String; Begin ClrScr; WriteLn('Benvenuto, inserire primo valore'); ReadLn(a); WriteLn('inerisci secondo valore'); ReadLn(b); c:=a+b; if c>=45 then ReadLn(e); WriteLn('La somma totale fra i due valori e di, ',c); d:=c+e write(e) else WriteLn('Essendo un valore maggiore di 45 il numero e stato moltiplicato per 6', d) ; Readkey; end; End.
|
Avevi anche dimenticato un end; per favore prima di postare controlla approfonditamente ciò che hai scritto e tieni conto di queste cose:
- Se il compilatore avverte "Syntax Error, ; excepted" allora hai dimenticato un ; e molto probabilmente il compilatore ti avvertirà pure della riga
- I compilatori sono molto spesso case-sensitive, di conseguinza C è diverso da c
- Quando cominci un if ..... then ..... else ..... devi concludere la condizione con end; Ecco tutto
|
|
()
Newbie
Messaggi:
Iscritto:
|
Hai dimenticato il ; anche nelle righe 26 e 27.........
|
|
Poggi Marco (Member)
Guru
Messaggi: 969
Iscritto: 05/01/2010
|
Postato originariamente da TheDarkJuster:
Hai dimenticato il ; anche nelle righe 26 e 27......... |
Nella riga 26 c' è l' end finale, quindi ci va il punto. Mentre nella 27...
|
|
mirco95 (Normal User)
Newbie
Messaggi: 13
Iscritto: 27/01/2012
|
grazie a tutti. Un ultima cosa come posso dare un numero a una variabile? cioe se voglio che a abbiamo come valore 24 cosa devo scrivere?
|
|
Poggi Marco (Member)
Guru
Messaggi: 969
Iscritto: 05/01/2010
|
Per valorizzare una variabile, si usa l' operatore di assegnamento < := >.
In questo modo:
Codice sorgente - presumibilmente Plain Text |
Ovviamente a deve essere dichiarata da un tipo compatibile con i numeri.
Ultima modifica effettuata da Poggi Marco il 27/01/2012 alle 23:26 |
|
mirco95 (Normal User)
Newbie
Messaggi: 13
Iscritto: 27/01/2012
|
a:=2;
questo va su var o sotto begin?
Grazie mille. Ho soltanto iniziato 2 giorni fa a studiare questo splendido linguaggio
|
|