tutto sui calcolatori. -...
TRANSCRIPT
![Page 1: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/1.jpg)
Informatica
I linguaggi
![Page 2: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/2.jpg)
Comunicazione
La comunicazione è un processo che consente di scambiare
informazioni e coinvolge un mittente, un destinatario, un
messaggio ed un canale comunicativo.
Affinché la comunicazione sia efficace è necessario che:
il destinatario si attivo (pronto a ricevere),
il canale sia attivo (consenta la trasmissione e,
possibilmente, non modifichi il contenuto del messaggio),
si usi un codice comunicativo e un protocollo condiviso tra
mittente e destinatario.
![Page 3: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/3.jpg)
Comunicazione
Un protocollo di comunicazione è un insieme di regole che
governano lo scambio di messaggi.
Un protocollo di comunicazione definisce, per esempio:
i segnali di inizio e fine messaggio,
la lunghezza dei messaggi ed il loro formato.
![Page 4: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/4.jpg)
Comunicazione
1.Trasmissione dei simboli
2.Trasmissione del significato
Interazione:
Uomo-uomo
Uomo-macchina
Macchina-macchina
![Page 5: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/5.jpg)
• Linguaggio verbale
Suoni, regole grammaticali
• Linguaggio scritto
Segni, regole grammaticali
• Gestuale(linguaggi dei segni per audiolesi)
Gesti, regole
• Ideografico (ideogrammi egizi, spartiti musicali)
Disegni, regole
I Linguaggi
![Page 6: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/6.jpg)
Segno (Qualcosa che sta per qualcos’altro)
Mezzo attraverso il quale si trasmettono messaggi
Significante
Parte fisicamente percepibile (attraverso i sensi) del segno.
Significato
Idea, il concetto che la mente umana collega ad un certo segno
segno = significante + significato
I Linguaggi
![Page 7: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/7.jpg)
segno = significante + significato
I Linguaggi
Esempi:
• Segnali di fumo
Il fumo (significante), inizia la guerra
(significato)
• Linguaggio morse
… --- … (significante, scritto o udito),
Save Our Souls , richiesta d’aiuto (significato)
• Il simbolo o :)
![Page 8: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/8.jpg)
Il rapporto tra significante e significato è frutto di una
convenzione e può dipendere dal contesto.
Esempi:
• Il diverso uso dell’apice in matematica e chimica
• Cingomma (Sardegna) o Cicca (Sicilia) per convenzione
sociale
• Muovere la testa per annuire
I Linguaggi
![Page 9: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/9.jpg)
• Linguaggio naturale
Si sviluppa spontaneamente in comunità di individui. Può
essere soggetto ad ambiguità (più significanti con lo
stesso significato)
• Linguaggio artificiale (matematico, chimico, di
programmazione, etc)
Nasce per accordarsi su come esprimersi su certi ambiti
ed è trasversale alle comunità
I Linguaggi
NON ambiguità
rigorosità sintattica
![Page 10: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/10.jpg)
Linguaggi o Codici
Sono costituiti da
una serie finita di simboli, detta alfabeto. Una
sequenza di simboli è detta parola ed una sequenza di
parole è detta frase. L’insieme delle parole di un
linguaggio è il suo vocabolario.
Sintassi: insieme di regole che stabiliscono come i
simboli possano essere composti a formare le parole e
come le parole debbano succedersi per formare le frasi.
Semantica: interpretazione del significato da
attribuire alla frase e alle parole in esso contenute.
![Page 11: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/11.jpg)
Codifica
Il processo di traduzione o codifica consiste nella
trasformazione delle espressioni linguistiche (sequenze
di simboli) di un linguaggio in espressioni linguistiche
di un altro linguaggio ed è necessaria ogni volta che i
due interlocutori usano linguaggi diversi.
![Page 12: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/12.jpg)
Come si può “dialogare” con il calcolatore?
Comune linguaggioImpulsi elettrici
simbolo valore dell’intensità
elettrica
Non magnetizzato
Magnetizzato.
Codifica di tipo binario
0
1
Non arriva corrente
Arriva corrente.
Riflette la luce
Assorbe la luce
![Page 13: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/13.jpg)
I linguaggi di programmazione
Sono linguaggi artificiali che costituiscono lo
strumento per scrivere un algoritmo in modo che sia
comprensibile, e quindi eseguibile, da un calcolatore.
Un linguaggio di programmazione dovrebbe essere:
Semplice da usare (fornire strutture che permettano
una veloce composizione dell’algoritmo)
Facile da manutenere, consentendo modularità e
parametrizzazione
Portabile.
![Page 14: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/14.jpg)
I linguaggi di basso livello
Linguaggi macchina
Costituiti da sequenze di numeri binari in cui una parte
indica l’istruzione e la restante parte l’indirizzo del dato su
cui eseguire l’istruzione. Dipendono dal processore.
Le funzioni di un linguaggio macchina sono:
Trasferire istruzioni dalla RAM ai registri e/o alle periferiche
Operazioni aritmetiche e logico-relazionali
Operazioni di controllo dell’esecuzione
delle istruzioni
+1300042774
+1400593419
+1200274027
istruzione indirizzo
![Page 15: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/15.jpg)
I linguaggi di basso livello
Linguaggi assembly
Legati all’hardware.
Codici per le istruzioni (espressioni simili al linguaggio naturale).
Indirizzamento simbolico (uso delle variabili).
Load basepay
Add overpay
Store grosspay
Assemblatore: traduttore del linguaggio assembly in
linguaggio macchina
![Page 16: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/16.jpg)
I linguaggi di alto livello
Consentono di concentrarsi sull’algoritmo più che sulle
caratteristiche del linguaggio
Vocabolario più simile al linguaggio naturale.
Programmi più portabili.
grosspay=basepay+overpay
![Page 17: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/17.jpg)
Alcuni linguaggi di programmazione
FORTRAN = FORmula TRANslator
COBOL = Common Business Oriented Language
PASCAL Nato per scopi didattici.
Programmazione strutturata
ADA multitasking = parallelizzazione delle attività
![Page 18: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/18.jpg)
I linguaggi interpretati
Vengono tradotti da un apposito programma detto
interprete durante la stesura del codice.
L’interprete riceve in ingresso dati e istruzioni.
Meno efficienti in fase di esecuzione ma più efficienti in
fase di debugging.
![Page 19: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/19.jpg)
I linguaggi compilati
Al termine della scrittura, vengono tradotti da un apposito
programma detto compilatore che produce un file detto
programma oggetto ed un file eseguibile. Esso può essere
eseguito varie volte, con dati diversi, ed esportato su
supporti di memoria o su altre macchine.
Il compilatore riceve le istruzioni e le traduce. I dati
vengono inseriti in fase di esecuzione.
Sono più efficienti in fase di esecuzione ma non in fase di
debugging.
![Page 20: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/20.jpg)
Compilazione di un programma
Dopo la costruzione dell’algoritmo, si effettua la codifica in
linguaggio di programmazione utilizzando un editor di testi. Il
prodotto di questa fase è un file di testo chiamato ‘sorgente’.
![Page 21: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/21.jpg)
Compilazione di un programma
Il file sorgente viene passato al compilatore che lo traduce in
linguaggio macchina attivando le seguenti componenti:
- Preprocessore: sostituisce parti di codice (costanti,
librerie, macros, etc.)
- Linker: inserisce i riferimenti a porzioni esterne di codice
(altri programmi, funzioni di libreria, funzioni del S.O.)
- Debugger: eseguendo un’analisi lessicale e sintattica, per
identificare eventuali errori di sintassi.
Se questa fase va a buon fine viene creato il file ‘oggetto’.
![Page 22: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/22.jpg)
Compilazione di un programma
Il file oggetto viene finalmente tradotto in linguaggio
macchina ed è pronto per essere caricato in RAM dal loader e
poi eseguito.
Il risultato si chiama file eseguibile ed è specifico per il
sistema operativo che lo ospiterà.
![Page 23: Tutto sui calcolatori. - carrisi.altervista.orgcarrisi.altervista.org/wp-content/uploads/2018/11/3-Linguaggi.pdf · • Ideografico (ideogrammi egizi, spartiti musicali) Disegni,](https://reader030.vdocuments.pub/reader030/viewer/2022020121/5c6a21a709d3f20f298c1ee0/html5/thumbnails/23.jpg)
ESECUZIONE
EDITING
COMPILAZIONE
Correzione
errori di sintassi
Correzione
errori logici
librerie
Programma
oggetto
Sorgente
Programma
eseguibile