Programma in Pascal ?

Messaggioda Vincenzo98 » 01/07/2015, 15:55

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.
Vincenzo98
New Member
New Member
 
Messaggio: 18 di 82
Iscritto il: 16/02/2014, 21:23

Re: Programma in Pascal ?

Messaggioda Cronovirus » 01/07/2015, 17:33

Mi sapresti dire cosa significa questo?
Codice:
a:= (*Inserisci valore variabile*);


Sopratutto fai readLn alla fine del programma.. che senso ha?
Cronovirus
Junior Member
Junior Member
 
Messaggio: 55 di 320
Iscritto il: 11/06/2015, 01:49

Re: Programma in Pascal ?

Messaggioda Zero87 » 01/07/2015, 20:56

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
Cronovirus ha scritto: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?
Ex studente Unicam :heart:
Avatar utente
Zero87
Cannot live without
Cannot live without
 
Messaggio: 4435 di 12931
Iscritto il: 12/01/2008, 23:05
Località: Marche

Re: Programma in Pascal ?

Messaggioda onlyReferee » 01/07/2015, 21:57

Zero87 ha scritto: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.
Testo nascosto, fai click qui per vederlo
Mamma mia che vecchi che stiamo diventando :!:

Hai fatto liceo scientifico ad indirizzo sperimentale :?: In tal caso penso tu sia la prima persona che io conosca ad aver frequentato tale scuola con questo indirizzo che ha fatto un minimo di programmazione.
Lo "uses crt" (con la "s" :P ) comunque serve a "dire" al programma che deve usare delle librerie per richiamare determinate funzioni. In questo caso "crt" è quella che raggruppa la maggior parte di funzioni per manipolare l'interfaccia di output standard (il video). Forse ricorderai come unitamente a questa istruzione poco dopo seguiva il comando "clrscr" per spazzar via tutto ciò che era stampato a schermo in quel momento.
Zero87 ha scritto:[...]
Comunque
Cronovirus ha scritto: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".
[...]

Ah che bello che era il "repeat-until" :!: Noi lo usavamo tanto quando c'era da scrivere programmi in cui era previsto un menu. E' andato scomparendo poi nei vari linguaggi di programmazione sostituito nella maggior parte dei casi dal "do-while" (che ricordiamolo funziona diversamente da "repeat-until" per via del test che viene effettuato sulla condizione).
Zero87 ha scritto:[...]
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 8-) :!:
Per aspera sic itur ad astra
onlyReferee
Advanced Member
Advanced Member
 
Messaggio: 858 di 2046
Iscritto il: 20/08/2013, 21:20
Località: Musile di Piave (VE)

Re: Programma in Pascal ?

Messaggioda axpgn » 01/07/2015, 22:07

A proposito di "anzianità" ... CRT = cathodic ray tube ... tu pensa che questi forse non ne hanno visto uno ... :D

Testo nascosto, perché contrassegnato dall'autore come fuori tema. Fai click in quest'area per vederlo.
Cmq, per quelli come me (voi, cioè zero e ref, siete ancora molto giovani ... :wink: ) 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 ...


Cordialmente, Alex
axpgn
Cannot live without
Cannot live without
 
Messaggio: 3740 di 40677
Iscritto il: 20/11/2013, 22:03

Re: Programma in Pascal ?

Messaggioda Cronovirus » 02/07/2015, 01:23

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 :) :-P
Cronovirus
Junior Member
Junior Member
 
Messaggio: 56 di 320
Iscritto il: 11/06/2015, 01:49

Re: Programma in Pascal ?

Messaggioda Vincenzo98 » 02/07/2015, 13:13

Zero87 ha scritto: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
Cronovirus ha scritto: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?


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));
Vincenzo98
New Member
New Member
 
Messaggio: 19 di 82
Iscritto il: 16/02/2014, 21:23


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite