Programmazione di Calcolatori

Slides:



Advertisements
Presentazioni simili
INFORMATICA Altre Istruzioni di I/O
Advertisements

INFORMATICA Strutture condizionali
Uso avanzato di C.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Iterazione while – do while - for.
Iterazione A. Ferrari.
Selezione A. Ferrari.
3TC – 5/11/2010 Cicli while e do.. While Contatori e Totalizzatori.
Sviluppo di programmi strutturati
Universita di Camerino
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Strutture di controllo Ing.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Strutture di controllo Ing. Simona Colucci.
Introduzione al linguaggio C
La ricorsione Simulazione. Il Main /* Programma che usa una funzione ricorsiva*/ #include #define MAX_N 8 main() int valore, dato; printf(Introduci n:
INFORMATICA Strutture iterative
Process synchronization
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
Istruzioni Iterative Nicola Fanizzi
9) If e else. Lab.Calc.I AA2002/03 - cap.92 espressione.
Istruzioni di selezione (If/else/switch)
Esercizio: Copiare un file in un nuovo file mediante le funzioni read e write.
Strutture di controllo nel C
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
Strutture di controllo in C -- Flow Chart --
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia.
Le funzioni.
Programmazione di Calcolatori
In molti casi è utile assegnare a degli identificatori dei valori che restino costanti durante tutto il programma e che non possano essere cambiati nemmeno.
Il linguaggio C Le funzioni C Language Il passaggio dei parametri
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XII Le funzioni Programmazione di Calcolatori: le funzioni 1.
Programmazione di Calcolatori
Programmazione di Calcolatori
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XI Gli operatori Programmazione di Calcolatori: gli operatori 1.
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione X Ingresso/Uscita di Interi Programmazione di Calcolatori: Ingresso/Uscita 1.
Programmazione di Calcolatori
Programmazione di Calcolatori
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XVIII Le matrici Programmazione di Calcolatori: le matrici 1.
C. Gaibisso Programmazione di Calcolatori Lezione XIV I vettori Programmazione di Calcolatori: i vettori 1.
Programmazione di Calcolatori
Radice quadrata di un numero
C. Gaibisso Programmazione di Calcolatori Lezione XVI Allocazione dinamica della memoria Programmazione di Calcolatori: allocazione dinamica della memoria.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
Anno accademico Le istruzioni di controllo in C.
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
#include void main() { int a,b,c,; float s, x,x1,x2,delta,alfa,beta; int num[3]; int i; printf("La forma classica dell'equazione di 2° grado è: a*x^2+b*x+c=0\n.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Operatori di incremento e decremento
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
C++:Strutture di Controllo
Il C `e un linguaggio di programmazione di uso generale, originariamente sviluppato per la scrittura del sistema operativo Unix, ed oggi disponibile su.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Linguaggio C: Funzioni e Puntatori Laboratorio di Programmazione Gruppo 1.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Programmazione di Calcolatori Lezione XIII Le strutture di controllo Programmazione di Calcolatori: le strutture di controllo

Le Strutture di Controllo alterano l’ordine sequenziale secondo il quale vengono eseguite le istruzioni del programma Blocco di istruzioni: istruzionei : a) singola istruzione b) blocco di istruzioni { istruzione1; istruzione2; …. istruzionek; } se il blocco contiene una sola istruzione, le parentesi graffe possono essere omesse Programmazione di Calcolatori: le strutture di controllo

Il costrutto if Sintassi: if (espressione) blocco; Comportamento: intestazione Sintassi: if (espressione) blocco; Comportamento: valuta il valore di espressione se tale valore è diverso da 0 esegue il blocco di istruzioni altrimenti esegue la istruzione successiva al costrutto if espressione =0 corpo blocco ≠0 Programmazione di Calcolatori: le strutture di controllo

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

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

Il costrutto if Compilazione: Esecuzione: Programmazione di Calcolatori: le strutture di controllo

Il costrutto if-else Sintassi: if (espressione) blocco1; else blocco2; Comportamento: valuta il valore di espressione se tale valore è diverso da 0 esegue blocco1 altrimenti esegue blocco2 espressione Blocco1 ≠0 =0 Blocco2 Programmazione di Calcolatori: le strutture di controllo

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

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

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() { // definione 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 di Calcolatori: le strutture di controllo

Il costrutto while // chiamante int main () { {  // visualizza la somma di tutti i numeri acquisiti printf (“\nLa somma e’: %d”, somma_pos()); return(0); } Programmazione di Calcolatori: le strutture di controllo

Il costrutto while Compilazione: Esecuzione: Programmazione di Calcolatori: le strutture di controllo

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

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() { // definione e inizializzazione delle variabili int somma, numero; somma = 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); // restituisce la somma di tutti i valori acquisiti return(somma); }; somma = numero = 0; while (numero >= 0) { printf(“\nDammi il prossimo numero intero: “); scanf(“%d”, &numero); somma = somma + numero; }; Programmazione di Calcolatori: le strutture di controllo

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

Il costrutto for Comportamento: Inizializzazione espressione =0 ≠0 blocco aggiornamento Programmazione di Calcolatori: le strutture di controllo

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

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

Il costrutto for Compilazione: Esecuzione: Programmazione di Calcolatori: le strutture di controllo

Il costrutto switch-case Sintassi: switch (espressione) { case cost1: seq_istruzioni1; case cost2: seq_istruzioni2; …. case costk: seq_istruzionik; default: seq_istruzionidef; }; Comportamento: valuta il valore di espressione se il valore è costi, riprende l’esecuzione del corpo dalla prima istruzione di seq_istruzionii altrimenti, se il suo valore è diverso da costi, per ogni i = 1, 2, …, k, riprende l’esecuzione del corpo dalla prima istruzione di seq_istruzionidef Programmazione di Calcolatori: le strutture di controllo

Il Costrutto switch-case Comportamento: espressione seq_istruzionidef default seq_istruzionik = costk seq_istruzioni2 = cost2 seq_istruzioni1 = cost1 Programmazione di Calcolatori: le strutture di controllo

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

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

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"); case 3: quit = 1; default: // selezione errata printf("\nSelezionare 1, 2 o 3"); }; Programmazione di Calcolatori: le strutture di controllo

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

I costrutti switch-case e break Compilazione: Esecuzione: Programmazione di Calcolatori: le strutture di controllo

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

I costrutti while e continue Esempio: // 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); } }; Programmazione di Calcolatori: le strutture di controllo

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

I costrutti while e continue Compilazione: Esecuzione: Programmazione di Calcolatori: le strutture di controllo