Fondamenti di informatica

Documenti analoghi
Introduzione alla programmazione

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

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Introduzione agli Algoritmi

Sviluppo di programmi

Sviluppo di programmi

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso

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

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.

Sistemi di Elaborazione delle Informazioni

Risoluzione di un problema

MODULO 07. La soluzione dei problemi mediante gli algoritmi

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

Formalismi per la descrizione di algoritmi

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

L uomo come esecutore di algoritmi

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

L informazione. Bateson, Ricevere informazioni vuol dire necessariamente ricevere notizie di differenza (Es.: Luce accesa/spenta, 1/0,...

Rappresentazione con i diagrammi di flusso (Flow - chart)

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Corso di Informatica di Base

Algoritmi. Pagina 1 di 5

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Il concetto di calcolatore e di algoritmo

Descrizione di un algoritmo

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

Sviluppo di programmi

Problemi, algoritmi, calcolatore

Fasi di creazione di un programma

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

Algoritmo. Programmazione

Caratteristiche di un calcolatore elettronico

Introduzione all informatica

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

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

Informatica. Come si risolve un problema?

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Come ragiona il computer. Problemi e algoritmi

Computer. Capitolo 2. 05/04/2012 continuazione 1

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

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

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Rappresentazione degli algoritmi

Fondamenti di programmazione!! Parte 2!

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

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

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Algoritmi e soluzione di problemi

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

INFORMATICA Algoritmi come formalizzazione della risoluzione di un problema

Fondamenti di Informatica

Algoritmi. Informatica B. Daniele Loiacono

L ELABORATORE ELETTRONICO!

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Introduzione alla programmazione strutturata

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

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

Laboratorio di Programmazione

Elementi di programmazione

Unità di apprendimento 6. Dal problema al programma

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Introduzione. Informatica B. Daniele Loiacono

L ELABORATORE ELETTRONICO

Elementi di Informatica. Introduzione. Cos è l informatica. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing.

Dall algoritmo al programma

Elaboratore Elettronico

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Algoritmi e Programmi

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

Lezione 5. La macchina universale

Algoritmi e (cenni sul) calcolatore

ALGORITMI: PROPRIETÀ FONDAMENTALI

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

Analisi strutturata 1

LA METAFORA DELL UFFICIO

Capitolo 3 L elaborazione e la strutturazione dell informazione

Strutture di Controllo

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

Come scrivere bene codice? (1 di 1)

Introduzione alla Programmazione. Informatica 1 / 33

generalità concetti di base

Linguaggi algoritmici A. Ferrari

INFORmazione+autoMATICA. Perché saperne di piu? Le fasi della programmazione. Cosa intendiamo per programmazione

Informatica. Informatica. Problema - soluzione. Algoritmi, dati e programmi. Introduzione ai concetti di: Distinguiamo tra: problema

Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Algoritmi e programmazione Prof. Andrea Borghesan

Linguaggi, Traduttori e le Basi della Programmazione

Transcript:

Fondamenti di informatica Alessandro GORI a.gori@unifi.it informottica.webnode.it A.Gori - Fondamenti di informatica 1 Bibliografia Introduzione ai Sistemi Informatici IV edizione, Sciuto et alt., McGraw-Hill Contatti a.gori@unifi.it 055-753434 A.Gori - Fondamenti di informatica 2 Parole Chiave Algoritmo Codifiche e Linguaggi Programma Input Output A.Gori - Fondamenti di informatica 3 A.Gori - Fondamenti di informatica 4 Ogni problema di elaborazione della informazione è caratterizzato da: Un insieme di dati di partenza Un elaborazione dei dati Un risultato in risposta A.Gori - Fondamenti di informatica 5 A.Gori - Fondamenti di informatica 6 HTML 1

Schema di riferimento delle attività di un generico sistema di elaborazione: Strettamento connesso all elaborazione di informazioni è il problema della comunicazione di dati ed informazioni INPUT ELABORAZIONE OUTPUT A.Gori - Fondamenti di informatica 7 A.Gori - Fondamenti di informatica 8 L informazione presuppone <Comunicazione> tra un entità Emittente ed un entità Ricevente attraverso processi di codifica e di decodifica nonché tramite un insieme di regole. Codifica Emittente INFORMAZIONE Decodifica Ricevente La comunicazione (di informazione) tra due persone avviene attraverso un linguaggio e può subire una codifica ed una decodifica: Esempio: La persona emittente pensa una cosa La codifica in una frase in un certo linguaggio (es. lingua italiana) Il ricevente l ascolta e la decodifica per farla sua (ad es. tramite lo stesso tipo di linguaggio) ed utilizzarla (memorizzarla, elaborarla, ) A.Gori - Fondamenti di informatica 9 A.Gori - Fondamenti di informatica 10 La comunicazione (di informazione) tra due sistemi diversi (ad es. l uomo ed il computer) avviene con le stesse modalità viste prima ovviamente utilizzando mezzi diversi. ESEMPIO: L uomo comunica al computer un informazione tramite un linguaggio di programmazione (codifica) Il computer riceve l informazione, decodificandola nel suo linguaggio (codici binari 0/1) in modo da poterla trattare in vario modo (memorizzare, elaborare, ecc.) e magari ritornare delle risposte A.Gori - Fondamenti di informatica 11 A.Gori - Fondamenti di informatica 12 HTML 2

La comunicazione di informazione tra due sistemi deve avvenire seguendo delle regole precise: si pensi alla sintassi del linguaggio umano si pensi alla semantica (ossia quello che comunichiamo deve avere un significato per chi ci ascolta) si pensi alla sequenza logica di ciò che comunichiamo Linguaggio di programmazione: Sistema di codifica del linguaggio naturale attraverso il quale possiamo comunicare informazioni ad un computer o, più in generale, ad un sistema di elaborazione Ecco che si introducono i concetti di: linguaggio di programmazione programma A.Gori - Fondamenti di informatica 13 A.Gori - Fondamenti di informatica 14 Programma: Sequenza di comandi o istruzioni elementari che possono essere comprese (decodificate) ed eseguite (elaborate) da un sistema di elaborazione in modo automatico Schema di riferimento delle attività di un generico sistema di elaborazione: INPUT ELABORAZIONE OUTPUT A.Gori - Fondamenti di informatica 15 A.Gori - Fondamenti di informatica 16 Esempio: Esempio: 3 5? 125 3 5 5^3 125 Concetto di Algoritmo A.Gori - Fondamenti di informatica 17 A.Gori - Fondamenti di informatica 18 HTML 3

Esempio: Concetto di Algoritmo Algoritmo: 3 5 5^3 Procedimento: 1. Inserisci il dato A (5) BASE 2. Inserisci il dato B (3) ESPONENTE 3. Esegui A elevato a B 4. Restituisci il risultato 125 insieme finito di azioni elementari (istruzioni) che devono essere eseguite in sequenza per portare a termine (risolvere) un determinato compito A.Gori - Fondamenti di informatica 19 A.Gori - Fondamenti di informatica 20 TRATTAMENTO dell INFORMAZIONE TRATTAMENTO dell INFORMAZIONE Esempio: Ricetta di cucina (arrosto di vitello) - Procurarsi tutta la lista degli ingredienti nei dosaggi richiesti (vitello, sale, olio, spezie, vino, burro, brodo,.) - Procurarsi la pentola e gli attrezzi da cucina (piatti, posate, ecc.) - Mettere nella pentola due rametti di rosmarino e sale - Rosolare la carne in burro e olio ben caldi - Bagnare con il vino e lasciare evaporare - Aggiungere il brodo - Cuocere a fuoco lento per un ora A.Gori - Fondamenti di informatica 21 A.Gori - Fondamenti di informatica 22 TRATTAMENTO dell INFORMAZIONE Il processo di sviluppo di un programma ANALISI FORMALIZZAZIONE PROGRAMMAZIONE TRADUZIONE ESECUZIONE A.Gori - Fondamenti di informatica 23 A.Gori - Fondamenti di informatica 24 HTML 4

Il processo di sviluppo di un programma Descrizione del problema Analisi ed identificazione di una soluzione del problema (soluzione informale) Formalizzazione della soluzione tramite un ALGORITMO risolutivo Scrittura di un programma in un linguaggio di programmazione Esecuzione del programma nel linguaggio macchina (tramite TRADUZIONE: interpreti o compilatori) A.Gori - Fondamenti di informatica 25 A.Gori - Fondamenti di informatica 26 A.Gori - Fondamenti di informatica 27 A.Gori - Fondamenti di informatica 28 TRATTAMENTO dell INFORMAZIONE TRATTAMENTO dell INFORMAZIONE Problemi elementari terminali Problemi non elementari: possono essere espressi tramite problemi elementari Concetto di Programma e SottoProgramma A.Gori - Fondamenti di informatica 29 A.Gori - Fondamenti di informatica 30 HTML 5

TRATTAMENTO dell INFORMAZIONE TRATTAMENTO dell INFORMAZIONE L importanza della corretta sequenzialità dei passi di un algoritmo Esempio: ALGORITMO DEL RISVEGLIO A.Gori - Fondamenti di informatica 31 A.Gori - Fondamenti di informatica 32 TRATTAMENTO dell INFORMAZIONE Esempio Definizione del problema: Una segretaria deve contattare telefonicamente una serie di clienti a cui deve lasciare un messaggio. La segretaria deve procurarsi la lista dei clienti ed il loro numero telefonico. Se risponde la persona desiderata, deve lasciare il messaggio e spuntare il cliente dall elenco. Negli altri casi (telefono occupato, numero errato, cliente non risponde) deve annotare sull elenco la situazione i incontrata t Dati del problema (dati di input) L elenco dei clienti con la ragione sociale ed il numero di telefono Il messaggio da comunicare Risultati di risposta (dati di output) L elenco dei clienti con l indicazione dell esito della telefonata A.Gori - Fondamenti di informatica 33 A.Gori - Fondamenti di informatica 34 Esempio Analisi e Programmazione Algoritmo Per ogni cliente dell elenco: Leggere il numero telefonico Comporre il numero A seconda della situazione che si presenta, scrivere sull elenco: occupato, non trovato, numero errato, ok Ripetere le operazioni precedenti finché i clienti dell elenco sono finiti A.Gori - Fondamenti di informatica 35 A.Gori - Fondamenti di informatica 36 HTML 6

Algoritmi e Programmi Algoritmi e Programmi Esecuzione A.Gori - Fondamenti di informatica 37 A.Gori - Fondamenti di informatica 38 Algoritmi Descrizione degli Algoritmi A.Gori - Fondamenti di informatica 39 A.Gori - Fondamenti di informatica 40 Descrizione degli Algoritmi Descrizione degli Algoritmi A.Gori - Fondamenti di informatica 41 A.Gori - Fondamenti di informatica 42 HTML 7

Problema: Data la seguente figura geometrica, calcolarne l area totale (supponendo di non conoscere la formula dell area del trapezio) Problema: Data la seguente figura geometrica, calcolarne l area totale (supponendo di non conoscere la formula dell area del trapezio) A.Gori - Fondamenti di informatica 43 A.Gori - Fondamenti di informatica 44 DATI r r Dobbiamo scomporre il problema P in più sottoproblemi h2 h1 b B h2 h1 b B P si scompone in: P 1 + P 2 + P 3 A.Gori - Fondamenti di informatica 45 A.Gori - Fondamenti di informatica 46 h2 b r P 3 si può scomporre a sua volta in: P 3.1 e P P 3.2 h2 h1 b r h1 (Se non si usa la formula del Trapezio) B B A= ½ (II r 2 ) + (b h2 ) + (b h1 ) + ½ (B-b) h1 (Senza usare la formula del Trapezio) A.Gori - Fondamenti di informatica 47 A.Gori - Fondamenti di informatica 48 HTML 8

Algoritmo Definizione intuitiva di algoritmo Un algoritmo deve descrivere la soluzione non di uno specifico problema ma di una classe di problemi equivalenti Es.: l algoritmo precedente descrive la soluzione di ogni problema con quelle caratteristiche senza vincolarsi a dati specifici concetto di VARIABILE Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo le quali e possibile risolvere ogni istanza di un problema di un dato tipo A.Gori - Fondamenti di informatica 49 A.Gori - Fondamenti di informatica 50 Una VARIABILE è una specie di contenitore identificato da un nome (identificatore) e che possiede un valore Si dice che una VARIABILE è di un certo TIPO per indicare il tipo di valore che può assumere B 12 H1 6.5 A.Gori - Fondamenti di informatica 51 A.Gori - Fondamenti di informatica 52 Per introdurre un valore nel contenitore si adottano le cosiddette operazioni o di assegnamento a e Es. B 12 B 12 x 5 H1 6.5 H1 B x 3 A H1 x B Inizio Leggi il valore del raggio ed assegnalo alla variabile R Calcola l area del semicerchio ed assegnalo alla variabile P1 Es. R 6 P1 (R ^ 2) * 3,14 / 2 A.Gori - Fondamenti di informatica 53 A.Gori - Fondamenti di informatica 54 HTML 9

Leggi il valore della base b del primo rettangolo ed assegnalo alla variabile b Leggi il valore dell altezza h2 del primo rettangolo ed assegnalo alla variabile h2 Calcola larea l area del primo rettangolo ed assegnalo alla variabile P2 Es. b 7 h1 4 P2 b * h2 Leggi il valore della base B del secondo rettangolo ed assegnalo alla variabile B Leggi il valore dell altezza h1 del secondo rettangolo ed assegnalo alla variabile h1 Calcola larea l area del secondo rettangolo ed assegnalo alla variabile P31 Es. B 10 h2 3 P31 B * h1 A.Gori - Fondamenti di informatica 55 A.Gori - Fondamenti di informatica 56 Calcola l area del triangolo rettangolo ed assegnalo alla variabile P32 Calcola l area dell intera figura ed assegnalo alla variabile A Es. P32 ½ * (B b) * h1 Es. A P1 + P2 + P31 + P32 A.Gori - Fondamenti di informatica 57 A.Gori - Fondamenti di informatica 58 Visualizza il valore della variabile A Fine Problema: Determinare il maggiore tra due numeri interi x e y P0: Inizio P1: Leggi un valore dall esterno ed assegnalo alla variabile X P2: Leggi un valore dall esterno ed assegnalo alla variabile Y P3: Calcola la differenza d tra x e y ( d x-y) P4: Valuta se d>0: in caso affermativo esegui il passo P5 altrimenti esegui il passo P6 P5: Stampa la frase Il massimo è seguita dal valore contenuto in x e vai al passo P7 P6: Stampa la frase Il massimo è seguita dal valore contenuto in y e vai al passo P7 P7: Fine A.Gori - Fondamenti di informatica 59 A.Gori - Fondamenti di informatica 60 HTML 10

Problema: Determinare il maggiore tra due numeri interi x e y Diagramma di flusso Inizio Leggi X e Y D X-Y V D > 0? F Diagramma di flusso Formalismo grafico per rappresentare un algoritmo Non completamente standardizzato Blocchi connessi con frecce che indicano la sequenza delle azioni da svolgere Scrivi Max è X Scrivi Max è Y Fine A.Gori - Fondamenti di informatica 61 A.Gori - Fondamenti di informatica 62 Descrizione degli algoritmi Diagramma di flusso Elaborazione Selezione a due vie (blocco condizionale o decisionale) Inizio Leggi X e Y D X-Y D > 0? Scrivi Max è X Scrivi Max è Y Operazione di I/O Diagramma a blocchi (flow chart): rappresentazione grafica di un algoritmo che indica il flusso delle operazioni descritte dall algoritmo che devono essere eseguite a partire dai dati iniziali per ottenere i risultati finali. Fine A.Gori - Fondamenti di informatica 63 A.Gori - Fondamenti di informatica 64 Blocchi elementari Esercizio Inizio begin input azione Definire l algoritmo che risolve una generica equazione di secondo grado della forma: end output falso C vero ax 2 +bx+c=0 Fine A.Gori - Fondamenti di informatica 65 A.Gori - Fondamenti di informatica 66 HTML 11

Soluzione di ax 2 +bx+c=0 Flow-Chart Algoritmo begin 1. Inizio dell algoritmo 2. acquisire dall esterno i valori dei coefficienti a, b e c; 3. calcolare il valore Δ=b 2-4ac; 4. se Δ<0, allora non esistono radici reali: eseguire 8; 5. se Δ=0, allora x 1 =x 2 =-b/2a : eseguire 7; 6. se Δ>0, allora x 1 =(-b+ Δ)/2a e x 2 =(-b- Δ)/2a ; 7. comunicare all esterno i valori di x 1 ed x 2 ; 8. Fine dell algoritmo. radici non reali V a, b, c Δ=b 2-4ac Δ<0 end F x 1 =-b/2a x 2 =-b/2a V Δ=0 x 1, x 2 F x 1 =(-b+ Δ)/2a x 2 =(-b- Δ)/2a A.Gori - Fondamenti di informatica 67 A.Gori - Fondamenti di informatica 68 Dati ed Istruzioni Descrizione degli Algoritmi A.Gori - Fondamenti di informatica 69 A.Gori - Fondamenti di informatica 70 Descrizione degli Algoritmi TRATTAMENTO dell INFORMAZIONE A.Gori - Fondamenti di informatica 71 A.Gori - Fondamenti di informatica 72 HTML 12

TRATTAMENTO dell INFORMAZIONE TRATTAMENTO dell INFORMAZIONE A.Gori - Fondamenti di informatica 73 A.Gori - Fondamenti di informatica 74 Strutture di controllo Strutture di controllo A,B Basic IF A< >0 THEN RIS=B/A A< >0 A.Gori - Fondamenti di informatica 75 C if (A!=0) { RIS=B/A; } RIS=B/A A.Gori - Fondamenti di informatica 76 Strutture di controllo Strutture di controllo Basic IF A< B THEN RIS=B-A ELSE RIS=A-B END IF RIS=B-A A< B RIS=A-B A.Gori - Fondamenti di informatica 77 A.Gori - Fondamenti di informatica 78 HTML 13

Strutture di controllo Strutture di controllo C if (A< B) { RIS=B-A } else { RIS=A-B } A< B RIS=B-A RIS=A-B A.Gori - Fondamenti di informatica 79 A.Gori - Fondamenti di informatica 80 Strutture di controllo Strutture di controllo W=0 W=0 Basic W=0 WHILE A>0 W=W+1 A=A-1 WEND W=W+1 A=A-1 A>0 C W=0; WHILE (A>0) { W=W+1; A=A-1; } W=W+1 A=A-1 A>0 A.Gori - Fondamenti di informatica 81 A.Gori - Fondamenti di informatica 82 Strutture di controllo Strutture di controllo W=0 W=W+1 A=A-1 Basic W=0 DO W=W+1 A=A-1 LOOP WHILE A>0 A>0 A.Gori - Fondamenti di informatica 83 A.Gori - Fondamenti di informatica 84 HTML 14

Strutture di controllo W=0 W=W+1 A=A-1 C W=0; do { W=W+1; A=A-1; } while (A>0) A>0 A.Gori - Fondamenti di informatica 85 A.Gori - Fondamenti di informatica 86 A.Gori - Fondamenti di informatica 87 A.Gori - Fondamenti di informatica 88 A.Gori - Fondamenti di informatica 89 A.Gori - Fondamenti di informatica 90 HTML 15

Proposizioni e Predicati Tavole di verità A.Gori - Fondamenti di informatica 91 A.Gori - Fondamenti di informatica 92 Somma di 3 numeri Esercizio Fornire l algoritmo per calcolare la somma di N numeri A.Gori - Fondamenti di informatica 93 A.Gori - Fondamenti di informatica 94 Soluzione Pseudo Codice Lo pseudo codice è una sorta di linguaggio che descrive un algoritmo attraverso istruzioni simili alle istruzioni di un linguaggio di programmazione. Si descrivono algoritmi utilizzando pseudo codice perché passare dalla descrizione in pseudo codice alla effettiva descrizione in un linguaggio di programmazione è (o dovrebbe essere) semplice. A.Gori - Fondamenti di informatica 95 A.Gori - Fondamenti di informatica 96 HTML 16

Pseudo Codice Tipi di Istruzioni Pseudo Codice Strutture di controllo A.Gori - Fondamenti di informatica 97 A.Gori - Fondamenti di informatica 98 Pseudo Codice Somma di tre numeri Leggi Var1 Leggi Var2 Leggi Var3 Somma = Var1 + Var2 + Var3 Scrivi Somma A.Gori - Fondamenti di informatica 99 Pseudo Codice Somma di N numeri Leggi N I = 0 Somma = 0 Finché I < N { Leggi Var Somma = Somma + Var I = I + 1 } Scrivi Somma A.Gori - Fondamenti di informatica 100 Approccio Top-Down Approccio Top-Down La programmazione top-down è una tecnica di programmazione per la realizzazione di programmi con la scomposizione iterativa di un problema in sotto-problemi. La programmazione top-down si presta molto bene ad essere abbinata alla definizione di algoritmi con i diagrammi di flusso. All inizio il diagramma di flusso è rappresentato da un nodo che rappresenta la soluzione al problema Questo nodo viene scomposto in una rete di nodi in modo iterativo La scomposizione termina quando i singoli nodi possono essere rappresentati da semplici sequenze di istruzioni del linguaggio di programmazione scelto A.Gori - Fondamenti di informatica 101 A.Gori - Fondamenti di informatica 102 HTML 17

Somma di N numeri Approccio Top-Down Somma di N numeri Approccio Top-Down A.Gori - Fondamenti di informatica 103 A.Gori - Fondamenti di informatica 104 Approccio Top-Down Somma di N numeri: fase di inizializzazione Approccio Top-Down Somma di N numeri: fase di lettura e somma di N numeri A.Gori - Fondamenti di informatica 105 A.Gori - Fondamenti di informatica 106 Approccio Top-Down Somma di N numeri: Completo! A.Gori - Fondamenti di informatica 107 A.Gori - Fondamenti di informatica 108 HTML 18

A.Gori - Fondamenti di informatica 109 HTML 19