Programmazione strutturata
|
|
- Donata Cortese
- 7 anni fa
- Visualizzazioni
Transcript
1 Programmazione strutturata
2 Controllo del flusso 1 Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite Salvo contrordini, è in sequenza Il flusso sequenziale è specificato da un gruppo di istruzioni racchiuse tra { } detto blocco di istruzioni { } Istruzione1; Istruzione2; IstruzioneN;
3 Controllo del flusso 2 Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite sequenza Due possibili alterazioni: selezione: sceglie un azione da una lista di due o più azioni possibili ripetizione: continua ad eseguire un azione fino a quando non si verifica una condizione di termine
4
5 E' stato dimostrato che i programmi esprimibili tramite istruzioni di salto o diagrammi di flusso possono essere riscritti utilizzando le tre strutture di controllo (Teorema Boehm-Jacopini) Programmazione strutturata: I programmi usano soltanto sequenza, selezione, ripetizione
6 Selezione
7 Selezione: Permette di scegliere tra alternative da eseguire in base ad una condizione Una condizione è una espressione logica combinazione di operatori logici e relazionali Operatori relazionali: ==,!=, <,>,<=,>=
8 Operatori relazionali 1 se gli operatori sono uguali/ 0 se diversi <op1> = = <op2> 1 se gli operatori sono diversi/ 0 se uguali <op1>!= <op2> 1 se il 1 O è minore del 2 o operatore/ 0 altrimenti Precedenze: <,<=,>,>= hanno precedenza su = =,!=
9 Operatori logici Operano su valori logici: VERO 1 FALSO 0 Restituiscono un valore logico (0 o 1) Godono delle proprietà Commutativa Associativa Proposizione = sequenza di valori logici
10 Operatori logici di base La proposizione è vera se tutti gli operandi sono veri ( && ) La proposizione è vera se almeno uno gli operandi è vero ( ) La proposizione viene negata (! ) a XOR b: ((a &&!b) (!a && b))
11 Operatori logici e precedenze Operatore Valutazione Precedenza 1, se esp è falsa/0, se vera massima (!espr) Gli operatori logici 1, se binari espr1 hanno e espr2 precedenza sono vere/ inferiore intermedia a tutti gli altri operatori 0, altrimenti binari
12 Esempi x e y sono maggiori di z x è uguale a 1.0 o a 3.0 x ha un valore all'interno dell'intervallo determinato da z e y, estremi inclusi x ha valori all'esterno dell'intervallo determinato da z e y x>z && y>z x==1.0 x==3.0 z<=x && x<=y!(x>z && x<y) x<z x>y
13 Esempi Confronto tra caratteri: ch>='a' && ch<='z'
14 Valutazione a cortocircuito La valutazione di una espressione logica termina non appena il suo valore è determinato es. condizione: num%div==0 /*può causare un run time error*/ div!=0 && (num%div==0)/*corretto*/
15 Assegnamento logico Il risultato di un'espressione logica può essere assegnato ad una variabile di tipo int (per creare una variabile booleana ) int pari, dispari; pari=(n%2==0); dispari=(n%2!=0);
16 Istruzione if Selezione semplice: esegue un azione se e solo se una certa condizione è verificata Sintassi: if (Espressione_Booleana) Blocco_1 //esegui solo se vera Prossima_Istruzione; //sempre eseguita Espressione_Booleana true Blocco_1 false Prossima_Istruzione
17 Istruzioni di selezione - L istruzione if La forma generale di if quando riferita a blocchi di istruzioni è la seguente: if(espressione) Blocco_1 //esegui solo se vera else Blocco_2 //esegui solo se falsa Prossima_Istruzione; //sempre eseguita
18 Diagramma di flusso Espressione_Booleana true Blocco_1 false Blocco_2 Prossima_Istruzione
19 Programma #include <stdio.h> main(){ int a,b; /* numeri interi */ int c; /*variabile di appoggio*/ printf( \ninserisci due interi a e b ); scanf( %d%d,&a,&b); c=a-b; if(c>0) /* controllo */ { printf("il max e' a e vale %d\n",a); } else { printf("il max e' b e vale %d\n",b); } }
20 Esempi (selezione semplice): Dati in ingresso due numeri A e B, dividi A per B (se B diverso da zero) Conversione gradi Fahrenheit in Celsius e viceversa
21 Programma div.c #include <stdio.h> main(){ int a,b; /* variabili dividendo e divisore */ printf( Inserisci il dividendo ); scanf( %d,&a); printf( Inserisci il divisore ); scanf( %d,&b); if(b) /* controlla se b e zero */ { printf("%d\n",a/b); } else { printf("impossibile dividere per 0\n") } }
22 Istruzioni if annidate Esempio in pseudo-c if(i) { if(j) istruzione1; if(k) istruzione2; /* questo if e associato*/ else /* a questo else */ istruzione3; } else istruzione 4; /* questo if e associato a if(i) */
23 Selezione complessa (scelte mutuamente esclusive) Espressione_Booleana_1 true Blocco_1 Espressione_Booleana_2 true Blocco_2 Espressione_Booleana_n true Blocco_n
24 If-else-if (scelte esclusive) Un costrutto di programmazione a cui si ricorre frequentemente e che si basa sugli if annidati è il seguente if-else-if. if(condizione) istruzione; else if(condizione) istruzione; else if(condizione) istruzione;.. else istruzione; Le espressioni condizionali vengono valutate dall alto verso il basso. Alla prima condizione vera, viene eseguita l istruzione ad essa associata ed il resto della scala if-elseif viene aggirato. Se nessuna delle condizioni è vera allora viene eseguita l istruzione else finale (se è presente).
25 Istruzione (malsana) switch Istruzione switch: switch (Espressione_Di_Controllo) { case Etichetta_1: Sequenza_Istruzioni_1 case Etichetta_2: Sequenza_Istruzioni_2... case Etichetta_n: Sequenza_Istruzioni_n default: Sequenza_Istruzioni_Default }
26 Operatore condizionale È un operatore ternario: espr1? espr2 : epr3; if (espr1) else espr2; espr3; Ad esempio: z = (x>y)? x : y; /*assegna a z il max tra x e y */
27 L operatore, Assegna il valore di b a x, poi incrementa a e poi incrementa b: x = (a++, b++);
28 Istruzioni di Iterazione Ripetere un passo dell'algoritmo più volte Fanno parte di questa classe di istruzioni i cicli: for while do-while
29 Il ciclo for Inizializzazione Espressione_Booleana true Blocco false Continuazione Prossima_Istruzione
30 Il ciclo for (1) Viene utilizzato per ripetere un istruzione un numero specificato di volte. for(inizializzazione;espressione;incremento) istruzione; Per ripetere un blocco di istruzioni la forma generale è: for(inizializzazione;espressione;incremento) { istruzione_1;.. istruzione_n; }
31 Il ciclo for (2) L inizializzazione: di solito un istruzione di assegnamento che imposta il valore iniziale della variabile di controllo del ciclo, che ha la funzione di contatore. Per espressione si intende un espressione condizionale che determina se il ciclo continuerà (se vera) oppure no (se falsa). L incremento definisce la quantità di cui la variabile di controllo cambierà ogni volta che il ciclo viene iterato. devono essere separate da ; (punto e virgola).
32 Il ciclo for Esempio: calcolare la somma dei primi N numeri naturali S=0 I=1 I>N si S=S+1 I=I+1 no Scrivi S
33 Il ciclo for int i,n,s=0; printf("inserisci un intero n:\n"); scanf("%d",&n); for(i=1;i<=n;i++){ } s+=i; printf("la somma dei primi %d numeri e' %d",n,s);
34 Il ciclo while (1) La sintassi è: while(espressione) istruzione; oppure, while(espressione) { istruzione_1;.. istruzione_n; } L espressione definisce la condizione che controlla il ciclo Viene valutata prima di eseguire il blocco di istruzioni
35 Istruzione while Espressione_Booleana true Blocco false Prossima_Istruzione
36 Il ciclo while (2) È essenzialmente equivalente ad un ciclo for senza inizializzazione e l incremento: for ( ; condizione ; ) è equivalente a while (condizione)
37 Il ciclo while (3) /* programma che stampa i caratteri ASCII corrispondenti a lettere maiuscole (65-90)*/ #include <stdio.h> main() { unsigned char ch='a'; /* inizializzo la variabile al carattere codice ASCII */ while(ch<='z') { printf("[ %c ]\n",ch); /* stampa il singolo carattere ch */ ch++; /* incrementa il valore del carattere */ } }
38 Il ciclo do-while (1) A differenza dei cicli for e while, nei quali le condizioni sono verificate in testa al ciclo, il ciclo do-while verifica la condizione in fondo al ciclo. Cio significa che un ciclo do-while verrà sempre eseguito almeno una volta. do { istruzioni; } while(espressione); Il ciclo viene eseguito fino a che la condizione in espressione è vera. (se è falsa esce)
39 Istruzione do-while Blocco true Espressione_Booleana false Prossima_Istruzione
40 Spesso usato per il controllo dell'input da tastiera Esempio: controllo scelta di conversione da gradi Fahrenheit a Celsius (option 1) o viceversa (option 2)
41 I tre construtti (for, while, do-while) sono equivalenti si distinguono tra di loro in base al controllo anticipato o posticipato della condizione di controllo o alla conoscenza a priori del numero di iterazioni Scelta idonea per una particolare implementazione
42 Il ciclo for (3) /* programma che stampa i caratteri ASCII dal 33 al 127 */ #include <stdio.h> main() { unsigned char i; /* definisco la variabile i di iterazione del ciclo */ for(i=33;i<128;i++) /* ciclo for con indice i*/ { printf("[ %c ]\n",i);/* stampa un carattere racchiuso tra parentesi quadre, ad ogni ciclo */ } }
43 Il ciclo while (3) /* programma che stampa i caratteri ASCII dal 33 al 127 */ #include <stdio.h> main() { unsigned char ch=33; /* inizializzo la variabile al carattere codice ASCII 33*/ */ while(ch<128) { /* ciclo while controllato dall espressione ch<128 printf("[ %c ]\n",ch); /* stampa il singolo carattere ch */ ch++; /* incrementa il valore del carattere */ } }
44 Il ciclo do-while (2) /* stampa I caratteri ascii dal 33 al 128 */ #include <stdio.h> main() { unsigned char ch=33; /* il ciclo do-while viene sempre eseguito almeno una volta. Se ch=128 il ciclo verrebbe eseguito sempre e comunque una volta soltanto perche la condizione ch<128 viene controllata a fine ciclo */ do{ printf("[ %c ]\n",ch); ch++; }while(ch<128); }
45 Istruzione di salto break (1) Questa istruzione consente di uscire forzatamente da un ciclo aggirando la verifica condizionale. Quando in un ciclo si incontra l istruzione break, esso termina immediatamente ed il controllo del programma riprende dall istruzione successiva al ciclo
46 Istruzione di salto continue (1) Serve per ottenere forzatamente l iterazione anticipata di un ciclo aggirando la sua normale struttura di controllo. L uso di continue all interno di un ciclo provoca forzatamente il salto alla successiva iterazione del ciclo stesso saltando il codice che si trova tra il continue e l espressione condizionale che controlla il ciclo.
47 Istruzione di salto continue (2) /* stampa I numeri pari da 0 a 20 */ #include <stdio.h> main() { unsigned int i; } for(i=0;i<=20;i++) /* iteriamo da 0 a 20 compresi */ { if(i%2) continue; /* se il numero e dispari salta alla successiva iterazione del ciclo */ printf(" %d \n",i); /* stampa i numeri */ }
48 while( ) { continue; break; }
49 Cicli infiniti Cause principali: errata espressione Booleana errata (o assente) alterazione delle variabili coinvolte nell espressione Booleana Esempio: int total = 0; int count = 1; while (count!= 10) { total = total + count; count += 2; }
50 Esempi ed esercizi Calcolo del fattoriale Metodo di bisezione Ricerca di numeri primi Riconoscimento di un pattern
51
52
53 Tracciato (o traccia di esecuzione) È una simulazione su carta dell'algoritmo passo-passo per un valore in input delle variabili Usata per verficare se un algoritmo è corretto
54
55
56
57 Metodo di bisezione Determinare numericamente le soluzioni di una funzione f f(x)=0, x 1,x 2,...,x n (a i,b i ) intervallo in cui si trova x i, i=1,...,n Condizione: f(a i ) f(b i )<0 a i x i b i
58 Calcola il punto medio c i =(a i +b i )/2 Calcola il prodotto p=f(a i )f(b i ) Se p<0, l'estremo dx è c i Se p>0, l'estremo sx è c i Se p=0, la soluzione è c i
59 Quante volte ripetere? Condizione di arresto: a i -b i <ε Realizzazione con f(x)=cos(x) in (0,π) (vedi file: cap04_bisezione.c)
60 Numeri primi PB: Determinare tutti i numeri primi compresi tra 2 e N Sottoproblema: determinare se un numero i è primo i è primo se non è divisibile per alcun j<i Condizione: i%j Se i%j!=0, i è primo con j Se i%j==0, i non è primo
61 Quante volte ripetere? Per ogni j<i Miglioramento: per ogni j<jmax (quanto vale jmax?) In realtà: appena trovo j che divide i, esco dal ciclo (vedi file: primo_for.c e primo_while.c)
62 Problema iniziale: Quante volte ripetere? Al più N volte (vedi file: cap04_primi.c) Discussione: complessità?
63 Riconoscimento di un pattern PB: cerca una sequenza particolare in un testo (es. p= ciao in ora vado a casa, ciao! ) carattere per carattere Automa a stati finiti: Se sei in s0 e leggi 'c', vai nello stato s1; Se sei in s1 e leggi 'i', vai nello stato s2; Se sei in s2 e leggi 'a', vai nello stato s3; Se sei in s3 e leggi 'o', vai nello stato s4;
64 Le condizioni sono mutuamente esclusive Attenzione: se nello stato si leggi un carattere diverso da pi, torna nello stato s0 Quante volte ripetere? Finchè non raggiungi lo stato s4 (vedi file: riconoscimento_pattern.c)
Introduzione al linguaggio C
Introduzione al linguaggio C Corso di Informatica di Base Lezione III Riccardo Veraldi Servizio Calcolo e Reti INFN sez Firenze veraldi@fiinfnit Istruzioni di controllo di flusso Sono una categoria di
DettagliFondamenti di Programmazione. Strutture di controllo
Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliI 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
DettagliSTRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010
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
DettagliISTRUZIONI ISTRUZIONI SEMPLICI
ISTRUZIONI istruzioni azioni modifica permanente dello stato interno strutture di controllo ::= ::= ::=
DettagliEsempi 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
DettagliIstruzioni di controllo
Istruzioni di controllo Le istruzioni in C Assegnazione Sequenza I/O Test Cicli Controllo = che cosa è la prossima cosa da fare La prossima cosa da fare è quella che segue La prossima cosa da fare dipende
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
DettagliConcetti chiave. Istruzioni Iterative. Strutture di controllo iterative while do-while for Cicli annidati
Concetti chiave Istruzioni Iterative Strutture di controllo iterative while do-while for Cicli annidati Altre Espressioni Operatori Aritmetici +, -, *, /, si applicano a qualunque tipo Operatore Aritmetico
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliSTRUTTURE 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
DettagliIL COSTRUTTO ITERAZIONE
IL COSTRUTTO ITERAZIONE Il costrutto iterazione Consente di ripetere una operazione elementare o un blocco di operazioni. Tipologie di iterazione Iterazione definita Iterazione condizionata Tipologie di
DettagliStrutture di Controllo
Strutture di Controllo Fondamenti di Informatica Effettuare una scelta in un programma Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c",
DettagliCostrutti di iterazione
Costrutti di iterazione Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2017 2018 Iterazione Data un espressione logica e un blocco di attività
DettagliLaboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)
Laboratorio Due 1) Switch 2) Costrutti Iterazione (For, While, do while) GLI ARGOMENTI DI OGGI Istruzione switch I costrutti di iterazione (For, while, do while) Le funzioni (e ricorsione) Terza Esercitazione
Dettagli<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;
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
DettagliProf. 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 ()
DettagliInformatica 2 modulo C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente
DettagliISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.
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
DettagliIstruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
Dettagli<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;
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
DettagliStruttura di un. Struttura dei programmi C
Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive
DettagliIstruzioni di Controllo in C. Emilio Di Giacomo
Istruzioni di Controllo in C Emilio Di Giacomo Limite delle istruzioni viste L insieme delle istruzioni che abbiamo visto fino ad ora consiste per lo più di: dichiarazioni e assegnazioni di variabili espressioni
DettagliStrutture di Controllo Condizionali e Operatori Logici e Relazionali
Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo! Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare
DettagliStrutture di Controllo Iterative: Istruzione FOR
Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione del
DettagliANALIZZIAMO NEI DETTAGLI GLI STATEMENTS DI SELEZIONE E DI RIPETIZIONE FORNITI DAL LINGUAGGIO C STATEMENT SEMPLICE STATEMENT COMPOSTO BLOCCO
ANALIZZIAMO NEI DETTAGLI GLI STATEMENTS DI SELEZIONE E DI RIPETIZIONE ORNITI DAL LINGUAGGIO C Premessa: STATEMENT SEMPLICE STATEMENT COMPOSTO BLOCCO Uno ement semplice termina con ; come, ad esempio: ressione;
DettagliIng. Lorenzo Vismara
Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#
DettagliLinguaggio 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
DettagliI costrutti del C. Le Strutture del C. Il costrutto if else (I) Il costrutto if else (II) Condizionali. if-else (else if) switch Iterative
1 Le Strutture del C I costrutti del C Strutture condizionali Strutture iterative Introduzione alle funzioni Condizionali if- ( if) switch Iterative while for do while break and continue 1 2 Il costrutto
DettagliC espressioni condizionali
C espressioni condizionali Esiste un particolare operatore, detto operatore condizionale, che rappresenta un istruzione if else. estremamente compattata?: Supponiamo di voler inserire nella variabile intera
DettagliEsercitazione 2. Espressioni booleane Il comando if-else
Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in
DettagliISTRUZIONI 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
DettagliCorso 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
DettagliLaboratorio 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
Dettagli7. Strutture di controllo
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 7. Ing. Michele Ruta 1 di 17 Indice Istruzioni di selezione Mappate dal costrutto switch Istruzioni cicliche (di iterazione)
DettagliStrutture di Controllo Condizionali e Operatori Logici e Relazionali
Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo n Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare
DettagliLe Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
DettagliDichiarazioni e tipi predefiniti nel linguaggio C
Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:
DettagliELEMENTI 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
DettagliFondamenti di Informatica e Programmazione Elementi di Informatica e Progrmmazione
Fondamenti di Informatica e Programmazione Elementi di Informatica e Progrmmazione prof. Massimiliano Redolfi massimiliano.redolfi@ing.unibs.it 2013/2014 Il controllo del flusso di un programma: esempio
DettagliIterazione 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
DettagliINFORMATICA. 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
DettagliInformatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo
Informatica A (per gestionali) A.A. 2004/2005 Esercizi C Strutture di controllo 1 Indice 1 Strutture di controllo...3 1.1 Multiplo...3 1.2 Massimo Comun Divisore...3 1.3 Valutazione triangolo...4 1.4 Calcolatrice...5
DettagliUniversità degli Studi di Milano
Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 5 Controllo del flusso del programma FABIO SCOTTI Indice 1. CONCETTO DI BLOCCO IN C...3 2. DUE
DettagliStrutture di controllo
Strutture di controllo 73 Teorema di Bohm e Jacopini Tutti i programmi possono essere scritti in termini di tre strutture di controllo: La sequenza, permette di eseguire le istruzioni secondo l ordine
DettagliPROGRAMMAZIONE: 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
DettagliISTRUZIONI ISTRUZIONI SEMPLICI
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
DettagliProgrammazione strutturata
Programmazione strutturata C O P Y R I G H T ( C ) 2 0 0 8 W W W. F O N D A M E N T I. I N F O P E R M I S S I O N I S G R A N T E D T O C O P Y, D I S T R I B U T E A N D / O R M O D I F Y T H I S D O
DettagliQualsiasi 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
DettagliStrutture di Controllo
Strutture di Controllo Informatica B Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c", &c); printf("la traduzione e' %c\n",c+32); return
DettagliErrori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente
DettagliStrutture di controllo in C. Strutture di controllo in C -- Flow Chart --
-- Flow Chart -- Corso di Informatica A Vito Perrone 1 Indice Rappresentazione degli algoritmi tramite flow chart Istruzione La parte dichiarativa L I/O Primi esempi che girano 2 Codifica degli algoritmi
DettagliStrutture di Controllo
Strutture di Controllo Informatica B Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c", &c); printf("la traduzione e' %c\n",c+32); return
DettagliLinguaggio 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
DettagliUn 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
DettagliLe strutture di controllo
INFORMATICA B Ingegneria Elettrica Le strutture di controllo Selezione un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un valore intero e visualizza il suo
Dettagliprof. P. Mancarella Dip.to Informatica INFORMATICA 1 a.a. 07/08 pag. 170
Istruzioni condizionali Esempio: Dati tre valori che rappresentano le lunghezze dei lati di un triangolo, stabilire se si tratti di un triangolo equilatero, isoscele o scaleno. Algoritmo: determina tipo
DettagliCorso 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
DettagliFondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria ivile e Ingegneria per l ambiente e il territorio Linguaggio : Le basi Stefano
DettagliIstruzioni Condizionali in C
Concetti chiave Istruzioni Condizionali in C Tipi di Istruzioni Condizionali Espressioni Blocchi d istruzioni Istruzioni Condizionali: if-else Istruzioni Condizionali: switch-case Istruzione break Istruzioni
DettagliFor e do. Parte 4. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
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
DettagliLe istruzioni cicliche o iterative: for e while
Le istruzioni cicliche o iterative: for e while Ciclo o iterazione: un gruppo di istruzioni che può essere ripetuto più volte. Supponiamo di avere a disposizione 10 raggi e di voler calcolare 10 circonferenze.
DettagliSunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I.
Sunto della scorsa lezione 06-10-2003 Il linguaggio C Matricole 2-3 Un programma C è un insieme di funzioni. La funzione è sempre presente Una funzione è un insieme di istruzioni racchiuse tra ogni istruzione
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)
DettagliPaolo 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
DettagliDott. R. Gori, Dott. A. Rama INFORMATICA 242AA a.a. 2011/12 pag. 1. Le istruzioni iterative permettono di ripetere determinate azioni più volte:
Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d", &i5); printf("%d", i1 +
DettagliIl linguaggio C La programmazione strutturata
1 Il linguaggio C La programmazione strutturata espressione di selezione caso A istruzioni1 break condizione falsa caso B istruzioni2 break vera break istruzione default istruzioni Programmazione strutturata
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliIstruzioni decisionali
Istruzioni decionali 1. if 2. if-else 3. switch 91 if-else Sintas if (espresone) istruzione_1 else istruzione_2 92 1 if-else else: : semantica Viene valutata espresone Se l espresone è vera (cioè assume
DettagliIstruzioni decisionali
Istruzioni decionali 1. if 2. if-else 3. switch 115 switch Struttura di scelta plurima che controlla se una espresone assume un valore all interno di un certo ineme di costanti e comporta di conseguenza
DettagliISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, possono comportare una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono
DettagliIstruzioni iterative. Istruzioni iterative
Istruzioni iterative Esempio: Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d",
DettagliJava SE 7. Strutture di programmazione (2)
Java SE 7 Strutture di programmazione (2) diegozabot@yahoo.it ursula.castaldo@gmail.com Casting (1) E' l'operazione che realizza la conversione di tipo tra oggetti e tra tipi primitivi. E' un'operazione
DettagliElementi 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
DettagliINFORMATICA. Strutture condizionali
INFORMATICA Strutture condizionali Strutture condizionali Sono le istruzioni che rappresentano il ben noto costrutto IF THEN ELSE della programmazione strutturata. In C, come peraltro in tutti gli altri
DettagliIstruzione if/else. Espressioni booleane
Istruzione if/else Espressioni booleane Espressioni booleane Possono assumere solo due valori: VERO (TRUE, per il C qualunque valore diverso da 0) FALSO (FALSE, il valore 0) Programmazione 2015/16 Introduzione
DettagliStrutture di Controllo Iterative: Istruzione FOR
Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative n Anche dette cicli n Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo) n Ad ogni iterazione del
DettagliStrutture 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
DettagliStrutture di controllo
Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria ivile e Ambientale MATLAB: le strutture di controllo If, while, for, do until
DettagliLinguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»
Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite
DettagliIl linguaggio C La programmazione strutturata
1 Il linguaggio C La programmazione strutturata espressione di selezione caso A istruzioni1 break condizione falsa caso B istruzioni2 break vera break istruzione default istruzioni Programmazione strutturata
DettagliFor e do. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliI 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
DettagliEsercitazione 3. Espressioni booleane I comandi if-else e while
Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if
DettagliLaboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016
Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2015/2016 Ambiente di test PHP online per avere un interprete PHP Php Online PHP Tester
DettagliFondamenti 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
DettagliIL COSTRUTTO ITERAZIONE
IL COSTRUTTO ITERAZIONE Ragioniamo su questo esercizio Dati tre numeri farne la somma Modifichiamo il programma perché permetta di fare la somma di 1000 numeri. Il costrutto iterazione Il costrutto iterativo
DettagliIstruzioni 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
DettagliEsecuzione condizionale. Esecuzione condizionale. Costrutto if. Costrutto if
Esecuzione condizionale Esecuzione condizionale Permette l esecuzione di un blocco di codice solo se si verifica una certa condizione SE (condizione è vera) ALLORA esegui istruzioni 2 er. 2.4 also condizione
Dettagli