Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


informatica o abilità informatica , Dispense di Elementi di Informatica

abilità informatica per università

Tipologia: Dispense

2016/2017

Caricato il 07/09/2017

giuseppe19881
giuseppe19881 🇮🇹

4.3

(19)

29 documenti

1 / 60

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Università per Stranieri “Dante Alighieri”
Reggio Calabria
Abilità Informatiche e Telematiche
cdl LM-87 LM-94 A.A. 2016/2017
ing. Gianluca Caminiti
Materiale didattico a supporto dello studio individuale
Il presente materiale didattico, unitamente alle slide distribuite durante lo svolgimento del corso, ha
la sola finalità di integrare quanto già in possesso dello studente, e pertanto non sostituisce in alcun
modo i testi ufficiali (indicati nell’apposita sezione del sito web di ateneo) che rimangono quelli
consigliati per lo studio.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c

Anteprima parziale del testo

Scarica informatica o abilità informatica e più Dispense in PDF di Elementi di Informatica solo su Docsity!

Università per Stranieri “Dante Alighieri”

Reggio Calabria

Abilità Informatiche e Telematiche

cdl LM- 87 LM- 94 A.A. 2016/

ing. Gianluca Caminiti

Materiale didattico a supporto dello studio individuale

Il presente materiale didattico, unitamente alle slide distribuite durante lo svolgimento del corso, ha la sola finalità di integrare quanto già in possesso dello studente, e pertanto non sostituisce in alcun modo i testi ufficiali (indicati nell’apposita sezione del sito web di ateneo) che rimangono quelli consigliati per lo studio.

  • CAPITOLO
  • Informatica ed elaborazione dell’informazione
  • Tipologie di Elaboratori
    • Supercomputer
    • Mainframe
    • Minicomputer
    • Personal Computer
  • Hardware e Software
  • Architettura dell’elaboratore - Macchina di Von Neumann
  • CPU
  • Memorie
    • Memoria Centrale
    • Memoria di massa
    • Hard Disk
    • Floppy Disk
    • CD, DVD, Blue-ray Disk
    • Memorie Flash
  • Bus
    • Tipi di Bus
    • Bus dati
    • Bus indirizzi
    • Bus di controllo
  • Dispositivi di Input/Output
  • Periferiche di Ingresso
    • Tastiera
    • Mouse, Touchpad
    • Scanner
    • Lettore Ottico
    • Webcam
    • Lettore Biometrico
    • Microfono
  • Periferiche di Uscita
    • Monitor
    • Scheda video
    • Stampante
    • Stampanti ad aghi
    • Stampanti a getto di inchiostro
    • Stampanti laser
  • Periferiche di Ingresso/Uscita
    • Scheda audio
    • Drive
    • Drive per schede di memoria
    • Pendrive USB
    • Touchscreen
  • Interfacce
    • Interfaccia USB
  • CAPITOLO
  • Problemi, algoritmi e programmi
    • Il problema
    • Risoluzione per scomposizione.
  • L’algoritmo
  • Proprietà degli algoritmi
    • Input specificato
    • Output specificato
    • Determinatezza
    • Efficacia
    • Terminazione
  • Esempi di algoritmi.
    • Esempio: algoritmo sequenziale.
    • Esempio: algoritmo condizionale.
    • Diagramma di flusso o diagrammi a blocchi
  • Linguaggi di programmazione.
  • Nozione di programma.
  • CAPITOLO
  • Rappresentazione numerica dell’informazione
  • Rappresentazione in base diversa da
    • Conversione da base 2 a base
    • Conversione da base 10 a base
  • Rappresentazione di informazione numerica
    • Rappresentazione di numeri interi positivi
    • Binary-coded Decimal (BCD)
  • Rappresentazione di informazione testuale
    • La codifica ASCII
    • La codifica Unicode
  • Rappresentazione di informazione grafica
    • Immagini monocromatiche
    • Immagini a colori aventi al più 256 colori
    • Immagini fotografiche
    • Caratteristiche generali delle immagini bitmap
  • Rappresentazione di informazione sonora
  • CAPITOLO
  • Software
    • Software di base
    • Software applicativo
  • Sistemi Operativi
    • Struttura e funzioni
    • Il nucleo
    • Il gestore della memoria
    • Il gestore delle periferiche
    • Il gestore dei file
    • L’interprete dei comandi
  • Software applicativo
  • CAPITOLO
  • Reti di calcolatori: aspetti generali
  • Tipi di reti
  • Classificazione delle LAN in base alla topologia di rete
    • Topologia a stella
    • Topologia ad anello
    • Topologia a Bus
    • Teoria della Trasmissione
    • Struttura dei pacchetti
  • Struttura di Internet.
  • TCP/IP (Transmission Control Protocol/Internet Protocol)
  • Indirizzi IP e nomi di dominio
  • Servizi di Internet
    • Posta Elettronica
    • Messaggi e-mail
    • Busta
    • Intestazioni
    • Corpo e allegati
  • World wide web
    • Funzionamento del protocollo HTTP
  • Trasferimento di file (FTP)
    • Telnet (o controllo remoto)
    • Chat
    • Gruppi di discussione
    • Mailing list
  • Modelli di funzionamento di Internet
    • Modello Client-Server
    • Modello Peer-to-Peer
  • Problematiche connesse all’uso di Internet
  • Conclusioni

Capitolo 1

Informatica ed elaborazione dell’informazione

L’informatica è la scienza che consente all’uomo di risolvere i problemi attraverso tecniche e strumenti che consentono la gestione automatica dell’informazione. A tale scopo, l’informatica studia l’acquisizione, l’organizzazione, l’elaborazione, la conservazione delle informazioni e la loro gestione in modo automatico. Il termine “informatica” deriva dalla lingua francese, esattamente da “INFORmation electronique ou automaTIQUE” ; tale termine intende che il trattamento dell’informazione avviene in automatico mediante dispositivi elettronici (il computer). Infatti, il processo di elaborazione – intesa come trattamento, gestione – dell’informazione si basa sul modello fondamentale di automa: una macchina che, imitando il comportamento umano, possiede le seguenti caratteristiche:

  • Ha un fine ben preciso (es. risolvere un dato problema);
  • Riceve in ingresso le informazioni necessarie alla risoluzione del problema posto (input);
  • Elabora tali informazioni, producendo al suo interno i risultati che rappresentano la soluzione;
  • Presenta in uscita i risultati ottenuti (output). L’elaboratore elettronico (o “computer” o “calcolatore”) è uno strumento per la rappresentazione, la memorizzazione e l’elaborazione delle informazioni. Il computer è uno strumento programmabile in quanto può essere predisposto per eseguire un particolare insieme di azioni, allo scopo di risolvere un problema. Il computer è un tipo speciale di automa, in particolare:
  • È un elaboratore, cioè è in grado di immagazzinare ed elaborare dati in base ad una sequenza di istruzioni (il programma);
  • È elettronico, cioè è realizzato mediante componenti elettronici (principalmente transistor);
  • È digitale, cioè elabora informazioni utilizzando segnali digitali basati sul sistema binario. La particolarità del computer rispetto ad altri strumenti tecnologici è la sua “adattabilità”, nel senso che è un dispositivo che può essere istruito a compiere i lavori più disparati.

Tipologie di Elaboratori

In base alle loro caratteristiche, si distinguono le seguenti categorie di computer:

  1. Supercomputer
  2. Mainframe
  3. Minicomputer Input Elaborazione Output

smartphone , cioè quei modelli di telefono cellulare che integrano funzioni di elaborazione, permettendo all’utente di gestire gli appuntamenti, navigare su internet, consultare la posta elettronica, eseguire programmi (detti app ) ecc. Le due categorie più importanti dell’informatica, ricorrenti in qualunque testo (dal più basilare a quello più professionale) sono: hardware e software.

Hardware e Software

Col termine hardware (letteralmente “ferramenta”, in inglese) si indica la parte fisica, tangibile, di un personal computer, cioè tutti quegli elementi meccanici, magnetici, ottici ed elettronici che ne consentono il funzionamento. Tale termine deriva dalla fusione di due parole della lingua inglese, l’aggettivo hard (rigido, duro) ed il sostantivo ware (che indica un insieme di oggetti dello stesso tipo, oppure intesi per lo stesso scopo). La tastiera, il processore, la stampante, l’hard disk, i DVD, sono tutti esempi di hardware e saranno considerati in dettaglio nel seguito. Il software rappresenta la parte complementare all’hardware. Infatti, l’aggettivo soft sta ad indicare non tanto la parte “morbida” in senso stretto, quanto piuttosto tutto quello che non è “hard” (tangibile), quindi il software è rappresentato dalle componenti immateriali, cioè l’insieme dei programmi che possono essere eseguiti dal computer. Ad esempio, il software comprende i programmi applicativi, i videogiochi, i sistemi operativi, ecc. Lo scopo dell’hardware è quello di realizzare un certo numero di funzioni di base, come la visualizzazione delle informazioni, oppure la loro conservazione, e così via. Il software, invece, rappresenta la “logica” che sta dietro le funzioni “fisiche” realizzate a mezzo dell’hardware. In questo modo il computer si rivela essere uno strumento polivalente, cioè in grado di svolgere un elevato numero di compiti anche diversi fra loro a partire da un certo numero di operazioni di base messe a disposizione dall’hardware, grazie alla specializzazione ottenuta tramite il software. Infine, per meglio comprendere la differenza fra queste due fondamentali nozioni, si consideri l’esempio di un musicista che voglia eseguire un pezzo musicale. Egli ha a disposizione uno strumento, per esempio un pianoforte, ed uno spartito. In questo scenario semplicistico si può dire (non prendendo in considerazione il musicista stesso) che l’hardware è costituito dal pianoforte, in quanto tangibile e composto di parti fisiche. Tale hardware in questo caso realizza la funzione di emettere i suoni corrispondenti alle note musicali suonate. Il software, il programma che è “eseguito” dal musicista sul pianoforte è invece contenuto nello spartito, dove è codificato nella sequenza delle note sul pentagramma.

Architettura dell’elaboratore - Macchina di Von Neumann

L’ architettura di un elaboratore è rappresentata dall’organizzazione dell’hardware che lo costituisce, quindi comprende sia la tipologia e il numero delle parti fisiche che lo compongono, sia il modo in cui esse sono interconnesse al fine di realizzare le funzioni principali dell’elaboratore. Essa, pertanto, costituisce un modello logico di funzionamento di un computer, da cui si ricava lo schema di progettazione degli elaboratori. L’architettura attualmente utilizzata per la realizzazione dei moderni computer è quella che prende il nome dal matematico John Von Neumann, si parla infatti di Macchina di Von Neumann. Lo schema della macchina di Von Neumann si basa su quattro componenti principali:

  1. CPU (Central Processing Unit) o Unità Centrale di Elaborazione. Essa ha lo scopo di eseguire i comandi e le funzioni fisiche rappresentate dai programmi. Si compone a sua volta di due parti: una Unità Operativa , in cui uno dei sottosistemi più rilevanti è l’ALU (Arithmetic Logic Unit) ed una Unità di Controllo (CU).
  1. Unità di memoria, che hanno il compito immagazzinare e permettere il recupero delle informazioni usate dall’hardware per il suo funzionamento (programmi, dati, ecc.). Si distingue in memoria principale (anche detta memoria “centrale”), intesa come memoria di lavoro e memoria secondaria (anche detta memoria “di massa”), intesa come memoria di archiviazione permanente;
  2. Unità di ingresso (input) e uscita (output), ovvero dispositivi tramite cui i dati sono inseriti (tipicamente dall’utente) nel calcolatore per essere elaborati, e dispositivi attraverso cui i dati elaborati possano essere restituiti all’utente;
  3. Bus, un canale di comunicazione che permette l’interconnessione di tutti i componenti dell’architettura. La macchina di Von Neumann funziona secondo il seguente schema generale: le informazioni sono inserite dall’utente attraverso i dispositivi di input. Il bus trasmette tali informazioni in memoria (centrale), da dove la CPU può prelevarle (sempre sfruttando il bus come canale di collegamento) al fine di procedere alla loro elaborazione. Al termine di questo passo fondamentale, la CPU pone il risultato dell’elaborazione nuovamente nella memoria centrale per procedere poi con ulteriori letture di dati ed elaborazioni successive. La memoria di massa è utilizzata allorquando si desidera porre i risultati ottenuti dalla CPU in un luogo in cui possano rimanere permanentemente, ovvero per periodi di tempo anche successivi allo spegnimento del computer. Al termine di tutte le elaborazioni, quando si giunge alla determinazione del risultato finale, i dati ottenuti sono presentati all’utente sfruttando i dispositivi di output. Si noti che nonostante tale schema sia stato sviluppato negli anni ‘40, esso è ancora attuale, difatti è diventato il paradigma per la progettazione dei moderni personal computer. Adesso si farà qualche ulteriore considerazione sull’architettura di Von Neumann. Tipicamente, essa presenta una molteplicità di unità di ingresso o di uscita, che a volte si suole inserire in un’unica

Al termine di ciascuna ripetizione del ciclo, la CPU verifica se vi sono state delle interruzioni. Esse sono segnalate attraverso il registro di stato e rappresentano situazioni che richiedono “l’attenzione” della CPU, che deve interrompere il compito attuale per dedicarsi ad esse. Successivamente il ciclo riprende a partire dalla fase di Fetch per procedere all’esecuzione della successiva istruzione. Nonostante questo procedimento sia strettamente sequenziale, grazie al meccanismo delle interruzioni, un processore che sia controllato da un sistema operativo multitasking è capace di alternare l’esecuzione di programmi differenti (es. videoscrittura, posta elettronica, ecc.). Poiché il passaggio dall’esecuzione del codice di un programma a quello di un altro avviene in tempi molto rapidi (dell’ordine di millesimi di secondo), l’utente avrà l’impressione che i programmi siano eseguiti contemporaneamente.

Memorie

Nel contesto dell’architettura di Von Neumann, la memoria è l’unità del computer destinata a conservare informazioni per un certo periodo di tempo. La memorizzazione di informazioni in memoria, e il successivo recupero delle medesime, sono operazioni fondamentali per il funzionamento del computer. Una memoria può essere considerata in astratto come una sequenza finita di contenitori di dati (celle). Ogni cella contiene un bit, cioè un valore numerico binario che può essere 0 oppure 1. Tipicamente i bit si considerano a gruppi di 8 (detti byte ) o di multipli di 8 (ad esempio, word di 16 bit, double-word di 32 bit; quad-word di 64 bit, ecc.). I gruppi di celle (nei moderni PC, le double-word o le quad- word) sono dette “locazioni di memoria” e ciascuna è individuata da un preciso indirizzo, espresso tramite un numero intero positivo. Quindi si può considerare la memoria come una sequenza finita di locazioni, ciascuna avente una certa dimensione (espressa in numero di bit) ed associata ad un indirizzo numerico univoco e progressivo. La seguente tabella rappresenta, a titolo di esempio, un piccolo frammento di memoria:

Indirizzo della locazione Valore memorizzato (dimensione di 32 bit) 0 01010101010101010101010101010101 1 01111111010101010101111101010101 2 01010101010101010101111111110101 ... ... La memoria si misura in multipli del byte. Si distinguono infatti il Kilobyte (KB), pari a circa 1000 byte (esattamente 2^10 =1024 byte), il Megabyte (MB), pari a circa un milione di byte (2^20 =1024* byte), il Gigabyte (GB), pari a circa un miliardo di byte (2^30 =102410241024 byte). Si noti che poiché il computer usa il sistema binario (basato sui simboli 0 e 1) i multipli del byte sono potenze di due. Ciò spiega, ad esempio, perché un MB (pari a 210 byte) sia differente da un milione di byte (che è pari a10^6 byte). È possibile classificare la memoria in due grandi categorie: memoria centrale e memoria di massa. Queste saranno esaminate nel seguito.

Memoria Centrale

La memoria centrale è la memoria principale del computer ed è costituita dalla RAM. Essa è utilizzata come memoria di lavoro, ovvero come memoria veloce dove immagazzinare temporaneamente i dati che sono necessari per l’elaborazione. La RAM (acronimo di Random-Access Memory, memoria ad accesso casuale) è una tipologia di memoria caratterizzata dal permettere l’accesso diretto a qualunque indirizzo di memoria con lo stesso tempo di accesso. Si distingue infatti dalle memorie ad accesso sequenziale, come ad esempio i nastri magnetici, in cui per accedere (cioè per leggere o scrivere) ad un dato che si trova in una certa posizione, è necessario percorrere prima tutte le posizioni che precedono quella cercata a partire dall’inizio della memoria. La RAM è realizzata mediante circuiti elettronici integrati, e pertanto è molto veloce. Inoltre, si tratta di una memoria volatile , cioè essa perde il proprio contenuto allo spegnimento del computer. All’interno della RAM sono memorizzati tipicamente i programmi che l’utente vuole eseguire (ad esempio software di videoscrittura) e i dati utilizzati da tali programmi (come i documenti). Un altro tipo di memoria, spesso associata alla nozione di memoria centrale, è la memoria ROM (acronimo di Read-Only Memory, memoria a sola lettura) che è una memoria non volatile o anche detta permanente (memoria in grado di mantenere memorizzati i dati anche in assenza di alimentazione elettrica) contenente informazioni memorizzate dal costruttore e che sono necessarie per il buon funzionamento del computer (come ad esempio il BIOS, Basic Input-Output System, che contiene i programmi di avvio) e pertanto non devono essere modificate dall’utente. La memoria cache (dal termine francese caché che significa “nascosto”) è un tipo di memoria non volatile come la RAM, ma molto più veloce (e quindi più costosa) di questa. Per tale ragione, la dimensione della memoria cache è tipicamente molto piccola in confronto a quella della RAM. La cache funge da intermediario fra CPU e RAM. Ad esempio, quando la CPU effettua un accesso (in lettura o scrittura) ai dati contenuti nella RAM, la porzione di memoria che li contiene è copiata nella cache. In tal modo, successive letture da parte della CPU degli stessi dati, o anche di dati spazialmente “vicini”, potranno avvenire sfruttando la copia presente in cache, cosa che avverrà in un intervallo di tempo sensibilmente inferiore a quello richiesto per leggere gli stessi dati dalla RAM. Nel caso tali dati non si trovino in cache, la ricerca degli stessi è ripetuta nella RAM (pagando un costo maggiore in termini di tempo). La memoria cache riesce a migliorare le prestazioni della memoria centrale in quanto il suo funzionamento si basa su un principio generale, detto principio di località. Esso afferma che le informazioni usate più di recente dalla CPU (località temporale ) e quelle che si trovano in posizioni

CD, DVD, Blue-ray Disk

Sono costituiti da un disco di plastica trasparente, incollato nella parte superiore ad un sottile foglio metallico. Le informazioni sono memorizzate come sequenze di “dossi” e “cunette” (in inglese “pits” e “lands”) successivamente letti per mezzo di laser in grado di distinguere l’uno dall’altro a seconda di come il fascio laser viene riflesso dalla superficie del disco. La memorizzazione può avvenire attraverso un processo di “stampa” (tipicamente solo in fabbrica e per grandi quantità) oppure utilizzando un masterizzatore , che sfrutta il laser per opacizzare (“bruciare”) determinate zone della superficie del disco, che, alternate a quelle trasparenti, rappresenteranno la sequenza dei dati memorizzati. Si distinguono i CD (Compact Disk) dai DVD (Digital Versatile Disk). I primi possono immagazzinare al massimo 700 Megabyte. I DVD sono caratterizzati da una capienza che parte da 4,7 Gigabyte per arrivare ad un massimo di circa 17 Gigabyte. In questi supporti la capacità è privilegiata rispetto alla velocità di trasferimento dei dati; per tale ragione i dati sono organizzati su un percorso a spirale che, partendo dal centro del supporto giunge al bordo esterno. I più recenti Blue-Ray Disk consentono di memorizzare fino a 100 Gigabyte.

Memorie Flash

È un tipo di memoria non volatile, a lettura-scrittura ed è a stato solido (cioè è costituita da transistor), pertanto non presenta alcuna parte mobile ed è resistente agli urti. Inoltre, è leggera e di dimensioni ridotte. Esempi di questo tipo di memorie sono alla portata di chiunque oggi: le pendrive USB, le schede di memoria SD contenute negli smartphone e nei tablet, i dischi a stato solido (SSD) presenti nei moderni PC e tablet. La capacità varia fra gli 8 GigaByte ed i 2 TeraByte. Uno svantaggio di questo tipo di memoria è che il numero massimo di scritture permesse è limitato (circa 100.000 nel caso migliore). Ciò implica che il ciclo di vita di questi dispositivi può divenire tanto più breve quanto più spesso si utilizzano. È bene precisare tuttavia che questa limitazione vale solo per i dispositivi economici (es. le pendrive, le schede di memoria, ma non per i più costosi SSD).

Bus

Il bus, nel contesto della macchina di Von Neumann, è un canale che permette ai componenti del sistema (CPU, Memoria, Dispositivi di I/O) di comunicare tra loro. Tali componenti sono connessi fisicamente al bus in vari modi: le connessioni elettriche possono essere realizzate direttamente su circuito stampato (ad esempio sulla scheda madre, la scheda elettronica principale presente all’interno del computer) oppure tramite un apposito cavo.

Tipi di Bus

Il bus principale, presente in tutti i computer, è il bus di sistema, suddiviso in tre bus minori:  Bus dati  Bus indirizzi  Bus di controllo

Bus dati

È il bus sul quale transitano le informazioni scambiate fra la CPU e la memoria o anche fra la CPU e le periferiche di ingresso/uscita.

Bus indirizzi

È il bus attraverso il quale la CPU stabilisce in quale indirizzo di memoria andare a scrivere o a leggere le informazioni. Dopo aver specificato l’indirizzo tramite questo bus, la scrittura o lettura

avviene normalmente tramite il bus dati. Questo bus è fruibile in scrittura solo dalla CPU ed in lettura dagli altri componenti.

Bus di controllo

Il bus di controllo è un insieme di collegamenti utilizzato per trasmettere segnali di controllo che permettono di coordinare le attività del sistema. La CPU usa tali segnali di controllo per selezionare le componenti coinvolte in un trasferimento di dati, specificando se si tratta di un’operazione di lettura o scrittura. Ad esempio, quando la CPU vuole leggere il contenuto della cella di memoria RAM avente indirizzo 1000, deve scrivere sul bus indirizzi il numero 1000, specificando attraverso il bus di controllo sia l’operazione che si vuole effettuare (“lettura” in questo caso) che il dispositivo da cui si vuole leggere (la RAM). A questo punto, la CPU potrà leggere il contenuto della cella di memoria RAM con indirizzo 1000 direttamente dal bus dati.

Dispositivi di Input/Output

Il bus permette inoltre il collegamento di numerosi dispositivi di Ingresso/Uscita (Input/Output-I/O). Tali dispositivi, detti periferiche , espandono le funzionalità del computer permettendo lo scambio di dati con l’ambiente esterno. Si distinguono tre tipologie di periferiche:  Periferiche di ingresso  Periferiche di uscita  Periferiche di ingresso/uscita

Periferiche di Ingresso

Questi dispositivi permettono l’inserimento di informazioni nel computer. Ad esempio, si ricorda la tastiera, il mouse, o il touchpad che permettono di impartire comandi al computer. Nel seguito si passerà in rassegna le periferiche di ingresso più importanti.

Tastiera

Essa è una sequenza di tasti, ciascuno associato ad un simbolo grafico (detto “carattere”) o numerico. Deriva dalle antiche macchine da scrivere e si utilizza per inserire informazione testuale nel computer. La pressione di un determinato tasto corrisponde ad un impulso elettrico che viene inviato alla CPU. A questo punto è possibile visualizzare il carattere digitato (ad esempio nei programmi di videoscrittura) oppure eseguire un’azione corrispondente al tasto premuto (per esempio la cancellazione, a seguito del tasto “Canc”). La disposizione dei caratteri sulla tastiera prende il nome di layout di tastiera e dipende principalmente dalla lingua utilizzata dall’utente. Difatti, una tastiera italiana presenterà caratteri accentati, una tedesca il simbolo della dieresi (umlaut), ecc.

Mouse, Touchpad

Sono dispositivi di puntamento. Nei moderni sistemi operativi con interfaccia grafica, si usano per controllare la posizione di un puntatore , un oggetto grafico (tipicamente a forma di freccia) che si utilizza per accedere a programmi e documenti. Il mouse presenta una pallina nella parte inferiore (mouse meccanico) che rotola in corrispondenza dello spostamento del dispositivo su una superficie piana. La direzione e l’entità dello spazio percorso dalla pallina sono rilevati attraverso due sensori (orientati secondo assi ortogonali) e tradotti in corrispondenti segnali elettrici. Nei mouse ottici la pallina è sostituita da un emettitore luminoso e da un sensore ottico che rileva spostamento del dispositivo sulla superficie di lavoro. Inoltre è presente una serie di pulsanti (due o tre) che permettono di attivare funzioni sugli oggetti dell’interfaccia grafica, come selezione, copia, ecc. Il touchpad è

Periferiche di Uscita

Esse servono a presentare le informazioni all’utente, e più in generale a permetterne il trasferimento dal computer all’ambiente esterno. Si distinguono i seguenti principali dispositivi:

Monitor

È utilizzato per presentare le informazioni visualizzando testo e immagini su uno schermo. Due sono i principali tipi di monitor: a tubo catodico (CRT), il cui funzionamento è basato su un principio simile a quello dei vecchi televisori, e a cristalli liquidi (LCD), in cui una sottile pellicola costituita da cristalli liquidi è in grado di diventare opaca o trasparente alla luce in dipendenza dell’applicazione di un campo elettrico. In entrambi i casi, i monitor ricevono dal computer un segnale elettrico che contiene le informazioni sull’immagine da visualizzare e la rappresentano come un insieme di punti colorati (detti pixel , dal termine inglese picture element , ovvero punto elementare). Tanto maggiore è il numero dei pixel visualizzabili sullo schermo (cosiddetta risoluzione grafica), tanto maggiore sarà la definizione dell’immagine.

Scheda video

Detta anche scheda grafica , è un dispositivo che serve a pilotare il monitor, inviandogli segnali elettrici che rappresentano l’informazione grafica da visualizzare. Le moderne schede grafiche integrano anche una CPU (avente capacità di calcolo paragonabile alla CPU del computer) ed una memoria dedicate, al fine di accelerare le prestazioni nel contesto delle applicazioni multimediali e delle simulazioni in tre dimensioni.

Stampante

Questo dispositivo di uscita permette di stampare testo o immagini elaborate dal computer. La stampa può avvenire su carta oppure su materiali di altro tipo (tessuto, ecc.). Le principali caratteristiche di una stampante sono la sua velocità (misurata in pagine al minuto) e la sua risoluzione (misurata come densità di pixel, in sigla DPI, da Dot per Inches – Punti per pollice). Si distinguono i seguenti principali tipi di stampante, a seconda della tecnologia su cui si basa il processo di stampa:  Stampanti ad aghi;  Stampanti a getto di inchiostro;  Stampanti laser.

Stampanti ad aghi

La stampa è realizzata, riga per riga, da una testina mobile, contenente 24 oppure 36 aghi, mossi da elettromagneti, che battono sulla carta mediante interposizione di un nastro inchiostrato, in modo simile a quanto avviene con le macchine da scrivere elettriche. Gli aghi colpiscono il nastro in modo tale da comporre i pixel che costituiscono i caratteri o la parte di un’immagine da stampare. Oggi questa tecnologia di stampa è obsoleta, sebbene sia ancora richiesta in alcuni settori (ad esempio nella pubblica amministrazione) poiché permette l’uso di modulistica realizzata con carta copiativa. Velocità tipica: 1 pag./min. Risoluzione tipica: 180 DPI.

Stampanti a getto di inchiostro

In questo tipo di stampanti, un gruppo di piccoli ugelli, posti su un carrello mobile, spruzzano micro- gocce di inchiostro sulla carta. L’immagine viene impressa procedendo riga per riga dall’alto verso il basso. Questa tecnologia è caratterizzata dai seguenti vantaggi: basso costo di produzione, silenziosità e buona resa cromatica. Velocità tipica: 15 pag./min. Risoluzione tipica: 1200 DPI.

Stampanti laser

Questa tecnologia deriva direttamente da quella comunemente implementata nelle fotocopiatrici. Un raggio laser infrarosso è proiettato su un tamburo fotosensibile, preventivamente elettrizzato, che si scarica laddove è colpito dal laser. L’elettricità statica residua sul tamburo attira il toner , una polvere sottile di pigmenti, che viene trasferito sulla carta. Il foglio passa poi sotto un rullo riscaldato ad elevata temperatura, che fonde il toner facendolo aderire alla carta. Velocità tipica: 20 pag./min. Risoluzione tipica: 600-1200 DPI.

Periferiche di Ingresso/Uscita

Si distinguono inoltre tipi di periferiche che si comportano come dispositivi sia di ingresso che di uscita. Si considerano nel seguito i più importanti dispositivi:

Scheda audio

Questa scheda, detta anche scheda sonora , permette sia l’emissione (output) attraverso le casse acustiche, che l’acquisizione (input) attraverso un microfono, di suoni e musica da parte del computer. Nel primo caso, la scheda emette segnali elettrici che corrispondono alle informazioni di tipo sonoro presenti nella memoria del computer, nel secondo caso convertono i segnali raccolti dal microfono in una sequenza di numeri che vengono memorizzati nella RAM, risultando disponibili alla CPU per l’elaborazione.

Drive

Il drive è una periferica destinata alla lettura e/o scrittura di un supporto di memoria. Nel caso tale supporto sia un floppy disk si parla di disk drive, invece nel caso di CD/DVD si parla di CD-ROM drive o DVD-ROM drive. Il floppy disk drive (o semplicemente disk drive) fino a una decina di anni fa era presente sulla maggior parte dei personal computer anche se negli ultimi anni sono utilizzati, per le operazioni di salvataggio e trasferimento dati, molto più spesso i CD, i DVD e le pendrive USB. È costituito da un contenitore in cui si inserisce il floppy disk. Due testine (una per ciascun lato del disco) consentono la lettura/scrittura in modo simile a quanto avviene per gli hard disk. Un CD-ROM drive o DVD-ROM drive (detto anche lettore CD o lettore DVD) è invece una periferica che consente solo la lettura del supporto corrispondente. La scrittura è consentita utilizzando un masterizzatore.

Drive per schede di memoria

Detto anche lettore di schede di memoria, è un dispositivo che permette di leggere (e scrivere) memorie a stato solido (memorie flash). Vi sono molti tipi di memorie flash, poiché tali supporti sono utilizzati principalmente come memoria di archiviazione per i dispositivi portatili come fotocamere digitali, telefoni cellulari, ecc. Attualmente sono molto diffusi i formati Secure Digital (SD), specialmente nella versione MicroSD. I moderni lettori di schede di memoria integrano nella stessa unità gli ingressi per molti formati diversi.

Pendrive USB

È un dispositivo che integra una memoria di massa portatile di dimensioni molto contenute (qualche centimetro in lunghezza e intorno al centimetro in larghezza), realizzata mediante l’uso di memoria flash, che si collega al computer attraverso un’interfaccia USB. È il supporto che ha sostituito completamente i vecchi dischetti e attualmente compete per prestazioni (capacità e velocità) con CD e DVD.

Capitolo 2

Problemi, algoritmi e programmi

Il problema

Inizialmente si è detto che l’informatica è uno strumento per risolvere i problemi dell’uomo. Rimane da approfondire in che modo ciò sia possibile. Cos’è pertanto un problema? È una domanda, un quesito che attende una risposta, una soluzione. Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo occorre stabilire una strategia. Un problema è, informalmente, un quesito espresso che attende una soluzione. Ad esempio “Qual è il numero di telefono di Mario Rossi?”, oppure “Calcolare la superficie di un cerchio, dato il raggio r”. Si nota subito che un problema è caratterizzato da un insieme di dati di partenza (“Mario Rossi”, “il raggio r”) che sono noti e da un insieme di dati, incogniti, che rappresentano la soluzione (il numero di telefono nel primo esempio e la superficie del cerchio nel secondo esempio). Un problema è anche rappresentato da una necessità da affrontare, come ad esempio può essere un esame universitario che uno studente deve superare con esito positivo. In quest’ultimo caso i dati di partenza sono i libri di testo o gli appunti dello studente e la soluzione è chiaramente l’esito dell’esame, che è condizionato dalle operazioni che lo studente effettuerà utilizzando (o meno) le informazioni contenute nei testi a sua disposizione. Tipici problemi di interesse sono:  Ricerca di informazione. Il problema della ricerca di informazione è sempre stato un problema cruciale anche nel mondo dei documenti cartacei e risulta amplificato nel caso in cui la ricerca debba essere svolta su una quantità enorme di informazione. Esempi tipici di questa categoria di problemi sono: trovare il numero di telefono di una persona all’interno di un grosso archivio di dati, oppure individuare il numero più piccolo di una lunga sequenza di numeri.  Elaborazione di informazione. Anche questo è sempre stato un problema cruciale nel mondo dei documenti cartacei. Una volta che si ha l’accesso all’informazione, si ha spesso l’esigenza di elaborarla al fine di ottenere altra informazione di carattere globale. Ad esempio dato un certo numero di prodotti con un determinato prezzo, è possibile elaborare tale informazione al fine di ottenere il costo totale dei prodotti.  Problemi di ottimizzazione. Ovvero, tra tutte le soluzioni possibili che risolvono un problema, occorre trovare quella che rende minimo o massimo un certo fattore di interesse. Ad esempio, tra tutti i mezzi di trasporto che ci permettono di raggiungere Parigi ci interessa scegliere quello più economico oppure quello con il quale si impiega meno tempo. Un problema si risolve attraverso una metodologia di lavoro:

  1. Innanzitutto, si deve definire, cioè comprendere il problema, ovvero stabilire quali dati sono coinvolti, quali dati sono disponibili, quale soluzione ci si aspetta e come si possono trovare i dati utili.
  2. Successivamente si deve modellare il problema, ovvero fornire una rappresentazione semplificata della situazione da trattare e delle interazioni tra i diversi elementi in gioco.
  3. Si deve poi formulare una sequenza di operazioni la cui esecuzione porta alla soluzione del problema posto, quindi individuare il percorso risolutivo.
  4. Infine si deve eseguire la sequenza di azioni precedentemente formulate. Si noti che un problema può essere costituito da sotto-problemi. Questo significa che per ciascun sotto-problema (tipicamente più semplice del problema complessivo) si deve spesso ripetere la metodologia introdotta sopra. Ad esempio Se si dovesse calcolare l’area della superficie di una facciata si potrebbe scomporre il problema nel calcolo delle aree delle superfici dei vari elementi della facciata come porte, finestre, ecc. Questi sono i sottoproblemi cui si accennava precedentemente. Un problema pertanto necessita di un esecutore (essere umano o computer) che fornisca una soluzione utilizzando i dati (forniti col problema stesso) organizzati mediante l’ideazione di un percorso risolutivo adeguato che comprende le azioni da intraprendere e la loro sequenza esatta. Si consideri il seguente esempio: Problema: esame universitario Soluzione: 0. Decidere quale esame sostenere 1. Procurarsi il materiale di studio 2. Frequentare il corso relativo all’esame scelto 3. Studiare 4. La preparazione non sembra sufficiente? Tornare al punto 3, altrimenti: 5. Iscriversi all’esame 6. Sostenere l’esame 7. Ad esame non superato o valutazione rifiutata tornare al punto 3, altrimenti fine. Questo è l’esempio dello studente universitario che deve sostenere con esito positivo un dato esame. Per raggiungere questo scopo (la soluzione al problema, che, si noti, è a sua volta un sotto-problema di quello più generale di laurearsi) lo studente deve eseguire una sequenza di operazioni che è quella esemplificata nell’elenco numerato precedente. Innanzitutto, si osservi che l’elenco è numerato , ovvero le operazioni devono essere compiute in un ordine che è quello inteso perché la soluzione possa essere raggiunta. Cambiare l’ordine delle operazioni non garantisce che il problema possa essere risolto. Inoltre si noti che le operazioni da compiere sono di vario tipo: imperativi semplici (come “Frequentare”) o complessi (nel senso che presuppongono che si conosca a priori come svolgere tale operazione (ad esempio “Studiare” è un’operazione chiara, ma di per sé può essere considerata un problema, nel senso che presuppone di compiere altre operazioni, come leggere, ripetere, auto- valutarsi, ecc.).