Sistemi di Elaborazione delle Informazioni

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

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

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

L'Elaborazione e la Strutturazione dell'informazione

Informatica. Come si risolve un problema?

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

Algoritmi e programmi

Algoritmi. Maurizio Palesi. Maurizio Palesi 1

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

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

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

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

Corso Informatica di Base. Flow Chart

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

CAPITOLO 3 - ALGORITMI E CODIFICA

Introduzione agli Algoritmi

L uomo come esecutore di algoritmi

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

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

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

Problemi, algoritmi, calcolatore

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

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

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

MODULO 07. La soluzione dei problemi mediante gli algoritmi

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

Fondamenti di Informatica

ALGORITMI: PROPRIETÀ FONDAMENTALI

Rappresentazione con i diagrammi di flusso (Flow - chart)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Altrimenti, 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.)

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

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

Sviluppo di programmi

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Il concetto di calcolatore e di algoritmo

Elementi di Informatica e Programmazione

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

preparazione pane frattau per 4 persone

Sviluppo di programmi

Algoritmi e soluzione di problemi

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale

Algoritmi. Andrea Passerini Informatica. Algoritmi

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

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

Sviluppo di programmi

PROBLEMI ALGORITMI E PROGRAMMAZIONE

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

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

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops

Risoluzione dei problemi

Laboratorio di Programmazione

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

Teoria dell Informazione

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

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

Fasi di creazione di un programma

Corso di Informatica di Base

Dispensa di Informatica II.1

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

Laboratorio di Calcolo di Aerodinamica: II Lezione

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

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

I flow chart. Informatica Generale 14/15 Scienze della comunicazione. cristina gena.

Introduzione alla programmazione

Descrizione di un algoritmo

Unità di apprendimento 6. Dal problema al programma

INFORMATICA Algoritmi come formalizzazione della risoluzione di un problema

ALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico

Caratteristiche di un calcolatore elettronico

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

Algoritmi. Informatica B. Daniele Loiacono

Introduzione all informatica

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

APPUNTI DI INFORMATICA

Informatica per la comunicazione" lezione 16

CORSO DI INFORMATICA Maria Grazia Celentano

Algoritmo. Programmazione

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

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

DESCRIZIONI RIGOROSE c7

L ELABORATORE ELETTRONICO

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

Lezione 1. Problemi Algoritmi Programmi

Sistemi Web per il turismo - lezione 3 -

Introduzione. Informatica B. Daniele Loiacono

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

ALGORITMI E SOLUZIONI DI PROBLEMI

LABORATORIO DI INFORMATICA

Transcript:

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 di una soluzione da parte nostra; descrizione della soluzione per l esecutore; interpretazione della soluzione da parte dell esecutore; attuazione del metodo risolutivo da parte dell esecutore; 2

Fasi di risoluzione di un problema Problema Analisi Soluzione Soggetto 1 Stesura di una descrizione Descrizione Interpretazione Soggetto 2 Descrizione interpretata Esecuzione Soluzione 3 Esempi di soluzione di un problema Ricetta per cucinare gli spaghetti Metti l acqua nella pentola Fai bollire l acqua Metti la pasta nell acqua Aggiungi un pò di sale Attendi 6 minuti Scola la pasta 4

Esempi di soluzioni Ricerca utente in un elenco telefonico Dati Un insieme ordinato di coppie <nome, numero> Un nome X da ricercare 1) Leggi la prima coppia <nome, numero> 2) Se non hai oltrepassato l'ultima coppia Allora: Se nome = X allora il numero di telefono di X è quello letto; Altrimenti leggi la prossima coppia e vai al passo 2) Altrimenti Il nome X cercato non è nell'elenco 5 Proprità della soluzione La soluzione deve: essere descritta in una forma interpretabile dall esecutore; specificare l esecuzione di azioni che egli è effettivamente in grado di ottenere. Ogni esecutore è caratterizzabile in base alle sue capacità di : interpretazione (linguaggio); esecuzione (istruzioni che è in grado di eseguire). 6

Algoritmo Un algoritmo è un metodo per la soluzione di un problema adatto ad essere implementato sotto forma di programma Un algoritmo si puo` definire come un procedimento che consente di ottenere un risultato atteso eseguendo, in un determinato ordine, un insieme di passi semplici corrispondenti ad azioni scelte solitamente da un insieme finito 7 Proprietà degli Algoritmi L'algoritmo è caratterizzato da Finitezza: Composto da un numero finito di passi elementari. Le operazioni sono eseguite un numero finito di volte Non ambiguità: I risultati non variano in funzione della macchina/persona che esegue l'algoritmo (deterministico) Realizzabilità: Deve essere eseguibile con le risorse a disposizione 8

Esempi di Algoritmi Verifica se un numero è pari o dispari Prendi il numero Calcola il resto della divisione intera del numero per 2 Se il resto è zero Allora il numero è pari Altrimenti il numero è dispari 9 Algoritmi e programmi Un linguaggio formale definito per un computer si chiama Linguaggio di Programmazione Un Algoritmo espresso attraverso un Linguaggio di Programmazione si chiama Programma 10

Processo di sviluppo di un programma Problema Analisi Soluzione informale Formalizzazione Soluzione Formale Algoritmo Programmazione Sistema Informatico: Strumenti di supporto evoluti (CASE) Sistema Informatico: Ambiente di sviluppo tradizionale Programma (alto livello) Traduzione Esecutore del Linguaggio ad alto livello Programma (macchina) Esecutore del Linguaggio Macchina (HW) Esecuzione 11 Rappresentare un Algoritmo Rappresentazione grafica Diagramma di flusso (noto anche come diagramma a blocchi o flow-chart) Rappresentazione testuale Notazione Lineare Strutturata (o pseudocode) 12

Operazioni di Base Le operazioni primarie sono Trasferimento di informazioni (istruzioni di I/O) Lettura dati, scrittura risultati, visualizzazione dati intermedi Esecuzione di calcoli (valutazione espressioni) Istruzioni di assegnamento Strutture di controllo (che modificano il flusso sequenziale di esecuzione delle operazioni) 13 Simboli Convenzionali ingresso/uscita inizializzazione documento Elaborazione inizio/fine input manuale elab. predefinita connessioni disco decisione mem. sequenziale 14

Istruzioni di I/O Lettura di dati in ingresso (input) Scrittura dei risultati in uscita (output) Diagramma a blocchi Pseudocodice leggi A leggi A scrivi B scrivi B 15 Istruzione di Assegnamento Concetto di variabile Identificata da un etichetta/identificatore simbolico Può essere comodo pensare alla variabile come ad un contenitore in cui possiamo memorizzare o reperire dei dati utilizzati durante il calcolo L istruzione di assegnamento permette di assegnare un valore ad una variabile A = 5 Alla variabile A viene assegnato il valore 5 16

Istruzione di Assegnamento Inizializzazione All inizio di un algoritmo una variabile non ha alcun valore Non ha quindi senso utilizzarla in una espressione (è un errore!) Essa deve essere inizializzata O esplicitamente mediante un assegnamento Oppure mediante una operazione di lettura START START START B = 0 leggi B A = B + 3 ERRORE B non è inizializzata A = B + 3 A = B + 3 CORRETTO CORRETTO 17 Istruzione di Assegnamento E stato usato il simbolo = per indicare l istruzione di assegnamento Alcuni testi/autori indicano invece il simbolo (per evitare confusione con l operatore di uguaglianza) Dato il seguente frammento di codice A = 5 A = A + 1 Cosa fa quell istruzione? L esecutore esegue i seguenti passi Prima valuta l espressione a destra, cioè calcola il valore di A+1 che vale 6 Dopo assegna tale valore alla variabile a sinistra, cioè ad A Alla fine dell esecuzione di quella istruzione quindi, A vale 6 18

Valutazione delle Espressioni L esecutore è in grado di valutare espressioni aritmetiche Diagramma a blocchi Pseudo-codice B = 5*(82-35)/7 B = 5*(82-35)/7 A = (B+34)/B*2 A = (B+34)/B*2 19