Algoritmi. Informatica B. Daniele Loiacono

Documenti analoghi
Algoritmi. Informatica B. Daniele Loiacono

Algoritmi e (cenni sul) calcolatore

Introduzione. Informatica B. Daniele Loiacono

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

Corso di Informatica di Base

L ELABORATORE ELETTRONICO

Introduzione. Informatica B. Daniele Loiacono

Laboratorio di Calcolo di Aerodinamica: II Lezione

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

L ELABORATORE ELETTRONICO!

Risoluzione di un problema

Introduzione all informatica

Elaboratore Elettronico

Che cosa si intende per INFORMATICA?

L ELABORATORE ELETTRONICO

Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi. Roberto Basili a.a

Introduzione agli Algoritmi

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

L uomo come esecutore di algoritmi

Corso di Fondamenti di Informatica

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

Sistemi di Elaborazione delle Informazioni


ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari.

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

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

Algoritmi e Programmi. Wednesday, September 29, 2010

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

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

Sviluppo di programmi

Il concetto di calcolatore e di algoritmo

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

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

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

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

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

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

ALGORITMI: PROPRIETÀ FONDAMENTALI

Lezione n. 2i Informatica e tecnologia informatica Sistema di elaborazione Algoritmo Linguaggi di programmazione Realizzazione di un programma

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

MODULO 07. La soluzione dei problemi mediante gli algoritmi

Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!!

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

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

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

Informatica. Fondamenti di Informatica 1. Informatica. Informatica. Introduzione all Informatica. Introduzione all Informatica

Punto di vista Tecnologico: strumenti di elaborazione della informazione. Punto di vista Metodologico:

Che cos è l Informatica?

ALGORITMI. I diagrammi a blocchi o diagrammi di flusso (flow charts) sono diagrammi a blocchi

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1

! Problemi, domande, risposte. ! Algoritmi che calcolano funzioni. ! Funzioni computabili e non. ! Problema = insieme di domande omogenee. !

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

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

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Fasi di creazione di un programma

La Programmazione particolare insieme di azioni particolare tipologia di dati risolvere un problema

Algoritmi e Programmi

CORSO DI INFORMATICA Maria Grazia Celentano

Algoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.

Sommario FONDAMENTI DI INFORMATICA. Definizione formale di algoritmo. Informatica e algoritmi. ALGORITMI E LINGUAGGIO PYTHON Introduzione

Laboratorio di Programmazione

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

Introduzione agli Algoritmi 4

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

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

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

Informatica. Come si risolve un problema?

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Sviluppo di programmi

LABORATORIO DI INFORMATICA

Risoluzione dei problemi

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

Corso di Fondamenti di Informatica Algoritmi ed esecutori

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

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

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

preparazione pane frattau per 4 persone

Informatica B (Docente Vittorio Zaccaria)

Come ragiona il computer. Problemi e algoritmi

LA METAFORA DELL UFFICIO

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

Algoritmo. Obiettivo: dato un problema definire un procedimento che possa essere eseguito automaticamente da un esecutore per risolvere il problema

ALGORITMI E SOLUZIONI DI PROBLEMI

Il concetto di informatica. Graziano Pravadelli (2012)

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

Problemi, algoritmi, calcolatore

Rappresentazione con i diagrammi di flusso (Flow - chart)

Algoritmi e diagrammi di flusso versione biennio

INFORMATICA Algoritmi come formalizzazione della risoluzione di un problema

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007

Cosa è l Informatica?

Parte 1. Fondamenti di Informatica Modulo Fondamenti di programmazione Prof.ssa Elisa Tiezzi

Algoritmi e basi del C

LA METAFORA DELL UFFICIO

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

CAPITOLO 3 - ALGORITMI E CODIFICA

Dall algoritmo al calcolatore: concetti introduttivi. Algoritmo. Problema: consumo medio 9/27/2018. Fondamenti di Programmazione 3

Transcript:

Algoritmi Informatica B

Cos è l informatica? q È la scienza che si occupa della rappresentazione dell informazione e della sua elaborazione e gestione Si occupa dell informazione, che fa parte di ogni attività umana, e non riguarda solo i calcolatori Si occupa della rappresentazione, cioè di come modellare la realtà astraendo gli aspetti importanti da quelli trascurabili Si occupa di elaborare e gestire l informazione, cioè di trasformarla opportunamente per raggiungere lo scopo desiderato q È lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione

Cos è un algoritmo? q Una sequenza finita di operazioni elementari tali che: siano comprensibili ad uno specifico esecutore possano essere eseguite senza ambiguità permettano di risolvere uno specifico problema q Es. istruzioni IKEA passi elementari senza ambiguità raggiungono lo scopo

Un esempio q Come si calcola la radice quadrata di x? q Definisce la radice quadrata ma non come si calcola q Invece 1. x ß radicando 2. y ß (x+1)/2 3. Se y 2 è abbastanza vicino ad x, y è la radice cercata 4. Altrimenti, y ß 0.5 * (y + x/y) 5. Ricomincia dal punto 3

Un esempio q Come si calcola la radice quadrata di x? q Definisce la radice quadrata ma non come si calcola q Invece 1. x ß radicando 2. y ß (x+1)/2 3. Se y 2 è abbastanza vicino ad x, y è la radice cercata 4. Altrimenti, y ß 0.5 * (y + x/y) 5. Ricomincia dal punto 3 VARIABILI

Un esempio q Come si calcola la radice quadrata di x? q Definisce la radice quadrata ma non come si calcola q Invece 1. x ß radicando 2. y ß (x+1)/2 3. Se y 2 è abbastanza vicino ad x, y è la radice cercata 4. Altrimenti, y ß 0.5 * (y + x/y) 5. Ricomincia dal punto 3 OPERAZIONI ARITMETICHE

Un esempio q Come si calcola la radice quadrata di x? q Definisce la radice quadrata ma non come si calcola q Invece 1. x ß radicando 2. y ß (x+1)/2 3. Se y 2 è abbastanza vicino ad x, y è la radice cercata 4. Altrimenti, y ß 0.5 * (y + x/y) 5. Ricomincia dal punto 3 I/O

Un esempio q Come si calcola la radice quadrata di x? q Definisce la radice quadrata ma non come si calcola q Invece 1. x ß radicando 2. y ß (x+1)/2 3. Se y 2 è abbastanza vicino ad x, y è la radice cercata 4. Altrimenti, y ß 0.5 * (y + x/y) 5. Ricomincia dal punto 3 DECISIONI

Un altro esempio q Cercare, in una lista ordinata, il codice IATA corrispondente ad un dato areoporto q Cercare, in una lista ordinata, a che aeroporto corrisponde un certo codice IATA

Un ultimo esempio q https://www.youtube.com/watch?v=6hfovs8py1k q Proviamo qualcosa di completamente diverso 1. Alzatevi tutti in piedi 2. Ognuno di voi vale 1 3. Trova un compagno/a ancora in piedi a) sommate i vostri due valori, il risultato è il vostro nuovo valore b) uno dei due si deve sedere e l altro deve restare in piedi 4. Se al punto 3. non avete trovato un compagno, il vosto valore non cambia e dovete restare in piedi 5. Ricominciate dal punto 3, finchè non resta in piedi una sola persona in tutta la stanza 6. Il valore dell ultima persona rimasta in piedi è il numero di persone presenti nella stanza

Dal problema alla soluzione automatica q Ci occuperemo di problemi che riguardano la gestione e l elaborazione dell informazione q Vedremo come passare dalla specifica di un problema alla sua soluzione automatica attraverso l uso di un calcolatore La specifica è una descrizione semi-formale del problema È necessario passare dalla specifica ad un algoritmo che risolve il problema dato Infine affinché l algoritmo trovato sia eseguibile dal calcolatore dovrà essere definito in un linguaggio comprensibile al calcolatore stesso

Dalla specifica all algoritmo q Il processo che porta dalla specifica di un problema ad un algoritmo che lo risolve non è automatico e non è facile da formalizzare La specifica spesso può essere poco chiara o ambigua La scrittura di un algoritmo richiede uno sforzo creativo q Come si impara a progettare un algoritmo? Utilizzare un approccio incrementale Realizzarlo per raffinamenti successivi Fare molta pratica q Qualità Correttezza: risolve il problema e prende in considerazione tutti i casi possibili Efficienza: usa con parsimonia le risorse (es. tempo) q La correttezza è fondamentale ma difficile da verificare, l efficienza è desiderabile e facile da misurare

Come si formalizza un algoritmo? q Una buon processo di progettazione si conclude con la definizione precisa e concisa dell algoritmo ideato q Alcuni linguaggi semi-formali spesso usati Pseudo-codice se A > 0 allora A = A + 1 altrimenti A = 0 Diagrammi di flusso (o schemi a blocchi) Blocco di input dati Blocchi di inizio/fine dell esecuzione Blocco esecutivo inizio leggi fine Blocco condizionale Blocco di output dati Flusso di controllo delle operazioni test? assegnamento test? scrivi

Esempio: M.C.D. di due naturali positivi 1. Leggi N ed M 2. MIN = il minimo tra N ed M 3. X = 1 4. MCD = 1 5. Fintantoché X < MIN I. X = X + 1 II. se X divide sia N che M, allora MCD = X 6. Scrivi MCD

Esempio: perimetro di un triangolo q Date le coordinate di tre punti, riconoscere se sono i vertici di un triangolo non degenere, e nel caso calcolarne il perimetro INIZIO Leggere i valori delle coordinate dei vertici Triangolo degenere? no Calcolare la lunghezza dei lati sì Calcolare il perimetro come somma delle lunghezze Scrivi il valore del perimetro Scrivi: Triangolo degenere Vuoi continuare? no FINE sì