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