6SC Informatica 9/12/2015

Documenti analoghi
Nota: Si consideri il valore di pi greco.

CL 3 - Es_01.cpp. #include <iostream> using namespace std;

cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Esercizi su Scratch. Esegui la Somma e il Prodotto dei numeri inseriti in Input fino a che non inserisco la vocale e.

L AMBIENTE CODE BLOCKS E L IO

Esercizi. perimetro > X area > Y. dove al posto di X e Y vanno scritti il valori corrispondenti.

Conversioni fra Tipi di Dati. Informatica 1 / 15

L AMBIENTE CODE BLOCKS E L IO

Strutture di iterazione

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo

Conversioni fra Tipi di Dati. Luca Abeni

Dal problema al programma

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde

Char e bool. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

struct costobiglietto { //struttura per prezzo float prezzo; float tasse; float prezzototale; };

Programmazione in Java (I modulo) Lezione 4

Lab 04 Programmazione Strutturata"

#include <iostream> using namespace std; // int main ( ) { // --- Dichiarazione delle variabili int N ; float A, Pot;

Dichiarazioni e tipi predefiniti nel linguaggio C

Fondamenti di Informatica L-A. Esercitazione 2

Parte 1: tipi primitivi e istruzioni C

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

I tipi di dato strutturato sono dichiarabili in C tramite la parola chiave typedef

IL COSTRUTTO SEQUENZA

Programmazione in Java (I modulo)

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

Corso di laurea triennale in Informatica Turno A

Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice { }, cioè più istruzioni

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia

Concetto di stream. c i a o \0. c i a o \0. c i a o \0

Matematica con Python

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero

Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

a.a Codice corso: 21012, HOMEWORKS

Fondamenti di Informatica

Gestire le situazioni di errore

PROGRAMMAZIONE: La selezione

Gli Operatori. Università degli Studi di Brescia

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

03.x1. esercizi Sui cicli. 03-X1_Esercizi_[02] Versione del: giovedì 14 novembre Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

Char. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Laboratorio di Programmazione Laurea in Bioinformatica

1 - Visualizzare una scritta sullo schermo.

Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Informatica! Appunti dal laboratorio 1!

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Classe Squadra. #include <iostream> using namespace std;

C++ funzioni Alberto Ferrari. Alberto Ferrari Programmazione di applicazioni SW

INFORMATICA. Strutture condizionali

Fondamenti di Informatica T-1 Modulo 2

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

IL COSTRUTTO ITERAZIONE 2

Linguaggio C. Vettori, Puntatori e Funzioni Stringhe. Università degli Studi di Brescia. Prof. Massimiliano Giacomin

Introduzione alla programmazione in linguaggio C

Char. Parte 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Esercizio 1: media di numeri reali (uso funzioni e struct)

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

IEIM Esercitazione 1 Primi passi con la programmazione" Alessandro A. Nacci -

ciclo di vita della soluzione (informatica) di un problema

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Soluzione. Verifica Scritta Quartu S.E. L.S. - Brotzu Opzione Scienze Applicate

Esercizio 1" input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2

Rappresentazione dell Informazione

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Laboratorio di Informatica

Le Funzioni e la Ricorsione

Tutorato Elementi di Informatica 2018

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

Laboratorio di Informatica I

Nuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo

TUTORAGGIO INFORMATICA Settimana 1

Verso i puntatori: Cosa è una variabile?

Programmazione Procedurale in Linguaggio C++

Esempi e esercitazioni sulle matrici e strutture

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

Transcript:

6SC-C-007-2015-12-09 (S) Studente: THE TEACHER CLASSE MATERIA DATA OGGETTO VALUTAZIONE 6SC Informatica 9/12/2015 Preparazione alla verifica di venerdì 18/12 (soluzioni) N.A. Scrivere, in linguaggio C++, i seguenti programmi. Attenzione A scopo di ripasso, si consiglia di specificare l intera struttura dei programmi richiesti, le direttive di inclusione necessarie e il riferimento a eventuali namespace. Programmi a struttura sequenziale 1. Progetto Aritmetica Scrivere un programma che richieda all utente di specificare due numeri interi e visualizzi la loro somma, la differenza, il prodotto e il quoziente. 1 2 3 4 5 6 int n = 0, m = 0; 7 int s = 0, d = 0, p = 0; 8 float q = 0; 9 10 // Richiede all'utente di inserire i due numeri 11 cout << "Inserisci il 1 numero: "; 12 cin >> n; 13 cout << "Inserisci il 2 numero: "; 14 cin >> m; 15 16 // Calcola somma, differenza, prodotto e quoziente 17 // N.B. Il quoziente di due numeri interi può essere 18 // decimale ed è necessario il casting esplicito 19 s = n + m; 20 d = n - m; 21 p = n * m; 22 q = (float) n / (float) m; 23 24 // Visualizza i risultati calcolati 25 cout << n << " + " << m << " = " << s << endl; 26 cout << n << " - " << m << " = " << d << endl; 27 cout << n << " * " << m << " = " << p << endl; 28 cout << n << " / " << m << " = " << q << endl; 29 Pagina 1 di 8

2. Convertitore euro/dollaro Scrivere un programma che richieda all utente di specificare un prezzo in euro e visualizzi la sua conversione in dollari americani, ricordando che attualmente $ 1,00 = 0,92. Si utilizzi una costante, opportunamente definita, per rappresentare il tasso di cambio tra euro e dollaro. const float EUR_USD = 0.92; float eur = 0; float usd = 0; // Richiede all'utente di specificare il prezzo in euro cout << "Inserisci il prezzo in euro: "; cin >> eur; // Calcola e visualizza la conversione in dollari; usd = eur / EUR_USD; cout << " " << eur << " = " << "$ " << usd << endl; 3. Problema dello scambio Scrivere un programma che richieda all utente di specificare due dati qualsiasi (numeri o caratteri), li memorizzi in due variabili opportune e scambi il contenuto di quest ultime. Esempio Se l utente inserisce i valori 13 e 18, il programma deve memorizzarli, rispettivamente, in due variabili x e y; quindi deve scambiare il contenuto di quest ultime, affinché x valga 18 e y valga 13. char a, b, temp; // Richiede all'utente di specificare due caratteri cout << "Inserisci il 1 dato: "; cin >> a; cout << "Inserisci il 2 dato: "; cin >> b; // Scambia i valori delle due variabili // N.B. È necessaria la variabile "di appoggio" temp temp = a; a = b; b = temp; Pagina 2 di 8

// Visualizza i valori scambiati out << "1 dato => " << a << endl; cout << "2 dato => " << b << endl; 4. Convertitore orario (prima versione) Scrivere un programma che richieda all utente di specificare un orario, in termini di ore, minuti e secondi, e ne visualizzi l equivalente in secondi. Esempio Se l utente specifica un orario pari a 17 ore, 30 minuti e 45 secondi, il programma deve restituire 63.045, dal momento che 17 ore e 30 minuti corrispondono a 63.000 secondi. int h = 0, m = 0, s = 0; int secs = 0; // Richiede all'utente di specificare l'orario cout << "Specifica le ore: "; cin >> h; cout << "Specifica i minuti: "; cin >> m; cout << "Specifica i secondi: "; cin >> s; secs = h * 60 * 60; secs = secs + m * 60; secs = secs + s; // Converte le ore // Converte i minuti // Aggiunge i secondi // Visualizza la conversione in secondi cout << "L'orario corrisponde a " << secs << " s" << endl; 5. Convertitore orario (seconda versione) Scrivere un programma che richieda all utente di specificare un numero in secondi e visualizzi l orario corrispondente in termini di ore, minuti e secondi. Esempio Se l utente inserisce il numero 18.940, il programma deve visualizzare l indicazione 5 ore, 15 minuti, 40 secondi, dal momento che 18.940 secondi corrispondono a tale orario. Si utilizzi convenientemente l operatore di divisione / per ottenere la divisione intera tra le diverse unità di tempo. Pagina 3 di 8

int secs = 0; int h = 0, m = 0, s = 0; // Richiede all'utente il dato in secondi cout << "Inserisci i secondi da convertire: "; cin >> secs; // Converte le ore e calcola il resto h = secs / (60 * 60); secs = secs - (h * 60 * 60); // Converte in minuti e calcola il resto m = secs / 60; secs = secs - (m * 60); // Assegna il resto ai secondi s = secs; // Visualizza l'orario ottenuto cout << "Orario corrispondente => " << h << "." << m << ":" << s << endl; Programmi con strutture di selezione 6. Problema del massimo (prima versione) Scrivere un programma che richieda all utente di specificare due numeri e visualizzi il massimo tra i due. int n1 = 0, n2 = 0; // Richiede all'utente di inserire i numeri cout << "Inserisci il 1 numero: "; cin >> n1; cout << "Inserisci il 2 numero: "; cin >> n2; // Determina e visualizza il valore massimo if (n1 > n2) cout << "Il massimo è " << n1 << endl; cout << "Il massimo è " << n2 << endl; 7. Progetto Divisione Scrivere un programma che richieda all utente di specificare due numeri interi e ne calcoli la divisione Pagina 4 di 8

(esatta) solo quando il divisore è diverso da 0 (in caso contrario, il programma deve visualizzare un messaggio di errore). Si ricorra al casting esplicito delle variabili per ottenere la divisione esatta tra due tipi interi. int n = 0, d = 0; float q = 0; // Richiede all'utente di inserire dividendo e divisore cout << "Inserisci il dividendo: "; cin >> n; cout << "Inserisci il divisore: "; cin >> d; // Se il divisore è diverso da 0 calcola e visualizza il quoziente, // in caso contrario mostra un messaggio di errore if (d!= 0) q = (float) n / (float) d; cout << n << " / " << d << " = " << q << endl; cout << "La divisione per 0 non ha significato" << endl; 8. Pari o dispari? Scrivere un programma che richieda all utente di specificare un numero intero; quindi stabilisca se si tratta di un numero pari o dispari. Un numero intero n è pari se la divisione intera tra n e 2 dà come resto 0. In caso contrario è dispari. int n = 0, r = 0; // Richiede all'utente di inserire il numero cout << "Inserisci un numero intero: "; cin >> n; // Calcola il resto della divisione tra n e 2 r = n - (n / 2) * 2; // Stabilisce, in base a r, se n è pari o dispari Pagina 5 di 8

if (r == 0) cout << n << " è un numero PARI." << endl; cout << n << " è un numero DISPARI." << endl; 9. Problema dell ordine (prima versione) Scrivere un programma che richieda all utente di specificare due numeri e li visualizzi in ordine crescente (dal più piccolo al più grande). int n1 = 0, n2 = 0; // Richiede all'utente di inserire i numeri cout << "Inserisci il 1 numero: "; cin >> n1; cout << "Inserisci il 2 numero: "; cin >> n2; // Confronta i due numeri per visualizzarli in ordine crescente if (n1 < n2) cout << n1 << ", " << n2 << endl; cout << n2 << ", " << n1 << endl; 10. Problema dell ordine (seconda versione) Scrivere un programma che richieda all utente di specificare tre numeri e li visualizzi in ordine crescente (dal più piccolo al più grande). int n1 = 0, n2 = 0, n3 = 0; // Richiede all'utente di inserire i numeri cout << "Inserisci il 1 numero: "; cin >> n1; cout << "Inserisci il 2 numero: "; cin >> n2; cout << "Inserisci il 3 numero: "; cin >> n3; // Confronta i tre numeri per visualizzarli in ordine crescente if (n1 < n2 && n1 < n3) if (n2 < n3) Pagina 6 di 8

cout << n1 << ", " << n2 << ", " << n3 << endl; cout << n1 << ", " << n3 << ", " << n2 << endl; if (n2 < n1 && n2 < n3) if (n1 < n3) cout << n2 << ", " << n1 << ", " << n3 << endl; cout << n2 << ", " << n3 << ", " << n1 << endl; if (n1 < n2) cout << n3 << ", " << n1 << ", " << n2 << endl; cout << n3 << ", " << n2 << ", " << n1 << endl; 11. Problema del massimo (seconda versione) Scrivere un programma che richieda all utente di specificare tre numeri e visualizzi il massimo dei tre. Il programma si può realizzare sia con condizioni semplici, sia per mezzo degli operatori logici relazionali (&& e ) per la definizione di condizioni complesse. int n1 = 0, n2 = 0, n3 = 0; // Richiede all'utente di inserire i numeri cout << "Inserisci il 1 numero: "; cin >> n1; cout << "Inserisci il 2 numero: "; cin >> n2; cout << "Inserisci il 3 numero: "; cin >> n3; // Stabilisce il massimo if (n1 > n2 && n1 > n3) cout << "Il massimo è " << n1 << endl; if (n2 > n1 && n2 > n3) cout << "Il massimo è " << n2 << endl; cout << "Il massimo è " << n3 << endl; 12. Problema dell anno bisestile Scrivere un programma che richieda all utente di specificare un anno (es. 1999) e indichi se è bisestile, Pagina 7 di 8

ricordando che un anno è bisestile se è divisibile per 4 e non è divisibile per 100, a meno che non sia anche divisibile per 400. Dato l anno specificato dall utente, si calcolino i resti delle divisioni per 4, per 100 e per 400; quindi si definiscano le condizioni opportune. int anno = 0; int r4 = 0, r100 = 0, r400 = 0; // Richiede all'utente di inserire l'anno cout << "Inserisci l'anno: "; cin >> anno; // Calcola i resti delle divisioni per 4, 100 e 400 r4 = anno - (anno / 4) * 4; r100 = anno - (anno / 100) * 100; r400 = anno - (anno / 400) * 400; // Verifica se l'anno è bisestile, in base ai resti ottenuti if (r4 == 0 && r100!= 0 r400 == 0) cout << "L'anno " << anno << " È BISESTILE" << endl; cout << "L'anno " << anno << " NON È BISESTILE" << endl; Pagina 8 di 8