Politecnico di Bari Sede di Foggia. docente: Prof. Ing. Michele Salvemini
|
|
- Giulia Renzi
- 5 anni fa
- Visualizzazioni
Transcript
1 Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini
2 Sommario (1/2) ProblemSolving Algoritmi Esecutore Algoritmi e Programmi Proprietà Scomposizione dei Problemi Tecnica dei Raffinamenti Successivi Tipologie di Scomposizione Scomposizione Sequenziale Scomposizione Selettiva Scomposizione Iterativa Il valore più grande Scomposizione Ricorsiva Il Fattoriale Diagrammi di Flusso Elementi Costitutivi Regole Proprietà 2/38
3 Sommario (2/2) Programmazione Strutturata Schemi Fondamentali Böhm-Jacopini Esempi Minimo fra 3 Valori Scambio di valori Algoritmo Euclideo per il MCD Prodotto di due Interi 3/38
4 Problem Solving(1/2) Problema Espressione da valutare per ottenere un risultato finale Soluzione Insieme finitodi attività da compiere per ottenere un effetto desiderato ProblemSolvingpassaggio dalla formulazione del problema all individuazione del metodo solutivo Formulazione del problema Costruzione del metodo di soluzione Esecuzione Delegabile ad un esecutore che Capisca la descrizione della soluzione Sia in grado di eseguire le operazioni richieste 4/38
5 Problem Solving(2/2) Dati Una descrizione (anche parziale) di una situazione iniziale e di un obiettivo Espressi in un determinato linguaggio Un insieme di operatori Ogni sequenza di operatori è un operatore (composto) La soluzione Un operatore (composto) che trasforma l oggetto che descrive la situazione iniziale in quello che descrive la situazione desiderata La costruzione del metodo solutivo è legata alle operazioni semplici disponibili alle modalità secondo cui possono essere connesse e composte per realizzare operazioni più complesse 5/38
6 Algoritmi Un algoritmo è un metodo generale che risolve, in un tempofinitoe con una sequenza finita di passi, qualsiasi istanza di un dato problema permette quindi di ricavare un informazione cercata (risultato o dato di output) a partire dall informazione a disposizione (dati iniziali o dati di input) E possibile trovare algoritmi anche per la risoluzione di problemi non strettamente informatici Esempi: Spiegare un percorso stradale Istruzioni per il montaggio di un mobile Istruzioni per la realizzazione di una torta Un algoritmo può non essere l unica soluzione al problema 6/38
7 Algoritmi Esecutore Controlla l ordine logico di esecuzione delle istruzioni; Interpreta ed esegue le istruzioni. L esecutore può essere una persona fisica o un dispositivo elettronico (l elaboratore) Dipendentementedalla figura dell esecutore Algoritmo deve essere opportunamente codificato Programma Algoritmo comprensibile ad un elaboratore 7/38
8 Algoritmi Algoritmi e Programmi 8/38
9 Algoritmi Proprietà Finito composto da un numero finito di passi elementari, ogni istruzione deve essere eseguita in un tempo finito e un numero finito di volte; Generale ogni algoritmo deve fornire la soluzione per i problemi appartenenti ad una determinata classe; Non ambiguo i risultati non variano in funzione della macchina/persona che esegue l'algoritmo; Eseguibile Deve essere espresso con operazione che l esecutore può eseguire in un tempo finito; Completo deve contenere tutti gli elementi necessari ad assicurare la validità dei risultati. 9/38
10 Scomposizione dei Problemi Tipi di Problemi Primitivi, risolubilitramite Un azione primitiva Una sequenza di azioni primitive Complessi, non risolubili tramite un azione nota Al solutore All esecutore Problemi Complessi Scomposizionein sottoproblemi fino a trovare un insieme di sottoproblemi primitiviche risulti equivalenteal problema di partenza Principio del Divide etimpera 10/38
11 Scomposizione dei Problemi Raffinamenti Successivi (1/2) Trasformazione di un problema in una gerarchia di problemi di difficoltà decrescente Di un problema si affronta, prima, l aspetto più generale e si passa, poi, a livelli sempre più dettagliati di descrizione sino ad arrivare agli elementi fondamentali Conseguenze Aumentodel numero problemi, Diminuzionedella complessità di ciascuno Requisiti Ogni passo della suddivisione deve garantire che La soluzione dei sottoproblemi conduca alla soluzione generale La successione di passi da eseguire abbia senso e sia possibile La suddivisione scelta dia luogo a sottoproblemi più vicini agli strumenti disponibili, risolubili direttamente con gli operatori a disposizione Quando Fermarsi? Tutti i problemi sono primitivi 11/38
12 Scomposizione dei Problemi Raffinamenti Successivi (2/2) I problemi ottenuti dalla scomposizione sono Indipendenti Si può progettare un algoritmo per ciascuno La soluzione può essere delegata a solutori diversi (in parallelo) Cooperanti Ciascuno può usare il risultato della soluzione di altri Uno stesso problema può essere scomposto in modi diversi 12/38
13 Scomposizione dei Problemi Tipologie di Scomposizione I costrutti offerti dai linguaggi di programmazione strutturata supportano le scomposizioni Sequenziale Selettiva Iterativa Ricorsiva 13/38
14 Scomposizione dei Problemi Tipologie di Scomposizione - Sequenziale La soluzione si ottiene tramite una sequenza di passi I passi sono eseguiti uno alla volta Ogni passo è eseguito una sola volta Nessuno è ripetuto o omesso L ordine in cui i passi vanno eseguiti è lo stesso in cui sono scritti L ultimo passo equivale alla terminazione del procedimento Esempio Problema: Preparare una tazza di tè Soluzione: l algoritmo per la tazza di tè 1. Bollire l acqua 2. Mettere il tè nella tazza 3. Versare l acqua nella tazza 4. Lasciare in infusione per 3-4 minuti Non sono problemi primitivi 14/38
15 Scomposizione dei Problemi Tipologie di Scomposizione - Sequenziale Punto 1 Riempire d acqua il bollitore Accendere il gas Aspettare che l acqua bolla Spegnere il gas Punto 2 Aprire la scatola del tè Prendere un sacchettofiltro Chiudere la scatola del tè Mettere il sacchetto nella tazza Punto 3 Versare l acqua bollente nella tazza finché non è piena Punto 4 Aspettare 3 minuti Estrarre il sacchetto-filtro 15/38
16 Scomposizione dei Problemi Tipologie di Scomposizione - Selettiva Soluzione ottenuta tramite scelte doppie o multiple Strutture di selezione all interno di altre strutture di selezione Nidificazione (o annidamento) di strutture Esempio Problema: Trovare il più grande dei numeri a, b, c diversi tra loro Azione primitiva (nota): Verificare se un numero è maggiore di un altro 16/38
17 Scomposizione dei Problemi Tipologie di Scomposizione - Selettiva Soluzione se a > b allora: verifica se a > c allora: a è la soluzione altrimenti: c è la soluzione altrimenti: verifica se b > c allora: b è la soluzione altrimenti: c è la soluzione 17/38
18 Scomposizione dei Problemi Tipologie di Scomposizione - Iterativa Successione di problemi tutti dello stesso tipo Ripetere un numero finito di volte un passo di soluzione in modo da avere, alla fine, la soluzione completa Requisiti È individuabile una catena di sottoproblemi che: Sono uguali, oppure Differiscono solo per i dati su cui agiscono 18/38
19 Scomposizione dei Problemi Tipologie di Scomposizione - Iterativa Esempio Trovare il più grande fra n > 3 numeri tutti diversi fra loro Soluzione Trova il più grande tra i primi 2 numeri Trova il più grande fra il risultato del problema precedente e il 3 numero Trova il più grande fra il risultato del problema precedente e l ultimo numero (n dato) Più concisamente: Trova il più grande fra i primi 2 numeri Finché ci sono numeri da esaminare esegui Esamina il primo numero non ancora considerato trova il più grande tra questo e il più grande precedentemente trovato 19/38
20 Scomposizione dei Problemi Tipologie di Scomposizione - Ricorsiva Un oggetto ricorsivo è un oggetto definito in termini di se stesso Definizione Ricorsiva Base(o livello assiomatico): definizione di partenza, necessaria per ricostruire i livelli successivi Passo di Induzione: operazione che riconduce la definizione ad un dato livello a quella di livello inferiore Esempio: Potenza (definizione iterativa) a b = a a... a b volte Potenza (definizione ricorsiva) 1 b=0 a b a a b-1 b 0 20/38
21 Scomposizione dei Problemi Tipologie di Scomposizione - Ricorsiva Esempio: fattoriale di un numero n (!n) il prodotto dei primi n numeri naturali 0! = 1; n! = 1 * 2 * 3 *... * n-1 * n; per n > 0. definizione ricorsiva 0! = 1 n! = (n-1)!*n Esempio: 7! (6)!*7 (5)!*6 *7 (4)!*5*6 *7 (3)!*4*5*6 *7 (2)!*3*4*5*6*7 (1)!*2*3*4*5*6*7 (0)!*1*2*3*4*5*6*7 1*1*2*3*4*5*6*7 21/38
22 Diagrammi di Flusso Linguaggio graficotipicamente utilizzato per trasmettere ad un esecutore umano la descrizione di un algoritmo o processo Si parte dal punto iniziale Si seguono i percorsi indicati, intraprendendo le azioni che via via si incontrano In caso di percorsi alternativi, se ne sceglie uno a seconda della condizione specificata fino al raggiungimento del punto finale 22/38
23 Diagrammi di Flusso Elementi Costitutivi 23/38
24 Diagrammi di Flusso Regole Un solo blocco iniziale e un solo blocco finale Ogni blocco è raggiungibile da quello iniziale Il blocco finale è raggiungibile da ogni blocco I blocchi sono in numero finito Ogni blocco di azione (calcolo o ingresso/uscita) ha una freccia entrante ed una uscente Ogni blocco di decisione ha una freccia entrante e due uscenti Ogni blocco di decisione multipla ha una freccia entrante e N uscenti Ogni freccia parte da un blocco e termina in un blocco o su un altra freccia 24/38
25 Diagrammi di Flusso Proprietà Grafici Adatti agli esseri umani Immediatamente visualizzabili Rispondono all esigenza di divisione del lavoro Documento base per l analisi Non ambigui Traducibili in vari linguaggi di programmazione 25/38
26 Programmazione Strutturata Sviluppo per raffinamenti successivi Ogni schema fondamentale ha un solo punto di ingresso ed un solo punto di uscita Sostituibile ad un blocco di azione Nella sostituzione, si possono omettere i blocchi di inizio e fine dello schema che si sta inserendo Uso di schemi fondamentali Sequenza Concatenazione di azioni Selezione Scelta di azioni alternative Dipendenza da una condizione Iterazione Ripetizione di una certa azione Dati potenzialmente diversi Dipendenza da una condizione 26/38
27 Programmazione Strutturata Sequenza 27/38
28 Programmazione Strutturata Selezione 28/38
29 Programmazione Strutturata Iterazione 29/38
30 Programmazione Strutturata Böhm-Jacopini Dato un processope un diagramma che lo descrive, è sempre possibile determinare un processo Q, equivalente a P, che sia descrivibile con un diagramma strutturato Processi equivalenti = producono lo stesso effetto Un processo o metodo solutivo può essere sempre descritto tramite diagrammi strutturati VIETATO l uso di istruzioni di salto Non necessarie Teorema di Böhm-Jacopini Potenzialmente dannose Difficoltà a seguire il flusso del controllo Scarsa modificabilità Interazioni impreviste 30/38
31 Esempi Minimo fra 3 valori Trovare il minore fra tre numeri interi a, b, c Esempi: a = 1, b = 2, c = 3 a = 20, b = 50, c = 55 a = 2, b = 1, c = 3 a = 7, b = 34, c = 13 Operatore di confronto x y È verificato se il valore associato alla variabile x è minore o uguale di quello associato alla variabile y 31/38
32 Esempi Minimo fra 3 valori 32/38
33 Esempi Scambio valori Date due variabili a e b, scambiare i valori ad esse assegnati Esempio: Valori iniziali a = 12, b = 54 Valori Finali a = 54, b = 12 Operatore di assegnamento x y Copia il valore associato alla variabile y nella memoria associata alla variabile x Al termine i valori di x ed y coincidono Il vecchio valore di x viene perso 33/38
34 Esempi Scambio valori Algoritmo Assegna il valore di b ad a Assegna il valore di a ab Trace: a = 12, b = 54 a = 54, b = 54 a = 54, b = 54 Non funziona! Dopo il primo passo il valore originario di a viene perso Serve una variabile temporanea tin cui copiare il valore di a prima che sia sovrascritto 34/38
35 Esempi Scambio valori Algoritmo corretto Assegna il valore di a at Assegna il valore di b ad a Assegna il valore di t a b Trace a = 12, t =??, b = 54 a = 12, t = 12, b = 54 a = 54, t = 12, b = 54 a = 54, t = 12, b = 12 35/38
36 Esempi Algoritmo Euclideo per il MCD L'algoritmo si basa sulle seguenti proprietà: Mcd (a, b) = a=b se a = b (1) Mcd (a, b) = Mcd (a-b, b) se a > b (2) Mcd(a, b) = Mcd (a, b-a) se a < b (3) Idea Poiché nel caso in cui a=b(1) il problema è risolto, ed inoltre valgono le proprietà (2) e (3) nel caso generale si possono effettuare tante differenze in modo da riportarsi al caso (1). 36/38
37 Esempi Algoritmo Euclideo per il MCD 37/38
38 Esempi Prodotto di due interi Positivi m x n = m + m+ + m n volte 38/38
Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi
Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Problem Solving Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/30 Tipi di Problemi Primitivi Risolubili
DettagliSommario. Tecniche di Decomposizione dei Problemi. Algoritmi: Costruzione. Tipi di problemi
Sommario Tecniche di Decomposizione dei Problemi Costruzione di algoritmi Approccio alla soluzione di problemi complessi Sequenza; Selezione; Iterazione; Ricorsione Tecniche di Decomposizione dei Problemi
DettagliProblemi e Soluzioni. Corso di Informatica CdL: Chimica. Claudia d'amato.
Problemi e Soluzioni Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it 2 Problema Quesito con cui si chiede di trovare, mediante un procedimento di calcolo, uno o più dati sconosciuti,
DettagliSommario. Rappresentazione degli Algoritmi e Programmazione Strutturata. Diagrammi di Flusso. Rappresentazione degli algoritmi. Diagrammi di Flusso
Sommario Diagrammi di lusso Rappresentazione degli lgoritmi e 1 2 Rappresentazione degli algoritmi Diagrammi di lusso Negli esempi, gli algoritmi sono rappresentati in un linguaggio simile a quello naturale
DettagliDISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Parte IV ESERCITAZIONE SULLE NOTAZIONI PER DESCRIVERE ALGORITMI: Algoritmi elementari (scambio, massimo, etc.) (RICADE NEL MODULO 6) Decomposizione di problemi attraverso
DettagliFondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi
DettagliCorso di Programmazione Problemi ed Algoritmi. Problema. Problem Solving. Dott. Pasquale Lops
Materiale didattico preparato dal dott. Stefano erilli orso di Programmazione Problemi ed lgoritmi Dott. Pasquale Lops lops@di.uniba.it orso di Programmazione - DIB 1/59 Problema Espressione da valutare
DettagliPrincipi di Programmazione 4
Sommario Principi di Programmazione ostruzione di algoritmi pproccio alla soluzione di problemi complessi Sequenza; Selezione; Iterazione; Ricorsione Rappresentazione di algoritmi flow chart linguaggio
DettagliCorso di Programmazione Risoluzione di Problemi
Corso di Programmazione Risoluzione di Problemi Dott. Stefano erilli ferilli@di.uniba.it Problema Espressione da valutare per ottenere un risultato finale Insieme finito di attività da compiere per ottenere
DettagliBlocchi di base. Schemi: Sequenza Selezione Iterazione. Flow chart strutturati Sequenza Selezione Iterazione. Teorema di Bohm e Jacopini
Blocchi di base Schemi: Sequenza Selezione Iterazione Flow chart strutturati Sequenza Selezione Iterazione Teorema di Bohm e Jacopini I più comuni linguaggi di descrizione degli algoritmi sono: Diagrammi
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano
DettagliAlgoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile
Algoritmi Andrea Passerini passerini@dsi.unifi.it Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile Elaboratore Un elaboratore o computer è una macchina digitale, elettronica,
DettagliAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Algoritmi Michele Tomaiuolo Algoritmo Il termine algoritmo deriva
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema
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
DettagliAnalisi strutturata 1
Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata
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
DettagliUniversità di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 3: La Formalizzazione degli Algoritmi Dati e Variabili
DettagliProgrammazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo
DettagliIl 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
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione
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
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
DettagliIntroduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione
Sommario Problemi e soluzioni Definizione informale di algoritmo e esempi Proprietà degli algoritmi Input/Output, Variabili Algoritmi senza input o output 1 2 Problema Definizione (dal De Mauro Paravia):
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
DettagliIl 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
DettagliELEMENTI 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
DettagliCome ragiona il computer
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
DettagliFondamenti di Informatica
Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Introduzione alla Programmazione Prof. Stefano Mariani Dott. Alket Cecaj Indice Il concetto di algoritmo Algoritmo vs. programma
DettagliLinguaggi algoritmici A. Ferrari
Linguaggi algoritmici A. Ferrari Caratteristiche di un linguaggio algoritmico Non ambiguità Capacità di esplicitare il flusso di esecuzione delle istruzioni Deve contenere istruzioni di tipo: operativo
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
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
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
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
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
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
DettagliDiagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi
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
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)
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
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
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
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
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
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
DettagliCAPITOLO 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)
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
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 dati in ingresso (input) per produrre uno
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
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
DettagliIntroduzione agli Algoritmi 4
Introduzione agli Algoritmi Sommario Problemi e soluzioni Definizione informale di algoritmo e esempi Proprietà degli algoritmi Input/Output, Variabili Algoritmi senza input o output Introduzione agli
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
DettagliUniversità degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Compressione dati
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Compressione dati Compressione dei dati Il processo di compressione consiste nell effettuare codifiche
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
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
DettagliSistemi di Elaborazione delle Informazioni
Sistemi di Elaborazione delle Informazioni Algoritmi e Programmi 1 Risoluzione di un problema Il procedimento di soluzione di un problema dovrebbe essere caratterizzato da: analisi del problema e identificazione
DettagliLezione 4: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive (2p) Venerdì 7 Ottobre 2009
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 2009-2010 Lezione 4: La
DettagliSviluppo di programmi
Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili
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
DettagliProgrammazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica
Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 33 INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, bisogna conoscere
DettagliRisoluzione 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
DettagliDal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione
Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore
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
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 Ingegneria Meccanica Università di Padova A.A. 2008/09
Linguaggi procedurali Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali, Paolo Bison, FI08, 2008-09-29 p.1 Linguaggi procedurali classe
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
DettagliIntroduzione all informatica
Introduzione all informatica INFORMATICA Varie definizioni Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta Scienza della rappresentazione e dell
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
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
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
DettagliCaratteristiche di un calcolatore elettronico
Prof. Emanuele Papotto Caratteristiche di un calcolatore elettronico È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo,
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
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
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
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=
DettagliLa Programmazione particolare insieme di azioni particolare tipologia di dati risolvere un problema
La Programmazione È l'attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su una particolare tipologia di dati, allo scopo di risolvere un problema. 1 La Programmazione
DettagliL informazione. Bateson, Ricevere informazioni vuol dire necessariamente ricevere notizie di differenza (Es.: Luce accesa/spenta, 1/0,...
L informazione Diverse proposte in letteratura Bateson, Ricevere informazioni vuol dire necessariamente ricevere notizie di differenza (Es.: Luce accesa/spenta, 1/0,...) Shannon, visione probabilistica.
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±
DettagliCONCETTI 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
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
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
DettagliPseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.
Pseudo codice Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Pseudo codice, Paolo Bison, A.A. 2003-04, 2003-09-30 p.1/38 Pseudo codice linguaggio testuale mix di linguaggio naturale
DettagliLAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO
LAAGNA DI LAORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome distinto, e valore il loro eventuale contenuto SPORTELLO UTENTE LAAGNA DI PROGRAMMA Modulo IN: modulo di ricezione
DettagliCorso 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
DettagliLAUREA IN INFORMATICA A.A. 2001/2002 I semestre PROGRAMMAZIONE Prof.ssa Antonietta LANZA DISPENSE DI PROGRAMMAZIONE PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte I) Ha collaborato alla editazione Angelo Lisco PROGRAMMAZIONE Termine usato per indicare le attività
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
DettagliALGORITMI: 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
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:
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
Dettagli