INFORMATICA GENERALE
Informazioni Riferimento: Franca Debole Affiliazione: ISTI – CNR www:
Burocrazia Lezioni Teoria in aula il Lunedi Laboratorio in laboratorio il Martedi Ricevimento: su appuntamento Modalità esame: scritto-progetto
ESAME PER LO SCRITTO: Presentarsi con libretto o documento di identità il giorno dellappello. Vecchi compiti disponibili su internet PER IL PROGETTO: Consegna via mail entro e non oltre la mezzanotte della data degli appelli. PROVE IN ITINERE: Due prove in laboratorio. Sufficienza a entrambe le prove comporta lesonero da consegna progetto [31 Marzo / 19 Maggio]
Materiale didattico Nessun testo di riferimento obbligatorio, alcuni consigliati Materiale sul sito del corso su mia home: disponibili lucidi ogni settimana disponibili i titoli dei testi consigliati
Prerequisiti: Sistemi Numerici SISTEMA DECIMALE SISTEMA BINARIO SISTEMA ESADECIMALE
SISTEMA DECIMALE Il sistema numerico da noi usato, detto decimale, ha due caratteristiche: 1. si basa su dieci simboli differenti dette cifre: ; 2. è importante la posizione occupata dalle cifre per comporre numeri maggiori di 9, 123 euro e 231 euro non indicano lo stesso ammontare
SISTEMA BINARIO Il sistema numerico detto binario ha due caratteristiche: 1. si basa su due simboli differenti dette cifre: 0 1; 2. è importante la posizione occupata dalle cifre per comporre numeri maggiori di 1, 001 e 100 non indicano lo stesso numero
SISTEMA ESADECIMALE Il sistema numerico detto esadecimale ha due caratteristiche: 1. si basa su 16 simboli differenti dette cifre: A B C D E F è importante la posizione occupata dalle cifre per comporre numeri maggiori di F, 1E e E1 non indicano lo stesso numero
Passaggio da decimale a binario 145 / 2 = 72 | 1 (cifra - significativa) 72 / 2 = 36 | 0 36 / 2 = 18 | 0 18 / 2 = 9 | 0 9 / 2 = 4 | 1 4 / 2 = 2 | 0 2 / 2 = 1 | 0 1 / 2 = 0 | 1 (cifra + significativa) Partendo dal basso:
Passaggio da binario a decimale * * * * *2 0 = = 17
Passaggio da decimale a esadecimale 225 / 16 = 14 | 1 14 / 16 = 0 | 14 Prendo i resti : 1 resta 1 ; 14 diventa E Partendo dal basso: E1
Passaggio da esadecimale a decimale EA E* A*16 0 = 14* *1 = = 234
Passaggio da esadecimale a binario E / 2 = 7 | 0 8 / 2 = 4 | 0 7 / 2 = 3 | 1 4 / 2 = 2 | 0 3 / 2 = 1 | 1 2 / 2 = 1 | 0 1 / 2 = 0 | 1 1 / 2 = 0 |
Sommario Da dove nasce linformatica Un po' di storia dei calcolatori Computer Hardware Software
Da dove nasce linformatica I Nasce dalla confluenza di tre filoni del sapere: Lalgoritmica = disciplina delle ricette per risolvere i problemi Lingegneria = disciplina del fare le macchine La metamatematica = branca della matematica che si occupa di studiarne le possibilità
Da dove nasce linformatica II Grazie allingegneria elettronica si deve la memorizzazione in bit Grazie agli algoritmi si riescono a sviluppare macchine più potenti Grazie alla metamatematica si riescono a scrivere buoni algoritmi.
Storia macchine calcolatrici Un decisivo passo avanti venne compiuto da John Atanasoff, dell'Università dell'Iowa, che progettò, a partire dal 1939, il primo calcolatore automatico elettronico.John Atanasoff Negli anni '50 il primato era dell'ENIAC (Electronic Numerical Integrator And Calculator) di J. Prosper Eckert e John W. Manchy, dell'Università di Pennsylvania. Tra il 1965 ed il 1975: riduzione degli ingombri, sostituzione delle memorie magnetiche con quelle a semiconduttore e la nascita dei minicomputer.memorie 1981:: IBM presenta il primo computer da scrivania detto personal computer (PC)
PC – Computer – Elaboratore Un elaboratore è una macchina che, come tutte le macchine, serve per trasformare delle materie prime in prodotti utilizzabili. Questa trasformazione avviene in tre fasi: l'immissione della materia prima; la lavorazione; l'emissione del prodotto finito. Informazioni trasformate, elaborate ed organizzate dalla macchina che possiede una estrema velocità e grandi capacità di calcolo e di memorizzazione.memorizzazione
PC – Computer – Elaboratore Definizione Macchina capace di eseguire algoritmi che elaborano dati in forma binaria. Il nome completo e electronic digital computer dove electronic significa che utilizza componenti elettronici per rappresentare ed elaborare l'informazione digital significa che rappresenta le informazioni utilizzando segnali digitali (cifre binarie). computer significa che può immagazzinare dati (ha una memoria) e elaborare programmi (ha un processore) scritti usando un insieme di istruzioni prefissato.
Computer Un computer consta di due componenti: lhardware = apparecchiature elettroniche di vario tipo Il software = insieme delle informazioni che stanno nel computer che servono ad animarlo
Computer:::Hardware I Lista dei componenti essenziali: CPU o processore Motherboard o scheda madre RAM o memoria principale Scheda video Scheda audio Hard disk o disco Lettori Floppy, DVD, CD … Monitor, mouse, tastiera Modem, scheda di rete Lettore Floppy, lettore DVD, lettore CD
Architettura dellelaboratore Elaborazione dati Processore (Central Processing Unit - CPU) Memorizzazione dati Memoria principale (o RAM) Memoria secondaria (o di massa) Trasferimento dati Dispositivi di input/output
Processore - CPU Si occupa di eseguire i programmi che sono scritti in linguaggio macchina I programmi sono fatti di istruzioni elementari (somma due numeri, confronta due numeri, leggi/scrivi dalla memoria) Le istruzioni possono avere formati diversi Es. Codice Istruzione Argomento 1Argomento 2
Hardware::: Processore Il processore preleva dalla memoria delle istruzioni e le esegue. La potenza di calcolo di un processore e data dal tempo che occorre per eseguire le istruzioni. I processori oggi sono composti da un solo microcircuito detto microprocessore.
Hardware::: Scheda Madre Stretto legame con il processore Durante laccensione si occupa di inizializzare il sistema e verificare il funzionamento di tutte le periferiche installate A regime gestisce il traffico delle informazioni tra le varie componenti.
Hardware::: RAM Contenitore di dati Amesse due operazioni, la lettura e la scrittura Il nome RandomAccessMemory deriva dal fatto che si può accedere ai dati in qualsiasi posizione si desideri La RAM e la CPU parlano tra di loro in bit
Memoria principale (RAM) Insieme alla CPU forma lUnità Centrale di un elaboratore Conserva i programmi e i dati usati dalla CPU Sequenza di celle ad ogni cella è associato un indirizzo (un numero progressivo a partire da 0 )
RAM caratteristiche La RAM è veloce per leggere/scrivere una cella ci vuole un tempo di accesso dellordine di poche decine di nanosecondi (milionesimi di secondo) La RAM è volatile è fatta di componenti elettronici, togliendo lalimentazione si perde tutto La RAM è (relativamente) costosa La RAM, fino ad un certo limite, è espandibile
Hardware::: Hard Disk Contenitore di dati A differenza della RAM non e volatile e conserva i dati
Hardware::: Schede Audio e Video Piccoli computer che gestiscono le periferiche: video, videoproiettore, casse, microfono …. Hardware::: Monitor Dispositivo tipo schermo televisivo che visualizza le informazioni contenute nel PC. I monitor si dividono in CRT(Cathode Ray Tube) LCD(Liquid Crystal Display)
Hardware::: Floppy, CD, DVD Gli hard disk contengono una grande quantità di dati ma è impossibile portarseli dietro. Ecco i supporti rimovibili: Floppy primo supporto ormai desueto (circa 1.5Mb) Cd supporto per audio, dati … (circa 600Mb in su) Dvd supporto per audio, dati, video … (circa 20 volte più capace..) Flash pen, HD portatili
A grandi linee Ricapitolando possiamo dire che Il funzionamento di un elaboratore dipende da due fattori principali: 1) dalla capacità di memorizzare i programmi e i dati [Capacita RAM] 2) dalla capacità di elaborare i dati secondo quanto specificato nelle istruzioni che formano i programmi [Capacita CPU]
Computer:::Hardware CasePeriferiche CPU o processoreMonitor Motherboard o scheda madreMouse RAM o memoria principaleTastiera Scheda videoModem Scheda audio Hard disk o disco
Computer:::Hardware:::Periferiche Dispositivi di Input / Output Servono a comunicare con il computer Si collegano alle porte (o interfacce) del computer Ad alto livello le porte sono le prese cui si connettono i dispositivi
Periferiche:::Input Tastiera Mouse Scanner Microfono Camera e telecamera digitale Input = in ingresso verso il PC
Input: la tastiera È il principale strumento di input ogni volta che lutente digita un tasto, la tastiera comunica al processore che un carattere è disponibile Si parla spesso di tastiera QWERTY, nome che deriva dalla disposizione dei primi sei caratteri sulla tastiera. In Germania le tastiere tedesche vengono chiamate tastiere QWERTZ. Le tastiere francesi per PC impiegano il layout AZERTY
Periferiche:::Output Stampante Videoterminale Casse acustiche Output = in uscita dal PC
Output: il video I Visualizza i dati che lutente inserisce in input e i risultati delle elaborazioni del calcolatore E una matrice di punti (pixel) illuminati con diversa intensità La dimensione del video viene misurata in pollici ed e la lunghezza della diagonale del video (15 pollici o 17 pollici)
Output: il video II Risoluzione in pixel 800 × × × × 1200 La risoluzione del video indica la densità dei pixel sullo schermo
Rewind Hardware::: RAM Contenitore di dati Ammesse due operazioni, la lettura e la scrittura Il nome RandomAccessMemory deriva dal fatto che si puo accedere ai dati in qualsiasi posizione si desideri La RAM e la CPU parlano tra di loro in bit Codifica digitale dellinformazione
Codifica Digitale Informazione Il funzionamento di un computer è simile a quello degli interruttori elettrici On o off Sistema binario: 0 o 1 Le informazioni sono codificate in formato binario Bit (Binary digIT) assume valori 0 o 1 Byte = sequenza di 8 bit
Bit & Byte
Tipi di Informazione Esistono vari tipi di informazione, di natura e forma diversa, così come rappresentazioni diverse della stessa informazione
Come rappresentare linformazione Si introduce il concetto di codifica codifica Informazione rappresentazione decodifica
Codifica - Decodifica X = insieme degli oggetti da rappresentare A = alfabeto di simboli A* = insieme di sequenze costruite su A cod: X => A* decod: A* => X Linsieme X, lalfabeto A, le funzioni cod e decod formano un Codice
Codifica binaria Nel caso dei sistemi di calcolo è stata introdotta la rappresentazione digitale A = {0, 1} bit (binary digit - cifra binaria): 0 o 1 Per poter rappresentare le informazioni si usano sequenze di bit A* , , ….
Codifica dellinformazione Con 2 bit si codificano 4 informazioni (2 2 ) A*= {00, 01, 10, 11} Con 3 bit si codificano 8 informazioni (2 3 ) A*= {000, 010, 100, 001, 011, 110, 101, 111} ……… Con N bit si codificano 2 N informazioni
Codifiche Le codifiche che ci interessano: 1. Codifica dei caratteri 2. Codifica delle parole 3. Codifica delle immagini 4. Codifica dei suoni
Codifica dei caratteri Per codificare ogni simbolo dellalfabeto anglosassone sono sufficienti: 7 bit (ASCII standard) 8 bit [1byte](ASCII esteso) 16 bit [2byte](UNICODE) ASCII = American Standard Code for Information Interchange Unicode assegna un numero univoco a ogni carattere, indipendentemente dalla piattaforma, indipendentemente dall'applicazione, indipendentemente dalla lingua.
Codifica UNICODE Unicode è unorganizzazione che standardizza la rappresentazione del testo in forma elettronica Unicode permette la rappresentazione dei caratteri di molti alfabeti non latini: arabo, ebraico,cinese, giapponese, coreano, tailandese, ecc, nonché caratteri speciali (matematici, tecnici, frecce, elementi grafici, …).
Codifica ASCII
Codifica delle parole Le parole sono sequenze di caratteri e come tali sequenze di sequenze di bit Esempio: Franca diventa FRA NCA
Codifica delle immagini Per codificare le immagini in bianco e nero si assegna ad ogni pixel un bit Per codificare le immagini a colori si assegna ad ogni pixel viene assegnata una sequenza di bit Per memorizzare un pixel non è più sufficiente un solo bit. se utilizziamo 4 bit possiamo rappresentare 2 4 =16 colori diversi, mentre con 8 bit ne abbiamo 2 8 =256
Esempio bianco e nero
Codifica dei suoni I Fisicamente un suono è rappresentato come unonda che descrive la variazione della pressione dellaria nel tempo (onda sonora)
Codifica dei suoni II Misurando il valore dellonda ad intervalli di tempo costanti si ottengono dei valori numerici che possono essere facilmente codificati Quanto più frequentemente il valore dellonda viene campionato, tanto più precisa sarà la sua rappresentazione Il numero di campioni raccolti per ogni secondo definisce la frequenza di campionamento che si misura in Hertz (Hz)
Bit & Byte NomeAbbr.ValorePotenza di 2 byteB o b12020 KiloKB o Kb MegaMB o Mb GigaGB o Gb TeraTB o Tb
Esercizi 1. Dovendo rappresentare informazioni diverse quanti bit mi servono per la codifica? 2. Quanti byte occupa la parola mistero se la si codifica utilizzando il codice ASCII esteso? 3. Quanti byte occupa unimmagine di 100x100 pixel in bianco e nero?