Algoritmi e diagrammi di flusso

Documenti analoghi
Algoritmi e diagrammi di flusso versione biennio

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

Introduzione alla programmazione

Dispensa di Informatica II.1

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.

Algoritmi. Pagina 1 di 5

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

Come ragiona il computer. Problemi e algoritmi

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

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

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

Lezione 5. La macchina universale

Corso di Informatica di Base

Problemi, algoritmi, calcolatore

Algoritmi e soluzione di problemi

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

Matlab. Istruzioni condizionali, cicli for e cicli while.

MODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio

Formalismi per la descrizione di algoritmi

Il concetto di calcolatore e di algoritmo

Diagrammi a blocchi 1

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Fare calcoli e grafici con Excel

UD 3.2b: Programmazione in Pascal (1)

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione alla programmazione

MODULO 07. La soluzione dei problemi mediante gli algoritmi

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

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Unità di apprendimento 6. Dal problema al programma

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

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

Concetti Introduttivi. Il Computer

Programmazione strutturata

Istruzioni Condizionali

La codifica digitale

Rappresentazione con i diagrammi di flusso (Flow - chart)

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

Algoritmi e Linguaggi

Diagrammi a blocchi 1

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

Appunti di informatica. Lezione 4 anno accademico Mario Verdicchio

LA METAFORA DELL UFFICIO

Sviluppo di programmi

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

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande / VERSIONE 1

Strutture di Controllo

PROGRAMMAZIONE STRUTTURATA

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio.

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio

DESCRIZIONI RIGOROSE c7

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

DISPENSE DI PROGRAMMAZIONE

Capitolo 3 L elaborazione e la strutturazione dell informazione

La programmazione. Sviluppo del software

Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo

ALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Teoria dell Informazione

LABORATORIO DI INFORMATICA

Algoritmi e Strutture Dati

Informatica. Come si risolve un problema?

INFORMATICA. Strutture iterative

Definizione di algoritmo

Sistemi Web per il turismo - lezione 3 -

LA METAFORA DELL UFFICIO

I.4 Rappresentazione dell informazione

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

La rappresentazione dell algoritmo Diagrammi di flusso

Transcript:

Algoritmi e diagrammi di flusso Pablo Genova gallini.genova@gmail.com I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016

Cos'è un algoritmo? Algoritmo: procedimento che risolve un dato problema in un numero finito di passi La proprietà di finitezza è molto importante (l'algoritmo deve finire!) inoltre tipicamente un algoritmo è non ambiguo, porta ad un risultato univoco, viene eseguito in un tempo finito i passi costituenti sono elementari (non ulteriormente scomponibili) il passo dell'algoritmo si dice STEP in inglese Curiosità: la parola algoritmo deriva da Muhammad ibn Mūsā al-khwārizmī, matematico persiano della Corasmia attualmente Xiva (Хива) Uzbekistan

Dal problema all'algoritmo Quando costruiamo un algoritmo, creiamo una procedura generale, astratta, che ci permette di risolvere un problema Definiremo delle VARIABILI numeri o caratteri che variano nel corso dell'algoritmo e delle COSTANTI numeri o caratteri che rimangono costanti NON variano nel corso dell'algoritmo Esempio di costanti: π (pi greco) c (velocità della luce), ma anche qualunque valore numerico che non cambia più in tutto il procedimento, Esempio economico: aliquota IVA fissata ad es. al 23% IVA=23%

Diagrammi di flusso Per rappresentare un algoritmo usiamo la tecnica dei diagrammi di flusso. Se usata correttamente, è già un modo rudimentale di programmare, ovvero di elaborazione di un programma, che è un insieme di istruzioni comprensibile al calcolatore. Nel diagramma di flusso è già presente la logica della programmazione, ciò che manca è la codifica, ovvero il linguaggio concreto che esprime i vari passaggi in forma comprensibile al calcolatore (questo non lo vedremo) Curiosità flowchart originali IBM: http://www.eah-jena.de/~kleine/history/software/ibm-flowchartingtechniques-gc20-8152-1.pdf

Blocchi elementari INIZIO FINE. I. O input connettori output... V Elaborazione (calcolo) F Selezione binaria

Quanti tipi di blocchi servono? I due informatici italiani Corrado Böhm e Giuseppe Jacopini hanno dimostrato che OGNI ALGORITMO PUO' ESSERE IMPLEMENTATO UTILIZZANDO LE SOLE TRE STRUTTURE: SEQUENZA, SELEZIONE ED ITERAZIONE Teorema di Böhm-Jacopini SEQUENZA E SELEZIONE le abbiamo già viste (le sequenze sono i blocchi di elaborazione) L'ITERAZIONE E' UNA STRUTTURA CHE PERMETTE DI RIPETERE un dato numero di volte una o più operazioni L'ITERAZIONE è anche nota come CICLO O LOOP

Esempio di iterazione Somma da 1 a 10 inizio S = 0 Definisco variabile S e la metto a 0 I = 0 Definisco variabile I e la metto a 0 I è un contatore I = I + 1 Incremento di 1 il contatore metto I+1 in I Questo serve a fare il CICLO S = S + I Incremento la somma di I, questo serve a fare la somma V I < 10 F BLOCCO IL CICLO QUANDO HO RAGGIUNTO IL NUMERO RICHIESTO (10) attenzione è minore stretto è < NON CONTINUA

S O VISUALIZZO S FINE I cicli sono in qualche modo l'essenza della programmazione perché vi permettono di dire al calcolatore di ripetere tante volte una data operazione e quindi di fare calcoli complessi o lunghi per l'umano

Esempio di selezione Confrontare le aree di un quadrato e di un cerchio e dire qual è la figura con area maggiore inizio pi_greco =3.14159 Definisco la costante pi_greco come 3.14159 (approssimazione) L, R I Inserisco lato del quadrato e raggio del cerchio A_q = L*L Calcolo area quadrato A_c =pi_greco * R * R Calcolo area cerchio Il cerchio ha area maggiore O V A_c > A_q F O Il quadrato ha area maggiore fine

Nella verifica vi chiedo anche semplici esercizi su TABELLE DI VERITA' UNITA' DELL'INFORMATICA (dal bit al Terabyte) CONVERSIONI BINARIO DECIMALE Es. se p è VERO e q è FALSO, com'è l'espressione logica p and (q or not p) 1 TB (Terabyte) quanti bit sono? E quanti MB (Megabytes) sono Il numero binario 10001 quanto vale in decimale e il numero decimale 123 quanto vale in binario? Scrivere il procedimento per giustificare i calcoli!!! (sono malfidente, se non vedo non credo ;-))