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