7. Strutture di controllo

Slides:



Advertisements
Presentazioni simili
if (condizione.) { blocco_istruzioni } else
Advertisements

MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
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.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
Lezione 6 Strutture di controllo Il condizionale
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
7. Strutture di controllo Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A
Programmazione: Iterazione Esistono tre tipi di iterazione fondamentali e vedremo la corrispondenza dei relativi diagrammi a blocchi e la loro traduzione.
Parte 2 Programmare in Matlab – I Sommario: Introduzione: m-file Strutture condizionali e cicli –Istruzione “if” + Operatori logici in MatlabIstruzione.
Un semplice programma C /* Programma che stampa un saluto */ #include main() { printf(“Hello World!\n”); }
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Matteo Ferroni –
Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A Programmazione strutturata.
© 2007 SEI-Società Editrice Internazionale, Apogeo
DAL DIAGRAMMA AL CODICE
Introduzione al linguaggio C
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
7. Strutture di controllo Ing. Simona Colucci
I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi.
Script Marco D. Santambrogio –
IL CONCETTO DI ALGORITMO
10. Programmazione Ricorsiva Ing. Simona Colucci
9. Problemi ricorrenti: ordinamento e ricerca
Unità di apprendimento 7
Strutture di controllo
Codifica degli algoritmi in un linguaggio di alto livello
Programmazione strutturata
Informatica per l’Ingegneria
CICLO DO – WHILE LINGUAGGIO C.
Lezione 9 – A.A. 2016/2017 Prof. Giovanni Acampora
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Informatica per Scienze Geologiche LT a.a
Introduzione a JavaScript
Classe III A A.s – 2012 Programma di Informatica
Linguaggio C++ Selezione.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Strutture di Controllo
Secondo Programma in C.
Programmazione e Laboratorio di Programmazione
A = InputBox("Immetti un numero")
© 2007 SEI-Società Editrice Internazionale, Apogeo
Programmazione e Laboratorio di Programmazione
Process synchronization
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Process synchronization
Processi decisionali e funzioni di controllo
Programmazione e Laboratorio di Programmazione
Process synchronization
Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Lezione Terza Primi passi di programmazione
Informatica CdL Scienze e Tecniche Psicologiche a.a
Programmazione e Laboratorio di Programmazione
Corso di Fondamenti di Informatica
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
La programmazione strutturata
Università degli Studi di Ferrara Dipartimento di Ingegneria
Algoritmi.
Corso di Fondamenti di Informatica
Process synchronization
Script su vettori Realizza uno script che chiede in input una dimensione d e crea un vettore di d numeri interi casuali. Poi calcola la somma dei due numeri.
Corso di Fondamenti di Informatica
Programmazione e Laboratorio di Programmazione
Corso di Fondamenti di Informatica
Transcript della presentazione:

7. Strutture di controllo Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Istruzioni di selezione Istruzioni cicliche (di iterazione) Indice Istruzioni di selezione Sostituibili dal costrutto elseif, switch Istruzioni cicliche (di iterazione) Sostituibili dal costrutto for Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Programmazione strutturata TEOREMA DI BOHM-JACOPINI: tutti i programmi possono essere scritti con l’utilizzo delle sole strutture di controllo: sequenza, selezione e iterazione (senza l’uso del salto goto) Le strutture di controllo consentite sono quelle di selezione(if-else) e iterazione (while) Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Istruzioni di selezione: Il costrutto elseif istruzione di selezione a più vie (se l’else include ulteriori condizioni) Sintassi : if condizione 1 istruzione1 elseif condizione2 istruzione2 else istruzione3 end Regole: l’else si può omettere in assenza di un blocco in corrispondenza di istruzione3 falso vero Condizione1 falso vero Condizione2 istruzione1 istruzione3 istruzione2 Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Costrutto elseif: esempio if j<i fprintf('-'); elseif j==i fprintf('*'); else fprintf('+'); end falso j < i vero falso j =i vero - + * Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Istruzioni di selezione: il costrutto switch (1) istruzione di selezione a più vie auto esclusive (se l’else non è uno solo) consente la scelta di un’istruzione tra altre sulla base del valore di una particolare espressione di input (scalare o stringa) Sintassi: switch input case valore1 istruzioni1 case valore2 istruzioni2 ……. otherwise istruzioniN end Regole: clausola otherwise facoltativa ogni valore di case su una riga distinta del programma In caso di espressione di input scalare simula il costrutto if input ==valore1 istruzioni1 elseif input ==valore2 istruzioni2 else istruzioniN end vero falso input ==valore1 input ==valore2 falso vero istruzioni1 istruzioniN istruzioni2 Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Costrutto switch: esempio Immettere una scelta valore=input(‘Immettere una scelta’) switch valore case 1 disp(‘Caso1’) case 2 disp(‘Caso2’) case 3 disp(‘Caso3’) end valore falso vero valore ==1 vero falso valore==2 Caso 1 falso valore==3 vero Caso 2 Caso 3 Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Istruzioni cicliche: il ciclo for Nei cicli a conteggio (numero di passaggi noti in anticipo) invece di: VariabileDiCiclo = ValoreIniziale while VariabileDiConteggio <= ValoreFinale [Sequenza di istruzioni da ripetere] VariabileDiConteggio = VariabileDiConteggio + Incremento end Usare: for VariabileDiCiclo = ValoreIniziale:Incremento:ValoreFinale [Sequenza di istruzioni da ripetere] Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Ciclo for: regole Considerazioni su VariabileDiCiclo= ValoreIniziale : Incremento : ValoreFinale Incremento può essere negativo vale +1 in caso di omissione se positivo, il ciclo viene interrotto quando VariabileDiCiclo >ValoreFinale se negativo, il ciclo viene interrotto quando VariabileDiCiclo<ValoreFinale Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

s=0 for i=0:1:10 n=input(‘Inserire un numero’) s=s+n end Ciclo for : esempio 1 si può omettere s=0 for i=0:1:10 n=input(‘Inserire un numero’) s=s+n end s  0 i  0 falso i < 10 vero n s  s + n i  i + 1 Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Le istruzioni break e continue break interrompe l’esecuzione di un ciclo Esempio for k = 1:10 x=50-k^2 if x<0 break end y=sqrt(x) continue provoca l’interruzione della corrente iterazione del ciclo e il passaggio all’iterazione successiva   x=input(‘Inserire un intero’) continue Il break, utilizzato in un costrutto if, mappa un salto condizionato: meglio codificare con while k = 1 while k<10 & x>=0 x=50-k^2 if x>=0 y=sqrt(x) end k=k+1 Il continue può essere evitato modellando meglio le condizioni for k = 1:10 x=input(‘Inserire un intero’) if x>=0 y=sqrt(x) end Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017

Scrivere un programma che consenta la scelta tra le seguenti opzioni: Esercizi Scrivere un programma che consenta la scelta tra le seguenti opzioni: Calcolo del massimo e del minimo di una sequenza di N numeri, con N letto da tastiera Calcolo della media di una sequenza di N numeri, con N letto da tastiera Calcolo di una potenza, data la base e l’esponente, entrambi letti da tastiera Scrivere un programma che consenta la scelta tra le opzioni dell’esercizio 1 in maniera ripetuta (finchè l’utente non desidera terminare il programma) Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A. 2016-2017