Testi di riferimento
Algoritmi: introduzione
Ceri et al., Informatica, arte e mestiere
Elementi di Informatica
Docente: Giorgio Fumera
Sciuto et al., Introduzione ai sistemi informatici
Corso di Laurea in Edilizia
Facoltà di Architettura
A.A. 2009/2010
2
Algoritmo: definizione informale
Esempi di compiti descrivibili da algoritmi
• preparare una torta di mele
• usare un videoregistratore
• prelevare denaro da uno sportello Bancomat
• cercare un nome in un elenco telefonico
Sequenza di azioni, definite con precisione, che
portano alla realizzazione di un dato compito
• disporre una sequenza di nomi in ordine alfabetico
• trovare il percorso più breve tra due città attraverso una
mappa stradale
• sommare due numeri interi
• estrarre la radice quadrata di un numero reale non negativo
• calcolare gli zeri di un’equazione di secondo grado a
coefficienti reali
3
4
Algoritmi ed esecutori
Algoritmo: definizione formale
Descrizione del procedimento per la
realizzazione di un dato compito,
espressa in modo non ambiguo,
in un linguaggio comprensibile dall’esecutore,
in termini di una sequenza finita di operazioni
che l'esecutore sia in grado di eseguire
Scopo principale della formulazione di algoritmi: comunicare a
un esecutore (un’altra persona, o una macchina) il
procedimento per realizzare un dato compito
Due problemi principali:
• quale linguaggio conosce?
• quali azioni sa eseguire?
5
Algoritmi e informatica
Esercizio
Quali dei seguenti compiti possono essere formulati come
problemi di elaborazione di informazione?
Ove possibile, indicare i dati di partenza e il risultato
Quali sono i compiti considerati nell’informatica?
Elaborazione di informazione
Dati di ingresso
Un procedimento
risolutivo (algoritmo)
6
Risultato
7
•
preparare una torta di mele
•
usare un videoregistratore
•
prelevare denaro da uno sportello Bancomat
•
cercare un nome in un elenco telefonico
•
disporre una sequenza di nomi in ordine alfabetico
•
trovare il percorso più breve tra due città attraverso una mappa stradale
•
sommare due numeri interi
•
estrarre la radice quadrata di un numero reale non negativo
•
calcolare gli zeri di un’equazione di secondo grado a coefficienti reali
8
Esercizio
Calcolatori: esecutori di algoritmi
Formulare un algoritmo per la risoluzione del seguente problema:
ordinare in senso crescente la sequenza (8, 5, -3, 11)
Nell’informatica l’esecutore di riferimento è una
macchina programmabile
Obiettivo: far risolvere problemi al calcolatore,
comunicandogli anche il procedimento risolutivo
dati
Calcolatore
risultati
algoritmo
Quali azioni sa eseguire un calcolatore?
Quale linguaggio comprende?
9
Compito principale dell’informatica:
• formulare algoritmi per risolvere problemi
• analizzare le proprietà degli algoritmi (efficienza, ecc.)
Problemi connessi:
•
linguaggi di programmazione
•
architettura dei calcolatori (esecutori di algoritmi)
•
produzione industriale dei programmi (ingegneria del software)
•
metodi e strumenti per la gestione e il recupero di grandi quantità di dati
•
...
11
10