Risoluzione dei problemi

Documenti analoghi
Risoluzione dei problemi

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Compressione dati

SOFTWARE. Interattività

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

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

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

Sistemi di Elaborazione delle Informazioni

L uomo come esecutore di algoritmi

Gli algoritmi. Prof. Pasquale De Michele. Gli algoritmi. Pasquale De Michele

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

CORSO DI INFORMATICA Maria Grazia Celentano

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

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

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

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

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

Introduzione agli Algoritmi

MODULO 07. La soluzione dei problemi mediante gli algoritmi

Algoritmi e Programmi

Elementi di programmazione

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

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

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

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

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

Laboratorio di Calcolo di Aerodinamica: II Lezione

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

Teoria dell Informazione

Introduzione all informatica

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& &

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

INFORMATICA Algoritmi come formalizzazione della risoluzione di un problema

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Algoritmi. Informatica B. Daniele Loiacono

Rappresentazione con i diagrammi di flusso (Flow - chart)

preparazione pane frattau per 4 persone

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

Algoritmi. Informatica B. Daniele Loiacono

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

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

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer

Algoritmi e (cenni sul) calcolatore

Informatica. Come si risolve un problema?

Politecnico di Bari Sede di Foggia. docente: Prof. Ing. Michele Salvemini

Introduzione alla programmazione

Concetti Introduttivi. Il Computer

Introduzione alla programmazione strutturata

Introduzione. Informatica B. Daniele Loiacono

Laboratorio di Programmazione

Interazione tra matematica e informatica

Corso di Fondamenti di Informatica

LABORATORIO DI INFORMATICA

Cosa è l Informatica?

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Unità di apprendimento 6. Dal problema al programma

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& &

Come ragiona il computer

Che cosa si intende per INFORMATICA?

Corso di Informatica di Base

Caratteristiche di un calcolatore elettronico

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

Unità E1. Obiettivi. Non solo problemi matematici. Problema. Risoluzione di un problema. I dati

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica

Capitolo 3 Elaborazione e Strutturazione dell Informazione. (Introduzione ai Sistemi Informatici Sciuto et alii)

3. Programmi e algoritmi

L ELABORATORE ELETTRONICO

Formalismi per la descrizione di algoritmi

Elementi di programmazione

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Algoritmi

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

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

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

Il concetto di calcolatore e di algoritmo

ALGORITMI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica

Risoluzione di un problema

Sviluppo di programmi

Come ragiona il computer. Problemi e algoritmi

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

Problemi, algoritmi, calcolatore

Dispensa di Informatica II.1

Fondamenti di Informatica. Definizione di Algoritmo. Algoritmo Euclideo. Prof.V.L.Plantamura Informatica e Comunicazione Digitale a.a.

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

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

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

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Calcolo numerico e programmazione Programmazione

DISPENSE DI PROGRAMMAZIONE

Sviluppo di programmi

Algoritmi. Andrea Passerini Informatica. Algoritmi

Transcript:

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Risoluzione dei problemi Risoluzione di un problema Le azioni che gli esseri umani compiono ogni giorno sono nella maggior parte dei casi finalizzate alla soluzione di problemi in modo consapevole o inconsapevole Le decisioni e le conseguenti azioni intraprese sono dettate da schemi presenti nella nostra mente che si sono venuti formando negli anni sin dalla più piccola età e sono legati agli stimoli che si sono via via proposti alla nostra attenzione. Le attività che svolgiamo possono essere schematicamente identificate in: 1- Conoscenza di come si risolve il problema 2 - Effettiva capacità di risolvere il problema 3 - Capacità di descrivere il procedimento di soluzione del problema Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 2 of 16 1

Istruttore - Esecutore Problema Primo soggetto istruttore Analisi Soluzione analitica Descrizione Soluzione descrittiva Interpretazione Descrizione interpretata Attuazione Soluzione effettiva Secondo soggetto esecutore Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 3 of 16 Istruttore Descrizione dell esecuzione del problema: 1- effettuata avendo scomposto il problema nelle sue singole azioni elementari 2 - descrivere ogni azione elementare in modo che non ci sia nessuna ambiguità durante l esecuzione 3 - le azioni elementari devono essere poste in una forma tale che l esecutore sia in grado di comprendere pienamente ciò che deve svolgere nella giusta sequenza delle azioni. Le azioni elementari sono indicate con il termine ISTRUZIONI / AZIONI ELEMENTARI La descrizione è indicata con il termine PROCEDURA EFFETTIVA Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 4 of 16 2

Esecutore La procedura per l esecutore è composta quindi da: 1 - tutte le azioni elementari che l esecutore deve svolgere in modo determinato ed in un tempo finito 2 - è fissato l ordine di esecuzione delle azioni (istruzioni) 3 - è esplicitamente specificato il modo in cui l azione utilizza i risultati prodotti dalle azioni predenti. Dati input AZIONE Dati output Calcolo della superficie di un cerchio / Calcolo della superficie di una figura complessa Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 5 of 16 Soggetto istruttore Tale soggetto deve conoscere o definire le capacità dell esecutore al fine di impostare la descrizione dell esecuzione in modo che l esecutore sia perfettamente in grado di svolgere le azioni comprendendo pienamente le operazioni da svolgere. Soggetto esecutore Tale soggetto deve interpretare correttamente le istruzioni ed associare ad ognuna una azione specifica che lo conduca alla soluzione del problema. Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 6 of 16 3

Ambiguità Le ambiguità derivano spesso dal fatto che lo stesso problema può essere risolto secondo procedure diverse o sequenzialità diverse oppure su termini del linguaggio non specifici. Per evitare ciò è necessario: 1 - il linguaggio che l esecutore deve interpretare sia definito in modo completo e non ambiguo (caratteristica sintattica) 2 - l insieme delle azioni che l esecutore è in grado di compiere deve essere definito e tali azioni devono essere elementari per l esecutore (caratteristica pragmatica) 3 - l insieme delle regole di associazione tra i costrutti del linguaggio e azioni deve essere definito e non ambiguo (caratteristica semantica) Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 7 of 16 Algoritmo Le soluzioni a problemi per esecutori che siano caratterizzate secondo le indicazioni 1, 2, 3 vengono definiti ALGORITMI Gli algoritmi sono quindi una sequenza finita di istruzioni, fornite in un linguaggio definito, non ambigue attraverso le quali un essere umano addestrato o una macchina svolgono a partire da informazioni d ingresso un compito al fine di ottenere una soluzione in un tempo finito Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 8 of 16 4

Determinare tra due numeri x ed y il maggiore P 1 - leggi il valore ed assegnalo alla variabile x P 2 - leggi il valore ed assegnalo alla variabile y P 3 calcola la differenza x - y P 4 assegna il risultato alla variabile z P 5 rispondi alla domanda z è maggiore di 0 se la risposta è affermativa salta al punto P 6 altrimenti (risposta negativa) esegui il passo P 7. P 6 stampa la frase Il numero maggiore è seguita dal valore contenuto in x e prosegui con il passo P 8 P 7 stampa la frase Il numero maggiore è seguita dal valore contenuto in y e prosegui con il passo P 8 P 8 termina l esecuzione Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 9 of 16 Rappresentazione degli algoritmi La costruzione dell algoritmo per la risoluzione del problema è un passo fondamentale per ottenere al soluzione attraverso un esecutore A questo fine risulta utile porre sotto forma grafica quelli che sono i passi da compiere per passare dalle informazioni di ingresso alle soluzioni o informazioni di uscita. Per questo si utilizza la metodologia descrittiva a diagrammi di flusso. Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 10 of 16 5

Diagramma di flusso Un diagramma di flusso descrive per blocchi funzionali i passi che devono essere effettuati per raggiungere la soluzione. Rappresenta il percorso e tutte le operazioni necessarie, strutturate come singole azioni semplici, che devono essere svolte, sempre e comunque anche da un operatore umano, per giungere al risultato desiderato partendo dalle informazioni identificate come dati di ingresso Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 11 of 16 Simbologia Inizio Inizio/Fine Fine Operazione di Ingresso/Uscita I/O SELEZIONE AZIONE SOTTOPROGRAMMA Unità disco Unità nastro Unità stampa Unità Video grafica Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 12 of 16 6

Diagramma di flusso esempio precedente Inizio Prepara spazio per x, y, z Leggi X Leggi Y X Y Z Memoria dati CALCOLA X-Y e salvalo in Z Domanda Z > 0 Stampa la frase Il numero maggiore è Valore di X Stampa la frase Il numero maggiore è Valore di Y Fine Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 13 of 16 Diagramma di flusso per ricerca su n valori Inizio Prepara spazio per x, y, z Leggi X Leggi Y X Y Z Memoria dati Z = max ( X, Y) Ci sono ancora Valori da considerare? Leggi X Z = max (X, Z ) Stampa la frase Il massimo tra i numeri inseriti è Valore di Z Fine Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 14 of 16 7

SubRoutine calcola max(a, B) Trasferimento dati CALCOLA A-B e salvalo in C A B C Memoria dati Domanda C > 0? B A Fine Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 15 of 16 Variabili temporanee - scambio dati Ruolo delle variabili temporanee Scambiare x con y se y < x Passo X Y 1 8 5 2 Y X 8 8 3 8 8 4 X Y 8 8 5 8 8 1 8 5 2 X Y 5 5 3 5 5 4 Y X 5 5 5 5 5 Y X X Y X Y Y X T X X Y Y T T Y Y X X T Passo T X Y 1 8 5 2 T X 8 8 5 3 8 8 5 4 X Y 8 5 5 5 8 5 5 6 Y T 8 5 8 7 8 5 8 1 8 5 2 T Y 5 8 5 3 5 8 5 4 Y X 5 8 8 5 5 8 8 6 X T 5 5 8 7 5 5 8 Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 16 of 16 8

INIZIO CERCA LA MACCHINETTA DEL CAFFE APRENDO GLI SPORTELLI DELLA CUCINA TROVATA? APRI LA MACCHINETTA DEL CAFFE CERCA IL RUBINETTO DELL ACQUA TROVATO? RIEMPI LA MACCHINETTA E PIENA? Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 17 of 16 RIEMPIRE CON IL CAFFE CON CUCCHIANI CALIBRATO E PIE? CHIUDI LA MACCHINETTA METTILA SULLA CUCINA A GAS ACCENDI IL FORNELLO ACCESO? CONTA = CONTA + 1 CONTA = 3? CONTROLLA IL RUBINETTO GENERALE CONTA = 0 Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 18 of 16 9

CONTROLLA CHE A USCITO TUTTO E USCITO TUTTO? ATTESA 10 sec CHIUDI IL GAS PRENDI IL NUMERO DI TAZZINE 4 NUMERO = 1 VERSA IL CAFFE NELLA TAZZINA NUMERO E PIENA? NUMERO = NUMERO + 1 PRENDI UN ALTRA TAZZINA NUMERO > 4? FINE PROCESSO Informatica - Ingegneria Medica -2015 - Franco Del Bolgia Slide 19 of 16 Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Informatica - Ingegneria Medica - 2015 - Franco Del Bolgia Slide 20 of 16 10