Oppure

Loading
28/02/07 14:14
I'mmoralizzato
ciao a tutti sono nuovo :)
ho un problema con turbo pascal... sto realizzando un piccolo programmino e sto facendo uso di un for perchè con questo programma devo:
_inserire da tastiera un numero di valori che dovrò inseire,
_inserire n (appena deciso) valori da tastiera,
_fare la media dei valori inseriti e restituirla in output... avevo pensato di realizzarlo con un for e con un array mettendo:
for n:=1 to x do begin
writeln('Inserisci il valore');
readln(risultato[n]);
{risultato è un array definito inizialmente con risultato:array[1..999] of real}
end;

a questo punto mi è sorto un errore di compilazione in readln(risultato[n]); che mi chiede di inserire una partentesi chiusa dove sta la parentesi chiusa (in pratica c'è ma è come se lui non la sentisse).
poi avevo un altro dubbio cioè sul come fare per sommare tutti i n risultati ottenuti... cioè in pratica a me verrebbero tante variabili così: risultato[1], risultato[2], ecc ma come faccio per fargli fare la somma tra tutti i risultato[n]??
in pratica: come mi consigliate di fare questo programma?
aaa
28/02/07 14:37
nikipe_silver
prova

program media;
var
numeri:array[1..999]of real;
media,tot:real;
n,i:integer;
begin
 tot:=0;
 readln(n);
 for i:=1 to n do
 begin
  readln(numeri[i]);
  tot:=tot+numeri[i]; 
 end;
 media:=tot/n;
 writeln(media);
end;



addiritura l'array non servirebbe nemmeno...
Ultima modifica effettuata da nikipe_silver 28/02/07 14:37
aaa
28/02/07 14:42
I'mmoralizzato
grazie mille!! potresti dirmi per favore anche la soluzione senza array ??? grazie ancora!
aaa
28/02/07 14:55
AliasFrugghi
program media;
var
media,tot:real;
n,i:integer;
begin
tot:=0;
readln(n);
for i:=1 to n do
begin
readln(media);
tot:=tot+media;
end;
media:=media/n;
writeln(media);
readln
end. 


:k::k:

Cmq di consiglio DevPascal, secondo me è meglio di Turbo
Ultima modifica effettuata da AliasFrugghi 28/02/07 14:57
aaa
28/02/07 15:01
I'mmoralizzato
grazie mille per il sorgente e per il consiglio.. purtroppo la mia scelta è obbligata perchè a scuola uso turbo pascal e quindi preferisco anche a casa fare pratica con quello... grazie ancora!
Ultima modifica effettuata da I'mmoralizzato 28/02/07 15:06
aaa
28/02/07 15:03
AliasFrugghi
Postato originariamente da I'mmoralizzato:

grazie mille per il sorgente e per il consiglio.. purtroppo la mia scelta è obbligata perchè a scuola uso turbo pascal e quindi preferisco anche a casa fare pratica con quello... grazie ancora!


Di niente...io a scuola uso DevPascal..:rotfl:
aaa
28/02/07 15:07
I'mmoralizzato
purtroppo ho provato ed il tuo sorgente non funziona perchè lui non prende in considerazione tutti i valori assegnati ma solamente l'ultimo valore...
aaa
28/02/07 15:14
AliasFrugghi
scusami ho dimenticato di sostituire i nomi di alcune varibili...

dopo il ciclo metti questo pezzo :k:
tot:=tot/n;
writeln(tot);
readln
end. 
aaa