C++: soluzione sui cicli, seconda versione

Roberto Bergonzo, Società Pres – L’asseedio, olio su tela cm.230×90

Questa versione, in un unico ciclo si immettono i valori e si calcola la media ed il valore massimo

  • si notino i commenti per spiegare ogni fase del programma
  • si utilizzi il corretto incolonnamento per meglio evidenziare i vari cicli.
  • Ho utilizzato due cicli for ma  si potevano ovviamente calcolare anche dei cicli while.

/*
author: francesco bragadin
data: 26/11/2017
oggetto: calcolo della superficie di un tavolo senza
l'uso di un vettore immettendo dieci valori
delle rispettive misure calcolando l'errore
*/

#include<iostream>

using namespace std;
int main(){

double a,b;
double Amax,Amin,Amedia,Aerr;
double Bmax,Bmin,Bmedia,Berr;
double area;
double areaerr;
int k;
Amax=-1000;
Amin=1000;
Bmax=-1000;
Bmin=1000;

/* si chiede a chi usa il programma quanti sono i valori da immettere */

cout<<"quanti valori si immettono?"<<"\n";
cin>>k;

/* ciclo per la prima dimensione per immettere i valori e per caloclare la medeia e il valore massimo */

for (int i=0;i<k;i++){
cout<<"immetere il valore: ";
cin>>a;
Amedia=Amedia+a;
if (a>Amax)
Amax=a;
if (a<Amin)
Amin=a;
}

/* Calcolo della media e errore sulla misura */

Amedia=Amedia/k;
Aerr=(Amax-Amin)/2;

/* questa parte anche se non obbligtoria funziona per verificare la correttezza degli algoritmi usati */

cout<<"la media risulta: "<<Amedia<<endl;
cout<<"il minimo risulta: "<<Amin<<endl;
cout<<"il massimo risulta:"<<Amax<<endl;
cout<<"Errore risulta "<<Aerr<<endl;

/* ciclo per la seconda dimensione per immettere i valori e per calcolare la medeia e il valore massimo */

for (int i=0;i<k;i++){
cout<<"immetere il valore: ";
cin>>b;
Bmedia=Bmedia+b;
if (b>Bmax)
Bmax=b;
if (b<Bmin)
Bmin=b;
}

/* Calcolo media ed errore sulla misura */

Bmedia=Bmedia/k;
Berr=(Bmax-Bmin)/2;

/* questa parte anche se non obbligtoria funziona per verificare la correttezza degli algoritmi usati */

cout<<"la media risulta: "<<Bmedia<<endl;
cout<<"il minimo risulta: "<<Bmin<<endl;
cout<<"il massimo risulta:"<<Bmax<<endl;
cout<<"Errore risulta "<<Berr<<endl;

/* calcolo della superficie */

areaerr=Amedia*Aerr+Bmedia*Berr;
area=Amedia*Bmedia;

cout<<"area: "<<area<<" +/- "<<areaerr;

}

Informazioni su Francesco Bragadin

Insegno informatica e telecomunicazioni al liceo scienze applicate ed all'indirizzo informatica e telecomunicazioni. Ho terminato gli studi in ingegneria elettronica e telecomunicazioni lavorando per molti anni come libero professionista nell'ambito della gestione storage e disaster recovery su mainframe.
Questa voce è stata pubblicata in Senza categoria. Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *