La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Pre-corso di Informatica Facoltà di Scienze MM.FF.NN. a.a. 2006/2007.

Presentazioni simili


Presentazione sul tema: "Pre-corso di Informatica Facoltà di Scienze MM.FF.NN. a.a. 2006/2007."— Transcript della presentazione:

1 Pre-corso di Informatica Facoltà di Scienze MM.FF.NN. a.a. 2006/2007

2 Informatica Che cosè lInformatica? In Italiano: informazione + automatica In Inglese: computer science Quindi: Studia i modi per automatizzare lelaborazione dellinformazione Lo strumento primario per raggiungere questo scopo è il computer È una scienza, quindi adotta un approccio sistematico e formale

3 Informatica Concetti chiave Informazione: oggetto primario dellinformatica Elaborazione: Organizzazione Archiviazione Ricerca Calcolo Interpretazione Comunicazione Algoritmo: procedimento usato dal computer per elaborare linformazione In Italiano/Inglese si dice calcolatore/computer In Francese si dice ordinateur Ciascuno di questi termini sottolinea un aspetto particolare delle operazioni di elaborazione che si possono svolgere

4 Informatica Il concetto di Informazione Informazione è qualunque cosa che possa essere Comunicata Capita Interpretata e assimilata A questa idea corrispondono tre livelli di definizione dellinformazione: livello sintattico livello semantico livello cognitivo

5 Informatica Il concetto di Informazione Livello sintattico: Linformazione per essere comunicata ha bisogno di: Un linguaggio con cui esprimerla Esempi: litaliano, il linguaggio dei segni, il linguaggio matematico, … Un messaggio (espresso in tale linguaggio) che la codifica Esempio: un frase in Italiano Per comunicare un schedina del totocalcio mi basta un linguaggio di tre simboli 12X e un messaggio è una sequenza di tredici simboli

6 Informatica Il concetto di Informazione Esempio: il numero dieci In Italiano: dieci In Inglese: ten In notazione decimale: 10 In numeri romani: X In notazione binaria: 1010 In notazione ottale: 12 In notazione esadecimale: A Tutti questi messaggi esprimono il numero dieci, ciascuno in un linguaggio diverso, ma nessuno è il numero dieci

7 Informatica Il concetto di Informazione Livello semantico: Definisce ciò che è rappresentato in un messaggio Nellesempio precedente: il numero dieci (dal punto di vista concettuale) Il livello semantico riguarda concetti e quindi prevede un agente in grado di capire il significato veicolato dal messaggio Linterpretazione semantica di un messaggio prevede che il messaggio sia scritto secondo una sintassi nota Se scrivo X, linterpretazione cambia secondo che mi stia esprimendo in italiano, in numeri romani o nel linguaggio del totocalcio

8 Informatica Il concetto di Informazione In prima approssimazione, i computer sono macchine completamente stupide Non sono in grado di capire nessun concetto, ma solo di manipolare simboli (di un determinato linguaggio): Spostare simboli Confrontare simboli Combinare simboli In questo senso, il computer opera sempre a livello puramente sintattico

9 Informatica Il concetto di Informazione I programmi (che sono scritti da umani per svolgere compiti specifici) fanno sì che il computer manipoli linformazione a livello sintattico in modo coerente con il livello semantico che a questa informazione è associato (dagli umani, che lo capiscono) Il complesso computer/programma diventa un po meno stupido: se il programma è scritto correttamente, è in grado di veicolare messaggi che sono coerenti con la semantica ad essi attribuita (sempre dagli umani)

10 Informatica Il concetto di Informazione Esempio: Se uso un motore di ricerca su Internet e digito Università di Genova, il programma che gestisce il motore non ha idea di cosa sia luniversità e del fatto che Genova sia una città, ma mi restituirà comunque i documenti che trova che contengono la frase Università di Genova, che sono esattamente quel che voglio ottenere.

11 Informatica Il concetto di Informazione Livello cognitivo: Rigurda la conoscenza veicolata dal messaggio e segue il livello semantico Prevede lintegrazione dellinformazione data dal messaggio nel contesto della conoscenza propria di chi lo riceve Implica cioè lidea di imparare qualcosa di nuovo dai messaggi ricevuti

12 Informatica Il concetto di Informazione Il livello cognitivo è proprio degli esseri intelligenti Il trattamento automatico dellinformazione a questo livello viene studiato in alcune aree interdisciplinari che coinvolgono linformatica: Intelligenza artificiale Estrazione dellinformazione (information retrieval) Apprendimento automatico (machine learning) Con i prodotti di queste discipline i computer possono effettuare un trattamento dellinformazione a livello cognitivo (possono imparare) anche se restano ancora lontani dallessere intelligenti

13 Informatica Il concetto di Informazione Riassumendo: Il computer è una macchina che sa manipolare sintatticamente simboli in un linguaggio proprio e lo sa fare in modo molto efficiente Ci occuperemo di rappresentazione e manipolazione dellinformazione a livello sintattico (quel che fanno i computer) Vedremo i programmi (algoritmi) come strumenti per istruire il computer a manipolare linformazione sintatticamente in modo consistente con il livello semantico Rendere i computer in grado di capire e imparare è molto complicato e la scienza sta solo muovendo i primi passi in questa direzone

14 Informatica Il concetto di Algoritmo Un algoritmo è un procedimento formale per ottenere la soluzione di un problema. I problemi possono essere di qualunque natura: Calcolare la traiettoria per mandare in orbita un razzo Archiviare le fatture di unazienda Far funzionare il vostro videogioco preferito Permettervi di scrivere una lettera Spedire un …… Ciascun algoritmo risolve un problema specifico e deve funzionare su qualunque istanza di tale problema.

15 Informatica Il concetto di Algoritmo Un algoritmo consta di una sequenza di istruzioni che spiegano come affrontare il problema in dipendenza dei dati I dati sono informazioni che definiscono listanza del problema e che saranno manipolate dallalgoritmo Cambiando i dati possono cambiare le azioni che lalgoritmo prevede, ma tutto resta consistente con lidea generale di risolvere quel problema specifico Per essere eseguito un algoritmo deve essere codificato in un programma, che traduce le istruzioni in un linguaggio comprensibile al computer

16 Informatica Il concetto di Algoritmo Esempio: scattare una foto con una macchina digitale 1.Se la macchina è spenta, accenderla 2.Inquadrare il soggetto 3.Finché il campo inquadrato non va bene 1.Se è troppo largo, aumentare lo zoom 2.Se è troppo stretto, diminuire lo zoom 4.Scattare 5.Controllare la foto sul visore 6.Se è venuta male 1.Cancellarla 2.Tornare al punto 2.

17 Informatica Il concetto di Algoritmo In generale: Un algoritmo è costituito di una sequenza di passi Ci sono tre tipi di successione temporale dei passi: Sequenziale: dopo un passo si effettua il successivo Condizionale: un passo viene eseguito solo se si verifica una data condizione Iterativo: un passo viene ripetuto un certo numero di volte Le istruzioni condizionali ed iterative consentono di cambiare il flusso dellalgoritmo secondo quel che succede (ossia secondo la situazione creata dai dati su cui si sta lavorando)

18 Informatica Ricapitolando… I computer sanno solo eseguire un numero molto ridotto di operazioni sintattiche su simboli di un dato linguaggio (i numeri binari, che vedremo) Per funzionare, un computer ha bisogno di: 1.Un programma che lo istruisca su cosa fare 2.Dati sui quali agire Abbiamo quindi bisogno di tradurre sia gli algoritmi che i dati in un linguaggio comprensibile al computer Parleremo di rappresentazione e codifica dellinformazione

19 Informatica Rappresentazione dellinformazione Per rappresentazione intendiamo un modo di associare alle informazioni (semantiche) delle descrizioni sintattiche Il linguaggio naturale (per esempio, lItaliano) fornisce strumenti abbastanza completi per rappresentare la realtà, ma È molto complicato È prolisso È ambiguo In ogni caso, posso veicolare un messaggio in Italiano solo verso chi capisce lItaliano Ossia: la rappresentazione deve essere concordata tra chi produce il messaggio e chi lo riceve

20 Informatica Codifica dellinformazione Per rappresentare linformazione in modo fruibile dai computer abbiamo bisogno di codici che la possano esprimere in modo semplice, sintetico e non ambiguo. Un codice (o linguaggio) si basa su: Un alfabeto di simboli Una sintassi con cui comporre tali simboli in sequenze valide (cioè sensate) Una semantica da associare a simboli o sequenze valide di simboli Nella codifica dei dati, la semantica resterà per lo più dominio degli umani che tali dati interpretano Nella codifica dei programmi, la semantica sarà interpretata dal computer in termini di operazioni elementari che questo è in grado di eseguire

21 Informatica Codifica dellinformazione I computer hanno un grosso limite: possono gestire solo rappresentazioni finite codificate attraverso un insieme finito di simboli Dato qualunque insieme finito di n simboli, questo può essere messo in relazione con i primi n numeri interi (partendo da zero) Quindi basta trovare un modo efficiente e opportuno (per il computer) di rappresentare i numeri interi e si può in questo modo codificare qualunque rappresentazione (finita) Esempio delle carte

22 Informatica Codifica dei numeri interi Codifica decimale: Alfabeto di dieci simboli (cifre): Assumiamo per il momento di rappresentare numeri di non pi ù di n cifre Ogni numero si rappresenta con una sequenza (stringa) di n cifre A ogni cifra si assegna una semantica (quella solita) Ogni cifra ha una posizione nella sequenza e ad ogni posizione di assegna una semantica: unità, decine, centinaia, migliaia, ecc…

23 Informatica Codifica dei numeri interi Codifica decimale: La semantica di una stringa si ottiene moltiplicando ciascuna cifra per la potenza di dieci corrispondente al posto che occupa e sommando il tutto 7x1 + 2x10 + 1x100 = 127 Attenzione: con questa regola il numero 127 si scriverà in effetti e il numero più grande che si riesce a rappresentare è il Normalmente non abbiamo questi limiti perché assumiamo lesistenza di un simbolo separatore (ad esempio lo spazio) che ci indica dove inizia e dove finisce un numero

24 Informatica Codifica dei numeri interi Codifica binaria: Stesso meccanismo, ma lalfabeto è di soli due simboli: 0 1 La semantica assegnata alle posizioni in una stringa di cifre binarie corrisponde (da destra a sinistra) a potenze successive di due: 1, 2, 4, 8, 16, … La semantica di una stringa si ottiene moltiplicando ciascuna cifra per la potenza di due corrispondente al posto che occupa e sommando il tutto Quindi ad esempio il numero binario corrisponde al numero decimale 0x1+1x2+1x4+0x8+1x16+0x32+1x64+1x128 = 214

25 Informatica Numeri binari e computer Qualunque informazione rappresentata nel computer (sia dati che programmi) viene codificata in forma binaria Ragioni pratiche: I simboli 0 e 1 si fanno corrispondere a due livelli di tensione elettrica e lelaborazione dellinformazione avviene attraverso commutazioni tra questi due livelli di tensione, operati da circuiti logici, fatti di un numero elevatissimo di transistor miniaturizzati, ciascuno molto semplice Conviene costruire molti circuiti molto semplici piuttosto che meno circuiti più complessi

26 Informatica Numeri binari e computer Ragioni filosofiche: La numerazione binaria è adeguata a rappresentare il ragionamento creativo (Leibnitz, XVII secolo): ogni cifra può rappresentare una decisione (cfr istruzioni condizionali) Cè corrispondenza tra la matematica in base 2 e la logica (Boole, XIX secolo), quindi possiamo formalizzare il ragionamento (logico) attraverso procedure algoritmiche (matematiche) Si può ottenere un modello del cervello umano rappresentando una rete di neuroni ciascuno dei quali può assumere due stati attivo/inattivo (McCulloch & Pitts, 1943)

27 Informatica Numeri binari e computer Una cifra binaria (rappresentata in un computer) si chiama genericamente bit (contrazione di binary digit = cifra binaria) Un gruppo di 8 bit si chiama byte Il byte è lunità di misura usata per quantificare linformazione rappresentata in un computer (ad esempio, la capacità della sua memoria) I multipli del byte si ottengono moltiplicandolo per potenze di 2 che si avvicinano a potenze di 10

28 Informatica Numeri binari e computer NomeSimbolo Potenza di 10 Potenza di 2 Valore kilobytekB megabyteMB gigabyteGB terabyteTB

29 Informatica La memoria del computer Una memoria è un contenitore fatto di scatolette (celle) ciascuna delle quali può contenere un gruppetto di bit La capacità di una cella di memoria di solito è di qualche byte (8, 16, 32 o 64 bit) 8 bit = numeri da 0 a bit = numeri da 0 a bit = numeri da 0 a bit = numeri da 0 a circa 18,5 miliardi di miliardi Vantaggi e svantaggi di avere celle più o meno grandi

30 Informatica I dati I dati sono informazioni rappresentate secondo una certa codifica In ultima analisi, qualunque dato viene codificato attraverso numeri binari immagazzinati nelle celle di memoria del computer Per arrivare a questo possono essere però necessari diversi passaggi, che aumentano con la complessità strutturale dei dati da rappresentare

31 Informatica I dati Esempio: i numeri naturali Dobbiamo prima di tutto decidere quanti ne vogliamo rappresentare e quindi quanti bit servono per rappresentarne uno Scelto che ci servano n bit, ciascun gruppo di n bit viene interpretato come numero attraverso la regola solita dellaritmetica in base 2 Quindi per esempio se abbiamo scelto n=4 possiamo rappresentare solo numeri tra 0 e 15 e la sequenza rappresenta nellordine i numeri

32 Informatica I dati Se scegliessimo n=8 la stessa sequenza rappresenterebbe nellordine i numeri 40 e 241 Quindi: linformazione codificata nei dati si può recuperare solo se è nota la semantica del codice utilizzato per rappresentarli

33 Informatica I dati Esempio: il testo Vogliamo rappresentare sequenze composte di lettere dellalfabeto maiuscole e minuscole cifre decimali segni di punteggiatura parentesi varie simboli speciali spazi … Servirebbero almeno 7bit per rappresentare ciascun simbolo Con questo metodo è stata ottenuta la tabella ASCII, largamente usata

34 Informatica La tabella ASCII Dec Hex Oct Char Dec Hex Oct Char NUL Space ` SOH ! A a STX " B b ETX # C c EOT $ D d ENQ % E e ACK & F f BEL ' G g BS ( H h HT ) I i 10 0A 012 LF 42 2A 052 * 74 4A 112 J 106 6A 152 j 11 0B 013 VT 43 2B B 113 K 107 6B 153 k 12 0C 014 FF 44 2C 054, 76 4C 114 L 108 6C 154 l 13 0D 015 CR 45 2D D 115 M 109 6D 155 m 14 0E 016 SO 46 2E E 116 N 110 6E 156 n 15 0F 017 SI 47 2F 057 / 79 4F 117 O 111 6F 157 o DLE P p DC Q q DC R r DC S s DC T t NAK U u SYN V v ETB W w CAN X x EM Y y 26 1A 032 SUB 58 3A 072 : 90 5A 132 Z 122 7A 172 z 27 1B 033 ESC 59 3B 073 ; 91 5B 133 [ 123 7B 173 { 28 1C 034 FS 60 3C 074 < 92 5C 134 \ 124 7C 174 | 29 1D 035 GS 61 3D 075 = 93 5D 135 ] 125 7D 175 } 30 1E 036 RS 62 3E 076 > 94 5E 136 ^ 126 7E 176 ~ 31 1F 037 US 63 3F 077 ? 95 5F 137 _ 127 7F 177 DEL

35 Informatica I dati composti I dati come numeri e caratteri di testi si dicono elementari perché abbiamo una regola semplice per definire come codificarli A partire da questi, si possono definire tipi di dato più complessi, ottenuto per composizione Per esempio, la scheda di un cliente in un archivio di contabilità potrà contenere diversi campi di diverso tipo: codice cliente (numero intero) nome e cognome (stringhe di testo) partita iva (numero intero) ecc…

36 Informatica I dati multimediali Per i dati tipo musica, immagini, filmati, segnali di varia natura, il discorso è più complesso Questi dati sono per loro natura continui e possono essere rappresentati esattamente solo in modo analogico tramite altri segnali continui I computer possono rappresentare dati solo in modo digitale attraverso operazioni di campionamento e quantizzazione utilizzando come rappresentazione sequenze finite e discrete di numeri Pertanto la rappresentazione digitale dei dati multimediali è sempre unapprossimazione Esempio rappresentazione di unonda – LP vs CD

37 Informatica Segnale analogico

38 Informatica Segnale campionato

39 Informatica Struttura degli elaboratori Un elaboratore elettronico è costituito di varie parti (componenti): Per elaborare informazioni (CPU) Per immagazzinare informazioni (memoria, dischi, …) Per trasferire informazioni allinterno del computer (Bus) Per scambiare informazioni con lesterno (tastiera, mouse, schermo, stampante, …)

40 Informatica Struttura degli elaboratori Le componenti centrali sono quelle indispensabili per il funzionamento del computer: Unità di elaborazione (CPU) Memoria primaria Costituiscono il nucleo principale e di solito sono contenute su ununica scheda detta scheda madre (motherboard) In pratica è sempre indispensabile la presenza di almeno qualche altro componente che permetta allelaboratore di scambiare informazioni con lesterno

41 Informatica Struttura degli elaboratori Le componenti periferiche aggiungono altre funzionalità (spesso indispensabili in pratica per un uso normale): Dischi (hard disk, CD-ROM, DVD, …) Componenti di I/O (tastiera, mouse, schermo) Schede di interfaccia (video, audio, modem, rete, Bluetooth, USB, …)

42 Informatica Architettura interna Processore (CPU) Memoria primaria (RAM) Periferiche Bus

43 Informatica Come funziona… Come già detto, il computer da solo sa fare poche cose: spostare informazioni tra processore e memorie/periferiche, passando attraverso il bus manipolare (confrontare, combinare, cambiare) piccole unità di informazione allinterno del processore Per funzionare, ha bisogno di essere istruito da un programma I programmi: sono codificati in modo comprensibile al computer per lo più risiedono su disco per essere eseguiti, devono essere trasferiti in memoria primaria e da lì, unistruzione alla volta, transitare nel processore

44 Informatica Come funziona… Il processore: legge dalla memoria alternativamente istruzioni (pezzi di programmi) e dati scrive nella memoria dati che gli servono per continuare le sue operazioni può mandare risultati verso i dispositivi di output Tutte le comunicazioni avvengono attraverso il Bus, che è il dispositivo primario deputato a trasferire informazioni allinterno del computer

45 Informatica Come funziona… Processore (CPU) Memoria primaria (RAM) Bus Disco Caricamento programma Esecuzione istruzioni

46 Informatica Come funziona… Processore (CPU) Memoria primaria (RAM) Bus Disco Trasferimento dati Caricamento dati

47 Informatica Come funziona… ProcessoreMemoria primaria Bus Disp. Output Risultati Disco

48 Informatica La memoria La memoria è organizzata a celle Ogni cella può contenere ununità di informazione (multiplo del byte) Le celle sono numerate a partire da zero Il numero dordine di una cella è il suo indirizzo Il processore individua una cella attraverso il suo indirizzo e può: leggere il suo contenuto scriverci dentro un nuovo contenuto La struttura logica è analoga per tutti i tipi di memorie (RAM, dischi, …)

49 Informatica Il bus Il bus connette tra loro i vari componenti del computer Vi transitano tutte le informazioni che vengono trasferite da un componente allaltro Ha una struttura a corsie: corsia per i dati corsia per gli indirizzi corsia per i comandi Indirizzi Dati Comandi

50 Informatica Il bus Lettura di un dato: nella corsia degli indirizzi compare lindirizzo della cella da cui il dato va letto nella corsia dei comandi compare un comando di lettura nella corsia dati viene messo il dato ottenuto a seguito della lettura in questo caso il destinatario della lettura è il processore

51 Informatica Il bus Scrittura di un dato: nella corsia degli indirizzi compare lindirizzo della cella in cui il dato va scritto nella corsia dei comandi compare un comando di scrittura nella corsia dati viene messo il dato da scrivere in questo caso il destinatario della scrittura è la cella di memoria Le periferiche vengono trattate in maniera simile alla memoria

52 Informatica Il processore (CPU) Componenti principali: Unità aritmetico-logica (ALU): esegue le istruzioni che sono di tipo aritmetico (per esempio, somma) oppure logico (per esempio confrontare se due valori sono uguali) Unità di controllo: prende istruzioni e dati dalla memoria e comanda la ALU, quindi comanda il flusso dellesecuzione Registri: sono una (piccola) memoria privata della CPU in cui immagazzina temporaneamente i dati su cui sta lavorando

53 Informatica I programmi Già visto che: Sono sequenze di istruzioni che possono essere eseguite dal computer Codificano algoritmi Vengono caricati in memoria ed eseguiti unistruzione alla volta Possono produrre risultati che vengono scritti o visualizzati sulle periferiche Tipologie di programmi: batch: gira in modo autonomo (esempio: antivirus) interattivo: prevede azioni da parte di un utente (esempio: videogioco, browser internet, posta elettronica, …)

54 Informatica Il sistema operativo Il programma dei programmi: permette al computer di funzionare è il primo a partire quando si accende il computer e lultimo a fermarsi gestisce autonomamente tutta una serie di processi batch permette allutente di interagire per lanciare altri programmi nei computer odierni, linterazione avviene attraverso uninterfaccia grafica (sistema a finestre)

55 Informatica Il sistema operativo Sistemi operativi per personal computer: Linux: per architettura PC, codice open source su base Unix, diverse interfacce utente MacOS: per architettura Apple Macintosh, propretario su base Unix (solo dalle ultime versioni) Windows: per architettura PC, proprietario Dal punto di vista dellarchitettura possono essere molto diversi uno dallaltro Dal punto di vista dellutente, a grandi linee si somigliano tutti, mentre differiscono nei dettagli, che possono anche cambiare tra versioni diverse dello stesso sistema Un programma per funzionare deve essere compatibile con larchitettura hardware e con il sistema operativo Spesso i programmi applicativi sono disponibili in diverse versioni per i vari sistemi operativi

56 Informatica Interfaccia grafica Modo intuitivo di gestire linterazione tra programma e utente Di solito basata su finestre, menu, cursori, ecc… Lutente agisce con mouse e tastiera e vede un effetto grafico delle sue azioni sullinterfaccia grafica In realtà, il computer collega le azioni compiute dallutente con operazioni di elaborazione dei dati che non sono sempre immediatamente visibili Esempi on-line

57 Informatica I file I dati ed i programmi sono mantenuti su disco in contenitori logici detti file Un file è una sequenza di codici (numeri binari) organizzati in modo da essere riconoscibili da un determinato programma Un file eseguibile codifica un programma ed è riconosciuto come tale dal sistema operativo Un file di testo è visualizzabile e leggibile mediante programmi per lelaborazione di testi Ci sono file che codificano immagini, filmati, musica, archivi, pagine internet, dati di diversa natura necessari al funzionamento di programmi

58 Informatica I file Ogni file ha un nome e può avere unestensione Lestensione è un suffisso che aiuta a capire quali sono i programmi in grado di riconoscere quel tipo di file.exe : programma eseguibile.txt : file di testo.html : pagina web.pdf : documento leggibile con programmi tipo Acrobat reader.doc : documento di testo gestibile con Word.jpg : immagine codificata in formato jpeg.wav : formato file audio campionato.mp3 : formato file audio compresso.avi : formato video visualizzabile con programmi appositi.vob : formato video mpeg2 (standard DVD).zip : archivio compresso

59 Informatica Le cartelle (directory) Lo spazio su disco è organizzato logicamente in modo gerarchico mediante cartelle Una cartella è un contenitore (come in uno schedario) che può contenere file oppure altre cartelle Si accede ad un file specificando in che cartella si trova e mediante il suo nome (che deve essere unico allinterno di tale cartella) Esempi on-line

60 Informatica Come opera un programma interattivo Avvio (da interfaccia grafica, di solito mediante doppio click del mouse sullicona del programma o di un file che è previsto sia gestibile con quel programma): trasferimento del programma da disco a memoria RAM il sistema operativo associa lazione di avvio ad un file eseguibile che è residente su disco copia il contenuto di tale file nella memoria RAM inizializzazione: la CPU incomincia ad eseguire le istruzioni in modo autonomo di solito questa parte serve a compiere operazioni preliminari che preparano il programma ed affrontare linterazione con lutente

61 Informatica Come opera un programma interattivo Interazione: secondo i casi, il computer può aspettare che lutente faccia qualcosa, oppure continuare ad eseguire il codice in modo autonomo, ma controllando allo stesso tempo se ci sono azioni dellutente ad ogni azione dellutente corrisponde una reazione del programma che può modificare i dati o produrre un risultato le azioni dellutente devono essere prevedibili, ossia il programma assume che lutente possa effettuare un determinato numero di azioni elementari (spostare il mouse, schiacciare un tasto, …) ed associa ad ognuna di queste azioni uninsieme di operazioni che il computer compie la reazione del computer può dipendere anche dal momento in cui lutente compie unazione e dallo stato in cui si trova il programma Esempi videogioco e text editor

62 Informatica Come opera un programma interattivo Caricamento dati: se avvio il programma attraverso un file di dati, il programma si mette a lavorare automaticamente su quei dati altrimenti il programma prevede che lutente possa decidere di caricare un file di dati mediante unazione apposita Elaborazione dati: avviene in corrispondenza di determinate azioni decise dallutente in linea di massima il risultato delle elaborazioni è volatile, cioè va perso se il programma termina lesecuzione

63 Informatica Come opera un programma interattivo Salvataggio dati: in conseguenza di un comando esplicito da parte dellutente, il programma salva su disco i risultati dellelaborazione effettuata in questo modo i risultati diventano permanenti

64 Informatica File di testo e text editor Un file di testo codifica una sequenza di caratteri (lettere, cifre, segni ortografici, spazi, a-capo) Ogni carattere viene codificato secondo una tabella predefinita (ad esempio la tabella ASCII) Un programma di text editor permette di gestire file di testo: visualizzare o stampare il testo aggiungere testo cancellare testo modificare testo

65 Informatica File di testo e text editor Il testo è organizzato per righe Ciascuna riga è una sequenza di caratteri Il text editor capisce dove finisce una riga da simboli speciali presenti nei dati Un cursore sul testo visualizzato rappresenta il punto del testo in cui lutente può intervenire Il cursore si sposta con il mouse o con le frecce sulla tastiera Il text editor offre diversi ausilii tipo: possibilità di evidenziare una parte di testo e duplicarla oppure spostarla in un punto diverso possibilità di cercare una parola nel testo e sostituirla con unaltra ecc… Esempio con notepad

66 Informatica Word processor Programmi più evoluti permettono di gestire molte altre caratteristiche della composizione di testi: uso di caratteri di diverse dimensioni e in diversi stili e colori organizzazione in capitoli, paragrafi e per punti giustificazione del testo tabelle inserimento di disegni, immagini, … ecc… Questi programmi prevedono dati codificati in un formato più complesso I codici che rappresentano i caratteri di testo sono inframezzati da codici che dicono quale stile di carattere usare, dove comincia un paragrafo, come è strutturata una tabella, ecc… Esempio con word

67 Informatica Compressione dei file Linformazione codificata in un file non sempre occupa il minimo indispensabile di spazio Esistono algoritmi (e programmi) per comprimere file in modo da archiviarli occupando meno spazio su disco Per essere utilizzato, un file compresso deve prima essere decompresso Esistono due categorie di algoritmi di compressione: lossless, cioè senza perdita di informazione lossy, cioè con perdita di informazione

68 Informatica Compressione dei file Gli algoritmi lossless si possono applicare a qualunque tipo di file, infatti il contenuto del file può essere ripristinato al suo stato originale mediante decompressione Gli algoritmi lossy si possono utilizzare solo per tipologie specifiche di dati che siano immediatamente fruibili dallutente di solito si applicano a: immagini (jpeg), filmati (mpeg4, divx), musica (mp3), rappresentazioni di oggetti geometrici, … alla perdita di informazione corrisponde un degrado nella qualità dei dati, che spesso non è immediatamente percepibile non si possono mai applicare a programmi o file di dati utilizzati da programmi, che richiedono sempre lintegrità di tutta linformazione, bit per bit

69 Informatica Le reti di calcolatori I computer si possono collegare tra loro per formare reti Una rete permette ai computer di scambiare tra loro informazioni e condividere risorse (hardware, come dischi e stampanti, oppure software, come programmi e basi di dati) Due tipi principali di reti: rete locale (LAN): gruppo limitato di computer presenti in un edificio o unarea ristretta – Alta condivisione di risorse rete geografica (WAN): molti computer su unarea estesa Internet: la rete delle reti

70 Informatica Internet e il World Wide Web Sviluppo: : primi studi al MIT 1967: progetto ARPANET del ministero della difesa USA sulla sicurezza delle reti telefoniche concetto di nodo critico e resistenza ai guasti meccanismo di routing inizio anni 70: crescita di ARPANET e concetto di internetworking (compatibilità tra gli standard di comunicazione) Domain name system (DNS) Protocollo di comunicazione TCP/IP 1984: National Science Foundation finanzia la progettazione della prima rete nazionale civile che collega tra loro moltissime reti private (tra cui ARPANET) 1995: adozione del nome Internet Il World Wide Web è linsieme di documenti ipertestuali messi a disposizione su Internet (pagine web ecc.)

71 Informatica Internet e il World Wide Web Nomi e indirizzi: ogni computer collegato a Internet costituisce un nodo della rete ogni nodo ha un indirizzo univoco, detto numero IP costituito di quattro numeri tra 0 e 255 separati da punti ad esempio è il numero IP del server web dellUniversità di Genova i numeri IP sono amministrati da autorità nazionali coordinate tra loro in modo che non ci siano doppioni un nodo che vuole rendere disponibile risorse sul web di solito ha anche un nome costruito secondo la sintassi DNS ad esempio il server dellUniversità di Genova si chiama e quello della facoltà di scienze si chiama non cè relazione diretta tra un nome e il corrispondente numero IP per risolvere lassociazione tra nome e numero IP sono disponibili sulla rete nodi DNS che offrono questo servizio

72 Informatica Come ci si collega a Internet Nel caso di una rete locale, serve un router (apparato apposito per uscire dalla rete locale) e un nodo già collegato alla rete con in quale realizzare un collegamento diretto la rete locale di solito riceve un pool di numeri IP che può assegnare ai suoi computer Nel caso di un privato, il router è sostituito da un modem o altro apparato che permette di collegarsi mediante rete telefonica ad un internet provider che è collegato in rete e fornisce il servizio di collegamento il numero IP assegnato dal provider di solito è provvisorio e non è pubblico, nel senso che è visibile solo allinterno della sottorete del provider

73 Informatica Cosa offre Internet pagine web (protocollo http) posta elettronica ( ) (protocollo smtp) trasferimento di file da un computer ad un altro (protocollo ftp) uso di un computer da remoto (protocollo telnet) gruppi di discussione (newsgroup) (protocollo nntp) altri protocolli sono disponibili ad esempio per videoconferenza, telefonia VoIP, sistemi di condivisione file Peer-to-peer, videogiochi su rete

74 Informatica I browser per Internet programmi per accedere a Internet di solito gestiscono diversi protocolli (per lo meno http) forniscono uninterfaccia grafica per la visualizzazione di ipertesti spesso forniscono anche uninterfaccia per la posta elettronica (smtp) e/o per trasferire file (ftp) sono in grado di chiamare programmi accessori (plugin) ad esempio per ascoltare audio, vedere video, o eseguire programmi browser più comuni: Microsoft Internet Explorer, Mozilla Firefox, Netscape Navigator, Opera

75 Informatica Navigare Internet con il browser si può accedere direttamente ad un sito digitando il suo indirizzo (URL) di solito si accede a documenti ipertestuali che possono contenere: testo immagini link ad altri documenti accesso a filmati e/o musica i link sono visualizzati come parti di testo o immagini sulle quali su può fare click con il mouse fare click su un link fa sì che il browser carichi un altro documento a cui tale link fa riferimento Esempi on-line

76 Informatica La posta elettronica Permette lo scambio di messaggi di testo attraverso Internet Su una rete connessa a Internet può essere attivo un server di posta elettronica Ogni utente di quella rete riceve un indirizzo univoco di posta elettronica al quale può ricevere messaggi Per consultare la propria posta e spedire messaggi è necessario un servizio di posta elettronica connesso al server: programma per l (può essere incorporato nel browser) oppure un servizio Web per l

77 Informatica La posta elettronica I programmi di devono essere collegati al server: pop o imap per ricevere la posta smtp per spedire la posta Devono essere inoltre configurati con i dati del mittente (nome, indirizzo di , ecc.) Permettono di: controllare la lista dei messaggi ricevuti leggere un messaggio scrivere e spedire un messaggio a uno o più indirizzi cancellare o archiviare messaggi I messaggi sono organizzati in cartelle (come i file) una cartella per i messaggi ricevuti una per le copie di quelli inviati una per quelli buttati (cestino) diverse cartelle locali per quelli archiviati Si possono spedire documenti (file) allegati ai messaggi

78 Informatica I motori di ricerca Servizi Internet per reperire risorse sul Web tramite parole chiave Si accede tramite una pagina Web: (oppure Questa prevede sempre uno spazio in cui lutente può inserire una query Una query è un insieme di parole chiave che designano largomento che interessa allutente Il motore di ricerca cerca su Internet tutti i documenti ipertestuali che contengono quelle parole chiave e ne riporta un elenco

79 Informatica I motori di ricerca Come si struttura una query: in generale, il motore cerca i documenti che contengono qualunque parola tra quelle inserite nella query riporta i risultati in ordine di rilevanza, quindi ci saranno prima quelli che contengono più parole e/o in cui queste sono vicine nel testo se si vuole che un termine sia necessariamente nel testo bisogna farlo precedere da un segno + se si vuole cercare unintera frase bisogna scriverla tra virgolette se si vuole escludere un termine dalla ricerca bisogna farlo precedere da un segno – ci sono molti altri trucchi che si possono usare per rendere più efficiente e precisa una ricerca


Scaricare ppt "Pre-corso di Informatica Facoltà di Scienze MM.FF.NN. a.a. 2006/2007."

Presentazioni simili


Annunci Google