Programmazione strutturata

Slides:



Advertisements
Presentazioni simili
Selezione A. Ferrari.
Advertisements

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Le strutture di controllo
PROGRAMMAZIONE: linguaggi
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Lezione 6 Strutture di controllo Il condizionale
Programmazione Strutturata
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
3. Programmazione strutturata 3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Informatica - CDL in Ingegneria Industriale- A.A
Unità di apprendimento 6 Dal problema al programma.
© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Sistemi.
2a + 10b abx2 3a + 1 y 2 a + 1 x + 2y a − Espressioni algebriche
7. Strutture di controllo Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A
Unità di apprendimento 6 Dal problema al programma.
Programmazione: Iterazione Esistono tre tipi di iterazione fondamentali e vedremo la corrispondenza dei relativi diagrammi a blocchi e la loro traduzione.
I Polinomi Prof.ssa A.Comis.
Parte 2 Programmare in Matlab – I Sommario: Introduzione: m-file Strutture condizionali e cicli –Istruzione “if” + Operatori logici in MatlabIstruzione.
NUMERI RELATIVI I numeri relativi comprendono i numeri positivi, negativi e lo 0 Esempio: +10, -5, +3, 0, -2 I numeri relativi si possono trovare all’interno.
Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A Programmazione strutturata.
NUMERI ed ERRORI MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
© 2007 SEI-Società Editrice Internazionale, Apogeo
La rappresentazione degli algoritmi
DAL DIAGRAMMA AL CODICE
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
7. Strutture di controllo Ing. Simona Colucci
I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi.
(7x + 8x2 + 2) : (2x + 3) 8x2 + 7x + 2 2x + 3 8x2 + 7x + 2 2x + 3 4x
IL CONCETTO DI ALGORITMO
7. Strutture di controllo
Unità di apprendimento 7
Strutture di controllo
Prof.ssa Carolina Sementa
MATEMATICA I.
Codifica degli algoritmi in un linguaggio di alto livello
Forme per rappresentare l’algoritmo:
CICLO DO – WHILE LINGUAGGIO C.
Lezione 9 – A.A. 2016/2017 Prof. Giovanni Acampora
I MONOMI.
I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi.
IL CONCETTO DI ALGORITMO
Linguaggio C++ Selezione.
Codicfiche Interi Complemento alla base.
© 2007 SEI-Società Editrice Internazionale, Apogeo
START ALGORITMO PER L’ACCENSIONE DEL CELLULARE ACCENDI CELLULARE
Strutture di Controllo
Programmazione e Laboratorio di Programmazione
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Scrivere programmi corretti
Le espressioni algebriche letterali
© 2007 SEI-Società Editrice Internazionale, Apogeo
Programmazione e Laboratorio di Programmazione
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
NUMERI RELATIVI ..., -2, -1, 0, 1, 2, ... formano l’insieme dei numeri interi Sono chiamati anche numeri relativi, in quanto il loro valore dipende dal.
Programmazione e Laboratorio di Programmazione
APPUNTI SUL LINGUAGGIO C
CICLO WHILE LINGUAGGIO C.
Matrici e determinanti
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
Algoritmi.
Corso di Fondamenti di Informatica
Corso di Fondamenti di Informatica
Process synchronization
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Programmazione strutturata Informatica per l’Ingegneria

Programmi strutturati L’obiettivo della programmazione strutturata è di rendere un flusso ordinato il passaggio tra le istruzioni dall’inizio alla fine dei programmi Realizzazione: Condizione ideale: sequenza lineare di operazioni, senza alternative possibili(limite: potenza algoritmi ridotta) Condizione reale: regole coerenti con il pensiero naturale che portano ad effetti equivalenti all’esecuzione sequenziale di operazioni Costrutti consentiti (strutture di controllo del flusso): Sequenza: fai questo Selezione tramite strutture di controllo decisionali: se è verificata una condizione fai questo altrimenti fai quello Ripetizioni cicliche tramite strutture di controllo iterative: finché è verificata una condizione fai questo Costrutti non consentiti: Salto incondizionato (goto): ancora nella sintassi solo per compatibilità verso il basso(era necessario nel linguaggio macchina e assembler) Informatica per l’Ingegneria

Programmi strutturati 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) Corrado Böhm e Giuseppe Jacopini hanno dimostrato che la potenza di calcolo dei programmi strutturati (più chiari, più facili da scrivere e da modificare e più probabilisticamente esenti da errori) non è inferiore a quella dei programmi che usano il goto Informatica per l’Ingegneria

Informatica per l’Ingegneria Sequenza : flow-chart Operazioni: - fai questo - fai quello Esempio: a = 5; a = a+b; Informatica per l’Ingegneria

Selezione : flow-chart Operazioni: se è verificata una condizione fai questo se è verificata una condizione fai questo altrimenti fai quello Sintassi Matlab: if espressione istruzione end istruzione1 else istruzione2 Informatica per l’Ingegneria

Iterazione : flow-chart espressione falso vero istruzione Operazioni: finchè è verificata una condizione fai questo  esegui fai questo finchè è verificata una condizione Sintassi Matlab: while espressione               istruzione     End Ciclo a condizione finale non direttamente codificabile in Matlab Informatica per l’Ingegneria

Programmi strutturati: flow-chart Si apre con un cerchio e finisce con un cerchio: tutti i canali partono dal primo cerchio e terminano nell’ultimo (un solo inizio ed una sola fine) Composto da più strutture di controllo del tipo sequenza selezione o iterazione I cerchi sono i connettori tra le strutture di controllo: altri punti di attacco non consentiti Informatica per l’Ingegneria

Informatica per l’Ingegneria Blocco d’istruzioni Più strutture formano un blocco d’istruzioni: insieme d’istruzioni con una sola entrata, da dove inizia sempre l’elaborazione, e una sola uscita, dove termina sempre l’elaborazione del blocco(nessuna uscita laterale con istruzioni di salto) Scatola nera per eseguire un compito: non possono essere utilizzate delle sottoparti I blocchi possono contenersi l’un l’altro ma mai intersecarsi  blocco Informatica per l’Ingegneria

Programmazione strutturata: esempi Calcolo della somma algebrica tra due numeri relativi utilizzando le operazioni di somma e differenza tra numeri senza segno Calcolo della media Calcolo dei valori massimo e minimo Visualizzazione di caratteri letti da tastiera Calcolo di una potenza Visualizzazione di un quadrato Informatica per l’Ingegneria

Informatica per l’Ingegneria Esempio 1 falso inizio a, b concordi s a+b fine |a| < |b| s a-b t a a b bt vero modulo di s e segno di a a , b Problema: Calcolo della somma algebrica tra due numeri relativi utilizzando le operazioni di somma e differenza tra numeri senza segno Algoritmo: - acquisizione dei due numeri a,b - se a,b sono concordi |s|=|a|+|b| - se a,b sono discordi - se |a|<|b| si scambiano i valori di a e b - |s|=|a|-|b| - la somma ha il segno di a e modulo |s| Informatica per l’Ingegneria

Informatica per l’Ingegneria Esempio 2 inizio s  0 i  1 i < =10 s  s + n i  i + 1 m  s/10 fine vero falso m n Problema: Acquisizione di 10 numeri interi e calcolo della media Algoritmo: Azzerare la somma s Se non si sono acquisiti tutti i numeri: 2.1 Acquisire un numero n 2.2 Sommare n ad s e tornare al passo 2 La media è s/10 Fine Informatica per l’Ingegneria

Informatica per l’Ingegneria Esempio 3 inizio max n min  n i  2 i <= 10 fine n > max min  n n< min max n vero falso i  i +1 min, max n Problema: Acquisizione di 10 numeri interi; determinazione e visualizzazione del numero maggiore e minore Algoritmo: Leggi il primo numero n Poni il massimo e il minimo corrente(variabili max e min) pari a n Finché i numeri inseriti sono meno di 10 3.1 Leggi un nuovo numero n 3.2 Se n<min min=n altrimenti se n>max max=n Visualizza min e max Fine Informatica per l’Ingegneria

Informatica per l’Ingegneria Esempio 4 inizio Problema: Scrivere un programma che consenta, acquisito un numero intero n, di acquisire un carattere c e visualizzarlo n volte sulla stessa riga finché n è maggiore di zero Algoritmo: Leggi il primo numero n Finché n>0 2.1 Leggi c 2.2 Visualizza c n volte 2.3 Visualizza “a capo” 2.3 Leggi nuovo numero n Fine connettore n n > 0 falso Inizio blocco 2.2 vero i  1 i<= n falso c vero c blocco 2.2 i  i+1 a capo Fine blocco 2.2 n fine Informatica per l’Ingegneria

Informatica per l’Ingegneria Esempio 5 inizio x, n pot  1 i  1 i<= n i  i+1 vero falso pot = pot * x pot fine Problema: Calcolo e visualizzazione di una potenza(variabile pot), acquisiti la base x e l’esponente n Algoritmo: Acquisisci x ed n(intero) Poni pot pari ad 1 Esegui per n volte pot pot * x 4. Visualizza pot 5. Fine Informatica per l’Ingegneria

Informatica per l’Ingegneria Esempio 6 inizio n i  1 Problema: acquisito un numero intero n, si visualizzi una figura quadrata di n*n con degli asterischi nella diagonale principale, dei segni meno al di sotto e dei segni più al di sopra della diagonale principale Algoritmo: Leggi n Finché le righe visualizzate sono meno di n (indice i scorre le righe) Finchè le colonne visualizzate sono meno di n(indice j scorre le colonne) se j>i visualizza il carattere meno se j=i visualizza il carattere asterisco se i<j visualizza il carattere più Esci i<= n falso vero j  1 j <= n falso vero falso j < i vero falso j =i vero - + * j  j+1 a capo i  i+1 Informatica per l’Ingegneria fine