Rappresentazione con i diagrammi di flusso (Flow - chart)
|
|
|
- Ferdinando Brunetti
- 9 anni fa
- Просмотров:
Транскрипт
1 Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo che richiamano visivamente le principali operazioni all interno di un algoritmo. Un flow - chart si costruisce combinando in modo opportuno i simboli grafici disponibili, in modo tale da riprodurre fedelmente l evoluzione dell algoritmo in tutte le sue diramazioni e possibilità. Introduciamo i principali simboli che verranno utilizzati per la rappresentazione degli algoritmi medianti i diagrammi di flusso. Azioni Connessioni Iniziatore / Terminatore Flusso logico Operazione / Processo Ricongiunzione di percorsi Selezione Ingresso / Uscita Caratteristiche della rappresentazione con i diagrammi di flusso Vantaggi Permette di realizzare diagrammi intuitivi e di facile lettura. Svantaggi Incapacità di sintetizzare algoritmi complessi; Rappresentazione non immediatamente trasferibile in un linguaggio di programmazione. 3
2 Esempio 1 Descrivere utilizzando i diagrammi di flusso l algoritmo che dati in ingresso il valore della base e dell altezza di un rettangolo ne calcoli il perimetro e l area. ACQUISISCI b ACQUISISCI h p = 2 * (b + h) 2. Acquisisci il valore della base b. 3. Acquisisci il valore dell altezza h. 4. Calcola il perimetro del rettangolo p = 2 * ( b + h). 5. Calcola l area del rettangolo a = b * h. 6. Stampa il valore del perimetro. 7. Stampa il valore dell area. 8. Fine. a = b * h STAMPA perimetro STAMPA area Strutture base dei diagrammi di flusso Sequenza Blocco di selezione 4
3 Ciclo While Do Ciclo Repeat - Until Esempio 2 Descrivere utilizzando i diagrammi di flusso l algoritmo che determina il valore maggiore tra due numeri m e n. Acquisisci m Acquisisci n 2. Acquisisci m. 3. Acquisisci n. 4. Se m > n allora max = m altrimenti max = n. 5. Stampa max. 6. Fine. m > n max = n max = m Stampa max 5
4 Il modo con cui questo esecutore risolve il problema è molto diverso da quello seguito dall esecutore umano. Questo esempio mette in luce che la struttura e la sequenza di operazioni che descrivono l algoritmo sono funzione dell esecutore. In particolare vengono messe in evidenza: le operazioni elementari in grado di eseguire; comprensione dell algoritmo. Esempio 3 Descrivere utilizzando i diagrammi di flusso l algoritmo che determina il valore maggiore tra tre numeri a, b, c. max = c b > c ACQUISISCI a,b,c a > b a > c max = b max = c max = a 2. Acquisisci i valori di a,b,c. 3. Se a > b allora prosegui al passo Se b > c allora max = a altrimenti max = c. 5. Salta al passo Se a > c allora max = b altrimenti max = c. 7. Stampa il valore massimo. 8. Fine. STAMPA max Osservazioni 1. Non è possibile mettere in collegamento i rami di due blocchi di selezione sebbene richiedono l esecuzione della stessa operazione. 2. Per verificare che l algoritmo funziona correttamente si devono fare delle simulazioni del suo funzionamento utilizzando dei valori di prova di cui si conoscano le soluzioni. 3. Se esistono due rami dei blocchi di selezione con la stessa azione, probabilmente l algoritmo che abbiamo realizzato non è il più efficiente (migliore). 6
5 Soluzione migliore ACQUISISCI a,b,c max = a b > max 2. Acquisisci i valori a,b,c. 3. Poni max = a. 4. Se b > max allora poni max = b. 5. Se c > max allora poni max = c. 6. Stampa il valore massimo. 7. Fine. max = b c > max max = c STAMPA max 7
6 Esempio 4 Descrivere utilizzando i diagrammi di flusso l algoritmo che determina se un numero intero è pari o dispari. ACQUISISCI n Calcola il resto della divisione n / 2 2. Acquisisci il numero intero n. 3. Calcola il resto della divisione n / Se il resto = 0 allora il numero è pari altrimenti è dispari. 5. Fine. resto = 0 Numero dispari Numero pari Caratteristiche di un algoritmo Affinché un insieme di operazioni costituisca un algoritmo deve soddisfare i requisiti seguenti: il numero di operazioni svolte nella soluzione deve essere finito e inoltre ogni singola operazione deve essere eseguita in un intervallo di tempo determinato; ogni operazione deve essere descritta in modo preciso e non ambiguo; deve essere deterministico ovvero, a partire dagli stessi dati iniziali, l insieme delle operazioni deve sempre produrre i medesimi risultati; deve essere eseguibile, ovvero deve esistere un esecutore, automatico o manuale, in grado di effettuare le operazioni che definiscono l algoritmo; deve essere comprensibile al suo esecutore deve essere generale e quindi in grado di risolvere non un singolo problema, ma tutti quelli di una determinata classe. 8
7 LINGUAGGIO DI PROGETTO E una tecnica alternativa ai metodi grafici che consiste nel rappresentare i passi del processo risolutivo di un problema per mezzo di un linguaggio informale, simile a quello che usiamo abitualmente. Il linguaggio di progetto è chiamato anche pseudolinguaggio o linguaggio per la progettazione dei programmi o PDL ( acronimo di Program Design Language) Definizione Pseudocodice Si definisce pseudocodice l insieme di frasi, scritte con linguaggio di progetto, che rappresentano (codificano) le operazioni da compiere nella risoluzione del problema. Ogni operazione è rappresentata mediante una oppure più parole chiave (keyword) il cui significato richiama il tipo di operazione codificata. Le parole chiave sono in genere scritte in inglese, a causa della diffusione, a livello internazionale, di questa lingua nell ambito delle discipline scientifiche e tecniche. Le frasi devono essere definite in modo da soddisfare i requisiti generali degli algoritmi e quindi non in modo ambiguo. Le tecniche di rappresentazione degli algoritmi devono permettere di comunicare il lavoro svolto e, per questo motivo, risulta essenziale l impiego di parole chiave nella lingua inglese. Un PDL con parole chiave in inglese può essere comunicato a programmatori di tutto il mondo e rappresenta il modo comune utilizzato su testi e riviste internazionali, che consente al futuro programmatore anche l autoaggiornamento. Il lavoro di traduzione in inglese, risparmiato nella fase di progettazione, dovrà in tutti i casi essere svolto nella fase di codifica, perché i linguaggi di programmazione moderni non hanno parole chiave in italiano. Traduzione dei simboli grafici dei flow chart in linguaggio di progetto (PDL) ALGORITMO Nome Assegna un nome simbolico all algoritmo Leggi Dati BEGIN END INPUT Dati Stampa Dati OUTPUT Dati Operazione Descrizione dell operazione a parole o in forma simbolica. (* Commento *) Il testo compreso tra i simboli (* e *) sono ignorati dall esecutore e possono essere utilizzati per introdurre dei commenti al codice al fine di aumentarne la leggibilità. 9
8 Strutture di controllo in PDL Sequenza BEGIN 3 END 3 Blocco di selezione ad una via IF ( condizione ) THEN ENDIF Blocco di selezione a due vie IF ( condizione ) THEN ELSE ENDIF 10
9 Ciclo WHILE - DO WHILE ( condizione ) DO BEGIN END Caratteristiche ciclo con verifica della condizione all ingresso; il corpo del ciclo viene eseguito se la condizione risulta verificata; il corpo del ciclo non viene mai eseguito se la condizione risulta subito falsa. Ciclo REPEAT - UNTIL REPEAT UNTIL () Caratteristiche ciclo con verifica della condizione all uscita; il corpo del ciclo viene eseguito se la condizione risulta falsa; il corpo del ciclo viene eseguito almeno una volta anche se la condizione risulta subito verificata. Esercizio 1 Algoritmo di calcolo del perimetro e area di un rettangolo. ALGORITMO Rettangolo BEGIN INPUT base,altezza perimetro 2 * base + 2 * altezza area base * altezza OUTPUT perimetro, area END 11
Introduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
Introduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
Formalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano
Risoluzione di un problema
Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito
Corso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
Laboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
Algoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
La formalizzazione dell informazione: Dati e Diagrammi di Flusso
La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi
Lez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
Unità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 2 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
MODULO 07. La soluzione dei problemi mediante gli algoritmi
MODULO 07 La soluzione dei problemi mediante gli algoritmi MODULO 07 Unità didattica 02 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli
Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota
Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi
Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
CONCETTI FONDAMENTALI
CONCETTI FONDAMENTALI Algoritmo Procedura di trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante una sequenza di istruzioni. Linguaggio di programmazione Programma
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura [email protected] 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
CAPITOLO 3 - ALGORITMI E CODIFICA
FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)
Sviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1
Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di
Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina [email protected] www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo
ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Esempi di Testi di esame Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del corso
Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
L ELABORATORE ELETTRONICO
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
Unità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi In questa lezione impareremo: cos è un problema come affrontarlo come descrivere
Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi
Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive
Rappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
Elementi di programmazione
Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università
Dall algoritmo al programma
Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione
Fasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)
Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica
Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie
Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica2014/2015 Algoritmie Diagrammidiflusso Gennaio 2015 - Sergio Marin Vargas Problemi e soluzioni
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
ALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
Introduzione alla programmazione strutturata
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio
PROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso
Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso
Capitolo 3 L elaborazione e la strutturazione dell informazione
Capitolo 3 L elaborazione e la strutturazione dell informazione Problemi e algoritmi Definire il problema Eliminare le ambiguità nella formulazione del problema Individuare il risultato che si vuole ottenere,
Rappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.
Flow-chart Introduzione agli algoritmi e ai diagrammi a blocchi [email protected] 1 Sommario Fasi dello sviluppo di un programma Algoritmo Dati: Variabili e Costanti Le operazioni tipiche Diagramma
Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione
Concetti Introduttivi. Il Computer
Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta
Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani ([email protected])
3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
Algoritmi e diagrammi di flusso versione biennio
Algoritmi e diagrammi di flusso versione biennio Pablo Genova [email protected] I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016 Cos'è un algoritmo? Algoritmo: procedimento
Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi
Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione
ALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico
ALGORITMI Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico Dati input Elaboratore elettronico Risultati Per risolvere un problema è necessario fornire una descrizione chiara e
Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
Teoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica
FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano
Algoritmi e Linguaggi
Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e
