Estratto del documento

Soluzioni seconda prova in itinere febbraio 2016

Esercizio 1

Un array di interi, con un numero pari di elementi, si dice a somma costante se sommando a coppie gli elementi in posizione simmetrica rispetto al centro dell'array (cioè il primo con l'ultimo, il secondo con il penultimo, e così via) si ottiene sempre lo stesso risultato.

Domanda 1

Scrivere una porzione di codice che chieda all'utente di inserire da tastiera un intero pari, maggiore di zero e minore di 100 (si controlli che n rispetti queste condizioni e, in caso contrario, si re-iteri la richiesta di n, fino all'inserimento di un valore ammissibile):

Soluzione

int n;
do {
    scanf("%d",&n);
} while (n<=0 || n>100 || n%2 == 1);

Domanda 2

Scrivere una porzione di codice che chieda all'utente di inserire da tastiera un array di n interi, verifichi se l'array inserito è a somma costante e stampi a video un messaggio per informare l'utente sull'esito della verifica:

Soluzione

int i, n, somma, cost = 1, a[100];
for (i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    somma = a[0] + a[n - 1];
    for (i = 1; i < n / 2; i++) {
        if (a[i] + a[n - i - 1] != somma) {
            cost = 0;
            break;
        }
    }
}
if (cost == 1)
    printf("Array a somma costante\n");
else
    printf("Array non a somma costante\n");
return 0;

Esercizio 2

Un operatore telefonico è caratterizzato da un nome, il paese in cui opera e le informazioni riguardanti i piani tariffari che offre (un operatore offre al massimo 20 piani differenti). Ogni piano tariffario, a sua volta, è caratterizzato da un nome, il costo mensile del piano, il numero di minuti mensili inclusi nel piano e il numero di GB di traffico dati mensili inclusi nel piano.

Si ipotizzi quindi di avere i seguenti tipi di strutture dati:

typedef struct {
    char nome[50];
    float canone;
    int minuti;
    int dati;
} piano;

typedef struct {
    char nome[50];
    char paese[50];
    int npiani;
    piano piani[20];
} operatore;

Domanda 1

Si dichiarino due variabili, db e sel, in grado di contenere i dati di 100 operatori telefonici ciascuna; db.

(Non è necessario scrivere il frammento di codice necessario a caricare i dati nella variabile. Non è necessario scrivere un programma completo né includere le librerie utilizzate, ma è necessario includere nei frammenti di codice le dichiarazioni di tutte le variabili utilizzate.)

Soluzione

operatore db[100], sel[100];

Domanda 2

Scrivere un frammento di codice in C che, ipotizzando che la variabile sel sia stata precedentemente riempita con i dati di 100 operatori...

Anteprima
Vedrai una selezione di 1 pagina su 5
Soluzioni seconda prova in itinere febbraio 2016 Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher magi612 di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Zaccaria Vittorio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community