Manualistica 3 Le strutture di controllo

Documenti analoghi
Manualistica 3 Le strutture di controllo

Laboratorio di informatica Ingegneria meccanica

Programmazione C Massimo Callisto De Donato

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

Esempi comparati while, do...while

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

del Linguaggio C Istruzioni di iterazione

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

Primo programma in C

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

INFORMATICA. Strutture iterative

Istruzioni di selezione (if/else/switch)

Informatica 2 modulo C Massimo Callisto De Donato

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

C: primi elementi. Lezione 4

Strutture di Controllo Iterative: Istruzioni While e Do

7. Strutture di controllo

Istruzioni di controllo

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

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

Blocchi. a=10; { b=2; 2 C-strutture di controllo.tex: Versione 1.0, aa

C espressioni condizionali

ANALIZZIAMO NEI DETTAGLI GLI STATEMENTS DI SELEZIONE E DI RIPETIZIONE FORNITI DAL LINGUAGGIO C STATEMENT SEMPLICE STATEMENT COMPOSTO BLOCCO

Perché il linguaggio C?

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 8 14/11/2013

20/10/2014 M. Nappi/FIL 1

while Istruzione while Cicli ed iterazioni Istruzioni di ripetizione in C Comportamento del while

Linguaggio C Strutture di controllo

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

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Programmazione strutturata

Informatica I INFORMATICA I PROGRAMMAZIONE

Strutture di controllo

Linguaggio C: strutture di controllo

Laboratorio di Informatica

Esercitazione 11. Liste semplici

Strutture di Controllo Iterative: Istruzione FOR

INFORMATICA. Strutture condizionali

INTRODUZIONE. ALLA PROGRAMMAZIONEColonna 1. in linguaggio C

Esercizi. FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo. Funzioni

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

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

ESERCIZI CICLI. Σ Σ j

Istruzioni di Controllo

Linguaggio C: strutture di controllo

N:\Lavoro\Compiti\esercizi svolti\4\info \main.c mercoledì 21 maggio :11

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

Università degli Studi di Brescia. Vettori di variabili. ! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

Istruzioni decisionali

3 Costrutti while, for e switch

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

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

Lezione X Definizione di vettori a run-time

Istruzioni iterative (o cicliche)

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Corso di Fondamenti di Informatica

Laboratorio di informatica Ingegneria meccanica

Perché il linguaggio C?

sum = 0; positivenumbers = 0; /* Passo 1 */ printf("introduci i numeri (0 per finire): "); scanf("%d", &number);

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012

LABORATORIO di INFORMATICA

Fondamenti di Informatica L-A. Esercitazione 3

Struttura di un. Struttura dei programmi C

switch Istruzione switch Scelte ed alternative Scelte multiple Sintassi istruzione switch Precisazioni (1/2)

Strutture di controllo in C. Strutture di controllo in C -- Flow Chart --

Scelte ed alternative

Istruzioni decisionali

Strutture di controllo in C

Istruzioni di Controllo in C. Emilio Di Giacomo

Laboratorio di Programmazione

IL COSTRUTTO ITERAZIONE

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

ELEMENTI DI INFORMATICA

Fondamenti di Programmazione

Programmare in C. Esempio: Algoritmo del Risveglio

Lab 04 (parte A) Programmazione Strutturata

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

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

Fondamenti di Informatica L-A

SECONDA ESPERIENZA DI LABORATORIO. Programmazione con controllo di flusso IF e WHILE

Programmazione in C. La struttura del programma Variabili, espressioni, operazioni

Esercitazione 2. Corso di Fondamenti di Informatica

Strutture di Controllo

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili

Costrutti di iterazione

STRUTTURE DI CONTROLLO DEL C++

3 Costrutti while, for e switch

Lab 04 Istruzioni, cicli e array"

Il linguaggio Java Istruzioni di Controllo

Esercizio 1: parole nel testo

IL PRIMO PROGRAMMA IN C

Corso di Fondamenti di Informatica Classi di istruzioni 2

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice

Qualsiasi programma in C++ segue lo schema:

Transcript:

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 controllo: alterano l ordine sequenziale secondo il quale vengono eseguite le istruzioni del programma Blocco di istruzioni: istruzione 1 ; istruzione 2 ;. istruzione k ; } istruzione i : a) singola istruzione b) blocco di istruzioni se il blocco contiene una sola istruzione, le parentesi graffe possono essere omesse Programmazione e Laboratorio di Programmazione: Le strutture di controllo 2

Il costrutto if Sintassi: if (espressione) corpo blocco; Comportamento: a) valuta il valore di espressione b) se tale valore è diverso da 0 esegue il blocco di istruzioni c) altrimenti esegue la istruzione successiva al costrutto if intestazione espressione 0 blocco =0 Programmazione e Laboratorio di Programmazione: Le strutture di controllo 3

Il costrutto if Esempio: // sorgente: Lezione_XIII\if.c #include <stdio.h> // funzione che calcola il massimo // tra 2 numeri interi int massimo (int num1, int num2) if (num1 > num2) return (num1); return (num2); }; Programmazione e Laboratorio di Programmazione: Le strutture di controllo 4

Il costrutto if // chiamante int main () int A, B; // acquisizione del valore delle variabili printf( \ndammi il I intero: ); scanf ( %d, &A); printf( \ndammi il II intero: ); scanf ( %d, &B); // restituzione del massimo tra i 2 valori printf( \nil massimo e : %d, massimo(a, B)); return(0); }; Programmazione e Laboratorio di Programmazione: Le strutture di controllo 5

Il costrutto if Compilazione: Esecuzione: Programmazione e Laboratorio di Programmazione: Le strutture di controllo 6

Il costrutto if-else Sintassi: if (espressione) blocco 1 else blocco 2 ; 0 =0 espressione Blocco 1 Blocco 2 Comportamento: a) valuta il valore di espressione b) se tale valore è diverso da 0 esegue blocco 1 c) altrimenti esegue blocco 2 Programmazione e Laboratorio di Programmazione: Le strutture di controllo 7

Il costrutto if-else Esempio: // sorgente: Lezione_XIII\if_else.c #include <stdio.h> // funzione che calcola il massimo // tra 2 numeri interi int massimo (int num1, int num2) if (num1 > num2) return (num1); else return (num2); }; if (num1 > num2) return (num1); return (num2); Programmazione e Laboratorio di Programmazione: Le strutture di controllo 8

Il costrutto while Sintassi: while (espressione) blocco; =0 espressione 0 blocco Comportamento: a) valuta il valore di espressione b) se tale valore è diverso da 0 esegue blocco e torna al punto a) c) altrimenti esegue l istruzione immediatamente successiva al costrutto Programmazione e Laboratorio di Programmazione: Le strutture di controllo 9

Il costrutto while Esempio: // sorgente: Lezione_XIII\while.c #include <stdio.h> // funzione che acquisisce una sequenza di valori interi non negativi // terminata da un valore negativo e calcola la loro somma int somma_pos() // definizione e inizializzazione delle variabili int somma, numero; somma = numero = 0; //continua ad acquisire valori e ad aggiornare la somma parziale // fino all acquisizione del primo valore negativo while (numero >= 0) printf( \ndammi il prossimo numero intero: ); scanf( %d, &numero); somma = somma + numero; }; // restituisce la somma di tutti i valori acquisiti return(somma); }; Programmazione e Laboratorio di Programmazione: Le strutture di controllo 10

Il costrutto while // chiamante int main () // visualizza la somma di tutti i numeri acquisiti printf ( \nla somma e : %d, somma_pos()); return(0); } Programmazione e Laboratorio di Programmazione: Le strutture di controllo 11

Il costrutto while Compilazione: Esecuzione: Programmazione e Laboratorio di Programmazione: Le strutture di controllo 12

Il costrutto do-while Sintassi: do blocco while (espressione); Comportamento: a) esegue blocco 0 blocco espressione =0 b) valuta il valore di espressione e se tale valore è diverso da 0 torna al punto a) c) altrimenti esegue l istruzione immediatamente successiva al costrutto Programmazione e Laboratorio di Programmazione: Le strutture di controllo 13

Il costrutto do-while Esempio: // sorgente: Lezione_XIII\do_while.c #include <stdio.h> // funzione che acquisisce una sequenza di valori interi non negativi // terminata da un valore negativo e calcola la loro somma int somma_pos() // definizione e inizializzazione delle variabili int somma, numero; somma = 0; somma = numero = 0; //continua ad acquisire valori e ad aggiornare la somma parziale // fino all acquisizione del primo valore negativo do printf( \ndammi il prossimo numero intero: ); scanf( %d, &numero); somma = somma + numero; } while (numero >= 0) while (numero >= 0); // restituisce la somma di tutti i valori acquisiti return(somma); }; printf( \ndammi il prossimo numero intero: ); scanf( %d, &numero); somma = somma + numero; }; Programmazione e Laboratorio di Programmazione: Le strutture di controllo 14

Il costrutto for Sintassi: for (inizializzazione; espressione; aggiornamento) blocco; Comportamento: a) esegue inizializzazione b) valuta il valore di espressione c) se tale valore è diverso da 0 c.1) esegue blocco c.2) esegue aggiornamento c.3) torna al punto b) d) altrimenti esegue l istruzione immediatamente successiva al costrutto Programmazione e Laboratorio di Programmazione: Le strutture di controllo 15

Il costrutto for Comportamento: Inizializzazione espressione 0 blocco =0 aggiornamento Programmazione e Laboratorio di Programmazione: Le strutture di controllo 16

Il costrutto for Esempio: // sorgente Lezione_XIII\for.c #include <stdio.h> // funzione per il calcolo della somma dei primi n numeri interi int somma_n (int n) // definizione e inizializzazione della variabili int somma, num; somma = 0; // calcola la somma dei primi n numeri interi for (num = 1; num <= n; ++num) somma += num; // restituisce tale somma return(somma); }; Programmazione e Laboratorio di Programmazione: Le strutture di controllo 17

Il costrutto for // chiamante int main () // definizione e acquisizione delle variabili int numero; printf( \nspecificare il valore di n: ); scanf( %d, &numero); // visualizza la somma dei primi n numeri interi printf ( \nsomma dei primi %d numeri: %d, numero, somma_n(numero)); return(0); } Programmazione e Laboratorio di Programmazione: Le strutture di controllo 18

Il costrutto for Compilazione: Esecuzione: Programmazione e Laboratorio di Programmazione: Le strutture di controllo 19

Il costrutto switch-case Sintassi: switch (espressione) case cost 1 : seq_istruzioni 1 ; case cost 2 : seq_istruzioni 2 ;. case cost k : seq_istruzioni k ; default: seq_istruzioni def ; }; Comportamento: a) valuta il valore di espressione b) se il valore è cost i, riprende l esecuzione del corpo dalla prima istruzione di seq_istruzioni i c) altrimenti, se il suo valore è diverso da cost i, per ogni i = 1, 2,, k, riprende l esecuzione del corpo dalla prima istruzione di seq_istruzioni def Programmazione e Laboratorio di Programmazione: Le strutture di controllo 20

Il Costrutto switch-case Comportamento: espressione = cost 2 = cost 1 seq_istruzioni 1 = cost k seq_istruzioni 2 default seq_istruzioni k seq_istruzioni def Programmazione e Laboratorio di Programmazione: Le strutture di controllo 21

Il costrutto break Sintassi: break; Può comparire all interno del corpo: del costrutto while del costrutto do-while del costrutto for del costrutto case Comportamento: forza l uscita dal corpo del costrutto, o, in altre parole l esecuzione della prima istruzione a questo successiva Programmazione e Laboratorio di Programmazione: Le strutture di controllo 22

I costrutti switch-case e break Esempio: // sorgente: Lezione_XIII\switch_case.c #include <stdio.h> // funzione che implementa lo scheletro di un menu di scelta void menu() // definizione e inizializzazione della variabile // che permette l'uscita dal programma int quit = 0; // rimane nel ciclo fino a quando tale variabile // non viene settata a 1 while(!quit) // variabile che memorizza la selezione int selezione; // visualizza le possibili scelte printf("\nselezionare Funzionalita'"); printf("\nfunzione A: 1"); printf("\nfunzione B: 2"); printf("\nuscita: 3"); printf("\nselezione: "); Programmazione e Laboratorio di Programmazione: Le strutture di controllo 23

I costrutti switch-case e break // acquisisce la scelta scanf("%d", &selezione); // discrimina tra le diverse scelte switch (selezione) case 1: printf("\nhai selezionato la funzione A\n"); break; case 2: printf("\nhai selezionato la funzione B\n"); break; case 3: quit = 1; break; default: // selezione errata printf("\nselezionare 1, 2 o 3"); break; }; }; }; Programmazione e Laboratorio di Programmazione: Le strutture di controllo 24

I costrutti switch-case e break // chiamante int main() // chiama la funzione che implementa lo scheletro di un menu di // scelta menu(); return(0); }; Programmazione e Laboratorio di Programmazione: Le strutture di controllo 25

I costrutti switch-case e break Compilazione: Esecuzione: Programmazione e Laboratorio di Programmazione: Le strutture di controllo 26

Il costrutto continue Sintassi: continue; Può comparire all interno del corpo: del costrutto while del costrutto do-while del costrutto for Comportamento: interrompe l esecuzione del corpo del costrutto, la cui esecuzione riprende dalla valutazione dell espressione Programmazione e Laboratorio di Programmazione: Le strutture di controllo 27

I costrutti while e continue // sorgente: Lezione_XIII\continue.c #include <stdio.h> // funzione che visualizza i primi n numeri pari void primi_n_pari(int n) // definizione e inizializzazione delle variabili int cont; cont = 1; // generazione dei primi 2*n numeri interi e // selezione e visualizzazione dei soli pari while ((cont++)<= (2*n)) // tralascia i dispari if ((cont % 2) == 1) continue; // visualizza i pari printf ("\n%d pari: %d\n", cont/2, cont); } }; Esempio: Programmazione e Laboratorio di Programmazione: Le strutture di controllo 28

I costrutti while e continue // chiamante int main () // definizione e acquisizione della variabile che // memorizza il numero degli interi pari da visualizzare int n; printf("\nspecificare il valore di n: "); scanf("%d", &n); // chiamata della funzione che genera i primi // n numeri pari primi_n_pari(n); return(1); } Programmazione e Laboratorio di Programmazione: Le strutture di controllo 29

I costrutti while e continue Compilazione: Esecuzione: Programmazione e Laboratorio di Programmazione: Le strutture di controllo 30