Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

8
Algoritmo concettuale Algoritmo concettuale Sintassi Sintassi Paradigmi di programmazione Paradigmi di programmazione Linguaggio ad alto e basso livell Linguaggio ad alto e basso livell o o Linguaggio binario Linguaggio binario Programma compilatore Programma compilatore Conclusioni Conclusioni EXIT

description

I Linguaggi di programmazione. Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello Linguaggio binario Programma compilatore Conclusioni. EXIT. Algoritmo concettuale. - PowerPoint PPT Presentation

Transcript of Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

Page 1: Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

Algoritmo concettualeAlgoritmo concettuale SintassiSintassi Paradigmi di programmazioneParadigmi di programmazione Linguaggio ad alto e basso livelloLinguaggio ad alto e basso livello Linguaggio binarioLinguaggio binario Programma compilatoreProgramma compilatore ConclusioniConclusioni

EXIT

Page 2: Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

Algoritmo concettualeAlgoritmo concettuale

Una volta individuato l'algoritmo, Una volta individuato l'algoritmo, occorre rappresentarlo con un occorre rappresentarlo con un linguaggio formale che consenta di linguaggio formale che consenta di comunicarlo alla macchina che lo comunicarlo alla macchina che lo deve eseguire. Questo significa deve eseguire. Questo significa trasformare l'algoritmo concettuale in trasformare l'algoritmo concettuale in un insieme di istruzioni ben definite e un insieme di istruzioni ben definite e rappresentarle in modo chiaro e non rappresentarle in modo chiaro e non ambiguo. ambiguo.

Page 3: Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

Nel caso dei computer, il sistema Nel caso dei computer, il sistema formale che consente di descrivere formale che consente di descrivere l'algoritmo è rappresentato dal l'algoritmo è rappresentato dal linguaggio di programmazionelinguaggio di programmazione che che fornisce una varietà di approcci, noti fornisce una varietà di approcci, noti come come paradigmi di paradigmi di programmazioneprogrammazione, per affrontare , per affrontare l'atto e il processo della l'atto e il processo della programmazione, ovvero la traduzione programmazione, ovvero la traduzione nel linguaggio adottato dell'algoritmo. nel linguaggio adottato dell'algoritmo.

Paradigmi di programmazione

Page 4: Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

I linguaggi di programmazione sono definiti I linguaggi di programmazione sono definiti da un insieme di regole grammaticali, o da un insieme di regole grammaticali, o sintassisintassi, che consentono di decidere se , che consentono di decidere se una istruzione è scritta correttamente. I una istruzione è scritta correttamente. I linguaggi di programmazione sono stati linguaggi di programmazione sono stati introdotti per facilitare il compito di introdotti per facilitare il compito di scrittura dei programmi ai programmatori; scrittura dei programmi ai programmatori; sono linguaggi simbolici che si sono evoluti sono linguaggi simbolici che si sono evoluti sempre più verso sistemi di codici sempre più verso sistemi di codici complessi e potenti, orientati più all'uomo complessi e potenti, orientati più all'uomo che alla macchina.che alla macchina.

Sintassi

Page 5: Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

In un linguaggio In un linguaggio ad alto livello ad alto livello (PASCAL)(PASCAL), , ad esempio, per sommare ad esempio, per sommare due grandezze e assegnarne il valore ad due grandezze e assegnarne il valore ad una terza, potremmo usare l'istruzione: una terza, potremmo usare l'istruzione: semiperimetro := base + altezza semiperimetro := base + altezza

Nel Nel linguaggio assemblatorelinguaggio assemblatore, sempre , sempre simbolico ma specifico della singola simbolico ma specifico della singola macchina, si potrebbe dire:macchina, si potrebbe dire:LOAD xLOAD xADD yADD ySTORE Z STORE Z

Linguaggio ad alto e basso livello

Page 6: Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

Infine nel linguaggio binario usato dalla macchina questa stessa istruzione

potrebbe essere tradotta nella sequenza di 0 e 1, totalmente illeggibile per

l'uomo, ma perfettamente non ambigua per la macchina:

0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 00 1 0 0 0 0 0 0 0 0 0 0 0 1 0 10 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0

Linguaggio binario

Page 7: Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

Il concetto che ha permesso questa Il concetto che ha permesso questa evoluzione è stata l'idea di evoluzione è stata l'idea di traduzione traduzione di un programmadi un programma nel linguaggio nativo nel linguaggio nativo della macchina, l'unico che tiene conto della macchina, l'unico che tiene conto della sua architettura. Questo ha della sua architettura. Questo ha consentito di scrivere programmi che consentito di scrivere programmi che possono essere eseguiti su diverse possono essere eseguiti su diverse macchine, perchè basta predisporre una macchine, perchè basta predisporre una volta per tutte un volta per tutte un traduttore, il traduttore, il programma compilatore programma compilatore . .

Programma compilatore

Page 8: Algoritmo concettuale Sintassi Paradigmi di programmazione Linguaggio ad alto e basso livello

Si può facilmente comprendere che per Si può facilmente comprendere che per predisporre un compilatore, occorre che predisporre un compilatore, occorre che le regole grammaticali del linguaggio le regole grammaticali del linguaggio siano espresse in modo non ambiguo. siano espresse in modo non ambiguo. Sono stati definiti allo scopo numerosi Sono stati definiti allo scopo numerosi strumenti formali per la descrizione strumenti formali per la descrizione sintattica dei linguaggi: tavole sintattiche, sintattica dei linguaggi: tavole sintattiche, grammatiche, notazione di Backus. Il grammatiche, notazione di Backus. Il compito di un compilatore è quello di compito di un compilatore è quello di ricevere un programma ricevere un programma sorgentesorgente, scritto , scritto dal programmatore, e di produrre un dal programmatore, e di produrre un linguaggio linguaggio oggettooggetto, eseguibile da una , eseguibile da una macchina.macchina.

Conclusioni