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 = significante + significato gatto 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 Linguaggio macchina, linguaggio assemblativo (Assembler). Vicino alla logica della macchina Linguaggi non evoluti Linguaggi non orientati alla macchina, ma alla soluzione dei problemi. Vicino alla logica dell’uomo Linguaggi evoluti
Linguaggi ed esecutori automatici Programmi general purpose I principali software Office Automation Sistema operativo Word processor Foglio di calcolo Sistemi di gestione base dati Programmi per la realizzazione di presentazioni multimediali Programmi di grafica computerizzata Editor di suoni Editor di pagine web Software di base, controlla tutte le risorse del computer, necessita di un linguaggio più vicino al linguaggio macchina (Assembler)
Linguaggi di programmazione Problema Risultati Dalla formulazione del problema alla sua soluzione Elaborazione Algoritmo Programma sorgente Programma traduttore Programma oggetto
Linguaggi di programmazione L’algoritmo risolutivo viene trasformato in un programma attraverso un linguaggio di programmazione che può contenere: Programma sorgente Istruzioni di dichiarazione Istruzioni di input e output Istruzioni di controllo Istruzioni di assegnazione Descrivono dati e variabili utilizzati dal programma, definendone tipo e struttura Consentono di assegnare alla variabile un valore dello stesso tipo della variabile Sono istruzioni che richiedono salti di sequenza nell’esecuzione del programma 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 Java Pascal C /C++