Diagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi

Documenti analoghi
Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari.

Programmazione. Informatica. Risoluzione dei Problemi

Introduzione all Informatica e alla Programmazione. Fondamenti di Informatica T

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. È uno strumento in grado di eseguire insiemi di azioni elementari.

Diagrammi a blocchi 1

Diagrammi a blocchi 1

Risoluzione di un problema

Sviluppo di programmi

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

ESERCITAZIONI DI LABORATORIO DI CALCOLO NUMERICO. Introduzione: Algoritmi e Programmazione strutturata

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Fondamenti di Informatica

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

Analisi strutturata 1

Rappresentazione degli algoritmi

Informatica. Perché l'informatica. Il Calcolatore Elettronico. Cosa possiamo fare?

CAPITOLO 3 - ALGORITMI E CODIFICA

Cicli. S i a i = a 1 + a 2 + a a n

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Ing. Lorenzo Vismara

Algoritmi e soluzione di problemi

Calcolo numerico e programmazione Risoluzione di problemi

Formalismi per la descrizione di algoritmi

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Introduzione alla programmazione

2. Algoritmi e Programmi

Fondamenti di Informatica A. A. 2018/19

ALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

Esercizi svolti in aula

LA METAFORA DELL UFFICIO

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Corso di Informatica Modulo T1 C1-Sequenza e selezione

Sviluppo di programmi

Strutture di Controllo

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

Modulo 1 Concetti di base della Tecnologia dell Informazione

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Corso di Informatica

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Fabrizio Messina, Marzio Pennisi

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

LA METAFORA DELL UFFICIO

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.

IL COSTRUTTO ITERAZIONE 2

Corso di Informatica

Linguaggi algoritmici A. Ferrari

Introduzione agli Algoritmi

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.)

PROGRAMMAZIONE: Le strutture di controllo

Laboratorio di Programmazione

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Fondamenti di Informatica

Dichiarazione di variabili

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Lezione 5. La macchina universale

LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi

unità didattica 3 Le strutture condizionali e le strutture iterative

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Le strutture di controllo

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

Introduzione agli Algoritmi. Prof. Francesco Pappalardo

Algoritmi e programmazione

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

COSA SONO I FLOW CHART

Fondamenti di Informatica

Blocchi di base. Schemi: Sequenza Selezione Iterazione. Flow chart strutturati Sequenza Selezione Iterazione. Teorema di Bohm e Jacopini

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

Problemi, algoritmi, calcolatore

Rappresentazione con i diagrammi di flusso (Flow - chart)

GARA SECONDARIA PRIMO GRADO - INDIVIDUALE

GARA SECONDARIA PRIMO GRADO - INDIVIDUALE

Il concetto di calcolatore e di algoritmo

Sviluppo di programmi

Cosa si intende con stato

Come ragiona il computer

Sistemi di Elaborazione delle Informazioni

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Informatica (A-K) 5. Algoritmi e pseudocodifica

ISTRUZIONI ISTRUZIONI SEMPLICI

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

LA METAFORA DELL UFFICIO LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO

Rappresentazione degli algoritmi

Analisi e Programmazione

Transcript:

Diagrammi di flusso - Flowcharts E un formalismo che consente di rappresentare graficamente gli algoritmi Un diagramma di flusso descrive le azioni da eseguire ed il loro ordine di esecuzione Ogni azione elementare corrisponde ad un simbolo grafico (blocco) diverso Ogni blocco ha un ramo in ingresso ed uno o più rami in uscita; collegando tra loro i vari blocchi attraverso i rami, si ottiene un diagramma di flusso Un diagramma di flusso appare, quindi, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da frecce che specificano la sequenza in cui i blocchi devono essere eseguiti (flusso del controllo di esecuzione). 1

Diagrammi di flusso - Flowcharts L'insieme dei dati di ingresso e dei risultati vengono rappresentati attraverso dei nomi simbolici, detti variabili (ad esempio, «a») Può essere inoltre necessario introdurre delle variabili "temporanee" (ad esempio, i), necessarie alla risoluzione del problema: tali variabili vengono anch'esse rappresentate da nomi simbolici. 2

Diagrammi di flusso - Espressioni Sequenze di variabili e costanti combinate fra loro mediante operatori (ad es, operatori aritmetici: +, -, *, /, %, sqrt); ad esempio: s + r*5 A 100 Nella valutazione di una espressione, si sostituisce ad ogni variabile il suo valore attuale e si eseguono le operazioni secondo un ordine prestabilito da regole di precedenza (possono comparire parentesi). A tutte le variabili che compaiono nell'espressione deve essere stato associato un valore prima della valutazione dell'espressione Espressioni relazionali e logiche: danno come risultato vero o falso (> minore, < maggiore, = = uguale,!= diverso) 3

Inizio e fine esecuzione Inizio è il blocco da cui deve iniziare l esecuzione dell algoritmo (uno solo). La freccia è sempre uscente dal blocco inizio. Fine è il blocco che fa terminare l esecuzione dell algoritmo (almeno uno). La freccia è sempre entrante nel blocco fine Inizio Fine A questi blocchi non corrisponde alcuna azione! 4

Ingresso (lettura, read, input) Esecuzione dell istruzione: Si ricevono dall unità di ingresso (per esempio, la tastiera) tanti valori quante sono le variabili specificate all interno del blocco var A, B, C Leggi A, B, C «Crea le variabili A,B,C. Leggi i tre valori da tastiera, e salvali rispettivamente nelle variabili A, B e C» 5

Uscita (stampa, print, output) Esecuzione dell istruzione: Si calcolano i valori delle espressioni e si trasmettono all unità di uscita (ad esempio, il video) Stampa A «calcola il valore dell espressione A e stampala a video» N.B. il valore di A non viene alterato dall esecuzione del blocco 6

Assegnamento Esecuzione dell istruzione: Si calcola il valore dell espressione a destra del simbolo «=» e lo si salva (assegna) nella variabile indicata a sinistra del simbolo «=» i = i + 1 «Calcola il valore dell espressione i+1 ed assegnalo alla variabile i» Esempio: se i vale 6 prima di entrare nel blocco, calcolo 6+1 (7) e lo salvo nella variabile i. Quando si esce dal blocco la variabile i vale 7. 7

Condizioni Esecuzione dell istruzione: Si valuta la condizione specificata all interno del blocco: se è verificata, si prosegue con la line di flusso contrassegnata da «Sì», altrimenti (se non è verificata) si prosegue con il ramo etichettato con «No» Sì (vero) No (falso) «Calcola il valore dell espressione i<=10: se è vero, prosegui per il ramo Sì, altrimenti prosegui per il ramo No» Il blocco condizione è l elemento base per realizzare alternative e ripetizioni. 8

Esempio Cosa fa questo algoritmo? 9

Iterazione o Ripetizione Esprime la ripetizione di una sequenza di istruzioni. Nel caso più generale (ripetizione enumerativa), è costituita da: Inizializzazione: assegnazione dei valori iniziali alle variabili caratteristiche del ciclo (viene eseguita una sola volta); Controllo: determina, in base al valore delle variabili che controllano l'esecuzione del ciclo se il ciclo deve essere ripetuto o meno; Corpo: esecuzione delle istruzioni fondamentali del ciclo che devono essere eseguite in modo ripetitivo; Modifica: modifica dei valori che controllano l esecuzione del ciclo (eseguito ad ogni iterazione). 10

Iterazione 11

Strutture Algoritmiche In generale, qualsiasi algoritmo si compone attraverso le seguenti strutture: Concatenazione: istruzioni di lettura, scrittura o assegnamento eseguite in sequenza Alternative: mediante blocchi condizionali Iterazioni Chiaramente, la complessità di un algoritmo potrà essere alta o bassa, ma sempre in ogni caso sarà esprimibile attraverso queste strutture base (composte in modo varie, come componiamo pezzi di lego), che formano la cosiddetta base della programmazione strutturata. 12

Possibili esercizi da fare Mediante diagrammi di flusso, descrivere le istruzioni da eseguire per poter completare la richiesta: Leggere da tastiera due numeri e stampare a video la loro somma Leggere da tastiera due numeri e stampare a video il minore dei due Leggere da tastiera due numeri e stampare a video il maggiore dei due Leggere da tastiera due numeri, calcolarne il prodotto usando sequenza di somme anziché usare l operatore *, e stampare a video il risultato Calcolare il massimo di una sequenza di numeri interi letti da tastiera 13