vuoi
o PayPal
tutte le volte che vuoi
Linguaggi di Programmazione
Informatica Generale Maria De Marsico
Linguaggi ad alto livello
- Simili all'Inglese (per le parole chiave usate) e usano notazioni matematiche
- Come vedremo tra poco, vengono tradotti via compilatori
- Esempio: grossPay = basePay + overTimePay
Linguaggi ad alto livello
- Due tipi principali
- Linguaggi imperativi o procedurali
- Descrivono passo passo la soluzione del problema (tramite istruzioni per raggiungerla)
- Esempi: Fortran, Pascal, C, Java
- Linguaggi dichiarativi
- Descrivono come deve essere fatta la soluzione senza specificare come operare
- Esempio: SQL (per interrogare banche dati)
Linguaggi ad alto livello
- vocabolario (parole chiave, operatori, identificatori, ...)
- sintassi
- rappresentazione dei dati (tipi di dati elementari o complessi)
Generale Maria De Marsico
Interpreti e compilatori
- L'interprete è un programma che traduce simultaneamente ("al volo"), istruzione per istruzione, il programma sorgente. Ogni istruzione è sottomessa alla CPU appena è stata tradotta. Anche se una stessa istruzione è contenuta 10 volte in un programma verrà tradotta ogni volta che si presenterà al traduttore.
- Il compilatore, invece, traduce tutto il programma in una sola volta e poi lo sottomette alla CPU. Se una stessa istruzione compare 10 volte, viene tradotta solo la prima volta e poi memorizzata in maniera tale che possa essere ripresa dal compilatore e inserita nelle restanti nove righe di programma. Inoltre il risultato della compilazione del file sorgente viene salvato in un nuovo file eseguibile, quindi una traduzione = più esecuzioni.
Informatica Generale Maria De Marsico 5
Interpreti e compilatori
traduzione dal linguaggio ad alto livello al linguaggio
macchina
Moltiplica due numeri
Somma due numeri
Somma 1 ad un numero 16
Informatica Generale Maria De Marsico
Linguaggi ad alto livello
- calcolo scientifico: FORTRAN, Pascal
- software di sistema: C
- applicazioni gestionali: COBOL
- interfacce grafiche: Visual Basic
- intelligenza artificiale: LISP, Prolog
- programmazione ad oggetti: C++, Java,C#
Informatica Generale Maria De Marsico
Linguaggi ad alto livello
- BASIC (alto?)
Totale = 0
INPUT "Quante cifre vuoi sommare?";n
FOR k = 1 TO n
INPUT "Immetti cifra",n
Totale = Totale + n
NEXT k
PRINT "Il totale è: "; Totale
Informatica Generale Maria De Marsico 6
Linguaggi ad alto livello
- Pascal
program totale;
var k, n, totale: integer;
begin
k := 1;
write('Quante cifre vuoi sommare?');
readln(n);
for k := 1 to n do
begin
write('Immetti cifra: ')
readln(c);
totale := totale + c
end
writeln('Il totale è: ', totale);
end.
Esempio: fasi per un programma C
- Editing
- Preprocessing
- Compilazione
- Linking
- Caricamento
- Esecuzione
20Informatica Generale Maria De Marsico
Linguaggi di markup
- Il termine markup (o marcatura) deriva dall'ambiente tipografico dove si usava marcare con annotazioni le parti del testo che andavano evidenziate o corrette
- La tecnica di composizione di un testo con l'uso di marcatori (o espressioni codificate) richiede una serie di convenzioni, ovvero un linguaggio di marcatori di documenti (di markup).
- In generale un linguaggio di markup descrive i meccanismi di rappresentazione (strutturali, semantici o presentazionali) del testo che, utilizzando convenzioni standardizzate, sono utilizzabili su più supporti.
- Esempi: HTML, XML (che è un metalinguaggio !!!)
21Informatica Generale Maria De Marsico
Il sistema operativo
- Il sistema operativo è quel software di base che viene
avviato automaticamente all'accensione della macchina (bootstrap o semplicemente boot) e che fornisce le funzionalità indispensabili per poter interagire con l'utente (gestione dei mouse, del video ecc.) e per permettergli di caricare i programmi desiderati.
In un computer possono essere presenti più sistemi operativi, utilizzabili singolarmente poiché un uso contemporaneo creerebbe conflitti nella gestione delle risorse della macchina.
Per poter installare più sistemi operativi è necessario dividere l'hard disk in sezioni separate (partizioni) e assegnare a ognuna un sistema operativo che gestirà il computer ogni volta che si lavora partendo da essa.
Il sistema operativo è insieme di programmi che interagiscono e cooperano per:
- gestire efficacemente l'elaboratore e le sue periferiche
- creare un ambiente virtuale per facilitare l'interazione uomo/macchina
mette a disposizione dell'utente un linguaggio comandi per interagire con la macchina
Dove si trova il sistema operativo?
utente 2 utente n utente 1 database editore di testi compilatore programmi applicativi sistema operativo hardware
Sistema operativo - monoprogrammato / multiprogrammato - monoutente / multiutente
Sistema operativo - Presenta una stratificazione a "cipolla" - Viene caricato nella fase di accensione e configurazione della macchina: bootstrap - Fornisce il controllo dei dispositivi e la gestione dell'hw - Fornisce la gestione delle informazioni - Fornisce strumenti elementari di elaborazione - Permette l'interazione uomo/macchina
Funziona la cipolla Kernel Gestione delle risorse Interfaccia comandi