a.a Codice corso: 21012

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "a.a Codice corso: 21012"

Transcript

1 Esercizio 1 Si acquisisca da tastiera una sequenza (a priori illimitata) di caratteri terminata da '\n'. Per poter acquisire ed elaborare anche eventuali caratteri di spaziatura, è necessario utilizzare il metodo cin.get(... ). Si controlli se nella sequenza le parentesi tonde sono correttamente annidate e bilanciate, cioè se sono tutte ordinatamente richiuse. Esempi: Sequenze corrette: ciao () (ciao)mondo ((ciao)(cia(o))(c(i)ao))(mond()o) Sequenze non corrette: cia)o c(iao ci(ao)mo(ndo ci(ao)m(ond(o)!! ciao(ci)ao)(mondo) Suggerimento: si tenga conto man mano di quante sono le parentesi già aperte, e si decida di conseguenza. Si arresti la scansione non appena si scopre che la sequenza è illegale, anche prima di arrivare alla fine (come succede, ad esempio, nel primo e nell'ultimo dei casi scorretti mostrati sopra; negli altri tre casi occorre invece arrivare alla fine della sequenza per poterla dichiarare scorretta). Pagina 1 di 17

2 int main( ) { int counter = 0; char c; cout << "\n Inserisci una sequenza di char: \n"; do { cin.get( c ); if ( c == '(' ) counter += 1; if ( c == ')' ) counter -= 1; while ( c!= '\n' && counter >= 0 ); if (counter!= 0) cout << "\n sequenza Scorretta! \n"; else cout << "\n sequenza Corretta! \n"; // end main Pagina 2 di 17

3 Esercizio 2 Scrivere un programma che legge da stdin un numero intero positivo n e stampa a video le prime n righe del triangolo di Floyd (un triangolo rettangolo che contiene tutti i numeri naturali disposti come segue). Ad esempio, per n=10 : La soluzione più immediata utilizza due cicli annidati. Si progetti, come esercizio di "elasticità espressiva", anche una soluzione che usa un solo ciclo. Variante (probabilmente a prima vista non banale) Si stampi il triangolo partendo dall'ultima riga (nell'es.: da 46): Pagina 3 di 17

4 int main( ) { int i, j, n, counter; do { cout << "\n Inserisci un numero positivo: "; cin >> n; while (n <= 0); counter = 1; for (i = 1; i <= n; ++i) { for (j = 1; j <= i; ++j) { cout << counter << " "; counter += 1; cout << endl; // end main Pagina 4 di 17

5 Alternativa con 1 solo ciclo per la stampa del triangolo int main( ) { int i, n, counter; do { cout << "\n Inserisciun numero positivo: "; cin >> n; while (n <= 0); counter = 1; // conteggia il numero di righe for (i = 1; i <= (n*(n+1))/2; ++i) { cout << i; if ( i == (counter*(counter+1))/2 ) { cout << "\n"; counter += 1; else { cout << " "; // end main Pagina 5 di 17

6 Variante con stampa del triangolo rovesciato int main( ) { int i, j, n, counter; do { cout << "\n Inserisci un numero positivo: "; cin >> n; while (n <= 0); counter = (n*(n+1))/2+1; for (i = n; i >= 1; i--) { counter = counter - i; cout << endl; for (j = 0; j < i; ++j) cout << counter + j << " "; cout << endl; // end main Pagina 6 di 17

7 Esercizio 3 (Costrutti iterativi + analisi di sequenze + Algoritmi) Si codifichi un programma C che legge dallo standard input una sequenza (di lunghezza arbitraria) di interi positivi terminata dal valore 0 e, al termine della sequenza, visualizza su standard output un messaggio che indica quante terne di numeri consecutivi diversi e pari sono contenute nella sequenza. Esempio: Le terne di numeri cercati sono 4. Si noti che uno o due numeri potrebbero appartenere a più di una terna e che lo 0 è un numero pari che potrebbe far parte di una terna valida. Pagina 7 di 17

8 #define SENTINELLA 0 int main(int argc, char *argv[]) { int cont = 0; // variabile usata per il conteggio delle terne // valide int prev2, prev1 = 1, cur = 1; // Le inizializzazioni di cur e prev1 a 1 sono innocue // perché impostate con valori positivi dispari. // cur,prev1,prev2: rappresentano rispettivamente il // valore corrente e i due precedenti int cond = 0; // variabile ausiliaria usata per comodità di // scrittura della condizione di riconoscimento di // una terna valida. cout << "\nseq. di int separati da spazi "; cout << " (termina con << SENTINELLA ")\n\n"; do { prev2 = prev1; prev1 = cur; cin >> cur; cond = (prev2 > 0 && prev1 > 0 && cur >= 0); cond = cond &&!(prev2==prev1 prev2==cur prev1==cur); cond = cond && (prev2 % 2==0 && prev1 % 2==0 && cur % 2==0); if (cond) { cont++; cout<<"( "<< prev2 <<", "<< prev1<<", "<< cur<< " )\n"; while ( cur!= SENTINELLA ); cout << "Le coppie di numeri cercati sono " << cont << "\n"; // end main Pagina 8 di 17

9 Esercizio 4 Scrivere un programma in linguaggio C che risolva il problema seguente. Leggere un polinomio di grado n a coefficienti reali e valutarlo in un dato punto x. Pagina 9 di 17

10 Idea di soluzione: Il primo modo che sicuramente si può individuare è quello di sostituire ad x un certo valore, valutare le diverse potenze di x e moltiplicare per il corrispettivo coefficiente accumulando man mano il risultato in una variabile. Si suppone di leggere i coefficienti del polinomio ordinatamente da quello di grado massimo a quello di grado nullo nelle celle di un vettore a partire dalla prima (cella 0). [3] [2] [1] [0] Es: n = 3, f(x) = 3x 3 + 5x 2 + 2x + 1 lo rappresento come V = < 1, 2, 5, 3 > Iniziando a leggere il polinomio dal termine noto, quindi dall ultimo elemento del vettore (avrà n+1 elementi) cioè dalla posizione n-esima, si ha: f(x) = anx n + an-1x n a1 x+ a0 = (anx n + (an-1x n (a1 x+ (a0)) )) es: f(x) = 3x 3 + 5x 2 + 2x + 1 = ((((1) + 2x)+ 5x 2 ) + 3x 3 ) Pagina 10 di 17

11 #define MAX_LEN 100 int main(int argc, char *argv[]) { float V[MAX_LEN]; float pot,f,x; int i,n; do { cout << "\ninserire il grado del polinomio, n = "; cin >> n; while ((n <= 0) (n >= MAX_LEN)); cout<<"\ninserire i coeff. del pol. V_" << n << " V_0: \n"; i = 0; do{ cin >> V[i]; i++; while (i<=n); cout << "\ninserire il valore in cui valutare il polinomio, x = "); cin >> x; f = 0; pot = 1; for (i = n; i >=0; i--) { f = f + V[i]*pot; pot = pot * x; cout << "\n f(" << x << ") = " << f << ".\n "; // end main Pagina 11 di 17

12 Un secondo metodo, più efficiente, che utilizza un minor numero di moltiplicazioni, consiste nell effettuare la valutazione secondo la seguente espressione: anx n + an-1x n a1 + a0 = ((((0*x+an)x + an-1)x + an-2)x + + a1)x + a0 3x 3 + 5x 2 + 2x + 1 = ((0x+3)x + 5)x + 2)x + 1 #define MAX_LEN 100 int main( ) { float V[MAX_LEN]; float f, x; int i, n; do { cout << "\n inserire il grado del polinomio, n = "; cin >> n; while ( n <= 0 n >= MAX_LEN ); cout<<"\n inserire i coeff. del pol. V_" << n << " V_0: \n"; i = 0; do{ cin >> V[i]; i++; while ( i <= n ); cout << "\n valore in cui valutare il polinomio,x = "; cin >> x; f = 0; for (i = 0; i <=n; i++) { f = f*x + V[i]; cout << "\n f(" << x << ") = " << f << ".\n "; // end main Pagina 12 di 17

13 Esercizio 5.1 Scrivere un programma che acquisisca una sequenza di 10 interi positivi e visualizzi l istogramma corrispondente, come illustrato di seguito. Variante: considerare anche valori numeri negativi o nulli. Element Value Histogram 0 19 ******************* 1 3 *** 2 15 *************** 3 7 ******* 4 11 *********** 5 9 ********* 6 13 ************* 7 5 ***** 8 17 ***************** 9 1 * Nota: #include <iomanip> int main () {... int a = 13, n = 4;... cout << setw(n) << a << setw(n) << a+1;... cout << setw(7) << a; riporta sul monitor il valore della variabile a utilizzando almeno 7 spazi. In altre parole: cout << setw(7) << a; scriverà sul monitor 13 Diversamente: cout << setw(5) << a; scriverebbe sul monitor 13 Mentre: cout << a; scriverebbe sul monitor 13 Pagina 13 di 17

14 #include <iomanip> #define SIZE 10 int main( ) { int i, vett[size]; cout << "\n Inserisci 10 numeri interi positivi: "; for ( i = 0 ; i < SIZE ; i++ ) { do { cin >> vett[i]; while (vett[i] <= 0); int rigo, max = vett[0]; for ( i = 1 ; i < SIZE ; i++ ) { // Calcola max di vett[] if ( max < vett[i] ) max = vett[i]; cout << "Element" << " " << "Value" << " "; cout << "Histogram" << endl; for ( rigo = 0; rigo < SIZE; rigo = rigo + 1 ) { cout << setw(7) << rigo << " "; cout << setw(5) << vett[rigo] << " "; for ( i = 0 ; i < vett[rigo]; i++ ) { cout << "*"; cout << endl; // end main Pagina 14 di 17

15 Esercizio 5.2 Scrivere un programma che visualizzi (come illustrato in calce) i valori di un array di 10 interi qualsiasi (cioè anche negativi o nulli). 13 * 12 * * 11 * * * 10 * * * 9 * * * * 8 * * * * * 7 * * * * * * 6 * * * * * * 5 * * * * * * 4 * * * * * * * 3 * * * * * * * 2 * * * * * * * 1 * * * * * * * * * * -2 * * -3 * Pagina 15 di 17

16 #include <iomanip> #define SIZE 10 int main( ) { int vett[size] = { 13, -3, 9, 7, 11, 8, 4, 1, 12, -2 ; int i, rigo, max = vett[0], min = vett[0]; for ( i = 1 ; i < SIZE ; i++ ) { // Calcola max e min di vett[] if ( max < vett[i] ) max = vett[i]; if ( min > vett[i] ) min = vett[i]; if (min > 0) min = 0; cout << endl; for ( rigo = max; rigo >= min ; rigo-=1 ) { cout << setw(3) << rigo << " "; for ( i = 0 ; i < SIZE ; i++ ) { if ( ( rigo > 0 && vett[i] >= rigo ) ( rigo < 0 && vett[i] <= rigo ) ) cout << " * "; else { if (rigo == 0) cout << "-----"; else cout << " "; cout << endl; cout << endl << setw(5) << " "; for ( i = 0 ; i < SIZE ; i++ ) cout << setw(3) << vett[i] << " "; cout << endl << endl << setw(5) << " "; for ( i = 0 ; i < SIZE ; i++ ) cout << setw(3) << i << " "; cout << endl; // end main Pagina 16 di 17

17 Pagina 17 di 17

Stesura informale dell algoritmo: (lasciata come esercizio)

Stesura informale dell algoritmo: (lasciata come esercizio) ESERCIZIO 1 Dato un numero positivo Q, scrivere la sua rappresentazione in binario naturale, applicando il tradizionale algoritmo per divisioni successive (l output sarà inteso corretto se letto da destra

Dettagli

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

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo! Esercizio 1 Scrivere un programma che acquisisca da tastiera una sequenza di caratteri terminata da! e riporti sul monitor una sequenza derivata dalla precedente secondo le regole dell alfabeto farfallino

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti

Dettagli

Nota: Si consideri il valore di pi greco.

Nota: Si consideri il valore di pi greco. ESERCIZIO 1 (Costrutti condizionali + Casting delle variabili) Realizzare un programma che, dato in ingresso un angolo specificato in gradi come un numero intero, fornisca la relativa conversione in radianti.

Dettagli

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 2 Ing. Gian Enrico Conti Dott. Michele Zanella

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 2 Ing. Gian Enrico Conti Dott. Michele Zanella INFORMATICA A Titolo presentazione sottotitolo A.A. 2017-18 Milano, XX mese 20XX Laboratorio n 2 Ing. Gian Enrico Conti Dott. Michele Zanella Info Logistiche Contatti: gianenrico.conti@mail.polimi.it michele.zanella@polimi.it

Dettagli

Per fare riferimento ad un elemento, specificare il nomedel vettore. numerodi posizione(indice)

Per fare riferimento ad un elemento, specificare il nomedel vettore. numerodi posizione(indice) Vettore(Array monodimensionale) Sequenza di posizioniconsecutive (o locazioni di memoria) che vengono chiamate elementi del vettore Gli elementi hanno tutti lo stesso nomee sono tutti dell stesso tipo

Dettagli

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 2 Dott. Michele Zanella Ing. Gian Enrico Conti

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 2 Dott. Michele Zanella Ing. Gian Enrico Conti INFORMATICA A Titolo presentazione sottotitolo A.A. 2018-19 Milano, XX mese 20XX Laboratorio n 2 Dott. Michele Zanella Ing. Gian Enrico Conti Info Logistiche Contatti: michele.zanella@polimi.it (Squadra

Dettagli

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include

Dettagli

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

CL 3 - Es_01.cpp. #include <iostream> using namespace std; Problema: Individua gli errori, sintattici, lessicali e logici, presenti nel seguente programma affinché risolva il problema: "Visualizzare il prodotto di due valori interi inseriti da tastiera ". (Riscrivere

Dettagli

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

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

del Linguaggio C Istruzioni di iterazione

del Linguaggio C Istruzioni di iterazione Istruzioni i Iterative ti del Linguaggio C Istruzioni di iterazione Le istruzioni di iterazione forniscono strutture di controllo che esprimono la necessità di ripetere una certa istruzione durante il

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Ingegneria Meccanica Esercitazione 5, 6 novembre 2007 versione 10 novembre 2007 Da Esercitazione 3 (I) 5. Scrivere un programma che, acquisito da stdin un valore intero (int)

Dettagli

Esercitazione 6. Array

Esercitazione 6. Array Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione

Dettagli

Corso di Fondamenti di Informatica Classi di istruzioni 2

Corso di Fondamenti di Informatica Classi di istruzioni 2 Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da

Dettagli

Linguaggio C++ 5. Strutture cicliche

Linguaggio C++ 5. Strutture cicliche 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) Linguaggio C++ 5 Strutture cicliche Linguaggio C++ 5 1 Strutture cicliche Utilizzate per ripetere un certo numero di volte

Dettagli

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

Concetto di stream. c i a o \0. c i a o \0. c i a o \0 Concetto di stream Uno stream è un flusso di byte che permette al programma di comunicare con l esterno (es. con periferiche di input/output) c i a o \0 c i a o \0 c i a o \0 Stream di uscita standard

Dettagli

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

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

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

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo! Esercizio 1 Scrivere un programma che acquisisca da tastiera una sequenza di caratteri terminata da! e riporti sul monitor una sequenza derivata dalla precedente secondo le regole dell alfabeto farfallino

Dettagli

Dal problema al programma

Dal problema al programma Dal problema al programma Area del rettangolo Rettangolo Acquisisci base Acquisisci altezza Calcola Area Visualizza Area Fine I I O Il programma acquisisce: il valore della base il valore della altezza

Dettagli

a.a Codice corso: 21012, HOMEWORKS

a.a Codice corso: 21012, HOMEWORKS HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array 2 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0.

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

Per implementare l Algoritmo si devono usare 2 coppie di indici :

Per implementare l Algoritmo si devono usare 2 coppie di indici : Ordinamento di una per sostituzione Ordinamento di una per sostituzione Per ottenere un ordinamento crescente di una per Sostituzione, l algoritmo è identico a quello per l ordinamento di un vettore. Si

Dettagli

Algoritmo di ordinamento per sostituzione. Esempio : dato l array :

Algoritmo di ordinamento per sostituzione. Esempio : dato l array : Algoritmo di ordinamento per sostituzione Per ottenere un ordinamento crescente con l algoritmo di ordinamento per Sostituzione si confronta l elemento nella prima posizione con gli elementi nelle posizioni

Dettagli

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici.

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici. Operatori di incremento e decremento ++ e -- Esempi y=x++ il contenuto della variabile x viene inizialmente usata per l assegnazione y, e solo dopo incrementata y=--x il contenuto della variabile x viene

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

INFORMATICA. Strutture iterative

INFORMATICA. Strutture iterative INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale

Dettagli

Università di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando

Università di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando Università di Roma Tor Vergata L6-1 iterazione: struttura di controllo per ripetere più volte uno stesso comando comandi iterativi C++: while, do-while, for while: sintassi while (espressione) comando;

Dettagli

COMANDI ITERATIVI. Ivan Lanese

COMANDI ITERATIVI. Ivan Lanese COMANDI ITERATIVI Ivan Lanese Argomenti Comando while Comando do while Comando for Comando while: reminder while (condizione) comando; Semantica: la condizione viene testata: se è vera, viene eseguito

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Ingegneria Meccanica Esercitazione 4, 30 ottobre 2007 versione 3 novembre 2007 Esercizi preliminari (I) 1. Scrivere un programma che, acquisita da stdin un singolo valore intero

Dettagli

I tipi strutturati e i record in C++

I tipi strutturati e i record in C++ I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi

Dettagli

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

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia Informatica A (per gestionali) A.A. 2004/2005 Esercizi C e diagrammi a blocchi Preparazione prima prova intermedia Indice 1 Array... 3 1.1 Filtraggio...3 1.2 Trasformazione...3 2 Struct e array... 5 2.1

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

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

#include <iostream> using namespace std; // int main ( ) { // --- Dichiarazione delle variabili int N ; float A, Pot; Dati A e N (A reale >0 e N intero >=0) comunica il valore di A elevato alla N. CL 3 - Es_11.cpp Variabili di Input: N di tipo intero, A di tipo reale Variabili di Output: Pot di tipo reale Variabili di

Dettagli

INFORMATICA. Vettori e matrici in C++ A cura dell Ing. Claudio Traini

INFORMATICA. Vettori e matrici in C++ A cura dell Ing. Claudio Traini INFORMATICA Vettori e matrici in C++ A cura dell Ing. Claudio Traini Vettori Il vettore è una collezione di variabili tutte dello stesso tipo (detto appunto tipo) di lunghezza prefissata. Questa collezione

Dettagli

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione.

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione. Alcuni Soluzioni ESERCIZIO 1 Data una sequenza di interi di dimensione dim, determinare se esistono esattamente cont occorrenze del valore val, utilizzando per questo una variabile booleana check. Stato

Dettagli

Lab 04 Programmazione Strutturata"

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate

Dettagli

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

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento b) dereferenziazione e

Dettagli

3 Costrutti while, for e switch

3 Costrutti while, for e switch Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while e for e switch. I costrutti per costruire cicli in C sono il while (e la variante

Dettagli

Esercizio 1: parole nel testo

Esercizio 1: parole nel testo Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 6 Esercitazione: 11 novembre 2005 Esercizi di riepilogo in preparazione alla prima prova intermedia Problema (tratto da

Dettagli

INTRODUZIONE AL C++ CLASSIFICAZIONE

INTRODUZIONE AL C++ CLASSIFICAZIONE INTRODUZIONE AL C++ 1 CLASSIFICAZIONE LINGUAGGI CHE OPERANO SU DATI OMOGENEI: FORTRAN77, LINGUAGGIO C, LINGUAGGIO C++, PASCAL: operano solo su DATI OMOGENEI (integer, float, double), senza classi e puntatori;

Dettagli

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Un programma

Dettagli

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

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde vers.0 in lavorazione Docente SAFFI FABIO Contenuti Struttura del file sorgente...2 Organizzazione della directory di lavoro...2 Esercizi sulle funzione

Dettagli

Esercizi. Filtraggio

Esercizi. Filtraggio Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)

Dettagli

C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.

C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Non sappiamo a priori quante variabili dobbiamo definire per contenere gli interi.

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1

Dettagli

Corso di Fondamenti di Informatica Algoritmi su array / 1

Corso di Fondamenti di Informatica Algoritmi su array / 1 Corso di Informatica Algoritmi su array / Anno Accademico 200/20 Francesco Tortorella Algoritmi su array Quando si usano gli array, si eseguono frequentemente alcune operazioni tipiche : inizializzazione

Dettagli

STRUTTURA DI UN ALGORITMO 1) LIBRERIE. 2) EVENTUALI COMMENTI // testo

STRUTTURA DI UN ALGORITMO 1) LIBRERIE. 2) EVENTUALI COMMENTI // testo STRUTTURA DI UN ALGORITMO 1) LIBRERIE #include #include include le funzioni di input/output include funzioni di base (pausa...) 2) EVENTUALI COMMENTI // testo 3) MAIN (corpo dell'algoritmo

Dettagli

1 - Visualizzare una scritta sullo schermo.

1 - Visualizzare una scritta sullo schermo. 1 - isualizzare una scritta sullo schermo. visualizza ciao cout >

Dettagli

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe Corso di Fondamenti di Informatica Tipi strutturati: Stringhe Anno Accademico Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri

Dettagli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 Riepilogo sulla ricorsione Un algoritmo o una funzione matematica sono definiti ricorsivamente quando possono essere definiti facendo riferimento a se stessi. Si tratta cioè di un applicazione del principio

Dettagli

Cicli annidati ed Array multidimensionali

Cicli annidati ed Array multidimensionali Linguaggio C Cicli annidati ed Array multidimensionali Cicli Annidati In C abbiamo 3 tipi di cicli: while(exp) { do { while(exp); for(exp;exp;exp3) { Cicli annidati: un ciclo all interno del corpo di un

Dettagli

IL COSTRUTTO ITERAZIONE 2

IL COSTRUTTO ITERAZIONE 2 IL COSTRUTTO ITERAZIONE 2 Il costrutto iterativo e la potenza di calcolo Il costrutto iterativo (detto anche ciclo) viene utilizzato quando un istruzione (o un gruppo di istruzioni) deve essere eseguita

Dettagli

ESERCIZI DI PROGRAMMAZIONE C/C++

ESERCIZI DI PROGRAMMAZIONE C/C++ 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

Dettagli

Ing. Lorenzo Vismara

Ing. Lorenzo Vismara Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&&#2! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)&#7& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#

Dettagli

Elementi di C++ di base

Elementi di C++ di base Elementi di C++ di base Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 10 ottobre, 2001 Gino Perna Esempi di semplici programmi in C++ Il programma più semplice consiste

Dettagli

#include<iostream > #include<cstdlib> #include<iomanip> // per setfill(...),setw(...),setprecision(...)

#include<iostream > #include<cstdlib> #include<iomanip> // per setfill(...),setw(...),setprecision(...) Esercizio 1 Può un neonato vivere per 1 miliardo di secondi? Scrivere un programma C++ in grado di visualizzare il numero di anni compiuti da un neonato dopo 1 miliardo di secondi, facendo uso di variabili

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 7 Iterazioni nei programmi:definite e indefinite Tre costrutti: While Do...While For Esempi Istruzioni di iterazione Le istruzioni iterative permettono di ripetere

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

STRUTTURE DI CONTROLLO DEL C++

STRUTTURE DI CONTROLLO DEL C++ STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto

Dettagli

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di

Dettagli

IL COSTRUTTO SEQUENZA

IL COSTRUTTO SEQUENZA IL COSTRUTTO SEQUENZA La programmazione strutturata Le istruzioni sono scritte una di seguito all altra nell ordine in cui vogliamo che siano interpretate dal compilatore e poi eseguite. Non sono contemplate

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Controllo >> Sommario Sommario Ricapitolazione Alcune

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Esercizi C su array e matrici

Esercizi C su array e matrici Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Dettagli

3 Costrutti while, for e switch

3 Costrutti while, for e switch Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante

Dettagli

INFORMATICA Prof. Cassano

INFORMATICA Prof. Cassano Titolo presentazione sottotitolo INFORMATICA Prof. Cassano A.A. 2017-18 Milano, XX mese 20XX Laboratorio n 1-Soluzioni Ing. Gian Enrico Conti Sadegh Astaneh, Ph.D. es1 Scrivere un programma che, dati due

Dettagli

Fondamenti di Informatica A. A. 2018/19

Fondamenti di Informatica A. A. 2018/19 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2018/19 AlgoBuild: Strutture Iterative e Selettive OUTLINE Blocco condizionale (Struttura selettiva IF - IF/ELSE) Esempi Cicli a condizione iniziale

Dettagli

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

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono

Dettagli

Strutture di controllo in C++

Strutture di controllo in C++ Strutture di controllo in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Il controllo: selezione Spesso la sequenza delle istruzioni non e prevedibile a priori ma dipende strettamente dalle configurazioni

Dettagli

Esercizio 1 (15 punti)

Esercizio 1 (15 punti) Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind

Dettagli

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore.

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore. Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei vettori (ingl., array). La dichiarazione di un vettore di elementi omogenei in C avviene grazie

Dettagli

Variabili e input/ Alessandra Giordani Lunedì 18 marzo

Variabili e input/ Alessandra Giordani Lunedì 18 marzo Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile

Dettagli

Esame di Informatica Generale 6 CFU 25 Giugno 2010 Professori: Fiorino, Mazzei

Esame di Informatica Generale 6 CFU 25 Giugno 2010 Professori: Fiorino, Mazzei Informatica Generale 6 CFU 25/06/2010 1/6 Esame di Informatica Generale 6 CFU 25 Giugno 2010 Professori: Fiorino, Mazzei Docente Risultati Scritto Orali Fiorino Mazzei Martedì pv (sito docente) Me 30/06/2010

Dettagli

Esempi comparati while, do...while

Esempi comparati while, do...while Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ PRIMA LEZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ PRIMA LEZIONE INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ PRIMA LEZIONE ALGORITMO SEQUENZA FINITA DI OPERAZIONI ISTRUZIONE OPERAZIONE ESEGUIBILE DALLA MACCHINA LINGUAGGIO INSIEME DI SIMBOLI E REGOLE CHE PERMETTONO DI COMUNICARE

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 19 febbraio 2013 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

a.a Codice corso: 21012, 22010

a.a Codice corso: 21012, 22010 ESERCIZIO 1 Scrivere un sotto-programma in linguaggio C++ che ricevuta una matrice quadrata come parametro restituisca al chiamante un valore booleano indicante se la matrice è simmetrica oppure no. Scrivere

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()

Dettagli

Le strutture di controllo in C++

Le strutture di controllo in C++ Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore.

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore. Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei vettori (ingl., array). La dichiarazione di un vettore di elementi omogenei in C avviene grazie

Dettagli

Esercizio 1 Soluzione

Esercizio 1 Soluzione Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 06 Array Lab06 1 Esercizio 1 Creare

Dettagli

Manualistica 3 Le strutture di controllo

Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di

Dettagli