SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Abilità Informatiche
 Ingegneria Chimica

  Lezione 29/02/2012




Prof. Antonino Stelitano
Docente        Antonino Stelitano     antonino.stelitano@uniroma1.it
                                      stelitano.a@libero.it
Tutor          Da definire            …

Lezioni        Lunedì                 14:00 – 17:30 aula 16
                                      Lab. Paolo Ercoli
               Mercoledì
                                      15:45 – 19:00 aula 5
                                      Viale Castro Laurenziano
Ricevimento:   Per appuntamento


Sito web:      http://w3.uniroma1.it/IngChim/AInf
Esercizi assegnati la volta scorsa
• (una sorta di) Cifrario di Cesare
  – Data una parola P in ingresso di n caratteri
    ottenere la parola C (cifrata) in uscita in cui ogni
    lettera sia spostata in avanti di x caratteri



      P, x             Cifrario               C
Semplice Cifrario di cesare

• Ci sono ancora lettere da leggere in P?
  – Leggo la lettera e la memorizzo in l
  – Sposto la lettera in avanti di x caratteri e memorizzo
    il risultato in l1: l1 = l + x
  – Scrivo l1 nella prima posizione libera di C
  – Mi sposto alla lettera successiva di P
• Stampo C
Algoritmi : proprietà fondamentali

• Evinciamo le quattro proprietà fondamentali
  dell'algoritmo:
  – La sequenza di istruzioni deve essere finita
  – Essa deve portare ad un risultato
  – Le istruzioni devono essere eseguibili
    materialmente
  – Le istruzioni non devono essere ambigue
Hardware e Software
  Due entità distinte
                                Due aree informatiche
        Dati
                                      Software
 Programmi macchina
                                      Hardware


• Hardware: struttura fisica del calcolatore e delle
 sue componenti (CPU, memoria, monitor,
 memoria, dischi, etc)

• Software: insieme di applicativi e programmi che
 permettono all’hardware di eseguire compiti.
    • programmi di gestione (sistemi operativi come Windows,
      Linux, MacOs, etc.)
    • programmi applicativi (photoshop, word, etc.)
Hardware




Insieme dei dispositivi meccanici, magnetici, elettrici,
     elettronici che compongono un calcolatore.
Software




Il termine software (usato in ambito informatico) può
           indicare l'insieme dei programmi
      (o uno solo di questi) in grado di funzionare
                    su un computer.
Sistemi operativi

• Un sistema operativo (abbreviato in SO) è il
  programma responsabile del diretto controllo e
  gestione dell'hardware che costituisce un
  computer e delle operazioni di base.
• Si occupa anche di controllare gli accessi degli
  utenti e dei processi che vengono eseguiti.
• Alcuni famosi SO:
  – Tiger (Mac), Windows, Linux, Unix
     • it.wikipedia.org/wiki/Sistema_operativo
Programmi

• E’ un software che fa qualcosa di utile.
• Esistono varie tipologie:
  – Gestionali
  – Grafici
  – Giochi e intrattenimento
  – Scrittura, calcolo, ecc
• Il risultato di usare un programma applicativo è
  il motivo per cui si compra il computer.
Astrazione

• Concetti quali Algoritmo e Programma sono
  metafore ad alto livello che permettono di
  astrarre dalla reale struttura del calcolatore.
• A basso livello, un calcolatore è semplicemente
  uno strumento digitale che funziona
  comprendendo segnali di tipo 0/1
  (assenza/presenza di segnale, impulsi elettrici)
Astrazione (2)
• Considerare gli impulsi elettrici come
  sequenze di 0 e 1 è già operare un’astrazione
  – È stata scelta questa rappresentazione per
    minimizzare gli errori
  – Per semplificare la struttura
• Sequenze di 0 e 1 costituiscono le istruzioni
  e i dati nel cosiddetto il linguaggio
  macchina.
Gerarchia di astrazioni
• Un computer, con i programmi ad esso associati, presenta una gerarchia
  di astrazione, chiamate anche macchine virtuali

• Oggi livello, tranne il più basso, si realizza traducendo o interpretando le
  sue istruzioni mediante le primitive fornite dai livelli inferiori
   – 6            programma applicativo
   – 5            linguaggio di programmazione
   – 4            Linguaggio assembly (assemblativo)
   – 3            Nucleo di sistema operativo
   – 2            Linguaggio macchina
   – 1            microprogramma
   – 0            Logica digitale
Un paio di definizioni

• Primitive
  – Sono tipi elementari di un linguaggio che possono (o meno) avere
    una corrispondenza diretta con aree della memoria del calcolatore


• Macchina virtuale
  – astrazione generata da un software che consente di considerare
    l'insieme formato da uno specifico programma e da un elaboratore
    general purpose come se fosse un elaboratore dedicato, cioè un
    elaboratore progettato per uno specifico scopo.
Algoritmo


• Processo di trasformazione di un insieme di dati iniziali in un
  insieme di risultati finali mediante una sequenza di azioni.
• È una forma astratta del programma
   – Può essere espresso con:
       • linguaggio naturale
       • linguaggio artificiale, tipo pseudo codice
       • linguaggio grafico, tipo schema a blocchi
       • linguaggio di programmazione
Linguaggio di programmazione
• Crea un livello di utilizzo più comodo per una più rapida risoluzione di
  problemi.
• È dotato di un insieme di istruzioni che indicano al calcolatore cosa fare.
• Le istruzioni si imparano facilmente: hanno una sintassi e una semantica
  ben determinata
   – Sintassi: insieme di regole su come usare le istruzioni e scrivere un
      programma
   – Semantica: attribuzione del significato alle istruzioni e alla loro
      concatenazione.

• Esempi sono il C (studiato in questo corso), il Pascal, Java, etc. La
  traduzione verso il basso avviene tramite un compilatore.
Compilatore

• Programma traduttore, impiegato per produrre
  codice oggetto (in linguaggio macchina) a
  partire da codice sorgente scritto in un dato
  linguaggio di programmazione di livello più alto.
• Questo processo si chiama compilazione.
• Una volta prodotto il codice oggetto (ovvero un
  file eseguibile) risulta estremamente difficoltoso
  risalire al sorgente;
  – questa procedura viene chiamata reversing.

Weitere ähnliche Inhalte

Andere mochten auch

Lezione 22 (7 maggio 2012)
Lezione 22 (7 maggio 2012)Lezione 22 (7 maggio 2012)
Lezione 22 (7 maggio 2012)STELITANO
 
Lezione 4 (7 marzo 2012)
Lezione 4 (7 marzo 2012)Lezione 4 (7 marzo 2012)
Lezione 4 (7 marzo 2012)STELITANO
 
Lezione 14 (2 aprile 2012)
Lezione 14 (2 aprile 2012)Lezione 14 (2 aprile 2012)
Lezione 14 (2 aprile 2012)STELITANO
 
Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)STELITANO
 
Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)STELITANO
 
Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)STELITANO
 
Lezione 8 (12 marzo 2012)
Lezione 8 (12 marzo 2012)Lezione 8 (12 marzo 2012)
Lezione 8 (12 marzo 2012)STELITANO
 
Soluzione esame a del 13 giugno 2012
Soluzione esame a del 13 giugno 2012Soluzione esame a del 13 giugno 2012
Soluzione esame a del 13 giugno 2012STELITANO
 

Andere mochten auch (9)

Lezione 22 (7 maggio 2012)
Lezione 22 (7 maggio 2012)Lezione 22 (7 maggio 2012)
Lezione 22 (7 maggio 2012)
 
Lezione 4 (7 marzo 2012)
Lezione 4 (7 marzo 2012)Lezione 4 (7 marzo 2012)
Lezione 4 (7 marzo 2012)
 
Lezione 14 (2 aprile 2012)
Lezione 14 (2 aprile 2012)Lezione 14 (2 aprile 2012)
Lezione 14 (2 aprile 2012)
 
الدقي
الدقيالدقي
الدقي
 
Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)
 
Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)
 
Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)
 
Lezione 8 (12 marzo 2012)
Lezione 8 (12 marzo 2012)Lezione 8 (12 marzo 2012)
Lezione 8 (12 marzo 2012)
 
Soluzione esame a del 13 giugno 2012
Soluzione esame a del 13 giugno 2012Soluzione esame a del 13 giugno 2012
Soluzione esame a del 13 giugno 2012
 

Ähnlich wie Lezione 2 (29 febbraio 2012)

Introduzione al computer e a Internet
Introduzione al computer e a InternetIntroduzione al computer e a Internet
Introduzione al computer e a InternetCarlo Vaccari
 
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informaticagiu89
 
Concetti di base della Tecnologia dell'informazione
Concetti di base della Tecnologia dell'informazioneConcetti di base della Tecnologia dell'informazione
Concetti di base della Tecnologia dell'informazioneAndrea Silipo
 
15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi15 - Programmazione: Algoritmi
15 - Programmazione: AlgoritmiMajong DevJfu
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativiPaola Bez
 
Corso base introduzione pc
Corso base introduzione pcCorso base introduzione pc
Corso base introduzione pcclaudiatti
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Daniele Falamesca
 
UniTre Torino Computer E 1° livello Lezione 1
UniTre Torino Computer E 1° livello Lezione 1UniTre Torino Computer E 1° livello Lezione 1
UniTre Torino Computer E 1° livello Lezione 1Andrea Ageno
 
Concetti base di informatica
Concetti base di informaticaConcetti base di informatica
Concetti base di informaticaGianni Locatelli
 

Ähnlich wie Lezione 2 (29 febbraio 2012) (20)

Ti 2021 22_new
Ti 2021 22_newTi 2021 22_new
Ti 2021 22_new
 
Introduzione al computer e a Internet
Introduzione al computer e a InternetIntroduzione al computer e a Internet
Introduzione al computer e a Internet
 
MODULO 1-Informatica di Base
MODULO 1-Informatica di BaseMODULO 1-Informatica di Base
MODULO 1-Informatica di Base
 
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informatica
 
HARDWARE & SOFTWARE
HARDWARE & SOFTWAREHARDWARE & SOFTWARE
HARDWARE & SOFTWARE
 
Concetti di base della Tecnologia dell'informazione
Concetti di base della Tecnologia dell'informazioneConcetti di base della Tecnologia dell'informazione
Concetti di base della Tecnologia dell'informazione
 
15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi
 
Tecnologie Di Base
Tecnologie Di BaseTecnologie Di Base
Tecnologie Di Base
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativi
 
Ti base 2020
Ti base 2020Ti base 2020
Ti base 2020
 
05 1 intro-struttura
05 1 intro-struttura05 1 intro-struttura
05 1 intro-struttura
 
Ti base 2020b
Ti base 2020bTi base 2020b
Ti base 2020b
 
Struttura computer
Struttura computerStruttura computer
Struttura computer
 
Corso base introduzione pc
Corso base introduzione pcCorso base introduzione pc
Corso base introduzione pc
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
 
UniTre Torino Computer E 1° livello Lezione 1
UniTre Torino Computer E 1° livello Lezione 1UniTre Torino Computer E 1° livello Lezione 1
UniTre Torino Computer E 1° livello Lezione 1
 
Slide trentin
Slide trentinSlide trentin
Slide trentin
 
Concetti base di informatica
Concetti base di informaticaConcetti base di informatica
Concetti base di informatica
 
01 intro pc
01 intro pc01 intro pc
01 intro pc
 
01 Hardware
01  Hardware01  Hardware
01 Hardware
 

Mehr von STELITANO

Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012STELITANO
 
Soluzioni abilità informatiche 16 maggio 2012
Soluzioni abilità informatiche 16 maggio 2012Soluzioni abilità informatiche 16 maggio 2012
Soluzioni abilità informatiche 16 maggio 2012STELITANO
 
Dispenza aloisi
Dispenza aloisiDispenza aloisi
Dispenza aloisiSTELITANO
 
Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)STELITANO
 
Lezione 20 (2 maggio 2012) seconda parte
Lezione 20 (2 maggio 2012) seconda parteLezione 20 (2 maggio 2012) seconda parte
Lezione 20 (2 maggio 2012) seconda parteSTELITANO
 
Lezione 20 (2 maggio 2012) prima parte
Lezione 20 (2 maggio 2012) prima parteLezione 20 (2 maggio 2012) prima parte
Lezione 20 (2 maggio 2012) prima parteSTELITANO
 
Lezione 19 (18 aprile 2012) ricerca
Lezione 19 (18 aprile 2012)   ricercaLezione 19 (18 aprile 2012)   ricerca
Lezione 19 (18 aprile 2012) ricercaSTELITANO
 
Lezione 18 (18 aprile 2012) ordinamenti
Lezione 18 (18 aprile 2012)   ordinamentiLezione 18 (18 aprile 2012)   ordinamenti
Lezione 18 (18 aprile 2012) ordinamentiSTELITANO
 
Lezione 15 (2 aprile 2012)
Lezione 15 (2 aprile 2012)Lezione 15 (2 aprile 2012)
Lezione 15 (2 aprile 2012)STELITANO
 
Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)STELITANO
 
Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)STELITANO
 
Lezione 12 (28 marzo 2012) puntatori vettori
Lezione 12 (28 marzo 2012) puntatori   vettoriLezione 12 (28 marzo 2012) puntatori   vettori
Lezione 12 (28 marzo 2012) puntatori vettoriSTELITANO
 
Lezione 12 (28 marzo 2012) funzioni memoria - puntatori
Lezione 12 (28 marzo 2012) funzioni   memoria - puntatoriLezione 12 (28 marzo 2012) funzioni   memoria - puntatori
Lezione 12 (28 marzo 2012) funzioni memoria - puntatoriSTELITANO
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)STELITANO
 
Soluzione esonero del 4 aprile 2012
Soluzione esonero del 4 aprile 2012Soluzione esonero del 4 aprile 2012
Soluzione esonero del 4 aprile 2012STELITANO
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)STELITANO
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)STELITANO
 
Eserc v del 26 marzo 2012
 Eserc v del 26 marzo 2012 Eserc v del 26 marzo 2012
Eserc v del 26 marzo 2012STELITANO
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)STELITANO
 

Mehr von STELITANO (20)

Risultati
RisultatiRisultati
Risultati
 
Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012
 
Soluzioni abilità informatiche 16 maggio 2012
Soluzioni abilità informatiche 16 maggio 2012Soluzioni abilità informatiche 16 maggio 2012
Soluzioni abilità informatiche 16 maggio 2012
 
Dispenza aloisi
Dispenza aloisiDispenza aloisi
Dispenza aloisi
 
Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)
 
Lezione 20 (2 maggio 2012) seconda parte
Lezione 20 (2 maggio 2012) seconda parteLezione 20 (2 maggio 2012) seconda parte
Lezione 20 (2 maggio 2012) seconda parte
 
Lezione 20 (2 maggio 2012) prima parte
Lezione 20 (2 maggio 2012) prima parteLezione 20 (2 maggio 2012) prima parte
Lezione 20 (2 maggio 2012) prima parte
 
Lezione 19 (18 aprile 2012) ricerca
Lezione 19 (18 aprile 2012)   ricercaLezione 19 (18 aprile 2012)   ricerca
Lezione 19 (18 aprile 2012) ricerca
 
Lezione 18 (18 aprile 2012) ordinamenti
Lezione 18 (18 aprile 2012)   ordinamentiLezione 18 (18 aprile 2012)   ordinamenti
Lezione 18 (18 aprile 2012) ordinamenti
 
Lezione 15 (2 aprile 2012)
Lezione 15 (2 aprile 2012)Lezione 15 (2 aprile 2012)
Lezione 15 (2 aprile 2012)
 
Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)
 
Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)
 
Lezione 12 (28 marzo 2012) puntatori vettori
Lezione 12 (28 marzo 2012) puntatori   vettoriLezione 12 (28 marzo 2012) puntatori   vettori
Lezione 12 (28 marzo 2012) puntatori vettori
 
Lezione 12 (28 marzo 2012) funzioni memoria - puntatori
Lezione 12 (28 marzo 2012) funzioni   memoria - puntatoriLezione 12 (28 marzo 2012) funzioni   memoria - puntatori
Lezione 12 (28 marzo 2012) funzioni memoria - puntatori
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Soluzione esonero del 4 aprile 2012
Soluzione esonero del 4 aprile 2012Soluzione esonero del 4 aprile 2012
Soluzione esonero del 4 aprile 2012
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)
 
Eserc v del 26 marzo 2012
 Eserc v del 26 marzo 2012 Eserc v del 26 marzo 2012
Eserc v del 26 marzo 2012
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)
 

Lezione 2 (29 febbraio 2012)

  • 1. Abilità Informatiche Ingegneria Chimica Lezione 29/02/2012 Prof. Antonino Stelitano
  • 2. Docente Antonino Stelitano antonino.stelitano@uniroma1.it stelitano.a@libero.it Tutor Da definire … Lezioni Lunedì 14:00 – 17:30 aula 16 Lab. Paolo Ercoli Mercoledì 15:45 – 19:00 aula 5 Viale Castro Laurenziano Ricevimento: Per appuntamento Sito web: http://w3.uniroma1.it/IngChim/AInf
  • 3. Esercizi assegnati la volta scorsa • (una sorta di) Cifrario di Cesare – Data una parola P in ingresso di n caratteri ottenere la parola C (cifrata) in uscita in cui ogni lettera sia spostata in avanti di x caratteri P, x Cifrario C
  • 4. Semplice Cifrario di cesare • Ci sono ancora lettere da leggere in P? – Leggo la lettera e la memorizzo in l – Sposto la lettera in avanti di x caratteri e memorizzo il risultato in l1: l1 = l + x – Scrivo l1 nella prima posizione libera di C – Mi sposto alla lettera successiva di P • Stampo C
  • 5. Algoritmi : proprietà fondamentali • Evinciamo le quattro proprietà fondamentali dell'algoritmo: – La sequenza di istruzioni deve essere finita – Essa deve portare ad un risultato – Le istruzioni devono essere eseguibili materialmente – Le istruzioni non devono essere ambigue
  • 6. Hardware e Software Due entità distinte Due aree informatiche Dati Software Programmi macchina Hardware • Hardware: struttura fisica del calcolatore e delle sue componenti (CPU, memoria, monitor, memoria, dischi, etc) • Software: insieme di applicativi e programmi che permettono all’hardware di eseguire compiti. • programmi di gestione (sistemi operativi come Windows, Linux, MacOs, etc.) • programmi applicativi (photoshop, word, etc.)
  • 7. Hardware Insieme dei dispositivi meccanici, magnetici, elettrici, elettronici che compongono un calcolatore.
  • 8. Software Il termine software (usato in ambito informatico) può indicare l'insieme dei programmi (o uno solo di questi) in grado di funzionare su un computer.
  • 9. Sistemi operativi • Un sistema operativo (abbreviato in SO) è il programma responsabile del diretto controllo e gestione dell'hardware che costituisce un computer e delle operazioni di base. • Si occupa anche di controllare gli accessi degli utenti e dei processi che vengono eseguiti. • Alcuni famosi SO: – Tiger (Mac), Windows, Linux, Unix • it.wikipedia.org/wiki/Sistema_operativo
  • 10. Programmi • E’ un software che fa qualcosa di utile. • Esistono varie tipologie: – Gestionali – Grafici – Giochi e intrattenimento – Scrittura, calcolo, ecc • Il risultato di usare un programma applicativo è il motivo per cui si compra il computer.
  • 11. Astrazione • Concetti quali Algoritmo e Programma sono metafore ad alto livello che permettono di astrarre dalla reale struttura del calcolatore. • A basso livello, un calcolatore è semplicemente uno strumento digitale che funziona comprendendo segnali di tipo 0/1 (assenza/presenza di segnale, impulsi elettrici)
  • 12. Astrazione (2) • Considerare gli impulsi elettrici come sequenze di 0 e 1 è già operare un’astrazione – È stata scelta questa rappresentazione per minimizzare gli errori – Per semplificare la struttura • Sequenze di 0 e 1 costituiscono le istruzioni e i dati nel cosiddetto il linguaggio macchina.
  • 13. Gerarchia di astrazioni • Un computer, con i programmi ad esso associati, presenta una gerarchia di astrazione, chiamate anche macchine virtuali • Oggi livello, tranne il più basso, si realizza traducendo o interpretando le sue istruzioni mediante le primitive fornite dai livelli inferiori – 6 programma applicativo – 5 linguaggio di programmazione – 4 Linguaggio assembly (assemblativo) – 3 Nucleo di sistema operativo – 2 Linguaggio macchina – 1 microprogramma – 0 Logica digitale
  • 14. Un paio di definizioni • Primitive – Sono tipi elementari di un linguaggio che possono (o meno) avere una corrispondenza diretta con aree della memoria del calcolatore • Macchina virtuale – astrazione generata da un software che consente di considerare l'insieme formato da uno specifico programma e da un elaboratore general purpose come se fosse un elaboratore dedicato, cioè un elaboratore progettato per uno specifico scopo.
  • 15. Algoritmo • Processo di trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante una sequenza di azioni. • È una forma astratta del programma – Può essere espresso con: • linguaggio naturale • linguaggio artificiale, tipo pseudo codice • linguaggio grafico, tipo schema a blocchi • linguaggio di programmazione
  • 16. Linguaggio di programmazione • Crea un livello di utilizzo più comodo per una più rapida risoluzione di problemi. • È dotato di un insieme di istruzioni che indicano al calcolatore cosa fare. • Le istruzioni si imparano facilmente: hanno una sintassi e una semantica ben determinata – Sintassi: insieme di regole su come usare le istruzioni e scrivere un programma – Semantica: attribuzione del significato alle istruzioni e alla loro concatenazione. • Esempi sono il C (studiato in questo corso), il Pascal, Java, etc. La traduzione verso il basso avviene tramite un compilatore.
  • 17. Compilatore • Programma traduttore, impiegato per produrre codice oggetto (in linguaggio macchina) a partire da codice sorgente scritto in un dato linguaggio di programmazione di livello più alto. • Questo processo si chiama compilazione. • Una volta prodotto il codice oggetto (ovvero un file eseguibile) risulta estremamente difficoltoso risalire al sorgente; – questa procedura viene chiamata reversing.