Algoritmi e soluzioni di problemi

Algoritmi e soluzioni di
problemi
1
Informazioni e linguaggio
• Ottenere informazioni significa
– aumentare le nostre conoscenze
– ottenere indicazioni che ci fanno agire in
un determinato modo
• Esempi
– Ad un incrocio guardiamo i cartelli per
scegliere la direzione giusta
– Prima di attraversare una strada ci
fermiamo se il semaforo è rosso
2
Informazione
• Informazione è tutto ciò che possiede
un significato per l’uomo.
• Il concetto di informazione presuppone
che vi sia un soggetto che trasmette
l’informazione, l’emittente, e uno che
lo riceve, il ricevente.
3
Supporto di un’informazione
• Per trasmettere un’informazione da
un’emittente a un ricevente serve un
oggetto o un supporto con il quale
rappresentare un’informazione
• Esempi:
Informazione
Supporto
Direzione da prendere
Cartello
Possibilità di attraversare la strada
Semaforo
Fatto di cronaca
Pagina di un quotidiano
Calcolo di un area
Formula matematica
4
Linguaggio e codice
• La trasmissione di un’informazione
avviene con un linguaggio che l’emittente
conosce e contemporaneamente il
ricevente è in grado di interpretare
• Il linguaggio con cui è espressa
l’informazione deve essere convertito in
un codice di trasmissione compatibile con
il mezzo che si è scelto per la
trasmissione scelta
5
Contesto della comunicazione
INFORMAZIONE
6
Dati e elaborazione
• Con il termine dati, si intendono quelle
conoscenze elementari che caratterizzano
una situazione reale e che possono essere
conservate per un uso futuro
• Si chiama elaborazione il trattamento dei
dati per ottenere nuove informazioni
• L’elaboratore è la persona o la macchina
che esegue l’elaborazione
• Ogni elaborazione prevede dati in
ingresso (input) e produce dati in uscita
(output)
7
Il linguaggio
• Il linguaggio può essere ambiguo se
non correttamente codificato
• Esempio: la frase «La giovane mente»,
cosa significa?
?
8
Linguaggi naturali e formali
Linguaggi
naturali
Linguaggi che gli uomini usano
per comunicare; tuttavia, se è
vero che hanno una notevole
ricchezza espressiva, è
altrettanto vero che danno
spesso origine a ambiguità
Linguaggi
formali
Linguaggi basati su simboli e
regole ben precise, privi di
eccezioni e ambiguità, dedicati
di solito a scopi precisi e
circoscritti. Esempio: in
matematica i simboli e le
regole dell’insiemistica
9
Caratteristiche dei linguaggi
formali
• Alfabeto
– Ogni linguaggio è costruito su un alfabeto di simboli
detti caratteri. Una sequenza di caratteri è detta
stringa.
• Sintassi
– Per costruire una stringa che abbia significato devono
essere date le regole che costituiscono la sintassi del
linguaggio
• Semantica
– L’insieme dei significati che devono essere attribuiti
alle stringhe costituisce la semantica del linguaggio
• Grammatica
– L’insieme di tutte le regole che permettono di
generare le parole e le frasi si dice grammatica
10
Esempi di linguaggi formali
• Il linguaggio della logica usa l’alfabeto
A = {a, b, c, …, z, ¬, , ⋁,→,↔}
• Il linguaggio dell’aritmetica usa l’alfabeto
A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
• E il seguente per esprimere anche numeri
come risultati di operazioni
A={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, -, x, :, =, (, )}

11
Esempi di linguaggi formali
• Il numero 2345 è una stringa
dell’alfabeto dell’aritmetica
• Vi sono stringhe che non hanno
significato:
285+: non significa nulla in aritmetica
(2+8):5 ha significato
12