Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

prova

Program pag104_30(output);
(* const *)
var 
	n: 				longint;		(* Input:  lunghezza della sequenza di numeri reali *)
	v: 				real;			(* Input:  valori della sequenza in ingresso, uno per volta! *)
	scartoMax:		real;			(* Output: massimo scostamento dei valori rispetto alla media aritmetica *) 
	scartoValMax:	real;			(* Work:   scostamento del massimo dei valori rispetto alla media aritmetica *) 
	scartoValMin:	real;			(* Work:   scostamento del minimo dei valori rispetto alla media aritmetica *) 
	sommaV: 		real;			(* Work:   totalizzatore dei valori *) 
	contaV: 		longint;		(* Work:   contatore per la sequenza di valori in ingresso *)
	mediaV: 		real;			(* Work:   media aritmetica dei valori della sequenza in ingresso *)
	maxV:			real;			(* Work:   massimo dei valori già presi in esame*)
	minV:			real;			(* Work:   minimo dei valori già presi in esame*)
	diff:			real;			(* Work:   differenza tra la media e uno dei valori *)
	
begin
  (* Input:  lunghezza della sequenza di numeri reali *)
  writeln('lunghezza della sequenza di numeri reali?');
  readln (n);
  
  (* inizializzazione delle variabili per la somma e il conteggio *)
  sommaV := 0;	
  contaV := 0;

  (* inizializzazione delle variabili per la ricerca del massimo e del minimo col 1° valore della sequenza *)
  writeln('prossimo valore della sequenza in ingresso?');
  readln (v);
  sommaV := sommaV + v;	
  contaV := contaV + 1;
  maxV	 := v;
  minV	 := v;
  
  (* richiesta ed elaborazione degli altri valori della sequenza *)
  while (contaV < n) do
	begin
	  writeln('prossimo valore della sequenza in ingresso?');
	  readln (v);
	  sommaV := sommaV + v;	
	  contaV := contaV + 1;
	  if maxV < v 	(* se il valore corrente è > di tutti precedenti... *)
		then begin 
				maxV := v;	(* si aggiorna il massimo attuale *)
			 end
		else
			if minV > v 	(* se il valore corrente è < di tutti precedenti... *)
				then begin 
						minV := v;	(* si aggiorna il minimo attuale *)
					 end;
		(* end if *)
	end;	(* while *)

  (* media aritmetica dei valori della sequenza in ingresso *)
  mediaV:= sommaV / n;
  
  (* scostamento del massimo dei valori rispetto alla media aritmetica, cioè la differenza in valore assoluto *)
  diff := maxV - mediaV;
  if diff < 0 
    then begin
			scartoValMax := - diff;
		 end
	else begin
			scartoValMax :=  diff;
		 end;
  (* end if *)
	
  (* scostamento del minimo dei valori rispetto alla media aritmetica, cioè la differenza in valore assoluto *)
  diff := minV - mediaV;
  if diff < 0 
    then begin
			scartoValMin := - diff;
		 end
	else begin
			scartoValMin :=  diff;
		 end;
  (* end if *)

  (* Output: massimo scostamento dei valori rispetto alla media aritmetica *)
  if scartoValMax < scartoValMin 
    then begin
			scartoMax := scartoValMin
		 end
	else begin
			scartoMax :=  scartoValMax;
		 end;
  (* end if *)

  (* Output: massimo scostamento dei valori rispetto alla media aritmetica *)
  writeln (' scostamento massimo: ' , scartoMax:5:2);

  writeln (' programma terminato: premere invio per uscire');
  readln;

end.

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.