Programma in Pascal ?
Devo scrivere un programma in Pascal in cui quest'ultimo mi deve scrivere la retta in forma esplicita ed implicita, dati i valori a, b, c.
Me lo potete correggere poichè il compilatore mi fa l'errore ?
Program Retta;
var
a:integer;
b:integer;
c:integer;
begin
a:= (*Inserisci valore variabile*);
b:= (*Inserisci valore variabile*);
c:= (*Inserisci valore variabile*);
writeLn(a,'x +',b,'y +',c,'= 0');
writeLn;
writeLn('y =',-(a/b),'x',-(c/b));
readLn;
end.
Me lo potete correggere poichè il compilatore mi fa l'errore ?
Program Retta;
var
a:integer;
b:integer;
c:integer;
begin
a:= (*Inserisci valore variabile*);
b:= (*Inserisci valore variabile*);
c:= (*Inserisci valore variabile*);
writeLn(a,'x +',b,'y +',c,'= 0');
writeLn;
writeLn('y =',-(a/b),'x',-(c/b));
readLn;
end.
Risposte
Mi sapresti dire cosa significa questo?
Sopratutto fai readLn alla fine del programma.. che senso ha?
a:= (*Inserisci valore variabile*);
Sopratutto fai readLn alla fine del programma.. che senso ha?
Alla metà dei miei anni attuali facevo programmi in pascal. Non vedo "use crt" (o "uses crt" non ricordo) che ci facevano mettere sotto al nome del programma come fosse un dogma.
Non ho mai capito a cosa servisse.
Comunque
Per dar modo di far leggere il risultato all'utente poiché altrimenti il programma darebbe il risultato e una frazione di secondo dopo finirebbe, chiudendosi. Quello vuol dire, in pratica, di dire all'utente di premere invio per chiudere il programma.
Alla mia epoca ci facevano inserire un "repeat until keypressed".
Comunque per me l'errore è dove te l'ha segnalato Cronovirus. Per esempio, io farei
writeln('Dammi il coefficiente a');
readln(a);
writeln('Dammi il coefficiente b');
readln(b);
ecc...
A distanza di minimo 12 anni... me lo ricordo ancora il caro Pascal?
Non ho mai capito a cosa servisse.
Comunque
"Cronovirus":
Sopratutto fai readLn alla fine del programma.. che senso ha?
Per dar modo di far leggere il risultato all'utente poiché altrimenti il programma darebbe il risultato e una frazione di secondo dopo finirebbe, chiudendosi. Quello vuol dire, in pratica, di dire all'utente di premere invio per chiudere il programma.
Alla mia epoca ci facevano inserire un "repeat until keypressed".
Comunque per me l'errore è dove te l'ha segnalato Cronovirus. Per esempio, io farei
writeln('Dammi il coefficiente a');
readln(a);
writeln('Dammi il coefficiente b');
readln(b);
ecc...
A distanza di minimo 12 anni... me lo ricordo ancora il caro Pascal?
"Zero87":
Alla metà dei miei anni attuali facevo programmi in pascal. Non vedo "use crt" (o "uses crt" non ricordo) che ci facevano mettere sotto al nome del programma come fosse un dogma.
Non ho mai capito a cosa servisse.
[...]
Alla metà dei miei attuali anni ero nella stessa tua situazione (essendo coetanei) per via dei programmi in Pascal.
Hai fatto liceo scientifico ad indirizzo sperimentale

Lo "uses crt" (con la "s"

"Zero87":
[...]
Comunque
[quote="Cronovirus"]Sopratutto fai readLn alla fine del programma.. che senso ha?
Per dar modo di far leggere il risultato all'utente poiché altrimenti il programma darebbe il risultato e una frazione di secondo dopo finirebbe, chiudendosi. Quello vuol dire, in pratica, di dire all'utente di premere invio per chiudere il programma.
Alla mia epoca ci facevano inserire un "repeat until keypressed".
[...]
[/quote]
Ah che bello che era il "repeat-until"

"Zero87":
[...]
Comunque per me l'errore è dove te l'ha segnalato Cronovirus. Per esempio, io farei
writeln('Dammi il coefficiente a');
readln(a);
writeln('Dammi il coefficiente b');
readln(b);
ecc...
A distanza di minimo 12 anni... me lo ricordo ancora il caro Pascal?
Quoto, c'è anche secondo me un errore nella lettura dei valori in quanto bisogna utilizzare il comando "readln" per leggere. Scritto nella versione attuale postata da Vincenzo98 non potrà mai compilare infatti.
Per il resto, riguardo alla tua ultima frase: il primo linguaggio di programmazione che si impara è un po' come il primo amore: non si scorda mai


A proposito di "anzianità" ... CRT = cathodic ray tube ... tu pensa che questi forse non ne hanno visto uno ...
[ot]Cmq, per quelli come me (voi, cioè zero e ref, siete ancora molto giovani ...
) la cosa che più ci colpisce (se appena appena ci fermiamo un attimo a rifletterci) è il fatto che non avete idea di cosa sia stato il muro di Berlino (inteso non come simbolo fine a se stesso ma come rappresentante di TUTTA un'epoca ...): ve lo garantisco, non potete capire ...[/ot]
Cordialmente, Alex

[ot]Cmq, per quelli come me (voi, cioè zero e ref, siete ancora molto giovani ...

Cordialmente, Alex
A dire la verità io non ho mai scritto niente in pascal ma leggendo il programma ho visto quella riga e mi sono detto: UAO, metto due parentesi e faccio read e write contemporaneamente tipo java, senza pero specificare alcunché. Ancora più compatto di python. Ovviamente poi sono andato a vedere e non era cosi


"Zero87":
Alla metà dei miei anni attuali facevo programmi in pascal. Non vedo "use crt" (o "uses crt" non ricordo) che ci facevano mettere sotto al nome del programma come fosse un dogma.
Non ho mai capito a cosa servisse.
Comunque
[quote="Cronovirus"]Sopratutto fai readLn alla fine del programma.. che senso ha?
Per dar modo di far leggere il risultato all'utente poiché altrimenti il programma darebbe il risultato e una frazione di secondo dopo finirebbe, chiudendosi. Quello vuol dire, in pratica, di dire all'utente di premere invio per chiudere il programma.
Alla mia epoca ci facevano inserire un "repeat until keypressed".
Comunque per me l'errore è dove te l'ha segnalato Cronovirus. Per esempio, io farei
writeln('Dammi il coefficiente a');
readln(a);
writeln('Dammi il coefficiente b');
readln(b);
ecc...
A distanza di minimo 12 anni... me lo ricordo ancora il caro Pascal?[/quote]
Program Retta;
var
a:integer;
b:integer;
c:integer;
begin
writeln('Inserisci il coefficiente a');
readln(a);
writeln('Inserisci il coefficiente b');
readln(b);
writeln('Inserisci il coefficiente c');
readln(c);
writeLn(a,'x +',b,'y +',c,'= 0');
writeLn;
writeLn('y =',-(a/b),'x',-(c/b));
readLn;
end.
Ho corretto quella parte ma il compilatore mi dice che c'è un'altro errore qui :
writeLn(a,'x +',b,'y +',c,'= 0');
writeLn;
writeLn('y =',-(a/b),'x',-(c/b));