I.I.S. “B. Pascal” Giaveno (TO)
Laboratorio di informatica
Programmazione in C++
Tempo a disposizione: 4 h di laboratorio
1.
Estrarre in modo casuale n (n <= 1000) numeri interi compresi tra 1 e 100 e calcolare la media tra i pari, la quantità di multipli di un numero dispari tra 3, 5, 7 e 9, il minimo estratto
2.
Estrarre in modo casuale n (n <= 100), numeri interi compresi tra -10 e + 10, determinare le
percentuali di pari e dispari, le percentuali di positivi e negativi, il massimo estratto e quante
volte compare.
3.
Per fini statistici viene rilevato il peso e l’altezza degli n studenti di una classe (n <= 30).
Alla fine dell’indagine si vuole conoscere l’indice di massa corporea (IMC) medio (p/h 2), una
valutazione sulla classe (IMC medio alto / normale / basso) e l’indice massimo rilevato.
4.
In un concorso di ginnastica artistica gli n giudici (n <= 10) valutano una prestazione
assegnando un voto che è un numero reale compreso tra 0 e 1 (generati casualmente).
Scrivere un programma che calcola il punteggio finale facendo la media dopo aver eliminato il
minimo e il massimo una sola volta. Calcolare la percentuale di giudici che hanno dato un
punteggio fino a 0.5 e oltre 0.5.
5.
In una scuola, al momento dell’iscrizione alla classe prima, è richiesto di scegliere come lingua
straniera tra lo studio dell’inglese, del francese o del tedesco. Fornire in input la scelta di n
alunni (n inferiore a 1000) e calcolare il numero totale di alunni per ogni tipo di scelta. Visua lizzare i dati in ordine decrescente.
6.
Al termine della scuola media inferiore è richiesto di indicare il tipo di scuola che si intende
frequentare tra liceo, istituto tecnico e istituto professionale. Fornire in input la scelta di n
alunni (n inferiore a 1000) e calcolare il numero totale di alunni per ogni tipo di scelta. Visua lizzare i dati in ordine decrescente.
7.
Scrivere un programma che, per ognuna delle seguenti successioni di numeri,
visualizza i primi n termini e la loro somma:
- 1, -2, 3, -4, 5, -6, …
- ½, 2/3, ¾, 4/5, 5/6, 6/7…
- 0, 1, 1, 2, 3, 5, 8, … (successione di Fibonacci)
8.
Generare casualmente n numeri (n<=100) interi compresi tra -5 e +5 e dire se sono tutti
positivi o tutti negativi, le percentuali di positivi e di negativi, trovare il massimo e il minimo
estratto.
9.
Estrarre in modo casuale n (n positivo) coppie di numeri interi compresi tra 1 e 6 e visualizzare il numero di volte in cui viene estratto lo stesso numero, il numero di volte in cui il primo
numero è inferiore al secondo, il numero di volte in cui la somma dei due numeri inferiore o
uguale a 6.
10. Estrarre in modo casuale n (n positivo) coppie di numeri interi compresi tra 1 e 6 e visualizzare il numero di volte in cui vengono estratti numeri diversi, il numero di volte in cui il primo
numero è superiore al secondo, il numero di volte in cui sono estratti numeri pari.
11. Guess a number. Generare un numero compreso tra 1 e 100 e visualizzare quanti tentativi
sono stati fatti da un giocatore per indovinarlo, concedendo un massimo di 5 tentativi.
12. Scrivere un programma a menù che offra all’utente le seguenti opzioni: dato un numero binario (massimo 10 cifre) convertirlo in decimale; dato un numero decimale
tra 0 e 210-1 convertirlo in binario.
I.I.S. “B. Pascal” Giaveno (TO)
Laboratorio di informatica
Programmazione in C++
Tempo a disposizione: 4 h di laboratorio
Produrre:
o analisi del problema (dati di I/O) e diagramma di flusso dell’algoritmo
o stampa del programma sorgente documentato, funzionante e contenente il testo
del problema e i nomi degli autori
//problema
//autori
#include …
int main()
{
int i; //contatore di ciclo
…
N.B.: il source deve essere disponibile su file (utilizzare il servizio di cloud storage
per condividere l’accesso ai file)
o stampa della snapshot della console di esecuzione del programma
Valutazione:
o conoscenza approfondita dell’algoritmo e del programma
o software e linguaggi di programmazione: software di base e software
applicativo, copyright e licenze d’uso, linguaggi di programmazione ad alto e a
basso livello, errori nell’attività di programmazione, linguaggi compilati (fino a
slide 10)
o programmazione in C++: struttura di un programma, librerie, dichiarazione e
tipi di variabili, istruzioni di I/O e di assegnazione, operatori aritmetici, logici e di
confronto, strutture di programmazione (if, while, do for), funzioni predefinite
della libreria cmath (pow, sqrt).
o tipi di dati
 sistemi di numerazione bin, hex e dec;
 tipo int: rappresentazione dei numeri interi in segno e valore (solo numeri
positivi); range di valori e overflow;
 tipo double: rappresentazione dei numeri reali fixed point e floating point,
notazione scientifica normalizzata
 tipo char: codifica binaria e codice ASCII