Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un’informazione può : Essere acquisita direttamente tramite rilevamento di un evento reale attraverso percezione sensoriale. Essere trasmessa (messaggio) intenzionalmente da un emittente (sorgente) ad un ricevente (destinatario) per mezzo di un canale Un sito in Internet è solo un canale ? La comunicazione Il messaggio presuppone l’utilizzo di un codice (sistema di regole) e di un linguaggio (sistema di segni) che devono essere conosciuti sia dalla sorgente emittente che dal destinatario, altrimenti la comunicazione non ha effetto ? ? ? ? sorgente destinatario Sintassi e semantica dei linguaggi La funzione del linguaggio è quella di sostituire ad oggetti o concetti dei segni/simboli per trasmettere un messaggio. Il segno è l’associazione di qualcosa di materiale e sensibile (immagine, suono…) che chiamiamo significante con qualcosa di puramente concettuale che chiamiamo significato Il codice ci consente l’interpretazione dei segni Segno gatto = significante + significato Il gruppo dei suoni o di lettere g/a/t/t/o Nella storia si sono usate diverse forme di comunicazione Sintassi e semantica dei linguaggi ELEMENTI DI UN LINGUAGGIO Alfabeto insieme finito e non vuoto di simboli convenzionali espressi con segni tipografici detti caratteri Ortografia insieme finito e non vuoto di regole per la scrittura dei suoni Sintassi insieme finito e non vuoto delle regole (di posizione) mediante le quali si formano le stringhe o le frasi di un linguaggio Semantica insieme finito e non vuoto di significati da attribuire alle stringhe Morfologia insieme finito e non vuoto di tutte le regole che servono per generare le forme di un linguaggio Linguaggi nella comunicazione uomo - macchina L’uomo per comunicare ad un esecutore automatico le strategie risolutive di un problema ha bisogno di un linguaggio formale, molto rigoroso, che gli consenta di passare dall’ algoritmo al programma, cioè ad una sequenza di istruzioni in linguaggio comprensibile al calcolatore mediante le quali si può risolvere il problema. Linguaggi ed esecutori automatici Linguaggi non evoluti Linguaggio macchina, linguaggio assemblativo (Assembler). Vicino alla logica della macchina Linguaggi evoluti Linguaggi non orientati alla macchina, ma alla soluzione dei problemi. Vicino alla logica dell’uomo Linguaggi ed esecutori automatici Programmi general purpose Sistema operativo I principali software Office Automation •Word processor Software di base, controlla tutte le risorse del computer, necessita di un linguaggio più vicino al linguaggio macchina •Foglio di calcolo (Assembler) •Editor di suoni •Sistemi di gestione base dati •Programmi per la realizzazione di presentazioni multimediali •Programmi di grafica computerizzata •Editor di pagine web Linguaggi di programmazione Problema Algoritmo Programma sorgente Risultati Dalla formulazione del problema alla sua soluzione Programma traduttore Elaborazione Programma oggetto Linguaggi di programmazione Programma sorgente Istruzioni di dichiarazione Descrivono dati e variabili utilizzati dal programma, definendone tipo e struttura L’algoritmo risolutivo viene trasformato in un programma attraverso un linguaggio di programmazione che può contenere: Istruzioni di assegnazione Istruzioni di controllo Consentono di assegnare alla variabile un valore dello stesso tipo della variabile Sono istruzioni che richiedono salti di sequenza nell’esecuzione del programma Istruzioni di input e output Richiedono l’ingresso o l’uscita di un’informazione da una periferica alla memoria centrale e viceversa Linguaggi di programmazione Fortran Cobol Algol Basic PHP Principali linguaggi Logo PL1 Lisp Pascal C /C++ Java