Manualistica 3 Le strutture di controllo

Documenti analoghi
Manualistica 3 Le strutture di controllo

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

Programmazione C Massimo Callisto De Donato

Laboratorio di informatica Ingegneria meccanica

Esempi comparati while, do...while

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

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

del Linguaggio C Istruzioni di iterazione

Informatica 2 modulo C Massimo Callisto De Donato

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

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

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

INFORMATICA. Strutture iterative

Istruzioni di selezione (if/else/switch)

Primo programma in C

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Strutture di Controllo Iterative: Istruzioni While e Do

C: primi elementi. Lezione 4

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: strutture di controllo

C espressioni condizionali

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

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

20/10/2014 M. Nappi/FIL 1

Linguaggio C: strutture di controllo

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

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

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

Programmazione strutturata

Informatica I INFORMATICA I PROGRAMMAZIONE

Strutture di controllo

Laboratorio di Informatica

Esercitazione 11. Liste semplici

Strutture di Controllo Iterative: Istruzione FOR

INFORMATICA. Strutture condizionali

Perché il linguaggio C?

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

ESERCIZI CICLI. Σ Σ j

Istruzioni di Controllo

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

Lab 04 (parte A) Programmazione Strutturata

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

Lezione X Definizione di vettori a run-time

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Istruzioni iterative (o cicliche)

Laboratorio di informatica Ingegneria meccanica

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

Corso di Fondamenti di Informatica

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

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

Lab 04 Istruzioni, cicli e array"

I costrutti del C. Strutture condizionali Strutture iterative Introduzione alle funzioni

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 DI INFORMATICA

IEIM Esercitazione II Elementi di programmazione C. Alessandro A. Nacci -

Fondamenti di Programmazione

Programmare in C. Esempio: Algoritmo del Risveglio

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

Perché il linguaggio C?

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

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

Fondamenti di Informatica L-A

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

Esercitazione 2. Corso di Fondamenti di Informatica

Strutture di Controllo

Struttura di un. Struttura dei programmi C

Costrutti di iterazione

STRUTTURE DI CONTROLLO DEL C++

3 Costrutti while, for e switch

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010

Il linguaggio Java Istruzioni di Controllo

Esercizio 1: parole nel testo

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

Corso di Fondamenti di Informatica Classi di istruzioni 2

==,!=, >, <, >=, <= (a > 7), (b % 2 == 0), (x <= w) &&, (a > 7) && (b % 2 == 0)!(x >= 7) (a == 0)

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 intestazione b) se tale valore è diverso da 0 esegue il blocco di istruzioni c) altrimenti esegue la istruzione successiva al costrutto if espressione 0 blocco =0 Programmazione e Laboratorio di Programmazione: Le strutture di controllo 3

Il costrutto if Esempio: /* sorgente: 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-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 6

Il costrutto if-else Esempio: /* sorgente: 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 7

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 8

Il costrutto while Esempio: /* sorgente: 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 9

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 10

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 11

Il costrutto do-while Esempio: /* sorgente: 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 12

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 13

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

Il costrutto for Esempio: /* sorgente 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 15

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 16

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 17

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 18

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 19

I costrutti switch-case e break /* sorgente: switch_case.c */ Esempio: #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 20

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 21

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 22

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 23

I costrutti while e continue /* sorgente: 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 24

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 25