Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programmazione e Traduttori
Che tipo di programma esegue la CPU?
La CPU è in grado
di eseguire SOLO
programmi scritti
nel PROPRIO
linguaggio
macchina
Problemi del linguaggio macchina
• Difficili da memorizzare
• Il programma scritto il L.M. non è portabile (se copio il programma in
L.M. su un’altra CPU, il programma non funziona)
• E’ necessario l’uso di linguaggi di programmazione ad alto livello (es.
C, C++, Phython, ecc,.)
• Sono più vicini al linguaggio umano
• Un programma scritto in un linguaggio di alto livello è trasportabile su
qualsiasi altra CPU (portabilità)
Tipologie di linguaggi
• Imperativi: sequenze di istruzioni (comandi) all’elaboratore
• C, C++, Python, Java …..
• Funzionali: fondato sulla valutazione di funzioni
• LISP
• Logici: descrizione della conoscenza relativa al problema, specificando
gli oggetti che intervengono e le relazioni fra di essi.
• PROLOG
Ruolo dell’astrazione:
Astrazione sui dati
• Tipi di dati predefiniti e definiti dal programmatore (variabili invece che codici binari)
Astrazione sul controllo
• Condizionali e cicli (IF, FOR e WHILE invece di salti)
Astrazione procedurale
Linguaggi A.L e macchina di Von Neumann
• Il linguaggio di alto livello di tipo imperativo si comporta come una
macchina di Von Neumann
• Le istruzioni della «CPU» sono scritte nel linguaggio di alto livello
• La memoria è rappresentata dalle variabili (intere, float, carattere,
array…..)
Linguaggi A.L e macchina di Von Neumann
Unità di
Controllo
int x Programma
Unità di x=x+1 a Unità di
x
Ingresso Variabili i Uscita
Unità Logica
ed aritmetica
(ALU)
MEMORIA
Traduzione in linguaggio macchina
• IL CALCOLATORE NON E’ IN GRADO DI COMPRENDERE
DIRETTAMENTE UN LINGUAGGIO AD ALTO LIVELLO