Libro 1 – Esercitazioni per il terzo anno -1

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:

UsoNomeTipoDescrizione
inputqinteronumero elementi della sequenza
inputnrealenumeri in input della sequenza
outputmp
mn
sp
sn
Realemedia dei numeri positivi
media dei numeri negativi
somma dei numeri positivi
somma dei numeri negativi
lavorok
nn
np
interocontatore del ciclo
numero elementi negativi
numero elementi positivi

L’esercizio è risolto con una struttura ciclica definita for il diagramma blocchi è:

Diagramma blocco dell'esercizio è prevista una prima fase con l'inizializzazione degli output. E' letto il numero q la quantità dei numeri da sommare e fare la media.
Nel ciclo for viene letto il numero e con una condizione valutato se positivo e negativo. Se positivo è aggiunto alla somma dei positivi altrimenti alla somma dei negativi. E' eseguito il conteggio del numero dei negativi e del numero dei positivi. All'uscita del ciclo sono calcolate le medie e sono stampati gli output.

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;
}

Un video che può spiegare gli algoritmi con i cicli