Strutture di controllo in C++

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Strutture di controllo in C++"

Transcript

1 Strutture di controllo in C++ Fondamenti di Informatica R. Basili a.a

2 Il controllo: selezione Spesso la sequenza delle istruzioni non e prevedibile a priori ma dipende strettamente dalle configurazioni dei dati di un problema: Se A<B Allora Max B Altrimenti Max A Somma 0 Leggi N Per N volte Leggi X Somma Somma + X Stampa Somma

3 Il controllo: selezione (2) Controllare le sequenze di istruzioni significa modificare il loro ordinamento totale Se A<B Allora Max B Altrimenti Max A

4 Il controllo: selezione (2) Controllare le sequenze di istruzioni significa modificare il loro ordinamento totale Se A<B Allora Max B Altrimenti Max A Confronta A e B Max A Max B

5 Il controllo: selezione (2) Controllare le sequenze di istruzioni significa modificare il loro ordinamento totale Se A<B Allora Max B Altrimenti Max A A B Max A Confronta A e B A < B Max B

6 Il controllo: selezione (2) Controllare le sequenze di istruzioni significa modificare il loro ordinamento totale Confronta A e B Se A<B Allora Max B Altrimenti Max A A B Max A Confronta A e B A < B Max B Max A Max B

7 Il controllo: selezione (2) Controllare le sequenze di istruzioni significa modificare il loro ordinamento totale Confronta A e B Se A<B Allora Max B Altrimenti Max A A B Max A Confronta A e B A < B Max B Se A<B Max A sempre Max B

8 Il controllo: selezione (2) Controllare le sequenze di istruzioni significa modificare il loro ordinamento totale Confronta A e B Se A<B Allora Max B Altrimenti Max A A B Max A Confronta A e B A < B Max B Se A<B Max A sempre Max B

9 Il controllo: selezione (2) Controllare le sequenze di istruzioni significa modificare il loro ordinamento totale Confronta A e B Se A<B Allora Max B Altrimenti Max A A B Max A Confronta A e B A < B Max B Se A<B Max A sempre Max B

10 Il controllo: selezione (3) Se A<B Allora Max B Altrimenti Max A Confronta A e B Se A<B Max A sempre Max B Confronta A e B A B A < B Max A Max B

11 Il controllo: selezione (3) Se A<B Allora Max B Altrimenti Max A Confronta A e B Confronta A e B A B A < B Max A Max B Se A<B Max A falso A<B vero sempre Max B Max A Max B

12 Il controllo condizionale in C++ int a, b, max; if( a < b ) max = b; else max = a;

13 Il controllo condizionale in C++ int a, b, max; if( a < b ) max = b; else max = a; MOV BX B MOV AX A CMP AX B JL TRUE MOV MAX AX JMP ENDIF TRUE MOV MAX BX ENDIF...

14 Uso dell istruzione IF vedi esempio programma UsoIf.cpp Domande: Elencare variabili, espressioni letterali e costanti nel programma Determinare il numero di operazioni nel caso di un input stream di N caratteri

15 Il controllo condizionale in C++ int a = 1, b = 2, c = 23, d = 34, max; if( a < b c == d ) { b = c + d; cout << b; } else { max = a; cout << max + 1; }

16 Il controllo condizionale in C++ int a = 2, b = 2, c = 23, d = 34, max; if( a < b c == d ) { b = c + d; cout << b; } else { max = a; cout << max + 1;}

17 Il controllo condizionale in C++ int a = 10, b = 2, c = 34, d = 34, max; if( a < b c == d ) { b = c + d; cout << b; } else { max = a; cout << max + 1;}

18 Il controllo condizionale in C++ int a = 10, b = 2, c = 34, d = 34, max; if( a < b c == d ) { b = c + d; cout << b; } else { max = a; cout << max + 1;}

19 Il controllo condizionale in C++ int a = 10, b = 2, c = 34, d = 34, max; if( a < b && c == d ) { b = c + d; cout << b; } else { max = a; cout << max + 1;}

20 Il controllo: iterazione Somma 0 Leggi N Per N volte Leggi X Somma Somma + X Stampa Somma Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma + X I I+1 Stampa Somma

21 Il controllo: iterazione Somma 0 Leggi N Per N volte Leggi X Somma Somma + X Stampa Somma Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma + X I I+1 Stampa Somma

22 Il controllo: iterazione (2) Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma + X I I+1 Stampa Somma

23 Il controllo: iterazione (2) Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma + X I I+1 Stampa Somma

24 Il controllo: iterazione (2) Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma + X I I+1 Stampa Somma MOV SM 0 MV AX SM Leggi N MOV CX 0 CICLO CMP CX N JGE ENDCL Leggi X ADD AX X INC CX JMP CICLO ENDCL MOV SM AX

25 Il controllo: iterazione (2) Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma + X I I+1 Stampa Somma MOV SM 0 MV AX SM Leggi N MOV CX 0 CICLO CMP CX N JGE ENDCL Leggi X ADD AX X INC CX JMP CICLO ENDCL MOV SM AX

26 Il controllo: iterazione (2) Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma + X I I+1 Stampa Somma MOV SM 0 MV AX SM Leggi N MOV CX 0 CICLO CMP CX N JGE ENDCL Leggi X ADD AX X INC CX JMP CICLO ENDCL MOV SM AX

27 Il controllo: iterazione (2) Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma + X I I+1 Stampa Somma MOV SM 0 MV AX SM Leggi N MOV CX 0 CICLO CMP CX N JGE ENDCL Leggi X ADD AX X INC CX JMP CICLO ENDCL MOV SM AX

28 Il controllo: iterazione (2) Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma + X I I+1 Stampa Somma MOV SM 0 MV AX SM Leggi N MOV CX 0 CICLO CMP CX N JGE ENDCL Leggi X ADD AX X INC CX JMP CICLO ENDCL MOV SM AX

29 L Iterazione in C++ Somma 0 Leggi N I 0 Finche (I < N) Leggi X Somma Somma+X I I+1 Stampa Somma int Somma=0,I=0, N, X; cin >> N; while ( I < N ) { cin >> X; Somma = Somma + X; I = I + 1; } cout << Somma;

30 L Iterazione in C++ (2) int Somma=0,I=0, N, X; cin >> N; while ( I < N ) { cin >> X; Somma = Somma+X; I = I + 1; } cout << Somma; int Somma=0,I=0, N, X; cin >> N; while ( I < N ) { cin >> X; Somma += X; I++; } cout << Somma;

31 Sentinelle Le variabili che controllano un ciclo iterativo sono variabili di controllo spesso dette sentinelle int i, a, N; // lettura di N i=2; a=1; while( i<=n ) { a=a*i; i++; }

32 Sentinelle (2) Un errato uso delle sentinelle e tra i maggiori responsabili di errori nella programmazione di cicli iterativi int i, a; // lettura di N i=0; a=1; while( i<=n ) { a=a*i; i+=n; } Se N in input e pari a 0?

33 L Iterazione in C++: Uso del for int Somma=0,I=0, N, X; cin >> N while (I<N) { cin >> X; Somma += X; I++; } cout << Somma; int Somma=0, I, N, X; cin >> N for ( I=0; I<N; I++) { cin >> X; Somma += X; } cout << Somma;

34 L Iterazione: Uso del do while int Somma=0,I=0, N, X; cin >> N while (I<N) { cin >> X; Somma += X; I++; } cout << Somma; int Somma=0, I=0, N, X; cin >> N do { cin >> X; Somma += X; I++; } while(i<n); cout << Somma;

35 L Iterazione: Uso del do while

36 L Iterazione: Uso del do while Somma = N i= 1 x i

37 L Iterazione: Uso del do while Somma = N i= 1 Se (N==0) => Somma=0 x i

38 L Iterazione: Uso del do while Somma = N i= 1 x i Se (N==0) => Somma=0 OSS: do while È inapplicabile!!

39 L Iterazione: Uso del do while Somma = N i= 1 x i Se (N==0) => Somma=0 OSS: do while È inapplicabile!! int Somma=0,I=0, N, X; cin >> N while (I<N) { cin >> X; Somma += X; I++; } cout << Somma;

40 L Iterazione: Uso del do while Somma = N i= 1 x i Se (N==0) => Somma=0 OSS: do while È inapplicabile!! int Somma=0,I=0, N, X; cin >> N while (I<N) { cin >> X; Somma += X; I++; } cout << Somma; int Somma=0, I=0, N, X; cin >> N do { cin >> X; Somma += X; I++; } while(i<n); cout << Somma;

41 L Iterazione: Uso del do while Somma = N i= 1 x i Se (N==0) => Somma=0 OSS: do while È inapplicabile!! int Somma=0,I=0, N, X; cin >> N while (I<N) { cin >> X; Somma += X; I++; } cout << Somma; int Somma=0, I=0, N, X; cin >> N do { cin >> X; Somma += X; I++; } while(i<n); cout << Somma;

42 L Iterazione: Uso del do while Somma = N i= 1 x i Se (N==0) => Somma=0 OSS: do while È inapplicabile!! int Somma=0,I=0, N, X; cin >> N while (I<N) { cin >> X; Somma += X; I++; } cout << Somma; int Somma=0, I=0, N, X; cin >> N do { cin >> X; Somma += X; I++; } while(i<n); cout << Somma;

43 Esercizi Proposti Scrivere un programma C++ che legga in ingresso N numeri interi (con N fornito dall utente) e ne calcoli: il massimo valore, il minimo valore, la somma, il prodotto (operatore ) e il valor medio

44 Esercizi proposti (2) Scrivere un programma C++ che calcoli lo sviluppo in serie di Taylor della funzione sen(x) nell intorno dello 0. Scrivere un programma che calcoli il fattoriale n! di un numero intero non negativo n Scrivere un programma C++ che dati due punti del piano cartesiano (x 0,y 0 )(x 1,y 1 ) calcoli la lunghezza del segmento che li unisce

45 Esercizi proposti (3) Scrivere un programma che utilizzi la formula di Hoerner per il calcolo di un polinomio di grado N Scrivere un programma che calcoli il valore di un polinomio, p(x), e della sua derivata prima, p (x), per un certo valore della x. Scrivere un programma che dato un polinomio p(x) e due estremi di un intervallo [a,b] ne calcoli l integrale definito.

Programmazione A.A Fondamenti di programmazione. ( Lezione IX ) Notazione Lineare Strutturata. Prof. Giovanni Gallo Dr.

Programmazione A.A Fondamenti di programmazione. ( Lezione IX ) Notazione Lineare Strutturata. Prof. Giovanni Gallo Dr. Programmazione A.A. 2002-03 I Fondamenti di programmazione ( Lezione IX ) Notazione Lineare Strutturata Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di

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

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p. Pseudo codice Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Pseudo codice, Paolo Bison, A.A. 2003-04, 2003-09-30 p.1/38 Pseudo codice linguaggio testuale mix di linguaggio naturale

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

Iterazione determinata e indeterminata

Iterazione determinata e indeterminata Iterazione determinata e indeterminata Le istruzioni iterative permettono di ripetere determinate azioni più volte: un numero di volte fissato = iterazione determinata, Esempio: fai un giro del parco 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

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

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

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

Strutture di Controllo

Strutture di Controllo Strutture di Controllo Istruzioni condizionali e cicli http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Fino ad ora, il nostro

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

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

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

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo

Dettagli

Le funzioni in C++ Fondamenti di Informatica. R. Basili. a.a

Le funzioni in C++ Fondamenti di Informatica. R. Basili. a.a Le funzioni in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Uso delle funzioni Un esempio Dichiarazione e Definizione Uso dei parametri Passaggio per valore Passaggio per

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica per la Programmazione Lezione 14 Sistema di Dimostrazioni per le Triple di Hoare Comando Iterativo A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2017/18 pag. 260 Semantica

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

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

Lezione 3 Strutture di controllo

Lezione 3 Strutture di controllo Lezione 3 Strutture di controllo Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica per la Comunicazione Digitale A.A. 2017-2018 Sequenza Sequenza

Dettagli

Introduzione agli Algoritmi

Introduzione agli Algoritmi Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione

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

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

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

Problema. Scrivere un programma PHP che prelevato un codice da una FORM verifica se tale codice è un numero.

Problema. Scrivere un programma PHP che prelevato un codice da una FORM verifica se tale codice è un numero. Cicli WHILE in PHP Problema Scrivere un programma PHP che prelevato un codice da una FORM verifica se tale codice è un numero. In particolare, stampare un messaggio di errore se la stringa contenuta nella

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& &

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& & Programmazione+1+ + Mario&Pavone& & Dipar/mento+di+Matema/ca+ed+Informa/ca+ Università+degli+Studi+di+Catania+ mpavone@dmi.unict.it+ hap://www.dmi.unict.it/mpavone/+ Codifica dell algoritmo Linguaggio

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

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

Fondamenti Teorici e Programmazione

Fondamenti Teorici e Programmazione Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Istruzioni Iterative Istruzioni do-while e break 2 Istruzione While - Repetita Sintassi guardia del ciclo

Dettagli

Informatica A aa Seconda prova in itinere. Esempi di esercizi possibili

Informatica A aa Seconda prova in itinere. Esempi di esercizi possibili Informatica A aa 2002-03 Seconda prova in itinere Esempi di esercizi possibili Struttura della prova-parte 1 Fortran: comprensione di un programma dato (semplice) Reti: domanda teorica (per verificare

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

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

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

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI IF Ogni linguaggio di programmazione presenta almeno una struttura di controllo decisionale. La sintassi del linguaggio C è la seguente. if ()

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

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

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Schemi di programma: ricerca e verifica

Schemi di programma: ricerca e verifica Schemi di programma: ricerca e verifica I Molti problemi riguardano la ricerca di elementi in intervalli o la verifica di proprietà. I Sviluppiamo schemi di programma (dimostrabilmente corretti) che realizzano

Dettagli

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo

Dettagli

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

I cicli. Iterazioni Calcolo della media Istruzioni break e continue I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione

Dettagli

Programmazione Assembly per 8088: Esercizi svolti

Programmazione Assembly per 8088: Esercizi svolti Programmazione Assembly per 8088: Esercizi svolti Marco Di Felice 13 dicembre 2006 1 Esercizio 1 (esercizio 1 del Tanenbaum, Appendice C) TESTO. Dopo l esecuzione dell istruzione MOV AX, 702 qual è il

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

Esercizio 1. Esercizio 2

Esercizio 1. Esercizio 2 Esercizio 1 Progettare e Codificare in C un programma che permetta di Chiedere all utente quanti numeri vuole inserire Leggere i numeri inseriti dall utente e calcolare la somma dei fattoriali Esempio:

Dettagli

Matlab. Istruzioni condizionali, cicli for e cicli while.

Matlab. Istruzioni condizionali, cicli for e cicli while. Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il

Dettagli

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo

Dettagli

Istruzioni di ripetizione in Java 1

Istruzioni di ripetizione in Java 1 in Java Corso di laurea in Informatica Le istruzioni di ripetizione consentono di eseguire molte volte la stessa Si chiamano anche cicli Come le istruzioni condizionali, i cicli sono controllati da espressioni

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

Codifica di in Python

Codifica di in Python Codifica di in Python Quantificatore esistenziale: x D : B(x) Assunzione: D è rappresentabile come una sequenza Python def exist(d) :" if B(item, ) :" 38 Esempi d uso della codifica di in Python Problema:

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

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

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& &

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& & Programmazione+1+ + Mario&Pavone& & Dipar/mento+di+Matema/ca+ed+Informa/ca+ Università+degli+Studi+di+Catania+ mpavone@dmi.unict.it+ hap://www.dmi.unict.it/mpavone/+ Definizioni Algoritmo: una sequenza

Dettagli

Iterazione A. Ferrari

Iterazione A. Ferrari Iterazione A. Ferrari Iterazioni (cicli) L iterazione è una struttura che consente di ripetere più volte l esecuzione di un insieme di istruzioni. Due tipi di iterazione: iterazioni enumerative: consentono

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

if else Fondamenti di Informatica (Modulo B) !""#$ % ( #if else ) " *+ #switch if (Condizione) Istruzione

if else Fondamenti di Informatica (Modulo B) !#$ % ( #if else )  *+ #switch if (Condizione) Istruzione #$ % '' # ( #if else ) *+ #switch 50 if else * if * # if (Condizione) Istruzione Condizione bool Istruzione ( Condizione true + Istruzione ( Condizione false + Istruzione +, -+.// x.//# if (x == 100) if

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 primo programma C++

Il primo programma C++ Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida

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

Dal linguaggio macchina al linguaggio C

Dal linguaggio macchina al linguaggio C FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Dal linguaggio macchina al linguaggio C Programma sorgente, compilatore, file oggetto, file eseguibile programma sorgente

Dettagli

Caratteristiche di un calcolatore elettronico

Caratteristiche di un calcolatore elettronico Prof. Emanuele Papotto Caratteristiche di un calcolatore elettronico È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo,

Dettagli

Esercizi proposti. Problema 3: Calcolare il numero di occorrenze del valore massimo in una sequenza di interi Stato iniziale:? Stato finale:?

Esercizi proposti. Problema 3: Calcolare il numero di occorrenze del valore massimo in una sequenza di interi Stato iniziale:? Stato finale:? Esercizi proposti Problema 1: Calcolare il numero di occorrenze di un valore dato in una sequenza data Stato iniziale: {dim K, val V, c[0] V 0,..., c[k-1] V K-1 } K > 0 Stato finale: {occ #{ j j 2 [0,K-1]

Dettagli

TRIPLE DI HOARE: ESEMPI ED ESERCIZI. Corso di Logica per la Programmazione A.A. 2012/13

TRIPLE DI HOARE: ESEMPI ED ESERCIZI. Corso di Logica per la Programmazione A.A. 2012/13 TRIPLE DI HOARE: ESEMPI ED ESERCIZI Corso di Logica per la Programmazione A.A. 2012/13 RICORDIAMO LA REGOLA PER IL COMANDO ITERATIVO P Inv def(e) Inv E Q Inv t 0 {Inv E} C {Inv def(e)} {P} while E do C

Dettagli

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output F = { (s, s ) } per ogni s esiste una e una sola coppia (s, s ). Esempio: un algoritmo che calcola il quadrato di

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Ingegneria Meccanica Esercitazione 3, 23 ottobre 2007 versione 3 novembre 2007 Limiti per tipi int #include rende visibili le costanti simboliche SHRT_MIN, SHRT_MAX,

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali, Paolo Bison, FI08, 2008-09-29 p.1 Linguaggi procedurali classe

Dettagli

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

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. Passaggio dei parametri per valore/riferimento 2. Trattamento degli errori: funzioni che restituiscono anche codici di errore

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 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

Dettagli

Istruzioni semplici e strutturate

Istruzioni semplici e strutturate Consorzio NETTUNO Corso di Fondamenti di Informatica I secondo giorno di stage Istruzioni semplici e strutturate Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica C: costanti introdotte con #define Laboratorio di informatica Ingegneria meccanica Lezione 4 22 ottobre 2007 Forma: #define nome valore Effetto: ogni occorrenza successiva di nome sarà rimpiazzata con

Dettagli

Primi script in MATLAB

Primi script in MATLAB Primi script in MATLAB Laboratorio di Calcolo Numerico 6 Marzo 2018 Introduzione alla programmazione Obiettivo: scrivere programmi e sviluppare algoritmi in MATLAB Si utilizzano gli m-file, ovvero file

Dettagli

Linguaggio C Strutture di controllo

Linguaggio C Strutture di controllo FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Strutture di controllo 2001 Pier Luca Montessoro - Davide

Dettagli

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra

Dettagli

Linguaggio C. Condizioni composte (operatori logici)

Linguaggio C. Condizioni composte (operatori logici) Linguaggio C Condizioni composte (operatori logici) Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Condizioni composte Talvolta

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

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

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

do { printf("inserisci due numeri reali:"); scanf("%f %f", &a, &b);

do { printf(inserisci due numeri reali:); scanf(%f %f, &a, &b); Fondamenti di Informatica T-1 modulo 2 Laboratorio 02 1 Obiettivi di questa esercitazione 1. Valutazione in cortocircuito i 2. If innestati 3. Switch 4. Cicli 5. Funzioni e Header File 2 Valutazione in

Dettagli

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Schemi ricorrenti nei cicli. Contatori Accumulatori Flag Esistenza e universalità

Schemi ricorrenti nei cicli. Contatori Accumulatori Flag Esistenza e universalità Cicli ed iterazioni Schemi ricorrenti nei cicli Contatori Accumulatori Flag Esistenza e universalità 2 Schemi ricorrenti nei cicli Contatori Spesso in un ciclo è utile sapere Quante iterazioni sono state

Dettagli

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

do { printf(inserisci due numeri reali:); scanf(%f %f, &a, &b); while(b!=0 && a/b<0); Obiettivi di questa esercitazione Fondamenti di Informatica T-1 modulo 2 Laboratorio 02 1. Valutazione in cortocircuito i 2. If innestati 3. Switch 4. Cicli 5. Funzioni e Header File 1 2 Valutazione in

Dettagli

Istruzioni. Istruzioni semplici Istruzioni di controllo. Fondamenti di Informatica e laboratorio Istruzioni e Controllo del flusso

Istruzioni. Istruzioni semplici Istruzioni di controllo. Fondamenti di Informatica e laboratorio Istruzioni e Controllo del flusso Istruzioni Istruzioni Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono

Dettagli

Istruzioni di Controllo

Istruzioni di Controllo Istruzioni di Controllo Programmazione strutturata Ricordiamo i concetti chiave: concatenazione o composizione BLOCCO istruzione condizionale SELEZIONE ramifica il flusso di controllo in base al valore

Dettagli

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

For e do. 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 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

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice, Paolo Bison, FI06, 2007-01-10 p.1 Pseudo codice linguaggio testuale mix di linguaggio naturale ed elementi

Dettagli

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

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 Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 03 Istruzioni" Lab03 1 Esercizio

Dettagli

Istruzioni. Una istruzione semplice è qualsiasi espressione seguita da un punto e virgola. Esempio x = 0; y = 1;/* due istruzioni */

Istruzioni. Una istruzione semplice è qualsiasi espressione seguita da un punto e virgola. Esempio x = 0; y = 1;/* due istruzioni */ Istruzioni Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono di aggregare

Dettagli

Corso di Informatica A.A

Corso di Informatica A.A Corso di Informatica A.A. 2009-2010 Lezione 7 Lezione 7 1 Algoritmi e loro proprietà Efficienza rispetto al tempo Efficienza rispetto allo spazio Efficienza degli algoritmi Una volta determinato un algoritmo

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 scanf: STRINGA DI FORMATO

Dettagli