Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
|
|
- Gloria Renzi
- 6 anni fa
- Visualizzazioni
Transcript
1 Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it
2 Algoritmo Dato un problema, un algoritmo è una procedura, cioè una sequenza di passi, che può essere eseguita automaticamente da una macchina in modo da risolvere il problema dato. Un problema risolvibile mediante un algoritmo si dice computabile. F. Messina Programmazione I 2
3 Esempio di algoritmo Il pollo alle mandorle: - Abbiamo gli ingredienti (pollo, olio, mandorle, cipolla, sale, pepe, etc.) con le giuste quantità; - Seguiamo la ricetta; - Serviamo il piatto a tavola. F.Messina Programmazione I 3
4 Un altro esempio di algoritmo La costruzione di un kit di montaggio: - Procuriamo il kit e gli strumenti; - Apriamo la scatola; - Leggiamo le istruzioni; - Mettiamo insieme i pezzi. F. Messina Programmazione I 4
5 Risoluzione di un problema Algoritmo Input Esecutore Output Generalmente, la risoluzione di un dato problema consiste nel prendere alcuni dati iniziali (input) relativi al problema e nel fornire un risultato (output) che risolve quest ultimo. F. Messina Programmazione I 5
6 Ma Non è così facile come sembra! Per scrivere la giusta sequenza di passi bisogna essere un bravo cuoco o un bravo costruttore! F. Messina Programmazione I 6
7 Infatti Problema Risolutore Algoritmo Uomo la risoluzione automatica prevede comunque una notevole componente umana!!! Esecut ore Processo di esecuzione Macchina F. Messina Programmazione I 7
8 Definizione di algoritmo Un algoritmo è una sequenza ordinata e finita di passi (azioni o istruzioni) che producono un ben determinato risultato in un tempo finito. F. Messina Programmazione I 8
9 Caratteristiche di un algoritmo 1. Azioni eseguibili e non ambigue. Non ambigue, inoltre non sono ammessi un pò e a piacere, che non sono termini adatti ad una macchina. 2. Determinismo. Fatto un passo, il successivo è uno ed uno solo, ben determinato. Alternative sono possibili, ma la scelta deve essere univoca. 3. Numero finito di passi. 4. Terminazione. L esecuzione deve finire e deve produrre il risultato in tempo finito. Osservazione : la 3 non implica la 4. F. Messina Programmazione I 9
10 Esempio di non terminazione 1. Si consideri un numero N; 2. Scrivere N; 3. Scrivere il numero successivo; 4. Ripetere il passo precedente. F. Messina Programmazione I 10
11 Ancora un esempio Ricerca di un nominativo in un elenco. Non ordinato. Es.: Una lista di firme. Ordinato. Es.: Elenco telefonico. F. Messina Programmazione I 11
12 Codifica dell algoritmo Affinché una macchina riesca a comprendere ed eseguire i passi specificati da un algoritmo, quest ultimo deve essere prima codificato in un opportuno programma scritto in un linguaggio di alto livello. Algoritmo Traduzione Programma F. Messina Programmazione I 12
13 L esecuzione automatica Uomo Algoritmo Programma Pseudo-codice Linguaggio di alto livello Traduttore Input Linguaggio macchina Macchina F. Messina Programmazione I 13 Esecuzione Output
14 Scomposizione in sottoproblemi Ricetta del pollo alle mandorle: 1. Preparare il soffritto ed aggiungervi il pollo; 2. Unire le mandorle pelate al soffritto; 3. Mescolare fino a quando il pollo sarà ben dorato; 4. Aggiungere del pepe; 5. Rosolare con vino bianco fino a quando il pollo è cotto; 6. Aggiungere olio q.b.; 7. Se preferisci salato, allora aggiungi sale; F. Messina Programmazione I 14
15 Scomposizione in sottoproblemi La ricetta precedente è un esempio di cosa significa scomporre un problema in sottoproblemi. Ogni sottoproblema può essere scomposto in problemi via via più elementari. Top-down vs. Bottom-Up F. Messina Programmazione I 15
16 Top down TOP DOWN: 1. Si formula inizialmente una visione generale del sistema, senza scendere nel dettaglio delle sue parti. 2. Ogni parte del sistema è successivamente rifinita per decomposizione aggiungendo dettagli. 3. Successive decomposizioni permetteranno di specificare ulteriori dettagli, finché la specifica completa è sufficientemente dettagliata da validare il modello. F. Messina Programmazione I
17 Bottom Up BOTTOM UP: 1. Parti individuali del sistema sono specificate in dettaglio. 2. Le parti vengono connesse tra loro in modo da formare componenti più grandi. 3. Successive connessioni/composizioni permetteranno di realizzare un sistema completo. F. Messina Programmazione I
18 Descrizione di un algoritmo Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi. La descrizione avviene mediante : pseudo-codice, oppure diagramma di flusso. F. Messina Programmazione I 18
19 Diagrammi di flusso I diagrammi di flusso permettono di descrivere in modo grafico le azioni che costituiscono un algoritmo e il loro flusso di esecuzione. Ogni azione elementare è rappresentata da un blocco. Esistono 4 tipi di blocchi. F. Messina Programmazione I 19
20 Diagrammi di flusso (1) Istruzioni di inizio e fine. Inizio Fine F. Messina Programmazione I 20
21 Diagrammi di flusso (2) Operazioni di lettura (input) o scrittura (output). Leggi il dato Scrivi il dato F. Messina Programmazione I 21
22 Diagrammi di flusso (3) Istruzioni imperative (azioni oppure operazioni). Calcola : F. Messina Programmazione I 22
23 Connettori I singoli diagrammi devono essere uniti tramite i connettori. L esecuzione delle istruzioni deve essere fatta sequenzialmente, ovvero seguendo i connettori. Quando si scrive l algoritmo bisogna fare molta attenzione alla direzione del flusso di esecuzione. F. Messina Programmazione I 23
24 Istruzione di assegnamento Una variabile numerica è un entità caratterizzata : da un nome, e da un valore (o contenuto) che può cambiare nel tempo Un espressione è una combinazione di operatori aritmetici, costanti e variabili che può essere calcolata generando un singolo valore numerico. Es.: X, X + 1, X + (Y * 3). Istruzione di assegnamento : Variabile Espressione; Es.: Z 3; Z X + 3; X X + 1; F. Messina Programmazione I 24
25 Esempio Descrivere, mediante diagramma di flusso, un algoritmo che calcoli la somma di due numeri letti in input. F. Messina Programmazione I 25
26 Diagramma di flusso : Somma Inizio Z X+Y Leggi X Stampa Z Leggi Y Fine F. Messina Programmazione I 26
27 Esempio Descrivere, mediante diagramma di flusso, un algoritmo che scambi i valori di due variabili lette in input. F. Messina Programmazione I 27
28 Diagramma di flusso: Scambio Inizio Leggi X Leggi Y Aux X X Y Y Aux Scrivi X Scrivi Y Fine F. Messina Programmazione I 28
29 Variazioni nel flusso di esecuzione Ci sono dei momenti in cui il flusso di esecuzione può scegliere tra diverse direzioni; In genere, questi salti sono subordinati al verificarsi di una condizione (che può risultare vera o falsa); Si parla di istruzioni condizionali. F. Messina Programmazione I 29
30 Diagrammi di flusso (4) Istruzioni condizionali. Es.: Condizione Falso Più sale? Falso Vero Vero F. Messina Programmazione I 30
31 Esempio Descrivere, mediante diagramma di flusso, un algoritmo che determini il massimo tra due numeri letti in input. F. Messina Programmazione I 31
32 Diagramma di flusso : Max Inizio X > Y Falso Leggi X Vero Stampa Y Leggi Y Stampa X Fine F. Messina Programmazione I 32
33 Esempio Descrivere, mediante diagramma di flusso, un algoritmo che determini se un numero letto in input è pari o dispari. F. Messina Programmazione I 33
34 Diagramma di flusso : Pari o Inizio Resto = 0 Falso Leggi N Vero Scrivi : N è dispari Dividi N per 2 Scrivi : N è pari Fine F. Messina Programmazione I 34
35 Esercizio Scrivere la ricetta del pollo alle mandorle utilizzando i diagrammi di flusso. Nota: dove è richiesta una ripetizione ad esempio fino a quando utilizzare un istruzione condizionale del tipo mostrato nella prossima diapositiva. F. Messina Programmazione I 35
36 Ripetizione o ciclo Il pollo è cotto? Falso Rosolare con vino Vero F. Messina Programmazione I 36
37 Programmazione I Fondamenti di programmazione ( Lezione II ) Notazione Lineare Strutturata Fabrizio Messina messina@dmi.unict.it
38 Esempio Descrivere, mediante diagramma di flusso, un algoritmo che calcoli il fattoriale di un numero intero positivo letto in input. F. Messina Programmazione I 38
39 Esempio : Fattoriale Inizio Leggi N Fatt Fatt * M M M +1 Fatt 1 M 1 Scrivi Fatt VERO M > N FALSO Fine F. Messina Programmazione I 39
40 Considerazioni I diagrammi a blocchi si rivelano : poco pratici, soggetti a errori, illeggibili se di notevole complessità. Per ovviare a tali inconvenienti si adotta la Notazione Lineare Strutturata (NLS) o pseudo-codice. F. Messina Programmazione I 40
41 Notazione Lineare Strutturata Tre costrutti fondamentali : Sequenza Selezione Iterazione. Inoltre, esiste un unico punto d ingresso ed un unico punto d uscita. F. Messina Programmazione I 41
42 Sequenza Istruzione 1 Istruzione 2 Istruzione 1; Istruzione 2; Istruzione n; Istruzione n F. Messina Programmazione I 42
43 Selezione (o condizione) Falso Cond izion e Vero Blocco 2 Blocco 1 if (Condizione) then else end if Blocco 1; Blocco 2; La clausola else può anche essere assente. F. Messina Programmazione I 43
44 Iterazione (o ciclo) Falso Cond izion e Vero while (Condizione) do Blocco; end while; Blocco F. Messina Programmazione I 44
45 F. Messina Programmazione I 45 Ricapitolando...
46 Risultato fondamentale TEOREMA (Böhm-Jacopini) : I tre costrutti fondamentali della NLS sono sufficienti a descrivere qualunque algoritmo. F. Messina Programmazione I 46
47 Esempio : Somma Inizio Z X+Y Leggi X Stampa Z Leggi Y Fine F. Messina Programmazione I 47
48 Esempio : Somma in NLS Inizio Leggi X Leggi Y Z X + Y Stampa Z Fine F. Messina Programmazione I 48
49 Esempio : Max Inizio X > Y Falso Leggi X Vero Stampa Y Leggi Y Stampa X Fine F. Messina Programmazione I 49
50 Esempio : Max in NLS Inizio Leggi X Leggi Y if (X > Y) then Stampa X else Stampa Y end if Fine F. Messina Programmazione I 50
51 Esempio : Numeri da 1 a N Inizio Leggi N M 0 while (M < N) do M M + 1 Stampa M end while Fine F. Messina Programmazione I 51
52 Esempio : Somma dei primi N numeri Inizio Leggi N i 0 S 0 while (i < N) do i i + 1 S S + i end while Stampa S Fine F. Messina 52
53 Esempio : Somma dei numeri pari minori di N Inizio Leggi N i 2 S 0 while (i < N) do S S + i i i + 2 end while Stampa S Fine F. Messina 53
54 Algoritmo di Euclide per il m.c.m. Inizio Leggi A, B MA A MB B while (MA <> MB) do if (MA > MB) then MB MB + B else MA MA + A end if end while Stampa mcm = MA Fine Es.: m.c.m. (3, 7) = MA MB
55 Algoritmo di Euclide per il M.C.D. Inizio Leggi A, B if (A < B) then MB A MA B else MA A MB B end if while (MB<>0) do r MA%MB MA MB MB r end while stampa MA Es.: M.C.D. (21, 14) = 7 MA MB MA%MB M.C.D.(21,14) = 7
56 Fine Programmazione I 56
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
DettagliFormalismi 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
DettagliSommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript
Sommario Problema computazionale Sviluppo software Algoritmi Diagrammi di Flusso; Pseudo Codice Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Il Problema computazionale È computazionale un
DettagliIntroduzione 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
DettagliSommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript
Sommario Problema computazionale Sviluppo software Algoritmi Diagrammi di Flusso; Pseudo Codice Istruzioni Sequenziali, Condizionali, Cicliche; Javascript 1 Il Problema computazionale È computazionale
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliIntroduzione 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
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
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
DettagliIntroduzione 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
Dettagliin 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
DettagliL 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
DettagliL 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
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliProblema: 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
DettagliPaolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova
Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice, Paolo Bison, FI06, 2007-01-10 p.1 Pseudo codice linguaggio testuale mix di linguaggio naturale ed elementi
DettagliRAPPRESENTAZIONE 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
DettagliIntroduzione 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
DettagliProgrammazione: Sommario
Programmazione: Sommario Concetti di Base della Programmazione; Algoritmi; Diagrammi di Flusso; Istruzioni Sequenziali, Condizionali, Cicliche; Logo Variabili, Procedure e Parametri; 1 Il Problema computazionale
DettagliElaboratore 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 rre altri oggetti
DettagliMODULO 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
DettagliUnità 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
DettagliLaboratorio 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
DettagliSviluppo 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
DettagliInformatica 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
DettagliAltrimenti, 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
DettagliInformatica. Informatica. Problema - soluzione. Algoritmi, dati e programmi. Introduzione ai concetti di: Distinguiamo tra: problema
Algoritmi, dati e programmi 1 Algoritmi, dati e programmi 2 Informatica Informatica informatica informazione mezzi mezzi fisici procedure Algoritmi, dati e programmi rappresentazione dell informazione
DettagliProgramma 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
DettagliAlgoritmi 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)
DettagliScrivere 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
DettagliALGORITMI. 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
DettagliUniversità 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
Dettagli= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
DettagliCorso 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
Dettagli1 Esercizi in pseudocodice
Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.
DettagliCosa è un programma. Informatica di Base -- R.Gaeta 18
Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer
DettagliSviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:
Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)
DettagliDal 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
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliProgrammazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
DettagliDall analisi alla codifica (1)
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema
DettagliAlgoritmi e diagrammi di flusso
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
DettagliProblemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)
Problemi e algoritmi Il che cosa e il come Il che cosa ed il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
DettagliProblemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come
Problemi e algoritmi Il che cosa e il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come effettuare un calcolo
DettagliCapitolo 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,
DettagliLezione 5. La macchina universale
Lezione 5 Algoritmi Diagrammi di flusso La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale=
DettagliI costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni
Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di
DettagliUniversità degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale
Università degli Studi di Brescia INFORMATICA Concetto di Algoritmo Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 21/08/2016.A050917* Dipartimento di Ingegneria Meccanica e Industriale DIPARTIMENTO
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso
DettagliDall 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
DettagliSISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Algoritmi e programmazione Prof. Andrea Borghesan
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Algoritmi e programmazione Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento mercoledì, 14.00-15.30. Studio 34, dip. statistica Modalità esame:
DettagliLA METAFORA DELL UFFICIO LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO
LA METAORA DELL UICIO LAAGNA DI LAORO Lavagna di lavoro Lavagna di programma Sportello utenti Capo Ufficio Impiegato Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome distinto,
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliFasi della programmazione. Gabriella Trucco
Fasi della programmazione Gabriella Trucco Algoritmi Uso di algoritmi nella vita quotidiana Algoritmo: sequenza di passi che, se intrapresa da un esecutore, permette di ottenere i risultati attesi a partire
DettagliAlgoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.
Algoritmi Un tema centrale dell informatica è lo studio degli algoritmi. Ora nostro obiettivo sarà quello di esplorare a sufficienza questa materia fondamentale per poter capire e apprezzare appieno l
DettagliELABORAZIONE 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
DettagliDiagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop
Diagrammi di flusso Un metodo per rappresentare graficamente gli algoritmi. Input/ Output sotto programma Start predicato Elaborazione Stop La programmazione strutturata Un algoritmo è strutturato in blocchi
DettagliINFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)
INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
DettagliLezione 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
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
DettagliPROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
Dettagligeneralità concetti di base
generalità concetti di base cosa significa informatica? scienza dell informazione e l informazione giornalistica? scienza dei computer (dall inglese computer science) per i progettisti di computer? scienza
DettagliStrutture di Controllo
Introduzione Strutture di Controllo per strutture condizionali e cicliche Quando si affronta la programmazione si devono indicare al computer delle istruzioni da eseguire. Se il computer potesse comprendere
Dettaglin Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi 1 Cos è n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati n Un algoritmo è un metodo per la soluzione di un problema adatto
DettagliLe Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
DettagliAnalisi e Programmazione
Algoritmi 1 Analisi e Programmazione I Calcolatori Elettronici si differenziano da altri tipi di macchine per il fatto che possono essere predisposti alla risoluzione di problemi di diversa natura. A tale
DettagliInformatica e Bioinformatica: Algoritmi
Informatica e Bioinformatica: Algoritmi 20 Marzo 2014 Programmi Applicativi Programmi Applicativi Sistema Operativo (lezione 3) Macchina Hardware (lezione 1 e 2) La macchina hardware permette l esecuzione
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento per arrivare alla soluzione Rappresentazione dell algorimo in una forma
DettagliAlgoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo
Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Problemi e algoritmi Il calcolatore permette di risolvere in maniera automatica diversi problemi "di calcolo". Es: calcolo della media
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliRappresentazione 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
DettagliScienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari.
Esistono varie definizioni: Informatica Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione.
DettagliUNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione alla programmazione
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Introduzione alla programmazione Riferimenti Emanuele Goldoni Laboratorio Reti (MN) Tel. 0376-286234 E-mail: emanuele.goldoni@unipv.it Slide sul sito
DettagliCorso di Fondamenti di Informatica Classi di istruzioni 2
Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da
DettagliFondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi. Roberto Basili a.a
Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi Roberto Basili a.a. 2006-2007 2007 Informatica Col termine Informatica si intende attualmente l insieme delle discipline scientifiche
DettagliLABORATORIO DI INFORMATICA
LABORATORIO DI INFORMATICA Corso di laurea in Scienze della Formazione Primaria a.a.2014/2015 A cura del Prof. Sergio Miranda 2 LEZIONE N.6 Algoritmi GLI ALGORITMI (1/5) Un algoritmo è una sequenza di
DettagliIntroduzione agli algoritmi
Introduzione agli algoritmi Consideriamo un lettore di CD musicali portatile Questo ha a disposizione: pulsanti di controllo display che indica se il lettore è in funzione il brano che è attualmente riprodotto
DettagliElementi 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à
DettagliDiagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto
Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra
DettagliInformatica. Come si risolve un problema?
Informatica Elaborazione automatica dell informazione Esempio di elaborazione: rubrica, elenco telefonico. Ogni problema di elaborazione dell informazione è caratterizzato da: un insieme di dati di partenza
DettagliPROGRAMMAZIONE (Corso A)
PROGRAMMAZIONE (Corso A) http://www.di.uniba.it/~proga/ Argomenti della lezione Diagrammi di flusso - Flow chart Diagrammi struturati - Sequenza, selezione, iterazione Teorema di Boehm-Jacopini Flow-chart
DettagliDispensa di Informatica II.1
ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia
DettagliAppunti 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 (liverani@mat.uniroma3.it)
DettagliIl Concetto di Algoritmo Corso di Informatica Laurea in Fisica
Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro A.A. 2010-11 Esempio: risolviamo le equazioni di secondo grado ax 2 + bx + c = 0 La formula risolutiva è: x= b±
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Definizione del procedimento per arrivare alla soluzione Rappresentazione
DettagliESERCITAZIONI DI LABORATORIO DI CALCOLO NUMERICO. Introduzione: Algoritmi e Programmazione strutturata
ESERCITAZIONI DI LABORATORIO DI CALCOLO NUMERICO Introduzione: Algoritmi e Programmazione strutturata Prof. L. Pareschi Dott. G. Dimarco Risoluzione dei Problemi mediante l uso del Calcolatore Elettronico
DettagliAlgoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo
Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Risolvere i problemi Il calcolatore permette di risolvere molti problemi, ma sfortunatamente non tutti Il concetto di algoritmo consente
DettagliINFORMATICA Algoritmi come formalizzazione della risoluzione di un problema
INFORMATICA Algoritmi come formalizzazione della risoluzione di un problema di Roberta Molinari Algoritmo Origine del termine Al-Khwarizmi: nato nel 780 circa a Baghdad. È un importante matematico Arabo.
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliCalcolo numerico e programmazione Risoluzione di problemi
Calcolo numerico e programmazione Risoluzione di problemi Tullio Facchinetti 16 aprile 2012 14:37 http://robot.unipv.it/toolleeo Risoluzione di problemi per problema si intende
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliAlgoritmi e diagrammi di flusso versione biennio
Algoritmi e diagrammi di flusso versione biennio Pablo Genova gallini.genova@gmail.com I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016 Cos'è un algoritmo? Algoritmo: procedimento
DettagliAlgoritmi 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
Dettagli2. Algoritmi e Programmi
12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo
DettagliDISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei
DettagliI flow chart. Informatica Generale 14/15 Scienze della comunicazione. cristina gena.
I flow chart Informatica Generale 14/15 Scienze della comunicazione cristina gena cgena@di.unito.it http://www.di.unito.it/~cgena/teaching.html Diagrammi di flusso SAR Inizio del processo (Blocco di start)
Dettagli