Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Riscrivi il programma qui sopra usando il comando più volte il comando if.
2. Un ufficio ha il seguente orario di apertura: lunedì 8-12, mercoledì 14-18, venerdì
9-12, martedì, giovedì, sabato, domenica chiuso. Scrivi un programma che stampi
a video l’orario di apertura dell’ufficio in base al giorno desiderato dall’utente. (NB:
“Quale giorno desideri? Scrivi 1 per lunedì, 2 per martedì, …”).
3. DIFFERENZA switch/if:
Scriviamo ora un programma simile a quelli utilizzati per la gestione di un numero
che fornisce informazioni, ad esempio il call center di una compagnia telefonica.
Dopo la musichetta introduttiva la voce chiede all’utente di scegliere tra varie
opzioni:
”Digiti 1 se desidera conoscere le promozioni disponibili, digiti 2 se desidera
conoscere i dettagli del suo piano tariffario, digiti 0 se desidera parlare con un
operatore.”
int main(){
int x;
srand( time(NULL) ) ;
x=rand();
cout << x<<endl;
system(“PAUSE”);
return 0; }
Lo scopo dei prossimi esercizi è quello di creare un “assistente di matematica” per
alunni delle scuole elementari. Per ogni esercizio dovrai disegnare il diagramma di
flusso e poi scrivere il codice corrispondente.
1. (RANDOM1) Dichiara due variabili intere e assegna loro un valore casuale
utilizzando la funzione rand(). Stampa a video una frase che chieda al bambino di
inserire da tastiera la somma dei due valori. Acquisisci il valore e confrontalo con il
risultato corretto. Stampa “Bravo!” se il risultato è corretto, “Esercitati ancora”
altrimenti.
2. (RANDOM2) Avrai notato che i numeri random restituiti dalla funzione rand()
possono essere anche molto grandi: per facilitare il compito al tuo studente
vogliamo fare in modo che gli addendi siano numeri di una sola cifra. Come fare?
Quale espressione dovrai utilizzare allora? Modifica il programma in modo che gli
addendi possano essere solo numeri di 1 cifra.
3. (RANDOM3) Il tuo alunno migliora: vogliamo fare in modo che abbia la possibilità di
scegliere tra due livelli di difficoltà diversi. Modifica il programma RANDOM2 in
modo che l’alunno possa scegliere se utilizzare numeri di 1 cifra, oppure anche
numeri di due cifre.
4. (RANDOM4) Modifica il programma RANDOM3 della lezione precedente in
modo che lo studente possa decidere se lavorare sulla somma di due
numeri oppure sulla moltiplicazione. Oltre a scegliere l’operazione dovrà,
come prima, poter scegliere anche la difficoltà dell’esercizio.
5. (RANDOM5) Recupera gli appunti sul comando while() visto lo scorso anno
e modifica il programma precedente in modo che il bambino possa provare
più volte a digitare il risultato. Ferma il ciclo nel momento in cui il numero
dato da tastiera coincide con il risultato corretto.
STRUTTURE DI ITERAZIONE
1)
#include<iostream.h>
A=0
int main() {
int A=0;
s�
A<5 A=A+2
no
system(“PAUSE”);
return 0;
END }
2)
#include<iostream.h>
A=0
int main() {
A=A+2 int A=0;
s�
A<5
system(“PAUSE”);
return 0;
no
}
END
1. Scrivi un programma che simuli 1000 lanci di una moneta e conti quante
volte esce testa e quante volte croce. Fatti stampare a video una C se esce
croce, una T se esce testa. Terminati i 1000 lanci, stampa a video quante
volte è uscita testa e quante volte croce. Se il lancio fosse effettivamente
casuale cosa ti aspetti di trovare? Usa la struttura while(){}.
2. Riscrivi il programma precedente usando la struttura do{}while();
#include <fstream.h>
#include<iostream.h>
int main () {
ofstream examplefile (“example.txt”, ios::out | ios :: app);
examplefile.close();
system(“PAUSE”);
return 0;
}
Verifica il funzionamento del programma di scrittura su file: fallo girare più volte e
verifica ogni volta cosa succede al file example.txt. Modifica il programma che simula
il lancio di un dado facendo in modo che scriva i risultati ottenuti su un file.
C++ E PROBABILITÀ
1. Immagina di lanciare due dadi contemporaneamente: quali sono gli esiti possibili a
priori? Qual è la probabilità di ognuno? Rispondi completando la prima colonna
della tabella seguente.
Simula poi con il C++ il lancio di due dadi per 1000 volte, somma ogni volta i
valori usciti e salva gli esiti ottenuti in un file di Excel. Crea con Excel l’istogramma
delle frequenze relative di uscita di tutti gli esiti possibili.
Usa poi la funzione CONTA.SE() per completare la seconda colonna della tabella:
evento probabilità probabilità
classica statistica
Somma_dadi=0
Somma_dadi=1
Somma_dadi=2
Somma_dadi=3
Somma_dadi=4
Somma_dadi=5
Somma_dadi=6
Somma_dadi=7
Somma_dadi=8
Somma_dadi=9
Somma_dadi=10
Somma_dadi=11
Somma_dadi=12
Somma_dadi=13
Somma_dadi>5
Somma_dadi<8
4<Somma_dadi<7
Somma_dadi
dispari
Somma_dadi=mult
iplo di 3
3. (SOLO 2D) Piero e Gianna hanno avuto 4 figli. Qual è la probabilità che abbiano
avuto 4 femmine? Qual è la probabilità che abbiano avuto almeno due maschi?
Rispondi creando una tabella come quelle proposte negli esercizi precedenti in cui
proponi tutti i casi possibili.
Simula poi con il C++ (modifica il programma precedente) la nascita dei 4 figli (è
come simulare il lancio di quante monete?). Ripeti la simulazione per 1000 volte.
Stampa su un file di Excel tutti gli esiti ottenuti e poi usa la funzione CONTA.SE()
per completare la seconda colonna della tua tabella.
Da spedire:
file di word, file di excel con tutti i calcoli, file di C++
VETTORI