HACKING 120% {Hacking, programmazione, computer & molto altro}

[Pascal] Esercizio

« Older   Newer »
  Share  
_[D@n]_
view post Posted on 29/5/2012, 23:21     +1   -1




CITAZIONE
Fare un algoritmo che legge i 10 voti di uno studente, ne calcola la media e: se la media è >= a 6, stampi la scritta promosso, altrimenti se è >= a 5 stampa recupera debito, se il voto è < a 5 allora stampa la scritta non promosso.

Avrei un problema a risolvere il seguente problema con Pascal
CODICE
program ESERCIZIO;
uses: CRT;
var V,S,M, I: integer;
begin
clrscr;
S:=0;
for i:=1 to 10 do
begin
write('Scrivi il voto dello studente: ');
readln(V);
S:=S+V;
end;
M:=S/10;
if M>=6 then write('promosso')
else if M>=5 then write('recupera debito')
else if M<5 then write('non promosso');
readln;
end.

Ho eseguito l'esercizio nella seguente maniera, ma è sbagliato,sebbene io non riesca a capire dove. Mi da due errori.
 
Top
OP1337
view post Posted on 30/5/2012, 08:08     +1   -1




CITAZIONE (_[D@n]_ @ 30/5/2012, 00:21) 
Ho eseguito l'esercizio nella seguente maniera, ma è sbagliato,sebbene io non riesca a capire dove. Mi da due errori.

Non tocco Pascal da 11 anni, però questo non è un errore di sintassi?
CODICE
uses: CRT;

Inoltre questo controllo mi sembra inutile:
CODICE
else if M<5 then write('non promosso');

Un semplice else sarà sufficiente.

Edit: non usare un integer per la variabile con conterrà il risultato della divisione.

Edited by OP1337 - 30/5/2012, 09:44
 
Top
_[D@n]_
view post Posted on 30/5/2012, 13:12     +1   -1




Lo pensavo anche io, ma se tolgo i due punti dopo uses, mi da 3 errori anziché 2.
Poi si ho corretto, al posto di integer ho messo real e corretto questo:
CODICE
else if M<5 then write('non promosso');

con questo:
CODICE
else write ('non promosso');


Ma mi da ugualmente due errori di sintassi.
 
Top
OP1337
view post Posted on 30/5/2012, 14:28     +1   -1




CITAZIONE (_[D@n]_ @ 30/5/2012, 14:12) 
Lo pensavo anche io, ma se tolgo i due punti dopo uses, mi da 3 errori anziché 2.

lol? :asd:
Non è che al tuo compilatore manca la libreria CRT? :asd:
Comunque, se la memoria non m'inganna, i compilatori Pascal segnavano l'errore con una freccetta ( ^ ). Almeno, quel capolavoro della Borland lo faceva. E' facile individuarli.
 
Top
_[D@n]_
view post Posted on 30/5/2012, 14:53     +1   -1




L'avevo pensato anche io, ma Dev-Pascal ora mi segna un errore (Syntax Error: idetifier expected but : found).
 
Top
OP1337
view post Posted on 30/5/2012, 15:27     +1   -1




Guarda, ho scaricato Borland Turbo Pascal 7 e togliendo la libreria CRT e il clearscreen funziona perfettamente.
CODICE
program ESERCIZIO;
var V,S,i: integer;
var M: real;
begin
S:=0;
for i:=1 to 10 do
begin
write('Scrivi il voto dello studente: ');
readln(V);
S:=S+V;
end;
M:=S div 10;
if M>=6 then write('promosso')
else if M>=5 then write('recupera debito')
else write('non promosso');
readln;
end.
 
Top
_[D@n]_
view post Posted on 30/5/2012, 16:06     +1   -1




Ho scritto il tuo codice su Dev_Pascal, va perfettamente, anche con la libreria CRT e il clearscreen...
Penso sia stata colpa del
CODICE
M:=S div 10;

che avevo scritto
CODICE
M:=S/10


Ho notato che se cambio la variabile V da integer a real, mi segna errore la riga del S:=S+V e la riga dell'end.
Non riesco a capire per quale motivo...
 
Top
OP1337
view post Posted on 30/5/2012, 16:20     +1   -1




CITAZIONE (_[D@n]_ @ 30/5/2012, 17:06) 
Ho notato che se cambio la variabile V da integer a real, mi segna errore la riga del S:=S+V e la riga dell'end.
Non riesco a capire per quale motivo...

Eccoti la versione con le variabili real:
CODICE
program ESERCIZIO;
var i: integer;
var M,S,V: real;
begin
S:=0;
for i:=1 to 10 do
begin
write('Scrivi il voto dello studente: ');
readln(V);
S:=S+V;
end;
M:=S/10.000;
if M>=6 then write('promosso')
else if M>=5 then write('recupera debito')
else write('non promosso');
readln;
end.
 
Top
PaperonePazzo
view post Posted on 30/5/2012, 16:22     +1   -1




Iniziate dal C...
 
Top
_[D@n]_
view post Posted on 30/5/2012, 16:32     +1   -1




Ok, ma dicono che sia difficile per iniziare. So solo bene l'html e il css io per ora.
 
Top
PaperonePazzo
view post Posted on 30/5/2012, 16:36     +1   -1




CITAZIONE (_[D@n]_ @ 30/5/2012, 17:32) 
Ok, ma dicono che sia difficile per iniziare. So solo bene l'html e il css io per ora.

Ci sprechi un po più di tempo però almeno ti imparerai un linguaggio che userai ;)
 
Top
OP1337
view post Posted on 30/5/2012, 16:36     +1   -1




CITAZIONE (_[D@n]_ @ 30/5/2012, 17:32) 
Ok, ma dicono che sia difficile per iniziare. So solo bene l'html e il css io per ora.

Il C è potentissimo e fantastico. Ma aspetta: passerai al C quando ti sentirai pronto per farlo. Non ora.
Il Pascal per iniziare va benissimo, è estremamente simile ad un pseucodice di base quindi ti aiuta a mettere le giuste basi per ragionare. Continua pure su questa strada.
 
Top
PaperonePazzo
view post Posted on 30/5/2012, 16:37     +1   -1




CITAZIONE (OP1337 @ 30/5/2012, 17:36) 
CITAZIONE (_[D@n]_ @ 30/5/2012, 17:32) 
Ok, ma dicono che sia difficile per iniziare. So solo bene l'html e il css io per ora.

Il C è potentissimo e fantastico. Ma aspetta: passerai al C quando ti sentirai pronto per farlo. Non ora.
Il Pascal per iniziare va benissimo, è estremamente simile ad un pseucodice di base quindi ti aiuta a mettere le giuste basi per ragionare. Continua pure su questa strada.

Però il pascal è come il latino...
 
Top
OP1337
view post Posted on 30/5/2012, 16:39     +1   -1




...ed il latino da un grandissimo aiuto a tutte le persone che vogliono approfondire le conoscenze della lingua italiana.
Non lo userai mai più nella vita, però da un qualcosa in più che in futuro si farà sentire.
 
Top
PaperonePazzo
view post Posted on 30/5/2012, 16:44     +1   -1




CITAZIONE (OP1337 @ 30/5/2012, 17:39) 
...ed il latino da un grandissimo aiuto a tutte le persone che vogliono approfondire le conoscenze della lingua italiana.
Non lo userai mai più nella vita, però da un qualcosa in più che in futuro si farà sentire.

Appunto, la lingua italiana la si può comprendere anche senza studiare il latino (ovviamente, per chi non ha capito, sto facendo un paragone)
 
Top
17 replies since 29/5/2012, 23:21   189 views
  Share