SlideShare ist ein Scribd-Unternehmen logo
1 von 67
Downloaden Sie, um offline zu lesen
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’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.
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 ”.
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.
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
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
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


                          Leggi n


                     F                V
                           N>0
        Ris= n * n                    Ris= n * n* n


                         Scrivi Ris


                           End
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
 utilità pratica.
 Le informazioni si presentano in varie forme:
   Caratteri
   Numeri
   Immagini
   Luce
   suoni
   Ecc…
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)
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
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
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
Trasmissione delle informazioni(3)

               0110011001110011



           Comunicazione Digitale




         Comunicazione Analogica
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…?
Rappresentazione dei numeri
 Sistemi posizionali.
   Es. Decimale, binario, esadecimale, ottale
 Sistemi non posizionali
   Es. Romano
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
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
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
 (Binary Digit)

Esempi di numeri binari :
101
10010101
1010211 non è binario, infatti 2 {0,1}
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)
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
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 = (17)10
   (111)2 = (1101) 2
Conversione 10->2
    Si divide ripetutamente il numero decimale per
    2 e si prendono i resti in ordine inverso

Esempio: 20 in binario.
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
   (64)10 = (100 0000) 2
   (1045)10 = (100 0001 0101) 2
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.
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
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
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
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.
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:
L’INFORMAZIONE digitale




                          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?
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.
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
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);
   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)
L’INFORMAZIONE digitale




                          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)
Esempi bitmap




 Immagine




            Immagine ingrandita “sgranata”
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
Esempio Immagini
           Immagine Originale




          Immagine Vettoriale ingrandita 8x



          Immagine Raster ingrandita 8x
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
Esercizi
 Da cosa è caratterizzata una immagine
 bitmap?
 Da cosa è caratterizzata una immagine
 vettoriale?
 Quali sono i formati più comuni per una
 immagine raster?
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
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.
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
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?
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
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
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
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
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:
   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
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)
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
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.
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
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
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
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?
FINE
U.D. Algoritmi e Rappresentazione
         dell’Informazione

Weitere ähnliche Inhalte

Was ist angesagt?

Sistemi numerazione - Unità Didattica 1 a cura del prof. Giuseppe Sportelli
Sistemi numerazione - Unità Didattica 1 a cura del prof. Giuseppe SportelliSistemi numerazione - Unità Didattica 1 a cura del prof. Giuseppe Sportelli
Sistemi numerazione - Unità Didattica 1 a cura del prof. Giuseppe SportelliI.S.I.S. "Antonio Serra" - Napoli
 
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
 
6 Vettori E Matrici
6   Vettori E Matrici6   Vettori E Matrici
6 Vettori E Matriciguest60e9511
 
1.02 Rappresentazione dei dati
1.02 Rappresentazione dei dati1.02 Rappresentazione dei dati
1.02 Rappresentazione dei datiAngela Cristina
 
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...Michele Maffucci
 
02 Modello, Algebra E Calcolo Relazionale
02  Modello, Algebra E Calcolo Relazionale02  Modello, Algebra E Calcolo Relazionale
02 Modello, Algebra E Calcolo Relazionaleguestbe916c
 
0. Gli elementi base del digitale
0. Gli elementi base del digitale0. Gli elementi base del digitale
0. Gli elementi base del digitaleMaurizio Caminito
 
9 Altre Istruzioni Di I O
9   Altre Istruzioni Di I O9   Altre Istruzioni Di I O
9 Altre Istruzioni Di I Oguest60e9511
 
Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)STELITANO
 

Was ist angesagt? (12)

Sistemi numerazione - Unità Didattica 1 a cura del prof. Giuseppe Sportelli
Sistemi numerazione - Unità Didattica 1 a cura del prof. Giuseppe SportelliSistemi numerazione - Unità Didattica 1 a cura del prof. Giuseppe Sportelli
Sistemi numerazione - Unità Didattica 1 a cura del prof. Giuseppe Sportelli
 
Codifica
CodificaCodifica
Codifica
 
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
 
6 Vettori E Matrici
6   Vettori E Matrici6   Vettori E Matrici
6 Vettori E Matrici
 
1.02 Rappresentazione dei dati
1.02 Rappresentazione dei dati1.02 Rappresentazione dei dati
1.02 Rappresentazione dei dati
 
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
Operazioni con numeri binari - corso di recupero classe 1 ITIS Informatica - ...
 
02 Modello, Algebra E Calcolo Relazionale
02  Modello, Algebra E Calcolo Relazionale02  Modello, Algebra E Calcolo Relazionale
02 Modello, Algebra E Calcolo Relazionale
 
0. Gli elementi base del digitale
0. Gli elementi base del digitale0. Gli elementi base del digitale
0. Gli elementi base del digitale
 
Sistemi di numerazione
Sistemi di numerazioneSistemi di numerazione
Sistemi di numerazione
 
9 Altre Istruzioni Di I O
9   Altre Istruzioni Di I O9   Altre Istruzioni Di I O
9 Altre Istruzioni Di I O
 
1.01 Algoritmi
1.01 Algoritmi1.01 Algoritmi
1.01 Algoritmi
 
Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)
 

Andere mochten auch

Flow Chart - Diagramma a blocchi
Flow Chart - Diagramma a blocchiFlow Chart - Diagramma a blocchi
Flow Chart - Diagramma a blocchidibari.92
 
03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++Majong DevJfu
 
Capitolo 7 elementi di programmazione c-c++
Capitolo 7   elementi di programmazione  c-c++Capitolo 7   elementi di programmazione  c-c++
Capitolo 7 elementi di programmazione c-c++Giovanni Della Lunga
 
Storia algoritmi Google (2003-2014)
Storia algoritmi Google (2003-2014)Storia algoritmi Google (2003-2014)
Storia algoritmi Google (2003-2014)Giusi Castagnetta
 
Lezione 1: Dalle reti sociali alle reti complesse
Lezione 1: Dalle reti sociali alle reti complesseLezione 1: Dalle reti sociali alle reti complesse
Lezione 1: Dalle reti sociali alle reti complesseAndrea Capocci
 
Lezione3: Reti sociali, Algoritmi spettrali e SNAP
Lezione3: Reti sociali, Algoritmi spettrali e SNAPLezione3: Reti sociali, Algoritmi spettrali e SNAP
Lezione3: Reti sociali, Algoritmi spettrali e SNAPAndrea Capocci
 
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli AlgoritmiAlgoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli AlgoritmiPier Luca Lanzi
 
Corso di S.E.O. trucchi e segreti per essere in prima pagina su Google
Corso di S.E.O. trucchi e segreti per essere in prima pagina su GoogleCorso di S.E.O. trucchi e segreti per essere in prima pagina su Google
Corso di S.E.O. trucchi e segreti per essere in prima pagina su GoogleAssociazione iFormazione
 
Algoritmi, aggregatori, analytics: spunti e appunti da #ONA14
Algoritmi, aggregatori, analytics: spunti e appunti da #ONA14Algoritmi, aggregatori, analytics: spunti e appunti da #ONA14
Algoritmi, aggregatori, analytics: spunti e appunti da #ONA14Andrea Iannuzzi
 
Presentazione corretta algoritmi
Presentazione corretta algoritmiPresentazione corretta algoritmi
Presentazione corretta algoritmimattuzzi
 
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...Marco Damiano
 
Asd 01 Algoritmi E Strutture Dati
Asd 01 Algoritmi E Strutture DatiAsd 01 Algoritmi E Strutture Dati
Asd 01 Algoritmi E Strutture DatiPier Luca Lanzi
 
15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi15 - Programmazione: Algoritmi
15 - Programmazione: AlgoritmiMajong DevJfu
 
Realtà aumentata markerless basata su algoritmi di Image Recognition e SLAM
Realtà aumentata markerless basata su  algoritmi di Image Recognition e SLAMRealtà aumentata markerless basata su  algoritmi di Image Recognition e SLAM
Realtà aumentata markerless basata su algoritmi di Image Recognition e SLAMSimone Sabbatini
 
Cosa sono gli algoritmi?
Cosa sono gli algoritmi?Cosa sono gli algoritmi?
Cosa sono gli algoritmi?mattuzzi
 
Google Page Rank Algorithm
Google Page Rank AlgorithmGoogle Page Rank Algorithm
Google Page Rank AlgorithmOmkar Dash
 

Andere mochten auch (20)

Flow Chart - Diagramma a blocchi
Flow Chart - Diagramma a blocchiFlow Chart - Diagramma a blocchi
Flow Chart - Diagramma a blocchi
 
03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++
 
Capitolo 7 elementi di programmazione c-c++
Capitolo 7   elementi di programmazione  c-c++Capitolo 7   elementi di programmazione  c-c++
Capitolo 7 elementi di programmazione c-c++
 
Storia algoritmi Google (2003-2014)
Storia algoritmi Google (2003-2014)Storia algoritmi Google (2003-2014)
Storia algoritmi Google (2003-2014)
 
Lezione 1: Dalle reti sociali alle reti complesse
Lezione 1: Dalle reti sociali alle reti complesseLezione 1: Dalle reti sociali alle reti complesse
Lezione 1: Dalle reti sociali alle reti complesse
 
Lezione3: Reti sociali, Algoritmi spettrali e SNAP
Lezione3: Reti sociali, Algoritmi spettrali e SNAPLezione3: Reti sociali, Algoritmi spettrali e SNAP
Lezione3: Reti sociali, Algoritmi spettrali e SNAP
 
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli AlgoritmiAlgoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
 
Corso di S.E.O. trucchi e segreti per essere in prima pagina su Google
Corso di S.E.O. trucchi e segreti per essere in prima pagina su GoogleCorso di S.E.O. trucchi e segreti per essere in prima pagina su Google
Corso di S.E.O. trucchi e segreti per essere in prima pagina su Google
 
Algoritmi, aggregatori, analytics: spunti e appunti da #ONA14
Algoritmi, aggregatori, analytics: spunti e appunti da #ONA14Algoritmi, aggregatori, analytics: spunti e appunti da #ONA14
Algoritmi, aggregatori, analytics: spunti e appunti da #ONA14
 
Presentazione corretta algoritmi
Presentazione corretta algoritmiPresentazione corretta algoritmi
Presentazione corretta algoritmi
 
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
Insegnare gli algoritmi giocando: progetto sviluppo e sperimentazione di un p...
 
Asd 01 Algoritmi E Strutture Dati
Asd 01 Algoritmi E Strutture DatiAsd 01 Algoritmi E Strutture Dati
Asd 01 Algoritmi E Strutture Dati
 
Algoritmi
Algoritmi Algoritmi
Algoritmi
 
15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi
 
Esercizio Sugli Algoritmi
Esercizio Sugli AlgoritmiEsercizio Sugli Algoritmi
Esercizio Sugli Algoritmi
 
Realtà aumentata markerless basata su algoritmi di Image Recognition e SLAM
Realtà aumentata markerless basata su  algoritmi di Image Recognition e SLAMRealtà aumentata markerless basata su  algoritmi di Image Recognition e SLAM
Realtà aumentata markerless basata su algoritmi di Image Recognition e SLAM
 
Cosa sono gli algoritmi?
Cosa sono gli algoritmi?Cosa sono gli algoritmi?
Cosa sono gli algoritmi?
 
come costruire un algoritmo
come costruire un algoritmocome costruire un algoritmo
come costruire un algoritmo
 
Google Page Rank Algorithm
Google Page Rank AlgorithmGoogle Page Rank Algorithm
Google Page Rank Algorithm
 
Un algoritmo è per sempre
Un algoritmo è per sempreUn algoritmo è per sempre
Un algoritmo è per sempre
 

Ähnlich wie ECDL modulo 1 ud1: algoritmi rappr informazione

Sistema Binario E Codice Informatico
Sistema Binario E Codice InformaticoSistema Binario E Codice Informatico
Sistema Binario E Codice Informaticovapiegold
 
Lezione 9 (14 marzo 2012)
Lezione 9 (14 marzo 2012)Lezione 9 (14 marzo 2012)
Lezione 9 (14 marzo 2012)STELITANO
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)STELITANO
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)STELITANO
 
Architettura dell'Elaboratore Elettronico (Computer)
Architettura dell'Elaboratore Elettronico (Computer)Architettura dell'Elaboratore Elettronico (Computer)
Architettura dell'Elaboratore Elettronico (Computer)Luca Santoro
 
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...Michele Maffucci
 
Ecdl - Modulo 1 - Concetti di base dell'ICT
Ecdl - Modulo 1 - Concetti di base dell'ICTEcdl - Modulo 1 - Concetti di base dell'ICT
Ecdl - Modulo 1 - Concetti di base dell'ICTNino Lopez
 
ECDL Modulo 1
ECDL Modulo 1 ECDL Modulo 1
ECDL Modulo 1 Voglio 10
 
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
(Ebook   computer - ita - pdf) fondamenti di informatica - teoria(Ebook   computer - ita - pdf) fondamenti di informatica - teoria
(Ebook computer - ita - pdf) fondamenti di informatica - teoriaUltraUploader
 

Ähnlich wie ECDL modulo 1 ud1: algoritmi rappr informazione (20)

Modulo 1 - Lezione 1
Modulo 1 - Lezione 1Modulo 1 - Lezione 1
Modulo 1 - Lezione 1
 
Information technology
Information technologyInformation technology
Information technology
 
Information technology
Information technologyInformation technology
Information technology
 
Information technology
Information technology Information technology
Information technology
 
Sistema Binario E Codice Informatico
Sistema Binario E Codice InformaticoSistema Binario E Codice Informatico
Sistema Binario E Codice Informatico
 
Analogicoedigitale
AnalogicoedigitaleAnalogicoedigitale
Analogicoedigitale
 
Sistemidi numerazione
Sistemidi numerazioneSistemidi numerazione
Sistemidi numerazione
 
Lezione 9 (14 marzo 2012)
Lezione 9 (14 marzo 2012)Lezione 9 (14 marzo 2012)
Lezione 9 (14 marzo 2012)
 
Hardware e Componenti
Hardware e ComponentiHardware e Componenti
Hardware e Componenti
 
Reti Logic
Reti LogicReti Logic
Reti Logic
 
3 Linguaggioc
3   Linguaggioc3   Linguaggioc
3 Linguaggioc
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)
 
Bit byte
Bit byteBit byte
Bit byte
 
Architettura dell'Elaboratore Elettronico (Computer)
Architettura dell'Elaboratore Elettronico (Computer)Architettura dell'Elaboratore Elettronico (Computer)
Architettura dell'Elaboratore Elettronico (Computer)
 
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
Sistemi numerici - corso di recupero classe 1 ITIS Informatica - biennio inte...
 
Ecdl - Modulo 1 - Concetti di base dell'ICT
Ecdl - Modulo 1 - Concetti di base dell'ICTEcdl - Modulo 1 - Concetti di base dell'ICT
Ecdl - Modulo 1 - Concetti di base dell'ICT
 
ECDL Modulo 1
ECDL Modulo 1 ECDL Modulo 1
ECDL Modulo 1
 
SISTEMI BINARIO ed ESADECIMALE - ALGORITMI - LINGUAGGI
SISTEMI BINARIO ed ESADECIMALE - ALGORITMI - LINGUAGGISISTEMI BINARIO ed ESADECIMALE - ALGORITMI - LINGUAGGI
SISTEMI BINARIO ed ESADECIMALE - ALGORITMI - LINGUAGGI
 
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
(Ebook   computer - ita - pdf) fondamenti di informatica - teoria(Ebook   computer - ita - pdf) fondamenti di informatica - teoria
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
 

Kürzlich hochgeladen

Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 

Kürzlich hochgeladen (18)

Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 

ECDL modulo 1 ud1: algoritmi rappr informazione

  • 1. UD1 U.D. Algoritmi e Rappresentazione dell’Informazione Prof. Fabio Cantaro
  • 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. 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. 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. 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. 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
  • 8. Esempio La somma di due numeri
  • 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
  • 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. 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. 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. 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. 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. Trasmissione delle informazioni(3) 0110011001110011 Comunicazione Digitale Comunicazione Analogica
  • 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. Rappresentazione dei numeri Sistemi posizionali. Es. Decimale, binario, esadecimale, ottale Sistemi non posizionali Es. Romano
  • 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. 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. 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. 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. 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. 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. esercizio Convertire i seguenti numeri binari in decimale: 1101 10001 111
  • 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. Conversione 10->2 Si divide ripetutamente il numero decimale per 2 e si prendono i resti in ordine inverso Esempio: 20 in binario.
  • 28. Esercizio Convertire da decimale a binario i seguenti numeri: (15)10 (63)10 (64)10 (1045)10
  • 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. 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. 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. 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. 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. 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. 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.
  • 38. 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?
  • 39. 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.
  • 40. 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
  • 41. Risoluzione Esempio i mosaici Più piccoli sono i tasselli maggiore è la qualità l’immagine
  • 42. 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)
  • 44. 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)
  • 45. Esempi bitmap Immagine Immagine ingrandita “sgranata”
  • 46. 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
  • 47. Esempio Immagini Immagine Originale Immagine Vettoriale ingrandita 8x Immagine Raster ingrandita 8x
  • 48. 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
  • 49. Esercizi Da cosa è caratterizzata una immagine bitmap? Da cosa è caratterizzata una immagine vettoriale? Quali sono i formati più comuni per una immagine raster?
  • 50. 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
  • 51. 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.
  • 52. 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
  • 53. 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?
  • 54. 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
  • 55. 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
  • 56. 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
  • 57. 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
  • 58. Ripasso A cosa serve AND? A cosa serve OR? A cosa serve NOT?
  • 59. 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
  • 60. 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)
  • 61. 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
  • 62. 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.
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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?
  • 67. FINE U.D. Algoritmi e Rappresentazione dell’Informazione