Il 0% ha trovato utile questo documento (0 voti)
13 visualizzazioni23 pagine

02 DallAlgoritmo Al CodiceC-1

Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
13 visualizzazioni23 pagine

02 DallAlgoritmo Al CodiceC-1

Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 23

Corso di Informatica – Classe 2^ - Prof.

ssa Claudia Tagliabo'

I LINGUAGGI DI PROGRAMMAZIONE
1. Come sono rappresentati dati, risultati e istruzioni all'interno dell'elaboratore?
Risposta: sotto forma di sequenze di 0 e 1
2. Cos'è un programma?
Risposta: una sequenza ordinata di istruzioni, scritta in uno specifico linguaggio di
programmazione
3. Qual è l'unico linguaggio di programmazione che il processore sa eseguire?
Risposta: il linguaggio macchina
4. Come sono rappresentate le istruzioni in linguaggio macchina?
Risposta: in codice binario, cioè sotto forma di 0 e 1
5. Quali parti compongono un'istruzione in linguaggio macchina?
Risposta: codice operativo, eventuali operandi
6. Cosa indica il codice operativo?
Risposta: il tipo di operazione da eseguire
7. Riporta alcuni esempi di operazioni disponibili in linguaggio macchina.
Risposta: somma, sottrazione, caricamento di un valore in una locazione di memoria,
caricamento di un valore in un registro, salto ad una specifica locazione di memoria,
confronto bit a bit, operazioni logiche, halt
8. Cosa si intende per operando?
Risposta: la locazione di memoria o il registro sorgente dei dati o destinazione dei risultati
9. Come viene eseguito un programma in linguaggio macchina?
Risposta: attraverso il ciclo di fetch-decode-execute
10. Cosa si intende per linguaggio assembly?
Risposta: rappresentazione simbolica del linguaggio macchina, introdotta per rendere il
codice più leggibile al programmatore
11. Il processore è in grado di eseguire direttamente il linguaggio assembly?
Risposta: No. Anche se c'è una corrispondenza 1 a 1 tra codice macchina e assembly, il
processore non è in grado di "comprendere" i comandi psudomemonici dell'assembly,
perchè non sono scritti sotto forma di 0 e 1
12. Cos'è un assemblatore?
Risposta: è un programma che si occupa di tradurre un programma assembly in codice
macchina, cioè, di renderlo eseguibile.
13. Il linguaggio macchina è portabile?
Risposta: No. Il linguaggio macchina è fortemente legato all'HW, quindi ogni processore ha
un proprio specifico linguaggio macchina, che non può essere utilizzato su di un processore
diverso.

Pagina 1 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

14. Il linguaggio assembly è portabile?


Risposta: No, essendo le istruzioni assembly in corrispondenza 1:1 con il linguaggio
macchina, anche per l'assembly vale quanto detto per il linguaggio macchina.
15. Cosa si intende per linguaggio a basso livello?
Risposta: linguaggio di programmazione molto vicino all'HW e alla logica del calcolatore e
molto distante dalla visione umana.
16. Riporta degli esempi di linguaggio a basso livello.
Risposta: linguaggio macchina, linguaggio assembly
17. Cosa si intende per linguaggio ad alto livello?
Risposta: linguaggio di programmazione facilmente leggibile da un essere umano,
linguaggio non strettamente legato ad uno specifico HW
18. Il processore è in grado di eseguire direttamente un linguaggio ad alto livello?
Risposta: No, affinchè il programma possa essere eseguito da un processore, è necessario
che un apposito SW lo "traduca" nel linguaggio macchina di quello specifico processore.
19. In quali modi un programma scritto in linguaggio ad alto livello può essere "tradotto" in
linguaggio macchina?
Risposta: compilazione, interpretazione
20. Come funziona il processo di "traduzione", nel caso di linguaggi compilati?
Risposta: Il compilatore analizza tutto il codice in cerca di errori (sintattici, lessicali,
semantici). Se sono presenti errori, arresta il processo, segnala gli errori al programmatore
(il quale provvederà ad apportare modiche e ad avviare nuovamente la compilazione). Se
non ci sono errori, traduce il codice e genera un programma eseguibile (.exe)
21. Riporta alcuni esempi di linguaggi compilati.
Risposta: C, C++
22. Come funzione il processo di "traduzione", nel caso di linguaggi interpretati?
Risposta: L'interprete traduce ed esegue una istruzione per volta, senza generare un .exe. Se
in una specifica istruzione riscontra un errore (sintattico, lessicale o semantico), interrompe
l'esecuzione del programma.
23. Quando eseguo un codice compilato, ho la certezza che non ci siano più errori residui?
Risposta: Ho la certezza che non ci siano più errori sintattici, lessicali, semantici.
24. Quando eseguo un codice interpretato, ho la certezza che non ci siano errori?
Risposta: Dal momento in cui le istruzioni vengono analizzate solo nel momento in cui
devono essere eseguite, la presenza di errori sintattici, lessicali, semantici viene individauata
solo al momento in cui la specifica istruzione è presa in carico. Se ad esempio ho commesso
un errore in un ramo di un if e quando eseguo il codice non si "entra" in quello specifico
ramo, l'errore non verrà visto dall'interprete.
25. Riporta un esempio di linguaggio interpretato.
Risposta: BASIC

Pagina 2 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

26. Cosa si può dire degli errori nella logica risolutiva?


Risposta: Nè gli interpreti nè i compilatori sono in grado di intervenire sulla logica
risolutiva. Questa è responsabilità del programmatore.
27. Un programma scritto in un linguaggio ad alto livello è portabile?
Risposta: Sì.
28. Quante volte viene tradotta una specifica istruzione da un compilatore?
Risposta: Una sola volta, durante il processo di compilazione
29. Quante volte viene tradotta una specifica istruzione da un interprete?
Risposta: Tutte le volte che l'istruzione viene eseguita. Se ad esempio una iterazione è
ripetuta 20 volte, per 20 volte l'interprete tradurrà le istruzioni in essa contenute.

DALL'ALGORITMO AL CODICE C++


Parte teorica:
1) Come si dichiarano due variabili di tipo intero, che si chiamano num1 e num2, in C++ ?
Risposta: int num1, num2; oppure int num1;
int num2;
2) Come si dichiarano due variabili di tipo reale, che si chiamano num1 e num2, in C++ ?
Risposta: float num1, num2; oppure float num1;
float num2;
3) Come si dichiarano due variabili di tipo carattere, che si chiamano car1 e car2, in C++ ?
Risposta: char car1, car2; oppure char car1;
char car2;
4) Quando devono essere dichiarate le variabili in C++?
Risposta: Prima di essere usate
5) Quali dei seguenti nomi possono essere attribuiti a una variabile? Quali invece no e perchè?
(a) nome Risposta: SI'
(b) 2p Risposta: NO, il nome della variabile non può iniziare con un numero
(c) duePi Risposta: SI'
(d) data arrivo Risposta: NO, non è ammesso lo spazio
(e) dataArrivo Risposta: SI'
(f) sconto% Risposta: NO, il simbolo % non è ammesso nel nome di una variabile
(g) scontoPercentuale Risposta: SI'
(h) dato3 Risposta: SI'

Pagina 3 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

4) Quale tipo di valore contengono le variabili dichiarate di tipo int?


Risposta: Numeri interi
5) Quale tipo di valore contengono le variabili dichiarate di tipo float?
Risposta: Numeri reali
6) Quale tipo di valore contengono le variabili dichiarate di tipo char?
Risposta: Caratteri
7) Quale tipo di valore contengono le variabili dichiarate di tipo bool?
Risposta: Booleani
8) Quale dichiarazione è effettuata nella seguente riga di codice?
int primoAddendo, secondoAddendo, somma;
Risposta: Sono state dichiarate tre variabili che contengono valori interi; le variabili si
chiamano rispettivamente primoAddendo, secondoAddendo e somma
9) Quale dichiarazione è effettuata nella seguente riga di codice?
float base, altezza;
Risposta: Sono state dichiarate due variabili che contengono numeri reali; le variabili si
chiamano rispettivamente base e altezza
10) Quale errore è stato commesso nella seguente riga di codice? int a,b
Risposta: Manca il punto e virgola finale
11) Quale errore è stato commesso nella seguente riga di codice?
int a;b;
Risposta: Le variabili sono separate con il punto e virgola, invece che con la virgola
12) A quale blocco dei flow chart corrisponde la parentesi graffa aperta { del C++?
Risposta:

13) A quale blocco dei flow chart corrisponde la parentesi graffa chiusa } del C++?
Risposta:

14) Codifica in C++ il seguente blocco di input della variabile dato

Risposta:
cin>>dato;

Pagina 4 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

15) Codifica in C++ il seguente blocco di output della variabile dato

Risposta:
cout<<dato;
16) Codifica in C++ il seguente blocco di output del messaggio "Salve mondo"

Risposta:
cout<<"Salve Mondo";
17) Per effettuare l'input della variabile dato, viene scritta la seguente linea di codice:
cin>>dato
Quale errore contiene?
Risposta: manca il punto e virgola finale
18) Per effettuare l'input della variabile dato, viene scritta la seguente linea di codice:
cin>>"dato";
Quale errore contiene?
Risposta: il nome della variabile è scritto tra ""
19) Per effettuare l'input della variabile dato, viene scritta la seguente linea di codice:
cin<<dato;
Quale errore contiene?
Risposta: viene usato << al posto di >>
20) Per effettuare l'output del contenuto della variabile dato, viene scritta la seguente linea di
codice: cout<<dato
Quale errore contiene?
Risposta: manca il punto e virgola finale
21) Per effettuare l'output del contenuto della variabile dato, viene scritta la seguente linea di
codice: cout<<"dato";
Quale errore contiene?
Risposta: scrivendo "dato" invece di dato, si visualizza un messaggio e non il contenuto
della variabile
22) Per effettuare l'output del contenuto della variabile dato, viene scritta la seguente linea di
codice: cout>>dato;
Quale errore contiene? Risposta: è stato scritto >> invece che <<

Pagina 5 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

23) Per effettuare l'output del messaggio Hello World!, viene scritta la seguente linea di codice:
cout<<Hello World!;
Quale errore contiene?
Risposta: Il testo del messaggio deve essere racchiuso tra " "
24) Per effettuare l'output del messaggio Hello World!, viene scritta la seguente linea di codice:
cout<<"Hello World!"
Quale errore contiene?
Risposta: manca il ; a fine istruzione
25) Per effettuare l'output del messaggio Hello World!, viene scritta la seguente linea di codice:
cout>>"Hello World!";
Quale errore contiene?
Risposta: viene usato >> al posto di <<
26) Codifica in C++ il seguente blocco if:

Risposta: poichè il ramo if contiene una sola istruzione, non è obbligatorio l'uso delle
parentesi graffe, quindi sono ammesse le seguenti due soluzioni;
1) if (resto>0)
cout<<"Attendi erogazione resto";
2) if (resto>0)
{
cout<<"Attendi erogazione resto";
}
27) Codifica in C++ il seguente blocco if

Pagina 6 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Risposta: if (resto>0)
{
cout<<"Attendi erogazione resto";
cout<<resto;
}
In questo caso è obbligatorio l'uso delle parentesi graffe, perchè il numero di istruzioni nel
ramo if è maggiore di 1
28) Codifica in C++ il seguente blocco if-else

Risposta: if (resto>0)
cout<<"Attendi erogazione resto";
else
cout<<"Nessun resto da erogare";
29) Codifica in C++ il seguente blocco if-else

Risposta:
Poichè nel ramo else c'è una sola istruzione, si può scegliere se usare o no le parentesi graffe
Soluzione 1 if (resto>0)
{
cout<<"Attendi erogazione resto";
cout<<resto;
}
else
cout<<"Nessun resto da erogare";

Pagina 7 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Soluzione 2 if (resto>0)
{
cout<<"Attendi erogazione resto";
cout<<resto;
}
else
{
cout<<"Nessun resto da erogare";
}
30) Qual è la differenza tra = e == ?
Risposta: = è il simbolo di assegnamento = = è il simbolo di confronto
31) Dove si usa = ?
Risposta: nei blocchi di assegnamento
32) Dove si usa = =?
Risposta: nelle condizioni (if e test delle iterazioni)
33) Cosa significa < ?
Risposta: minore
34) Cosa significa <= ?
Risposta: minore o uguale
35) Cosa significa > ?
Risposta: maggiore
36) Cosa significa >= ?
Risposta: maggiore o uguale
37) Cosa significa != ?
Risposta: diverso
38) Cosa significa && ?
Risposta: operatore logico AND
39) Cosa significa || ?
Risposta: operatore logico OR
40) Cosa significa ! ?
Risposta: operatore logico NOT
41) Esprimi 25<x<50 usando l'operatore logico &&
Risposta: x>25 && x<50

Pagina 8 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

42) Esprimi 25<x<50 usando l'operatore logico &&


Risposta: x>=25 && x<50
43) Esprimi 25<x<50 usando l'operatore logico &&
Risposta: x>25 && x<=50
44) Esprimi 25<x<50 usando l'operatore logico &&
Risposta: x>=25 && x<=50
45) Esprimi x<25 v x>50 usando l'operatore logico ||
Esprimi x<25 o x>50 usando l'operatore logico ||
Risposta: x<25 || x>50
46) Esprimi x<25 v x>50 usando l'operatore logico ||
Esprimi x<25 o x>50 usando l'operatore logico ||
Risposta: x<=25 || x>50
47) Esprimi x<25 v x>50 usando l'operatore logico ||
Esprimi x<25 o x>50 usando l'operatore logico ||
Risposta: x<25 || x>=50
48) Esprimi x<25 v x>50 usando l'operatore logico ||
Esprimi x<25 o x>50 usando l'operatore logico ||
Risposta: x<=25 || x>=50
49) Considera il seguente codice
if (importo>1000 && importo<=2000)
sconto_percentuale=15;

Quando viene eseguita l'istruzione scritta nel ramo if?


Risposta: quando 1000<importo<2000
50) Considera il seguente codice
if (importo>1000 && numero_articoli>3)
sconto_percentuale=15;

Quando viene eseguita l'istruzione scritta nel ramo if?


Risposta: quando sono vere entrambe le condizioni: importo>1000 E contemporaneamente
numero_articoli>3
51) Considera il seguente codice
if (importo>1000 || numero_articoli>3)
sconto_percentuale=15;

Quando viene eseguita l'istruzione scritta nel ramo if?


Risposta: quando è vera almeno una delle condizioni, importo>1000 OPPURE
numero_articoli>3

Pagina 9 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

52) Considera il seguente codice


if (importo>1000 && importo<=2000)
sconto_percentuale=15;

• L'istruzione scritta nel ramo if viene eseguita se importo=500?


Risposta: No
• L'istruzione scritta nel ramo if viene eseguita se importo=1500?
Risposta: Sì
• L'istruzione scritta nel ramo if viene eseguita se importo=2500?
Risposta: No
53) Considera il seguente codice
if (importo>1000 && numero_articoli>3)
sconto_percentuale=15;

• L'istruzione scritta nel ramo if viene eseguita se importo=500 e numero_articoli=2?


Risposta: No. Nessuna delle due condizioni è vera
• L'istruzione scritta nel ramo if viene eseguita se importo=1500 e numero_articoli=2?
Risposta: No. Solo una delle due condizioni è vera
• L'istruzione scritta nel ramo if viene eseguita se importo=500 e numero_articoli=20?
Risposta: No. Solo una delle due condizioni è vera
• L'istruzione scritta nel ramo if viene eseguita se importo=2500 e numero_articoli=26?
Risposta: Sì. Entrambe le condizioni sono vere
54) Considera il seguente codice
if (importo>1000 || numero_articoli>3)
sconto_percentuale=15;

• L'istruzione scritta nel ramo if viene eseguita se importo=500 e numero_articoli=2?


Risposta: No. Nessuna delle due condizioni è vera
• L'istruzione scritta nel ramo if viene eseguita se importo=1500 e numero_articoli=2?
Risposta: Sì. Una delle due condizioni è vera
• L'istruzione scritta nel ramo if viene eseguita se importo=500 e numero_articoli=20?
Risposta: Sì. Una delle due condizioni è vera
• L'istruzione scritta nel ramo if viene eseguita se importo=2500 e numero_articoli=26?
Risposta: Sì. Entrambe le condizioni sono vere

Pagina 10 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Disegna il flow chart e scrivi la codifica in C++


Esercizio 1
Scrivere un programma che consente all'utente di inserire il valore del lato di un quadrato. Il
programma deve verificare se il valore del lato è valido. Se il valore è valido deve calcolare il
valore dell'area e scriverlo in output, altrimenti scrivere un messaggio di errore.

#include <iostream>
using namespace std;

// Programma per calcolare l'area di un quadrato

int main(int argc, char** argv) {


float lato, area;
cout<<"Inserisci la misura del lato e conferma con <Invio>: ";
cin>>lato;
if (lato>0)
{
area=lato*lato;
cout<<"Area = "<<area<<endl;
}
else
cout<<"Hai inserito un valore non valido per il lato"<<endl;
return 0;
}

Pagina 11 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 2
Scrivere un programma che consente all'utente di inserire un numero intero.
Il programma verifica se il numero è pari o dispari e scrive il risultato in output.

#include <iostream>
using namespace std;
// Programma per determinare se un numero è pari o dispari

int main(int argc, char** argv) {


int numero, resto;
cout<<"Inserisci un numero intero e conferma con <Invio>: ";
cin>>numero;
resto= numero%2;
if (resto==0)
{
cout<<"Hai inserito un numero pari"<<endl;
}
else
cout<<"Hai inserito un numero dispari"<<endl;
return 0;
}

Pagina 12 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 3
Scrivere un programma che chieda all'utente di inserire due numeri interi positivi, verifichi se il
primo numero inserito è divisibile per il secondo e lo comunichi con un messaggio in output.

#include <iostream>
using namespace std;
// Programma per determinare se m è divisibile n, m e n entrambi interi

int main(int argc, char** argv) {


int m,n, resto;
cout<<"Inserisci il primo numero e conferma con <Invio>: ";
cin>>m;
cout<<"Inserisci il secondo numero e conferma con <Invio>: ";
cin>>n;
resto= m%n;
if (resto==0)
{
cout<<"Il primo numero e' divisibile per il secondo"<<endl;
}
else
cout<<"Il primo numero NON e' divisibile per il secondo"<<endl;
return 0;
}

Pagina 13 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 4
Al fine di poter compilare rapidamente le etichette dei prezzi nel periodo di saldi, un negozio ci
richiede di realizzare un software per il calcolo dello sconto e del prezzo finale. Il titolare del
negozio vuole poter disporre di un applicativo che gli chieda di inserire in input il prezzo pieno di
un articolo in euro e la percentuale di sconto da applicare. Il programma deve fornirgli in output
l'ammontare in euro dello sconto e il prezzo finale dell'articolo.

#include <iostream>
using namespace std;
// Programma per calcolare sconto e prezzo finale di un articolo

int main(int argc, char** argv) {


float prezzoPieno, prezzoFinale, sconto, scontoPercentuale;
cout<<"Inserisci il prezzo iniziale e conferma con <Invio>: ";
cin>>prezzoPieno;
cout<<"Inserisci lo sconto percentuale e conferma con <Invio>: ";
cin>>scontoPercentuale;
sconto = (prezzoPieno*scontoPercentuale)/100;
prezzoFinale = prezzoPieno – sconto;
cout<<"Sconto applicato: "<<sconto<<endl;
cout<<"Prezzo finale: "<<prezzoFinale<<endl;
return 0;
}

Pagina 14 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 5
Una compagnia aerea imbarca nella fila prioritaria le famiglie con bambini con meno di 6 anni.
Tutti gli altri passeggeri sono imbarcati nella coda non prioritaria.
Scrivere un programma che fa inserire all'addetto al gate
• 1 se sta imbarcando una famiglia con bambini
• 0 in tutti gli altri casi
Il programma deve scrivere come risultato sullo schermo un messaggio che indica la fila alla quale
indirizzare il passeggero.

#include <iostream>
using namespace std;
// Programma che individua la coda di imbarco di un passeggero
int main(int argc, char** argv) {
int tipoPasseggero;
cout<<"Inserisci 1 se famiglia con bambini"<<endl;
cout<<"Inserisci 0 in tutti gli altri casi"<<endl;
cin>>tipoPasseggero;
if (tipoPasseggero==0)
cout<<"Coda NON prioritaria"<<endl;
if (tipoPasseggero==1)
cout<<"Coda prioritaria"<<endl;
return 0;
}

Pagina 15 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 6: Scrivere un programma che chiede all'utente di inserire i coefficienti a,b di


un'equazione di primo grado ax+b=0 e ne calcola la soluzione.

#include <iostream>
using namespace std;
// Programma che risolve l'equazione
// primo grado ax+b=0
int main(int argc, char** argv) {
float a,b,x;
cout<<"Inserisci a:";
cin>>a;
cout<<"Inserisci b:";
cin>>b;
if (a!=0)
{
x=-b/a;
cout<<"Risultato x= "<<x<<endl;
}
if (a==0 && b!=0)
cout<<"Impossibile";
if (a==0 && b==0)
cout<<"Indeterminata";
return 0;
}

Pagina 16 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 7: Scrivere un programma che fa inserire all'utente tre numeri interi diversi tra di loro,
rispettivamente nelle variabili a,b,c e che determina quale dei tre è il maggiore

#include <iostream>
using namespace std;
// Programma che determina il maggiore di tre
// numeri diversi tra loro
int main(int argc, char** argv) {
int a,b,c;
cout<<"Inserisci a:";
cin>>a;
cout<<"Inserisci b:";
cin>>b;
cout<<"Inserisci c:";
cin>>c;
if (a>b && a>c)
cout<<"Il maggiore e' "<<a;
if (b>a && b>c)
cout<<"Il maggiore e' "<<b;
if (c>a && c>b)
cout<<"Il maggiore e' "<<c;
return 0;
}

Pagina 17 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 8: Scrivere un programma che fa inserire all'utente tre numeri interi diversi tra di loro,
rispettivamente nelle variabili a,b,c e che determina quale dei tre è il minore

#include <iostream>
using namespace std;
// Programma che determina il minore di tre numeri
//diversi tra loro
int main(int argc, char** argv) {
int a,b,c;
cout<<"Inserisci a:";
cin>>a;
cout<<"Inserisci b:";
cin>>b;
cout<<"Inserisci c:";
cin>>c;
if (a<b && a<c)
cout<<"Il minore e' "<<a;
if (b<a && b<c)
cout<<"Il minore e' "<<b;
if (c<a && c<b)
cout<<"Il minore e' "<<c;
return 0;
}

Pagina 18 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 9:
Scrivere un programma che fa inserire dall'utente la sua età e che dice in output se l'utente è
maggiorenne o no.

#include <iostream>
using namespace std;
// Programma che determina se una persona è maggiorenne
int main(int argc, char** argv) {
int anni;
cout<<"Inserisci la tua eta': ";
cin>>anni;
if (anni<18)
cout<<"Sei minorenne"<<endl;
else
cout<<"Sei maggiorenne"<<endl;
return 0;
}

Pagina 19 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 10: Scrivere un programma che legge in input il punteggio conseguito da un candidato
all'esame Cambidge FCE e che scrive in output il corrispondente livello secondo i seguenti
parametri di valutazione:
• 0 < punti < 140 Non superato
• 140 < punti < 160 Livello B1
• 160 < punti < 173 Grade C
• 173 <punti < 180 Grade B
• 180 < punti< 190 Grade A

Pagina 20 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

#include <iostream>
using namespace std;
// Programma che determina il risultato conseguito da un candidato che ha
// sostenuto il Cambridge FCE
int main(int argc, char** argv) {
int punti;
cout<<"Quanti punti ha ottento il candidato? ";
cin>>punti;
if (punti<0)
cout<<"Valore punti non valido: deve essere maggiore di zero";
if (punti>=0 && punti<140)
cout<<"Esame non superato";
if (punti>=140 && punti<160)
cout<<"Livello B1";
if (punti>=160 && punti<173)
cout<<"Grade C";
if (punti>=173 && punti<180)
cout<<"Grade B";
if (punti>=180 && punti<=190)
cout<<"Grade A";
if (punti>190)
cout<<"Valore punti non valido: non puo' essere maggiore di 190";
return 0;
}

Pagina 21 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 11: Scrivere un programma che fa


inserire all'utente la sua altezza in metri e la sua
massa corporea in kg.
Il programma deve
• calcolare il BMI dell'utente secondo la
formula
BMI = massa_corporea/altezza2
• scrivere in output il valore del BMI
• dire a quale delle seguenti categorie
appartiene l'utente:
• sottopeso se BMI<19
• normopeso se 19 < BMI < 24
• sovrappeso se 24 < BMI < 30
• obeso se BMI > 30

#include <iostream>
using namespace std;
// Programma che calcola il BMI
int main(int argc, char** argv) {
float altezza,massa_corporea,bmi;
cout<<"Inserire altezza: ";
cin>>altezza;
cout<<"Inserire massa corporea:";
cin>>massa_corporea;
bmi=massa_corporea/(altezza^2);
if (bmi<19)
cout<<"Sottopeso";
if (bmi>=19 && bmi<24)
cout<<"Normopeso";
if (bmi>=24 && bmi<30)
cout<<"Sovrappeso";
if (bmi>=30)
cout<<"Obeso";
return 0;
}

Pagina 22 di 23
Corso di Informatica – Classe 2^ - Prof.ssa Claudia Tagliabo'

Esercizio 12
Scrivere un programma che fa inserire all'utente una temperatura espressa secondo la scala Celsius
e la converte in Kelvin. Se la temperaura inserita è minore dello zero assoluto, segnalare un
messaggio di errore.

#include <iostream>
using namespace std;
// Programma che converte un valore di temperatura da Celsius a Kelvin
int main(int argc, char** argv) {
float temperaturaCelsius, temperaturaKelvin;
cout<<"Inserire il valore di temperatua nella scala Celsius: ";
cin>>temperaturaCelsius;
temperaturaKelvin=temperaturaCelsius+273.15;
if (temperaturaKelvin>=0)
cout<<"Temperatura nella scala Kelvin: "<<temperaturaKelvin;
else
cout<<"Errore: valore di temperatura minore dello zero assoluto";
return 0;
}

Pagina 23 di 23

Potrebbero piacerti anche