View Full Version : [Turbo Pascal 7.0] Installazzione? E problema Sorgente
Salve a tutti,
a scuola noto[credo almeno] che il turbo pascal 7 sia installato oggi me lo sono scaricato ma non c'è nulla da installare O_o
e la finestra del tb7 è piccola e non posso ingrandirla..
ci sono varie versioni 7???
Usandolo lo stesso ho provato a fare il "programmino" che ci aveva fatto fare oggi il professore:
Program Perimetro_Area_Quadrato;
uses crt;
var lato:integer;
begin
clrscr;
writeln('Inserisci la lunghezza del lato in centimetri.');
readln(lato);
if lato<=0
then('Il perimetro del quadrato è ',lato*4,'cm. La sua area è ',lato*lato,'cm2')
else('Il numero è negativo. Non posso effettuare l'operazione.');
readln;
End.
ma adesso mi dice che c'è un errore su -->è ',la<-- dicendomi:
Error 89: ")" expected.
come risolvo?? A scuola funzionava! ):
Volutomitra
05-06-2009, 23:57
Prova a dare un'occhiata qui:
http://www.freepascal.org/
L'errore te lo da perché usi il carattere è, dovresti usare e', ad esempio:
writeln('Il valore è '); sbagliato
writeln('Il valore e'''); corretto
E una considerazione: ma perché insegnano ancora il pascal? lo studiavo io duemila anni fa... Che tristezza...
E un'altra cosa: attenzione a quell' if lato <= 0
niente :(
l'errore me lo dà proprio qui:
-->',<-- come se volesse chiudere li la parentesi :S
cdimauro
06-06-2009, 07:47
Program Perimetro_Area_Quadrato;
uses
crt;
var
lato:integer;
begin
clrscr;
writeln('Inserisci la lunghezza del lato in centimetri.');
readln(lato);
if lato > 0 then
writeln('Il perimetro del quadrato è ', lato * 4, 'cm. La sua area è ', lato * lato, 'cm^2')
else
writeln('Il numero è negativo o nullo. Non posso effettuare l'operazione.');
readln;
end.
E una considerazione: ma perché insegnano ancora il pascal? lo studiavo io duemila anni fa... Che tristezza...
Perché è di gran lunga più didattico di C et similia.
Mi continua a dare quell'errore!! :(
Program Perimetro_Area_Quadrato;
uses crt;
var lato:integer;
begin
clrscr;
writeln('Inserisci la lunghezza del lato in centimetri.');
readln(lato);
if lato<=0
then('Il perimetro del quadrato è ',lato*4,'cm. La sua area è ',lato*lato,'cm2')
else('Il numero è negativo. Non posso effettuare l'operazione.');
readln;
End.
ma adesso mi dice che c'è un errore su -->è ',la<-- dicendomi:
Error 89: ")" expected.
ciao, secondo me ci sono degli errori proprio nell'if/then. Lo cambierei così:
Program Perimetro_Area_Quadrato;
uses crt;
var lato:integer;
begin
clrscr;
writeln('Inserisci la lunghezza del lato in centimetri.');
readln(lato);
if lato>=0 then
writeln ('Il perimetro del quadrato è ',lato*4,'cm. La sua area è ',lato*lato,'cm2')
else writeln ('Il numero è negativo. Non posso effettuare l'operazione.');
readln;
End.
prova a farlo girare così e vedi se ti riporta ancora un errore.
p.s. al posto del carattere "è" ti conviene usare "e'" altrimenti cambiando pc rischi che ti sfarfalla tutta la tabella dei caratteri ASCII usando gli accentati.
Ah scusatemi... non avevo visto che già ti aveva scritto cdimauro... cmq ho ricorretto il tutto e fatto girare il programma su Delphi... quindi ora è corretto...
Program Perimetro_Area_Quadrato;
uses crt;
var lato:integer;
begin
clrscr;
write('Inserisci la lunghezza del lato in centimetri: ');
readln(lato);
if lato>=0 then
writeln ('Il perimetro del quadrato e'' ',lato*4,'cm. La sua area e'' ',lato*lato,'cm2')
else writeln ('Il numero e'' negativo. Non posso effettuare l''operazione.');
readln;
end.
p.s. il segno '' che trovi nel programma sono due asterischi... cioè sono due caratteri che trovi nel tasto del punto interrogativo e NON le virgolette che si fanno con shift + il tasto 2.
Grazie, ora funziona! (:
[forse perchè mi ero dimenticato di scrivere il writeln dopo then e dopo else :S]
Posso fare che quando dice Il perimentro è.. L'area è.. sotto appaia una seconda riga? senza premere invio?
se si come?
Grazie, ora funziona! (:
[forse perchè mi ero dimenticato di scrivere il writeln dopo then e dopo else :S]
Posso fare che quando dice Il perimentro è.. L'area è.. sotto appaia una seconda riga? senza premere invio?
se si come?
certo... basta che inserisci un secondo writeln con del testo dentro... ad esempio:
...
if lato>=0 then
begin
writeln ('Il perimetro del quadrato e'' ',lato*4,'cm. La sua area e'' ',lato*lato,'cm2');
writeln ('ciao!');
end
else writeln ('Il numero e'' negativo. Non posso effettuare l''operazione.');
come vedi bisogna fare delle piccole modifiche... inserendo un begin/end per contenere i due writeln e fare in modo di arrivare prima dell'else senza chiudere la precedente riga con ";"
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.