0
UD1
U.D. Algoritmi e Rappresentazione
                  dell’Informazione


                  Prof. Fabio Cantaro
Obiettivi
    Questo modulo permetter à al discente di comprendere i concetti fondamentali delle
Tecnologie dell’Informazi...
Algoritmo: definizione
 In informatica, con il termine algoritmo si
 intende un metodo per la risoluzione di un
 problema ...
Proprietà algoritmi
 la sequenza di istruzioni deve essere finita;
 essa deve portare ad un risultato;
 le istruzioni devo...
Esempio: somma di due
numeri digitati dall’utente
INIZIO
 a) Ci vogliono i due numeri interi (ingredienti);
 b) Acquisisci...
Rappresentazione degli
Algoritmi
 prima di passare al codice (programma)
 utilizzando un linguaggio di programmazione,
 si...
Simboli dei FLOW-CHART
Esempio

La somma di due numeri
Altro esempio
 Dato un numero n, calcolare il cubo se
 n>0 il quadrato se è negativo
                           Start


  ...
Rappresentazione dei Dati
 UD 2
Informazione
 Tutto ciò che possiede un significato per l ’uomo e
 che viene comunicato o conservato in vista di una
 util...
Trasmissione delle
informazioni
  Affinchè 2 entità possano comunicare è necessario che
  riescano a capirsi (esempio 2 pe...
Esempio
 Giochiamo a carte: a poker
    Il codice sono il tipo di carte (francesi)
    Il protocollo sono le regole del po...
Esempio 2
 Giochiamo a carte: a briscola
   Il codice è diverso (carte napoletane o siciliane)
   Il protocollo sono le re...
Trasmissione delle informazioni(2)
  I caratteri e i simboli che compongono il
  Messaggio e che vengono trasformati per
 ...
Trasmissione delle informazioni(3)

               0110011001110011



           Comunicazione Digitale




         Comu...
Rappresentazione dei dati
 Come rappresentare i numeri e le operazioni
 nel pc? (sistemi di numerazione)
 Come rappresenta...
Rappresentazione dei numeri
 Sistemi posizionali.
   Es. Decimale, binario, esadecimale, ottale
 Sistemi non posizionali
 ...
Rappresentazione dei numeri
  Sistemi non posizionali .
  Esempio: Sistema Numerazione       I=1
  Romano.
               ...
Rappresentazione dati
  Sistemi posizionali
La posizione è importante!!!

Esempio 853            358 (sistema decimale)
  ...
Sistema Decimale
 B=10 => A={0,1,2,3,4,5,6,7,8, 9   (=10-1)   }

 Ogni cifra decimale deve essere una
 dell’alfabeto
Sistema Binario
 B=2 => A={0,1}
 Il Sistema Binario è un sistema posizionale
 basato su due sole cifre: 0 e 1 detti BIT
 (...
Perché il sistema binario?
 I computer non parlano la nostra stessa
 lingua, ma utilizzano un sistema formato da
 due nume...
Conversione 2 -> 10
Si moltiplica ogni cifra per la potenza di 2 in base alla posizi one occupata.



• Esempio: convertia...
esercizio
 Convertire i seguenti numeri binari in
 decimale:
   1101
   10001
   111
Soluzione
 Convertire i seguenti numeri binari in
 decimale:
   (1101)2 = 1*23+1*22+0*21+1*20 =8+4+0+1=13
   (10001) 2 = (...
Conversione 10->2
    Si divide ripetutamente il numero decimale per
    2 e si prendono i resti in ordine inverso

Esempi...
Esercizio
 Convertire da decimale a binario i seguenti
 numeri:
   (15)10
   (63)10
   (64)10
   (1045)10
Esercizio: SOLUZIONE
 Convertire da decimale a binario i seguenti
 numeri:
   (15)10 = (1111) 2
   (63)10 = (11 1111) 2
  ...
In windows
Nei sistemi windows è possibile convertire un numero tra i principali sistemi
numerici :
   il binario(Bin),
  ...
Rappresentare i caratteri in forma
binaria

 A seconda del sistema, per rappresentare un
 carattere servono:
   1 byte (8 ...
Standard ASCII
       Con 8 bit => 256 simboli => 2 8=256




Cioè



Sommando i singoli valori (1 + 2 + 4 + 8 + 16 + 32 +...
Sistema Esadecimale
  I computer “parlano in bit” => per noi sarebbe
  molto complicato capire cose del tipo:
            ...
Esadecimale
    Usa 16 simboli A={0,1,2,…,9,A,B,C,D,E,F}
    Ogni cifra esadecimale “usa” 4 bit

               Bit       ...
Rappresentazione dei caratteri
 Si è creata una tabella in cui a ogni numero
 binario (codice) fanno corrispondere un
 car...
L’INFORMAZIONE digitale




                          37
Esercizi
 Come si rappresentano i caratteri al PC?
 Quanti bit utilizza lo Standard ASCII
 Quanti caratteri puo’ rappresen...
Descrivere le caratteristiche di
una immagine digitale
 L’immagine digitale è un’immagine bidimensionale
 rappresentata da...
Parentesi: Concetti di base

Che cos'è un pixel?
   un pixel è il più piccolo componente discreto di una
   immagine sullo...
Risoluzione
   Esempio i mosaici




Più piccoli sono i tasselli maggiore è la qualità
l’immagine
Immagine Bitmap o Raster
 Caratterizzata da 2 proprietà:
   Risoluzione: numero di pixel per centimetro
   quadrato (DPI);...
L’INFORMAZIONE digitale




                          43
Immagine Bitmap o Raster (2)
  Sono costituite da pixel
  Consentono una transizione graduale del colore
  Se ingrandite s...
Esempi bitmap




 Immagine




            Immagine ingrandita “sgranata”
IMMAGINI VETTORIALI
 Contengono infomazioni:
  Circa le FORME che formano l’immagine
  (dimensione, posizione, ecc…)
  Cir...
Esempio Immagini
           Immagine Originale




          Immagine Vettoriale ingrandita 8x



          Immagine Raste...
Acquisizione Immagini
 Catturandole da schermo (tasto stamp)
 Scannerizzarle da formato cartaceo
 importarle da fotocamere...
Esercizi
 Da cosa è caratterizzata una immagine
 bitmap?
 Da cosa è caratterizzata una immagine
 vettoriale?
 Quali sono i...
Linguaggi
  Con il linguaggio vengono definite:
   Il Lessico: insieme delle parole con relativo significato;
   La Sintas...
Lunguaggio macchina
 Un elaboratore non può però gestire
 informazioni ambigue
 Il linguaggio macchina è l’unico linguaggi...
Linguaggi di programmazione
 Non è possibile realizzare traduttori dal linguaggio
 naturale al linguaggio macchina => serv...
Esercizi
 Quali sono gli elementi del Linguaggio
 macchina?
 Il linguaggio naturale può essere usato per il
 computer?
 L’...
1.0.3.2 Distinguere il ruolo dei
connettivi logici (NOT, AND, OR)
 Consideriamo le frasi:
           A=“Ho fame” B=”Ho i s...
Connettivo AND
 E vero solo se i due input sono veri.

              Tabella di verità:
                                  ...
Connettivo OR
    E vero se almeno uno i due input è vero.

                   Tabella di verità:
              Fame      ...
Connettivo NOT
 L’operazione NOT ha una variabile di input ed una
 variabile di output.
 Il valore della variabile di outp...
Ripasso
 A cosa serve AND?
 A cosa serve OR?
 A cosa serve NOT?
1.0.3.3 Distinguere fra linguaggio
macchina e linguaggi procedurali
 I linguaggi di programmazione sono di due tipi:
   ba...
I Traduttori: Compilatori e
Interpreti
 trasformano un programma sorgente (espresso in
 un linguaggio di programmazione), ...
Compilatori e Interpreti: le fasi
I Compilatori:
   trasformano un programma “sorgente” (scritto in linguaggio di
   progr...
Linguaggi Assemblativi ed
assemblatori
 I linguaggi assemblativi:
    Sono linguaggi di tipo simbolico in quanto utilizzan...
Alcuni linguaggi di
programmazione
 Fortran (FORmula TRANslation): uno dei primi linguaggi di alto
 livello ad uso scienti...
Scrivere un programma con
Pseudo linguaggio
 È un modo alternativo per rappresentare gli
 algoritmi
 Le istruzioni sono de...
Esempio di pseudo linguaggio
 Calcolare l’area di un quadrato dato il lato.
      Inizio

                         PSEUDO ...
Esercizi
 Il linguaggio C è un linguaggio di alto livello?
 Differenza tra Interpreti e Compilatori?
 Cosa sono i Flow Cha...
FINE
U.D. Algoritmi e Rappresentazione
         dell’Informazione
ECDL modulo 1 ud1: algoritmi rappr informazione
Upcoming SlideShare
Loading in...5
×

ECDL modulo 1 ud1: algoritmi rappr informazione

1,636

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,636
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
66
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "ECDL modulo 1 ud1: algoritmi rappr informazione"

  1. 1. UD1 U.D. Algoritmi e Rappresentazione dell’Informazione Prof. Fabio Cantaro
  2. 2. Obiettivi Questo modulo permetter à al discente di comprendere i concetti fondamentali delle Tecnologie dell’Informazione e della Comunicazione (ICT) ad un livello generale conoscere le varie parti di un computer, quindi, sar à in grado di : Comprendere cosa è l’hardware, conoscere i fattori che influiscono sulle prestazioni di un computer e sapere cosa sono le periferiche. Comprendere cosa è il software e fornire esempi di applicazioni di uso comune e di sistemi operativi. Comprendere come vengono utilizzate le reti informatiche e cono scere le diverse modalità di collegamento a Internet. Comprendere cosa sono le Tecnologie dell ’Informazione e della Comunicazione (ICT) e fornire esempi della loro applicazione pratica nella vita quotid iana. Comprendere le problematiche di igiene e sicurezza associate al l’impiego dei computer. Riconoscere importanti problematiche di sicurezza informatica a ssociate all’impiego dei computer. Riconoscere importanti problematiche legali relative al diritto di riproduzione (copyright) e alla protezione dei dati associate all ’impiego dei computer.
  3. 3. Algoritmo: definizione In informatica, con il termine algoritmo si intende un metodo per la risoluzione di un problema adatto a essere implementato sotto forma di programma. Dunque, più dettagliatamente esso è: “una sequenza logica di istruzioni elementari (univocamente interpretabili) che, eseguite in un ordine stabilito, permettono la soluzione di un problema in un numero finito di passaggi ”.
  4. 4. Proprietà algoritmi la sequenza di istruzioni deve essere finita; essa deve portare ad un risultato; le istruzioni devono essere tutte eseguibili dall’esecutore; le istruzioni devono essere espresse in modo non ambiguo.
  5. 5. Esempio: somma di due numeri digitati dall’utente INIZIO a) Ci vogliono i due numeri interi (ingredienti); b) Acquisisci il primo numero dalla tastiera; c) Acquisisci il secondo numero dalla tastiera; d) Somma i due numeri; e) Mostra il risultato sullo schermo. FINE
  6. 6. Rappresentazione degli Algoritmi prima di passare al codice (programma) utilizzando un linguaggio di programmazione, si usa utilizzare un diagramma di flusso o diagramma a blocchi o flow-chart Fa uso di: SIMBOLI GRAFICI (figure geometriche), per la sequenza di Istruzioni DATI: Costanti: stesso valore nell’esecuzione Variabili: possono variare durante l’esecuzione
  7. 7. Simboli dei FLOW-CHART
  8. 8. Esempio La somma di due numeri
  9. 9. Altro esempio Dato un numero n, calcolare il cubo se n>0 il quadrato se è negativo Start Leggi n F V N>0 Ris= n * n Ris= n * n* n Scrivi Ris End
  10. 10. Rappresentazione dei Dati UD 2
  11. 11. Informazione Tutto ciò che possiede un significato per l ’uomo e che viene comunicato o conservato in vista di una utilità pratica. Le informazioni si presentano in varie forme: Caratteri Numeri Immagini Luce suoni Ecc…
  12. 12. Trasmissione delle informazioni Affinchè 2 entità possano comunicare è necessario che riescano a capirsi (esempio 2 persone che parlano lingue diverse). Allora occorre che siano stabiliti e rispettati: Il CODICE della trasmissione, cioè le regole secondo cui viene TRADOTTO il messaggio prima dell ’invio (es. alfabeto comune e le parole in italiano) La TECNICA di trasmissione (es. telefono) Il PROTOCOLLO della trasmissione, cioè le Regole per uno scambio corretto delle informazioni (es. regole grammaticali per creare frasi che abbiano un senso compiuto in Italiano)
  13. 13. Esempio Giochiamo a carte: a poker Il codice sono il tipo di carte (francesi) Il protocollo sono le regole del poker La tecnica: visualizzazione delle carte Se decido di giocare a Texas Holdem => modifico il protocollo regole
  14. 14. Esempio 2 Giochiamo a carte: a briscola Il codice è diverso (carte napoletane o siciliane) Il protocollo sono le regole della briscola Se decido di giocare a scopa => modifico il protocollo regole
  15. 15. Trasmissione delle informazioni(2) I caratteri e i simboli che compongono il Messaggio e che vengono trasformati per viaggiare sul mezzo trasmissivo sono detti SEGNALI I Segnali possono essere: DIGITALI: se associati a cifre binarie (0,1) ANALOGICI: se sono rappresentati da grandezze che variano con continuit à nel tempo
  16. 16. Trasmissione delle informazioni(3) 0110011001110011 Comunicazione Digitale Comunicazione Analogica
  17. 17. Rappresentazione dei dati Come rappresentare i numeri e le operazioni nel pc? (sistemi di numerazione) Come rappresentare i caratteri? E come rappresentare immagini, suoni, ecc…?
  18. 18. Rappresentazione dei numeri Sistemi posizionali. Es. Decimale, binario, esadecimale, ottale Sistemi non posizionali Es. Romano
  19. 19. Rappresentazione dei numeri Sistemi non posizionali . Esempio: Sistema Numerazione I=1 Romano. V=5 X = 10 L = 50 Esempio: MCD = CDM C = 100 Infatti. 1000+100+500=100+500+1000 D = 500 M = 1000
  20. 20. Rappresentazione dati Sistemi posizionali La posizione è importante!!! Esempio 853 358 (sistema decimale) Posto 2 Posto 0 Posto 1 Infatti: 853= 8*10 2 + 5*101 + 3*100 =800 + 50 + 3 358= 3*10 2 + 5*101 + 8*100 =300 + 50 + 8
  21. 21. Sistema Decimale B=10 => A={0,1,2,3,4,5,6,7,8, 9 (=10-1) } Ogni cifra decimale deve essere una dell’alfabeto
  22. 22. Sistema Binario B=2 => A={0,1} Il Sistema Binario è un sistema posizionale basato su due sole cifre: 0 e 1 detti BIT (Binary Digit) Esempi di numeri binari : 101 10010101 1010211 non è binario, infatti 2 {0,1}
  23. 23. Perché il sistema binario? I computer non parlano la nostra stessa lingua, ma utilizzano un sistema formato da due numeri 0 e 1 (On e Off, passaggio o assenza di corrente elettrica)
  24. 24. Conversione 2 -> 10 Si moltiplica ogni cifra per la potenza di 2 in base alla posizi one occupata. • Esempio: convertiamo 1011 in decimale corrisponde a 1*23 + 0*22 + 1*21 +1*20 = (11)10 in decimale
  25. 25. esercizio Convertire i seguenti numeri binari in decimale: 1101 10001 111
  26. 26. Soluzione Convertire i seguenti numeri binari in decimale: (1101)2 = 1*23+1*22+0*21+1*20 =8+4+0+1=13 (10001) 2 = (17)10 (111)2 = (1101) 2
  27. 27. Conversione 10->2 Si divide ripetutamente il numero decimale per 2 e si prendono i resti in ordine inverso Esempio: 20 in binario.
  28. 28. Esercizio Convertire da decimale a binario i seguenti numeri: (15)10 (63)10 (64)10 (1045)10
  29. 29. Esercizio: SOLUZIONE Convertire da decimale a binario i seguenti numeri: (15)10 = (1111) 2 (63)10 = (11 1111) 2 (64)10 = (100 0000) 2 (1045)10 = (100 0001 0101) 2
  30. 30. In windows Nei sistemi windows è possibile convertire un numero tra i principali sistemi numerici : il binario(Bin), l’ottale (Oct). Il decimale (Dec) l’esadecimale (Hex). Start/Tutti i programmi/Accessori/Calcolatrice scegliere menu Visualizza/Scientifica.
  31. 31. Rappresentare i caratteri in forma binaria A seconda del sistema, per rappresentare un carattere servono: 1 byte (8 bit), standard ASCII 2 byte (16 bit), standard UNICODE
  32. 32. Standard ASCII Con 8 bit => 256 simboli => 2 8=256 Cioè Sommando i singoli valori (1 + 2 + 4 + 8 + 16 + 32 + 64 + 128) si ottiene 255 a cui, aggiungendo anche lo zero, abbiamo 256 possibili valori ottenibili. 256 possibili combinazioni di bit => posso associare a ognuna un carattere
  33. 33. Sistema Esadecimale I computer “parlano in bit” => per noi sarebbe molto complicato capire cose del tipo: 0000 1001 1110 0110 1001 0011 …. => Venne quindi creato il sistema ESADECIMALE
  34. 34. Esadecimale Usa 16 simboli A={0,1,2,…,9,A,B,C,D,E,F} Ogni cifra esadecimale “usa” 4 bit Bit Hex Bit hex I numeri decimali da 10 a 15 sono stati sostituiti con le prime 6 lettere dell’alfabeto.
  35. 35. Rappresentazione dei caratteri Si è creata una tabella in cui a ogni numero binario (codice) fanno corrispondere un carattere Nella tabella sottostante sono riportati i si mboli grafici di alcuni caratteri, la loro vale nza binaria ed il corrispondente valore espre sso sia in decimale che in esadecimale:
  36. 36. L’INFORMAZIONE digitale 37
  37. 37. Esercizi Come si rappresentano i caratteri al PC? Quanti bit utilizza lo Standard ASCII Quanti caratteri puo’ rappresentare lo standard ASCII Quanti bit utilizza lo Standard Unicode? Quanti bit prende la rappr. Esadecimale?
  38. 38. Descrivere le caratteristiche di una immagine digitale L’immagine digitale è un’immagine bidimensionale rappresentata da valori numerici. Fondamentalmente le immagini digitali sono di due tipi (in base al tipo di rappresentazione): RASTER (o bitmap): matrice di punti elementari, chiamati pixel (da picture element). VETTORIALE: insieme di nodi formanti linee e poligoni a loro volta uniti in strutture più complesse.
  39. 39. Parentesi: Concetti di base Che cos'è un pixel? un pixel è il più piccolo componente discreto di una immagine sullo schermo normalmente un punto con colore Che cos'è la risoluzione video? la risoluzione è il numero di pixel (o punti) per pollice dpi (dots per inch) 40
  40. 40. Risoluzione Esempio i mosaici Più piccoli sono i tasselli maggiore è la qualità l’immagine
  41. 41. Immagine Bitmap o Raster Caratterizzata da 2 proprietà: Risoluzione: numero di pixel per centimetro quadrato (DPI); Profondità di colore: numero di colori che si possono usare. Si può avere profondit à: 16 colori (4 bit per pixel) 256 colori (8 bit per pixel) 65536 colori (16 bit per pixel) 16,77 milioni di colori (24-32 bit per pixel)
  42. 42. L’INFORMAZIONE digitale 43
  43. 43. Immagine Bitmap o Raster (2) Sono costituite da pixel Consentono una transizione graduale del colore Se ingrandite si perde in qualit à Occupano molto spazio Possono essere salvate in diversi formati: Compressione Lossless (senza perdita): BMP, TIFF, PNG, RAW, ecc… Compressione Lossy (perdita): JPEG, GIF (256 colori)
  44. 44. Esempi bitmap Immagine Immagine ingrandita “sgranata”
  45. 45. IMMAGINI VETTORIALI Contengono infomazioni: Circa le FORME che formano l’immagine (dimensione, posizione, ecc…) Circa i COLORI da applicare a ogni forma RENDERING: processo di creazione dell’immagine in PIXEL partendo da queste informazioni MOTORE DI RENDERING : programma che esegue il rendering
  46. 46. Esempio Immagini Immagine Originale Immagine Vettoriale ingrandita 8x Immagine Raster ingrandita 8x
  47. 47. Acquisizione Immagini Catturandole da schermo (tasto stamp) Scannerizzarle da formato cartaceo importarle da fotocamere digitali Scaricarle da Internet o da CD OCR: scannerizzando un documento ottengo una immagine => con OCR di nuovo documento
  48. 48. Esercizi Da cosa è caratterizzata una immagine bitmap? Da cosa è caratterizzata una immagine vettoriale? Quali sono i formati più comuni per una immagine raster?
  49. 49. Linguaggi Con il linguaggio vengono definite: Il Lessico: insieme delle parole con relativo significato; La Sintassi: regole per costruire una frase in modo corretto. L’uomo utilizza il linguaggio naturale che è molto ricco di espressività ma è ambiguo: Esempio: “la bella pesca” può essere interpretata in due modi: 1. La bella ragazza che pesca 2. Un bel frutto
  50. 50. Lunguaggio macchina Un elaboratore non può però gestire informazioni ambigue Il linguaggio macchina è l’unico linguaggio capito dal computer: risulta veloce nell’esecuzione ma ha lo svantaggio di una difficile e lunga scrittura della sequenza di algoritmi (programma) e della loro messa a punto.
  51. 51. Linguaggi di programmazione Non è possibile realizzare traduttori dal linguaggio naturale al linguaggio macchina => servono i linguaggi di programmazione essi sono comprensibili all’uomo e, tramite un traduttore, vengono tradotti in linguaggio macchina Linguaggio Naturale (Algoritmi) Linguaggio Programmazione Linguaggio macchina 1000100011 CPU
  52. 52. Esercizi Quali sono gli elementi del Linguaggio macchina? Il linguaggio naturale può essere usato per il computer? L’uomo programma oggi col linguaggio macchina? Con cosa?
  53. 53. 1.0.3.2 Distinguere il ruolo dei connettivi logici (NOT, AND, OR) Consideriamo le frasi: A=“Ho fame” B=”Ho i soldi” Queste affermazioni possono vere o false I connettivi permettono di legare i due suddetti enunciati e di crearne un terzo. Esempio: Se “ho fame” e “ho i soldi” allora “Vado al ristorante” => A and B = C
  54. 54. Connettivo AND E vero solo se i due input sono veri. Tabella di verità: Posso andare al ristorante solo se ho i soldi e ho anche fame In generale A and B = C è vera se: A B C 0 0 0 0 1 0 In Algebra di Boole 1 0 0 1 1 1
  55. 55. Connettivo OR E vero se almeno uno i due input è vero. Tabella di verità: Fame Soldi Ristorante 0 0 0 Anche se non ho fame, ma ho i soldi vado al 0 1 1 ristorante e viceversa, anche se non ho i soldi 1 0 1 ma ho vado al ristorante 1 1 1 In generale A and B = C è vera se: A B C= A and B 0 0 0 0 1 1 In Algebra di Boole 1 0 1 1 1 1
  56. 56. Connettivo NOT L’operazione NOT ha una variabile di input ed una variabile di output. Il valore della variabile di output è l’opposto di quella di input A Not A 0 1 1 0 In Algebra di Boole
  57. 57. Ripasso A cosa serve AND? A cosa serve OR? A cosa serve NOT?
  58. 58. 1.0.3.3 Distinguere fra linguaggio macchina e linguaggi procedurali I linguaggi di programmazione sono di due tipi: basso livello: linguaggi assemblativi orientati alla macchina (comunicano direttamente con il computer utilizzando il "linguaggio macchina"); il "linguaggio macchina“ è l’unico linguaggio compreso dal computer alto livello: orientati all’uomo fanno uso di uno pseudo linguaggio umano, utilizzando allo scopo codici operativi in lingua inglese. Ogni linguaggio di programmazione ha bisogno di un traduttore
  59. 59. I Traduttori: Compilatori e Interpreti trasformano un programma sorgente (espresso in un linguaggio di programmazione), in un programma oggetto (tradotto in codice binario). dipendono dal linguaggio di programmazione e dall’architettura del computer. Linguaggi ad Alto Livello Linguaggi ad Alto Livello (Orientati all’uomo) (Orientati all’uomo) C, C++, Java, Visual C, C++, Java, Visual Basic, Pascal, ecc… Basic, Pascal, ecc… Compilatori o Interpreti Compilatori o Interpreti Traduttore Linguaggio Macchina Linguaggio Macchina (codice Binario) (codice Binario)
  60. 60. Compilatori e Interpreti: le fasi I Compilatori: trasformano un programma “sorgente” (scritto in linguaggio di programmazione) in un file “oggetto” (tradotto in linguaggio macchina ma non ancora utilizzabile). Per rendere “eseguibile” il risultato ottenuto è necessario che sia ulteriormente trattato da un programma definito “linker” (o link editor), che collega, tra loro, i vari moduli tradotti ed i riferimenti e sterni (ad esempio librerie di sistema), creando il programma eseguibile. Gli Interpreti: leggono una istruzione alla volta => la traducono in codice macchina => e la eseguono => traduzione ed esecuzione sono contemporanei
  61. 61. Linguaggi Assemblativi ed assemblatori I linguaggi assemblativi: Sono linguaggi di tipo simbolico in quanto utilizzano dei nomi (simboli) per designare il codice operativo e le variabili che compongono il programma. Linguaggi a basso Livello Linguaggi a basso Livello Gli Assemblatori sono i traduttori dei linguaggi assemblativi. ((orientati alla macchina) orientati alla macchina) Assembly Assembly L’Assembly (assemblatore): è il primo linguaggio informatico utilizzato, Assemblatore Assemblatore è comprensibile agli utilizzatori umani, ma è talmente simile al linguaggio macchina che rimane legato al processore su cui viene sviluppato il programma Linguaggio Macchina Linguaggio Macchina Tale programma non potrà essere eseguito su (codice Binario) (codice Binario) computer con processori diversi.
  62. 62. Alcuni linguaggi di programmazione Fortran (FORmula TRANslation): uno dei primi linguaggi di alto livello ad uso scientifico COBOL (COmmon Business-Oriented Language) ossia, letteralmente, "linguaggio orientato alle applicazioni commercia li comuni" C, per uso ingegneristico. Usato per scrivere sistemi operativi come Linux Java, per applicazioni web PHP, per applicazioni web PASCAL, per uso didattico BASIC, inizialmente per applicazioni didattiche e scientifiche. Oggi Visual Basic
  63. 63. Scrivere un programma con Pseudo linguaggio È un modo alternativo per rappresentare gli algoritmi Le istruzioni sono descritte tramite frasi rigorose Si usano parole chiave, operatori e nomi di variabili Non è usabile direttamente => va tradotto in un linguaggio di programmazione
  64. 64. Esempio di pseudo linguaggio Calcolare l’area di un quadrato dato il lato. Inizio PSEUDO LINGUAGGIO Leggi Lato PROGRAMMA Area Area = Lato * Lato INIZIO Leggi (Lato) Scrivi Area Area Lato*Lato Scrivi (Area) Fine FINE
  65. 65. Esercizi Il linguaggio C è un linguaggio di alto livello? Differenza tra Interpreti e Compilatori? Cosa sono i Flow Chart? L’assembly è un linguaggio di alto livello? I compilatori traducono un file sorgente in codice oggetto e quindi con il Linker si genera il file eseguibile?
  66. 66. FINE U.D. Algoritmi e Rappresentazione dell’Informazione
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×