Corso di Informatica Modulo T1 1-Il concetto di algoritmo

Documenti analoghi
Corso di Informatica

Corso di Informatica Modulo T1 1 - Il concetto di problema

Concetti Introduttivi. Il Computer

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

Algoritmi. Pagina 1 di 5

Corso di Informatica Modulo T2 1 - Linguaggi e macchine

CONCETTI FONDAMENTALI

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

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

Come ragiona il computer. Problemi e algoritmi

MODULO 07. La soluzione dei problemi mediante gli algoritmi

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

Concetti di base dell ICT

Introduzione alla programmazione

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Teoria dell Informazione

Cosa è l Informatica?

Unità di apprendimento 6. Dal problema al programma

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

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

Corso di Informatica di Base

Programmazione di INFORMATICA e Laboratorio

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

L ELABORATORE ELETTRONICO

Rappresentazione con i diagrammi di flusso (Flow - chart)

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA

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

Problemi, algoritmi, calcolatore

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

L ELABORATORE ELETTRONICO!

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

Informatica. Come si risolve un problema?

Il concetto di calcolatore e di algoritmo

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

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Introduzione alla programmazione strutturata

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

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Sistemi di Elaborazione delle Informazioni

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

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

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

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

Introduzione agli Algoritmi

Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica

Corso di Informatica

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Unità B2.1. I tipi di dato

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

Algoritmi e soluzione di problemi

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

FONDAMENTI DI INFORMATICA

Che cos e l Informatica

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

Elaboratore Elettronico

ALGORITMI: PROPRIETÀ FONDAMENTALI

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Formalismi per la descrizione di algoritmi

Corso di Linguaggi di Programmazione + Laboratorio

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

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Fasi della programmazione. Gabriella Trucco

Linguaggi, Traduttori e le Basi della Programmazione

Informatica Generale Andrea Corradini I linguaggi di programmazione

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

ALLEGATO B OBIETTIVI MINIMI DELLA SCUOLA SECONDARIA DI PRIMO GRADO. Comunica in modo comprensibile e funzionale allo scopo;

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Corso di. Fondamenti di Informatica T

LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI

FONDAMENTI DI INFORMATICA

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1

Dall analisi alla codifica (1)

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Salvatore Cuomo Prolusione

Sviluppo di programmi

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

Il concetto di informatica. Graziano Pravadelli (2012)

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

Corso di Laurea Ingegneria Civile

INGLESE IL CURRICOLO DI BASE - OBIETTIVI SPECIFICI D APPRENDIMENTO SCUOLA PRIMARIA

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Le aree dell informatica

I.I.S. N. PELLATI Nizza Monferrato - Canelli

Comprende il testo proposto - comprende il lessico di base - comprende i termini tecnicospecialistici

Elementi di programmazione

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Fondamenti di programmazione e Laboratorio di introduzione alla programmazione (modulo 1)

LINGUA ITALIANA L.E.1 ASCOLTARE, COMPRENDERE E COMUNICARE ORALMENTE. L.E.2 LEGGERE E COMPRENDERE TESTI DI VARIO TIPO.

Algoritmi e basi del C

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

Programmazione modulare

Linguaggi di programmazione

AE RZT QSO RKPT SQZC

Programmi e Oggetti Software

Sviluppo dei Programmi

LA METAFORA DELL UFFICIO

Transcript:

Corso di Informatica Modulo T1 1-Il concetto di algoritmo 1 Prerequisiti Differenza tra esecutore e risolutore Problema e procedimento risolutivo Linguaggio naturale Repertorio di un esecutore Fasi di risoluzione di un problema Concetto di variabile 2 1

Introduzione Quando si risolve un qualunque problema, siamo soliti esprimere il procedimento risolutivo in linguaggio naturale. Questo linguaggio è molto complesso per essere compreso da un esecutore, perciò si pone il seguente quesito: Come si può rendere comprensibile all esecutore il procedimento risolutivo di un problema? Rispondiamo a questo interessante interrogativo. 3 L algoritmo Procedimento risolutivo (italiano) Il calcolatore non è in grado di comprendere il procedimento risolutivo (soluzione) scritto in linguaggio naturale. Infatti, il risolutore può: usare il linguaggio in modo personale (ad es. sinonimi, sfumature); scrivere operazioni non comprensibili all esecutore Perciò, dobbiamo descrivere il procedimento risolutivo con un linguaggio più schematico e standard, rispetto al nostro modo discorsivo di esprimerci, ottenendo quello che si chiama algoritmo, che ci accingiamo a presentare. 4 2

Il programma Un algoritmo non è ancora comprensibile al calcolatore: Algoritmo per far ciò dobbiamo affrontare un ultimo passaggio detto codifica dell algoritmo. La codifica di un algoritmo in un dato linguaggio di programmazione produce un programma. La codifica dipende dal particolare linguaggio di programmazione scelto (ad es. C++, Java, Visual Basic, ecc) ed è oggetto di Unità specifiche. 5 Cos è un algoritmo Un algoritmo è la descrizione del procedimento risolutivo composta da passi che devono essere: in sequenza logica ogni passo deve rappresentare una evoluzione dei passi precedenti verso la soluzione (es. l operazione A = A non fa progredire l elaborazione) in sequenza temporale nessun passo non può iniziare prima che i passi precedenti siano terminati; comprensibili all esecutore inseriti nel suo repertorio; trasformati ciascuno in una precisa azione; L esecutore svolge la sequenza di passi contenuta nell algoritmo e genera il processo risolutivo, che porta dai dati in ingresso ai dati in uscita (ovviamente se il problema in esame è solubile) 6 3

Fare una telefonata Problema: si deve telefonare a Mario Rossi per comunicargli che si sposa la figlia di un suo amico. Svolgiamo la Fase 1 ATTIVITA : scrivere l analisi del testo del problema Analisi del testo Il problema chiede di comunicare una notizia (la frase che si sposa la figlia è un dettaglio trascurabile. Come dati impliciti, supponiamo che l apparecchio telefonico sia funzionante, di conoscere il numero n di Mario Rossi (stringa), il messaggio msg da comunicare (stringa), di saper usare il telefono e di sapere che Mario Rossi è in casa. Il problema, in questo caso, è solubile e i dati sono sufficienti. La verifica dell avvenuta comunicazione sarà un messaggio che chiamiamo esito (stringa). 7 Fare una telefonata ATTIVITA : disegnare la tabella delle variabili di I/O È una tabella del tipo seguente : Dati Nome Tipo Significato INPUT n Stringa Numero telefonico di M. Rossi msg Stringa Messaggio da comunicare OUTPUT esito Stringa Messaggio di conferma o di chiamata non riuscita. 8 4

Fare una telefonata ATTIVITA : scrivere il procedimento risolutivo, tenendo conto che: potrebbe non esserci il segnale il numero potrebbe essere occupato potrebbe non rispondere il signor Rossi Procedimento risolutivo Solleva la cornetta: se c è segnale, componi il numero, altrimenti abbassa la cornetta e termina la telefonata. Immesso il numero, se è occupato abbassa la cornetta e termina la telefonata; se è libero, allora se risponde il signor Rossi, comunica la notizia abbassa la cornetta e termina la telefonata; altrimenti chiedi di lui e attendi. Quando il signor Rossi arriva al telefono, comunicagli la notizia, abbassa la cornetta e termina la telefonata. Osservare i verbi in terza persona 9 Fare una telefonata Algoritmo Telefonata Inizio ATTIVITA : (Fase 2) 1: solleva la cornetta scrivere una sequenza di passi 2: segnale? Se NO vai al passo 9 numerati che descriva il 3: componi il numero n procedimento risolutivo 4: occupato? Se SI vai al passo 9 5: risponde Mario Rossi? Se SI vai al passo 7 6: chiedi di Mario Rossi 7: comunica msg Salto condizionato 8: Mario Rossi conferma di aver ricevuto msg 9: abbassa la cornetta 10: termina la telefonata. Fine. Nome dell algoritmo 10 5

Fare una telefonata Il processo risolutivo descritto è un esempio di algoritmo a passi numerati e prevede: un esecutore (colui che esegue la telefonata); un repertorio di azioni operative (solleva, componi, chiedi, comunica, abbassa, termina) che l esecutore sa svolgere autonomamente; un azione di controllo condizionato (Se vai) che effettua un salto ad un dato passo, in base al verificarsi di una certa condizione rappresentata con una domanda. 11 Acquistare una bevanda Problema: si devono acquistare 3 lattine di bevanda ad un distributore automatico, che emette scontrino fiscale. ATTIVITA : scrivere l analisi del testo del problema Fase 1 Analisi del testo Il tipo di prodotto e la confezione sono dettagli trascurabili. Supponiamo che il distributore funzioni, che lo sappiamo usare e che abbiamo monete a sufficienza. I dati espliciti sono il codice (intero) e l importo (reale) delle bevande da acquistare. Il problema, in questo caso, è solubile e i dati sono sufficienti. La verifica del procedimento sarà costituita dalla emissione dello scontrino con il totale pagato. 12 6

Acquistare una bevanda ATTIVITA : disegnare la tabella delle variabili di I/O Dati Nome Tipo Significato INPUT codice Intero codice della bevanda importo Reale importo da immettere OUTPUT totale Reale importo totale pagato 13 Acquistare una bevanda ATTIVITA : scrivere il procedimento risolutivo tenendo conto che il codice immesso potrebbe essere errato e che l operazione termina quando l utente ha prelevato 3 lattine. Procedimento risolutivo: Immetti l importo del prodotto. Digita il codice della bevanda: se non è corretto, ripeti l immissione. e preleva il prodotto. Se sono state acquistate 3 lattine, termina il servizio, ritira lo scontrino con il totale, altrimenti ripeti l intero procedimento. 14 7

Acquistare una bevanda ATTIVITA : scrivere il corrispondente algoritmo a passi numerati (Fase 2) Algoritmo Distributore Inizio Salto condizionato 1: lattine = 0 2: immetti importo del prodotto 3: digita codice 4: codice è valido?: Se NO vai al passo 3 5: lattine = lattine + 1 Salto incondizionato 6: preleva il prodotto 7. lattine = 3? Se SI vai al passo 9 8: vai al passo 2 9: ritira scontrino con il totale 10: fine del servizio Fine. 15 Acquistare una bevanda Anche in questo caso, l algoritmo a passi numerati prevede: un esecutore (colui che acquista le bevande); un repertorio di azioni operative (immetti, digita, preleva, conta, ritira) che l esecutore sa svolgere autonomamente; un azione di controllo condizionato (Se vai) che effettua un salto ad un dato passo, in base al verificarsi di una certa condizione rappresentata con una domanda; un azione di controllo incondizionato (vai, che attua sempre un salto ad un dato passo, realizzando un ciclo. 16 8

Argomenti L algoritmo Il programma Cos è un algoritmo Fare una telefonata Acquistare una bevanda 17 Altre fonti di informazione P.Gallo, F.Salerno Informatica Generale 1, ed. Minerva Italica G.Callegarin Corso di Informatica 1, ed. CEDAM M. Pellerey-Informatica: fondamenti culturali e tecnologici, ed. SEI 18 9