Esercitazione numero 1 sulle strutture cicliche e la codifica in C++
Traccia:
Scrivere un algoritmo e codificare lo stesso in C++ del seguente problema:
“Inserimento di una sequenza di numeri (la quantità dei numeri è definita dall’utente) e calcolo e visualizzazione della media e della somma dei numeri negativi e positivi.
La tabella dati:
Uso | Nome | Tipo | Descrizione |
input | q | intero | numero elementi della sequenza |
input | n | reale | numeri in input della sequenza |
output | mp mn sp sn | Reale | media dei numeri positivi media dei numeri negativi somma dei numeri positivi somma dei numeri negativi |
lavoro | k nn np | intero | contatore del ciclo numero elementi negativi numero elementi positivi |
L’esercizio è risolto con una struttura ciclica definita for il diagramma blocchi è:
Il codice C++ del programma è:
/* Scrivere un algorimto e poi un programma in c++
che riceve dei numeri reali in input( la quantità
dei numeri la definisce l'utente) e calcoli
e visualizza la somma e la media dei numeri negativi
e positivi */
#include <iostream>
using namespace std;
int main()
{
int nn,np,k,q,n;
float sp, sn, mp, mn;
mp=0;
mn=0;
sp=0;
sn=0;
nn=0;
np=0;
cout << "\n Quanti numeri:";
cin >>q;
for (k=0;k<q;k++)
{
cout << "\nInserisci un numero:";
cin >> n;
if (n>=0)
{
sp+=n;
np++;
}
else
{
sn+=n;
nn++;
}
}
mp=sp/np;
mn=sn/nn;
cout << "La media e la somma dei positivi e':";
cout << mp << " ; " << sp;
cout << "\nLa media e la somma dei negativi e':";
cout << mn << " ; " << sn;
return 0;
}