ESERCIZI DI PROGRAMMAZIONE C/C++

Похожие документы
ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde

Lab 04 Programmazione Strutturata"

Esercizi di programmazione Fare almeno 5 esercizi per ogni tipologia proposta.

Parte 1: tipi primitivi e istruzioni C

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

Esercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi)

Esercizi di programmazione in linguaggio C - Costrutto iterazione

Alcune funzioni matematiche utili della libreria <math.h>:

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

Esercizi per il corso di Programmazione I

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

Fondamenti di Informatica

Ministero della Difesa Direzione Generale per il Personale Militare I Reparto

LEZIONE 3: SELEZIONE

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Informatica (A-K) 5. Algoritmi e pseudocodifica

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

COMANDI ITERATIVI. Ivan Lanese

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly

Esercizi di Informatica per la classe terza

Laboratorio di Programmazione Laurea in Bioinformatica

a.a Codice corso: 21012, HOMEWORKS

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

INTRODUZIONE ALLA PROGRAMMAZIONE

Costrutto if. Come utilizzare il costrutto condizionale if

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

PROGRAMMAZIONE: La selezione

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

Liceo Scientifico Statale ALBERT EINSTEIN Milano

Risoluzione di un problema

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

do { printf("inserisci due numeri reali:"); scanf("%f %f", &a, &b); while(b!=0 && a/b<0);

1 - Visualizzare una scritta sullo schermo.

Esempio (if): equazione di secondo grado

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde

1. (A1) Quali tra le seguenti uguaglianze sono vere? 2. (A1) Una sola delle seguenti affermazioni è vera. Quale?

PROGRAMMA EFFETTIVAMENTE SVOLTO

Complementi di algebra

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Primo programma in C

1 Insiemi. 1.1 Operazioni sugli insiemi. Domande Debito Formativo di MATEMATICA. Sommario

292 Capitolo 11. Polinomi Scrivi un polinomio di terzo grado nelle variabili a e b che sia omogeneo.

Strutture di Controllo

PROGRAMMAZIONE: Le strutture di controllo

ˆ b, si usa la convenzione di prendere. come verso positivo quello antiorario e come verso negativo quello orario.

Soluzione. Soluzione. Soluzione. Soluzione

Università del Salento Facoltà di Scienze Matematiche Fisiche e Naturali. Matematica e Fisica

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

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

laboratorio di python

Laboratorio di Informatica

LIBRO DI TESTO: INFORMATICA MULTIMEDIALE METODI E FONDAMENTI AUTORI: MARISA ADDOMINE DANIELE PONS CASA EDITRICE: ZANICHELLI

Strutture di iterazione

Esercizi Programmazione I

ESERCIZI DI MATEMATICA

Esercizi in Python. Docente: Domenico Daniele Bloisi

Fondamenti di Informatica T-1 Modulo 2

Laboratorio di Python

Indice. Prefazione. 3 Oggetti e Java 53

Транскрипт:

1 di 7 ESERCIZI DI PROGRAMMAZIONE C/C++ Prof. Marco Camurri Capitolo 1 - Strutture di controllo Capitolo 2 - Funzioni Capitolo 3 - Array monodimensionali (Vettori) Capitolo 4 - Stringhe Capitolo 5 - Ordinamento e ricerca su vettori Capitolo 6 - Array bidimensionali (Matrici) Capitolo 7 - Strutture Capitolo 8 - File di testo Capitolo 9 - Ricorsione Capitolo 10 - File binari Parte 1 - Strutture di controllo Es00 Hello World! Scrivi un programma che visualizza sul monitor il messaggio "Hello World!". Modifica poi il programma in modo da visualizzare le due parole "Hello" e "World" su due righe diverse. Es01 Area del cerchio Scrivi un programma che consenta di calcolare l'area del cerchio in base al valore del raggio. Il programma dovrà quindi richiedere all'utente il valore del raggio (un numero reale) e mostrare l'area del cerchio corrispondente. Es02 Valore assoluto Scrivi un programma che richiede all'utente un numero reale x, e calcola il valore assoluto di x. Es03 Maggiorenni e minorenni Scrivi un programma che stabilisce se una persona è maggiorenne o minorenne in base all'età. Es04 Angoli Scrivi un programma che richiede all'utente la misura dell'angolo di un triangolo (un numero reale compreso tra 0 e 180) e comunica se l'angolo è retto, acuto o ottuso.

2 di 7 Es05 Classificazione triangoli Scrivi un programma che richiede all'utente le misure dei tre lati di un triangolo, e comunica se il triangolo è equilatero, isoscele o scaleno. Es06 Ordinare tre valori Scrivi un programma che richiede all'utente tre numeri reali e li visualizza in ordine crescente. Esempio: Inserisci tre numeri: 8 4 10 I tre numeri in ordine sono: 4 8 10 Suggerimento: dati tre valori, esistono sei possibili modi in cui questi possono essere ordinati: abc, acb, bac, bca, cab, cba. Es07 Equazioni di secondo grado Scrivi un programma che consenta di risolvere equazioni di secondo grado a coefficienti reali, ax 2 +bx +c = 0. Il programma deve segnalare opportunamente il caso di equazione impossibile. Si ricorda che le due soluzioni sono date dalla formula:. L'equazione è impossibile se la quantità, detta delta, è negativa. Es08 Formula di Erone Dato un triangolo qualsiasi i cui lati misurano a, b e c, la formula di Erone afferma che l'area del triangolo è data da, dove p è il semiperimetro, ovvero la metà del perimetro del triangolo. Scrivi un programma che consenta di calcolare l'area di un triangolo date le misure dei lati. Prima di calcolare l'area, il programma deve verificare che le misure inserite dall'utente siano tutte positive, e che i tre lati formino effettivamente un triangolo ( in un triangolo ogni lato deve essere minore della somma degli altri due). In caso contrario, il programma deve richiedere nuovamente l'inserimento dei valori di input. Es09 N volte CIAO Scrivi un programma che richiede all'utente un numero intero positivo N, e visualizza N volte la stringa "Ciao!" sul video, dopodiché visualizza una sola volta la stringa "Arrivederci.". Esempio di esecuzione del programma: Quante volte vuoi ripetere la parola? 3 Ciao! Ciao! Ciao! Arrivederci. Es10 Pari e dispari Scrivi un programma che mostra i primi N numeri naturali, con N fornito dall'utente. Accanto a ogni numeri deve comparire la scritta "pari" o "dispari" come nel seguente esempio ( N = 5 ) :

3 di 7 Quanti numeri vuoi mostrare? 5 1 dispari 2 pari 3 dispari 4 pari 5 dispari FINE. Es11 Mostrare i divisori Scrivi un programma che mostra tutti i divisori di un numero naturale N fornito dall'utente. Ad esempio, se l'utente fornisce N=10, il programma stampa: I divisori di 10 sono: 1, 2, 5, 10. Es12 Conto alla rovescia Scrivi un programma che visualizza una sequenza decrescente di numeri interi, a partire dal numero fornito dall'utente e fino al valore 0. Al termine della sequenza il programma deve mostrare il messaggio FINE!. Ad esempio, se l'utente fornisce in input il valore 5, il programma stampa: 5, 4, 3, 2, 1, 0, FINE! Es13 Tabelline Scrivi un programma che mostra i primi K multipli di un numero interno N. I valori di N e K sono forniti dall'utente. Ad esempio, per N=3 e K=5 il programma deve mostrare il seguente output: 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 Es14 Somma dei primi N numeri naturali Scrivi un programma che richiede all'utente un numero intero positivo N, calcola la somma dei numeri naturali compresi tra 1 ed N. Ad esempio, se l'input è N=5, l'output è 1+2+3+4+5 = 15. Es15 Fattoriale Dato un numero naturale N, si definisce "fattoriale di N" il prodotto di tutti i numeri naturali compresi tra 1 ed N stesso. Ad esempio, il fattoriale di 5 è 120, poiché 120=1*2*3*4*5. Scrivi un programma che calcola il fattoriale del numero fornito dall'utente.

4 di 7 Es16 Quadrati dei dispari Scrivi un programma visualizza i quadrati dei primi N numeri dispari, e ne calcola la somma. Il valore di N è fornito dall'utente. Es17 Somma dei pari Scrivi un programma che calcola la somma di tutti i numeri pari compresi tra A e B, estremi inclusi. A e B sono due numeri interi positivi forniti dall'utente, con A < B. Esempio: INPUT: A=2, B=11; OUTPUT: 30. Es18 Numeri armonici Scrivi un programma che richiede all'utente un numero intero positivo N e calcola la somma dei reciproci dei primi N numeri naturali, ovvero: 1 + 1/2 + 1/3 +... + 1/N. In matematica, il numero razionale ottenuto in tal modo è detto n-esimo numero armonico. Ad esempio, il decimo numero armonico è: 1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + 1/8 + 1/9 + 1/10, circa pari a 2.93. Es19 Serie armonica alternata Scrivi un programma che richiede all'utente un numero intero positivo N e calcola la quantità: 1 1/2 + 1/3 1/4... +/- 1/N. Curiosità: al crescere di N, il numero ottenuto si avvicina sempre più al logaritmo naturale di 2. Es20 Numeri perfetti Un numero naturale si dice perfetto se è uguale alla somma dei suoi divisori propri (per divisore proprio intendiamo un divisore di N diverso da N stesso). Ad esempio, il numero 28 ha come divisori propri i numeri 1, 2, 4, 7 e 14, ed è un numero perfetto poiché 1 + 2 + 4 + 7 + 14 = 28. Scrivi un programma che richiede all'utente un numero e stabilisce se questo è perfetto oppure no. Curiosità: i numeri perfetti sono piuttosto rari. I primi numeri perfetti sono 6, 28, 496... qual'è il prossimo? Come si potrebbe modificare il programma in modo da mostrare tutti i numeri perfetti compresi tra 1 e 1.000.000.000? Es21 Numeri primi Un numero naturale si dice primo se è divisibile solo per 1 e per sè stesso. Scrivi un programma che stabilisce se un numero fornito dall'utente è primo oppure no. Suggerimento: è possibile usare una variabile per tenere traccia della presenza di divisori compresi tra 2 e n/2. Cerca di ottimizzare il programma in modo che venga effettuato il minor numero di operazioni possibile. Es22 Fizz Buzz In alcuni paesi, per insegnare ai bambini i multipli di tre e di cinque, si utlizza un gioco di gruppo chiamato "Fizz Buzz". I bambini si siedono in cerchio e devono contare ad alta voce, a turno, partendo da 1, sostituendo ognu multiplo di tre con la parola "Fizz", ogni multplo di 5 con la parola "Buzz" e ogni multiplo sia di tre che di cinque con la parola "Fizz Buzz". Ad esempio, se si decide di contare fino a 15, il

5 di 7 primo bambino dice "1", il secondo bambino dice "2", il terzo bambino dice "fizz", il quarto dice "4" e così via. Scrivi un programma che mostra la sequenza corretta fino al numero N fornito dall'utente. Ad esempio, se N=16 il programma mostra: 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz, 16, Es23 Potenze Scrivi un programma che calcola la potenza a b, dove a e b sono due interi positivi forniti dall'utente. Esempio: a = 2, b = 3 --> output = 8. Es24 Media aritmetica Scrivi un programma che richiede all'utente N numeri reali, e mostra la media aritmetica dei numeri inseriti. Il valore di N è deciso preventivamente dall'utente. Importante: per raccogliere i valori inseriti dall'utente, usa una variabile adatta a contenere numeri con la virgola. Esempio di esecuzione del programma: Quanti numeri vuoi inserire? 3 Dammi un numero(1): 5 Dammi un numero(2): 6.5 Dammi un numero(3): 6 La media e' 5.83333 Es25 Controllo dell'input Scrivi un programma che richiede all'utente un numero MAGGIORE DI 100 e PARI. Se il numero inserito non e' valido, il programma deve richiederlo nuovamente. Se il numero e' valido, il programma termina. Risolvi l'esercizio usando un ciclo do-while. Esempio di esecuzione: Inserisci un numero pari e maggiore di 100: 20 Hai inserito un numero non valido Inserisci un numero pari e maggiore di 100: 103 Hai inserito un numero non valido Inserisci un numero pari e maggiore di 100: 102 Bravo. Fine.

6 di 7 Es26 Controllo dell'input (2) Un distributore di merendine accetta solo monete da 5, 10, 20 e 50 centesimi. Scrivi un programma che richiede il valore di una moneta, e la accetta solo se la moneta ha un valore valido. Risolvi l'esercizio usando un ciclo do-while. Esempio di esecuzione: Inserisci una moneta: 30 Moneta non valida Inserisci una moneta: 55 Moneta non valida Inserisci una moneta: 20 MONETA ACCETTATA. Fine. Es27 Conto alla rovescia con ciclo do-while Riscrivi il programma del conto alla rovescia usando un ciclo do-while al posto del ciclo while. Es28 Distrubutore di bibite con resto Un distributore di bibite permette di acquistare le seguenti bevande: 1. bottiglietta d'acqua ( costo: 50 cent ) 2. bibite in lattina ( costo: 80 cent ) 3. bibite in bottiglietta ( costo: 1 euro = 100 cent ) Il distrubitore accetta tutte le monete (1 cent,5 cent, 10 cent, 20 cent, 50 cent, 1 euro, 2 euro). Il funzionamento del distributore è il seguente: L'utente seleziona il prodotto ( 1=acqua, 2=lattina, 3=bottoglia ) Il distributore richiede monete finch` l'importo inserito non risulta maggiore o uguale all'importo richiesto. Terminato l'inserimento delle monete, il distributore eroga il prodotto e visualizza sul display il resto da ritirare. Scrivi un programma C++ che simula il funzionamento del distributore. Note: per simulare l'inserimento delle monete da 1 e 2 euro, l'utente del programma inserisce i valori 100 e 200. Anche il resto viene mostrato in centesimi (ad esempio, il resto di 1 euro e 20 cent viene mostrato come 120 ). Es28 Ciclo annidato - determinazione output Determina l'output dei seguenti frammenti di programma che contengono cicli annidati: // A) int i=0,j,r=3,c=4; while( i<r ) { j=0; while ( j<c ) { cout << i+j; j=j+1; cout << "\n"; i=i+1;

7 di 7 // B) int x=0,y=0; while( x<10 ) { y=0; while ( y<10 ) { if ( x<y ) cout << "+"; else cout << "-"; y=y+1; cout << "\n"; x=x+1; // C int r=1,c=1; while( r<=6 ) { c=1; while ( c<=r ) { cout << r; c=c+1; cout << "\n"; r=r+1;