













Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Sintesi Fluency capitolo 1-5-7-11-12
Tipologia: Sintesi del corso
1 / 21
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!














1.1 I concetti principali dell’informazione Gli sviluppi più importanti che hanno portato la computazione digitale al livello odierno sono: la digitalizzazione delle informazioni; il computer che memorizzano i programmi; il transistor; i circuiti integrati; il computer “personali”; l'Internet; il World Wide Web; lo sviluppo “a strati” di software. Alcune pietre miliari nel campo dei computer sono: 1943 negli Stati Uniti, nel Regno Unito e in Germania si realizzano i primi computer 1960 Kilby inventa il circuito integrato 1969 ARPANet invia il primo pacchetto 1973 nasce Internet 1975 Allen e Gates fondano Microsoft 1984 Lancio di Macintosh 1993 World Wide Web 1997 Registrazione di Google.com 2004 Lancio di Firefox 2005 Registrazione di Facebook 2006 Lancio di Twitter Il termine informazione digitale significa dati rappresentati in forma numerica. Una grande novità è stata la disponibilità di macchine in grado di leggere le informazioni in forma numerica. Hollerith è stato il primo a impiegare le informazioni digitali; inoltre inventò e brevettò una macchina, tabulatrice, per codificare i dati, in forma di fori praticati su schede, e per elaborarli. (l’elaborazione del censimento del 1880 richiese ben 8 anni, nel 1890 invece richiese sol 1 anno per completare l’perazione). Come digitalizzare una scheda perforata: la scheda scorre verso sinistra, mossa da un rullo metallico. Quando un foro passa sopra il rullo, la spazzola metallica lo attraversa e chiude un contatto elettrico (es valore “2”). La macchina, in risposta a questo valore, può collocare in una pila separata tutte le schede con una perforazione sul “2”. La macchina può anche contare le schede, utilizzando un apposito contatore, che assomiglia al contachilometri di un'automobile. Le macchine tabulatrici erano apparecchi elettromeccanici (hardware), cioè realizzati con cavi, rulli e motori. Perché fossero più versatili, alle macchine furono aggiunti grandi pannelli a contatti, che consentissero ai programmatori di “ricablarle”. Il computer elettronico ha risolto questo problema (riclablaggio) utilizzando un particolare dispositivo, la CPU, che è in grado di eseguire le istruzioni conservate nella memoria del computer. Le istruzioni, quindi, passarono da essere fisiche (hard) a essere elettroniche, ossia i bit soft della memoria (da qui il nome software). I vantaggi delle istruzioni software sono: I programmi possono essere sostituiti con rapidità caricando nuove istruzioni in memoria;
da riempire un'intera stanza. Un altro problema era l'affidabilità, poiché i circuiti elettronici erano costituiti da numerose valvole, che dovevano funzionare simultaneamente, perciò era molto probabile che uno o più valvole si bruciassero all'accensione o dopo un'elaborazione prolungata, causando il blocco dell'intero computer. Nel 1947 nacque il transistor a semiconduttore. Il transistor risolveva molti dei problemi e aveva i seguenti punti forza: → basso consumo e minore produzione di calore; → grande affidabilità; → compattezza e leggerezza. Grazie ad essi i computer divennero molto più compatti, affidabili ed economici; inoltre permisero l'uso di CPU molto più complesse. Il problema dell'assemblaggio efficiente dei computer è stato risolto grazie all'integrazione. Si tratta della tecnologia del silicio, i cui punti caratteristici sono: → Circuiti integrati: blocchi monolitici (chip) in cui le parti attive, i transistor, e gli elementi di connessione, i fili, vengono fabbricati insieme in un processo multifase; → Fotolitografia: i produttori di chip stampano tutti componenti direttamente nel chip. Partendo quindi da una base di silicio puro, viene stampata la serie di strati sovrapposti, ognuno dei quali costituisce una parte dell'intero circuito. → Vantaggio della stampa: per stampare un chip, il processo di fotolitografia richiede l'impiego di una maschera per ogni strato. I vantaggi di tali processi sono stati enormi, tanto che i computer potevano essere costruiti sotto forma di piccoli chip che stanno fra due dita. I produttori di chip hanno migliorato i processi produttivi inserendo sempre più transistor in ciascun chip. Questo miglioramento è detto ” legge” di Moore , che deriva da Gordon Moore, il quale si accorse che il numero di transistor che potevano essere inseriti nel chip raddoppiava ogni anno. Grazie a questa legge i computer diventano nel tempo sempre più economici. In realtà essa non è una legge ma un'osservazione, una intuizione sullo sviluppo tecnologico. Il primo serio tentativo di creare una macchina personale fu Alto (1973) destinato agli impieghi di ufficio. Il personal computer dovette affrontare molte barriere prima di essere ampiamente accettato, poiché nessuno capiva perché avrebbe dovuto averne bisogno. Forse l'ostacolo più arduo è stato il timore che le persone adulte nutrivano nei confronti dei computer, in quanto temevano di essere considerati obsoleti, così preferivano starsene alla larga. Grazie al World Wide Web il PC attrae l'attenzione del grande pubblico. ARPANet, che è il predecessore di Internet, ha inviato il suo primo pacchetto nel 1969. In quegli anni nacque l'importanza di connettere fra loro più computer. L'idea chiave fu che queste reti distinte potessero connettersi fra loro, utilizzando un protocollo di comunicazione comune, TCP/IP. In questo modo nacque Internet che inizialmente venne impiegato per la posta elettronica e il trasferimento dei file. L'idea era quella di creare un centro online (home page) tramite cui chiunque potesse accedere a documenti, immagini e altre risorse. Per questo il protocollo HTTP è universale: quando accediamo a una pagina tramite tale protocollo, il nostro browser (client) e il server web sanno esattamente come interagire (cosa chiedere, cosa verrà restituito, come e in quale formato). Il primo browser Web fu Mosaic , di cui Firefox è nipote. Lo sviluppo di software adotta oggi un approccio a più livelli: i programmi che rientrano in un livello impiegano per le attività più primitive le funzionalità fornite dai livelli sottostanti e, nel contempo, forniscono funzionalità più avanzate ai livelli sovrastanti. I due punti chiave di questo sviluppo sono:
→ Astrazione: astrarre significa estrarre da una situazione il concetto di base, l'idea (es. la morale della fiaba) o il processo. Il concetto astratto viene normalmente espresso in un'altra forma, che è detto astrazione. In informatica è essenziale separare ciò che è rilevante da ciò che è irrilevante, e anche applicare l'astrazione ad altri casi. → Generalizzazione: generalizzare significa esprimere un'idea, un concetto o un processo che si applica a diverse situazioni. L'affermazione che riassume un’idea, un concetto o un processo è chiamata generalizzazione. Anche se le generalizzazioni non valgono sempre, riconoscerle ci dà modo di affrontare situazioni nuove ma simili. → Sintonia operativa: essere in sintonia operativa significa applicare ciò che sappiamo sul funzionamento di un dispositivo o di un sistema, per semplificarne l'uso. Tale termine evidenza il fatto che riflettere sul funzionamento dei computer li rende più semplici da usare. → Mnemonico: è un termine piuttosto inusuale, utilizzato in informatica e anche in altri campi. Un mezzo mnemonico è un ausilio per ricordare qualcosa, cioè è come un promemoria che può assumere varie forme, quali parole o frasi. 1.5 Interfaccia persona computer I computer danno sempre all'utente un feedback su quello che sta accadendo. Feedback è una qualche indicazione che il computer sta ancora lavorando oppure ha completato la richiesta. Può assumere varie forme, a seconda dell'operazione richiesta dall'utente. Se l'operazione può essere svolta istantaneamente, l'interfaccia utente (UI) indica semplicemente che l'operazione è stata completata. Un indicatore comune è lo spinner di impegno, un cerchio di rotazione costituito da una dozzina di barre radiali. Quando il tempo di completamento può essere previsto, le applicazioni mostrano un indicatore più preciso, detto barra di avanzamento o barra di progresso. Le classiche applicazioni del Desktop hanno un menù File e un menù Modifica (Edit). Le applicazioni più moderne possono utilizzare una grossa barra multifunzione, una serie di icone oppure delle azioni per visualizzare le operazioni disponibili. Queste funzioni sono così frequenti perché, se le operazioni utilizzate in un’applicazione sono presenti anche in un'altra applicazione, rende più facile l'uso e l'apprendimento della seconda applicazione. Però, il motivo principale è che alcune operazioni sono comunque fondamentali per elaborare le informazioni e pertanto l'applicazione deve averle. Quando installiamo una nuova applicazione svolgiamo due attività:
Questa caratteristica dell'informazione digitale la chiamiamo proprietà della perfetta riproducibilità. Essa però non è una proprietà dell'informazione analogica (dischi in vinile, documenti cartacei, etc). Quest'ultima infatti viene fruita o conservata su un supporto che può variare con continuità. 1.7 Ciò che vediamo e ciò che pensiamo Molte delle tecnologie che incontriamo riusciamo a usarle senza alcun aiuto. Questo perché abbiamo un grande aiuto dagli sviluppatori dei prodotti che creano nuove tecnologie in modo da ridurre al minimo i tempi di apprendimento. Una metafora (significato speciale a termini di uso quotidiano: mouse, finestra, incollare) è un'icona o un'immagine o un concetto utilizzato per rappresentare o per simboleggiare una computazione. L'esempio del controllo del volume è una metafora dell'operazione di aumentare o diminuire qualcosa che potrebbe non essere il volume. I progettisti impiegano metafore per aiutare gli utenti a utilizzare i loro apparecchi senza leggere manuali. Quando l'Alto è stato creato i progettisti introdussero per primi un’interfaccia grafica (GUI) per sostituire la classica interfaccia a riga di comando (CLI). La metafora CLI è costituita da una sequenza di comandi in stile vagamente militare. Metafora della scrivania : ciò che l'utente vede sullo schermo è una scrivania virtuale; le finestre sovrapposte sono come fogli di carta sulla scrivania. Un elemento chiave dell'interfaccia utente di Alto era il mouse, inventato nel 1967 da Engelbart, che consentiva agli utenti di focalizzarsi su parti dello schermo tramite un'operazione di puntamento. Macintosh (1984) è stato il primo vero personal computer di successo dotato di un'interfaccia grafica. Un anno e mezzo dopo Apple, Microsoft ha introdotto Windows che all'epoca introduceva l'uso dei colori nell'interfaccia. Metafora tattile (touch): un esempio è il meccanismo Cover Flow per esaminare una lista di elementi. Consiste in uno scorrimento del puntatore sopra una sequenza di elementi per far sì che questi fluiscano in modo corrispondente, con un movimento realistico. Sono disponibili altri gesti (gesture) supportati da tale metafora, come tap, doppio tap, pinch (per ridurre e ingrandire), scorrimento due dita. Il tocco rappresenta un cambiamento nel modo in cui gli utenti pensano l'interazione con il computer e questo rende le interfacce tattili una nuova metafora. Con la metafora tattile, la finestra quasi sempre coincide con lo schermo e pertanto non occorrono le barre di scorrimento. L'utente quindi usa semplicemente uno su swipe sugli elementi per spostarli rispetto allo schermo e muoversi nell'elenco. La tecnica di navigazione dimostra che la metafora è cambiata. Movimento di navigazione: nella metafora tattile, si scorre il dito verso sinistra per avanzare nell'elenco; al contrario, utilizzando le barre di scorrimento della metafora del desktop, si trascina il cursore a destra per avanzare nell'elenco. Dunque con la metafora tattile abbiamo le mani sui contenuti, mentre con la metafora del desktop scorriamo una finestra sul contenuto, non tocchiamo mai nulla. L'idea di toccare i contenuti si rafforza con i gesti multitouch, ossia che richiedono più di un dito sullo schermo (es. pinch). Gli apparati possono interagire con l'utente tramite comandi vocali (es. Siri). Dire al computer cosa fare definisce una nuova e differente metafora. Oltre ai comandi per aprire o chiudere le applicazioni, l’interfaccia vocale realizza anche alcune inferenze logiche. Tali interfacce si prestano poco a un lungo lavoro d'ufficio; infatti sono adatte ad un uso “on the road”, ossia quando l'attenzione dell'utente non può essere completamente rivolta al computer (es. durante la guida di un veicolo). Inoltre gli smartphone e tablet sono dotati di molti sensori, pertanto possono elaborare il segnale dei satelliti GPS per conoscere la propria posizione. Utilizzando questi sensori si possono realizzare interfacce che reagiscono ai movimenti fisici e alla posizione del dispositivo. pag. 5
dell'elaborazione. I concetti astratti di vero e falso usati nella logica possono essere associati alla presenza o assenza di un fenomeno. La memoria è composta di bit, cioè è composta da qualche fenomeno osservabile presente o assente. Essa richiede la capacità di assegnare lo stato di presente o assente al fenomeno utilizzato per la memorizzazione. All'interno del computer, la memoria è organizzata come una lunghissima sequenza di bit, ovvero di posizioni in cui si può impostare e successivamente rilevare un particolare fenomeno. I singoli bit sono una risorsa limitata per rappresentare le informazioni, perché possono rappresentare soltanto elementi con due valori. Per codificare l'alfabeto, per esempio, sono necessari gruppi di bit per creare un numero sufficiente di simboli: uno per lettera. Quando i bit sono disposti in sequenze di lunghezza n, possiamo creare 2n simboli diversi tra loro.
Poiché con i bit sono immediatamente disponibili 0 e 1, con il computer è sensato utilizzare i numeri in base 2, ovvero nel sistema numerico binario , invece di usare i bit per rappresentare cifre decimali. Numeri Binari contare in binario come contare in decimale, limitandosi però a usare soltanto zero e uno. Somma binaria: sommando 1 a 0 il risultato è 1, sommando 1 a 1 il risultato è 0 col riporto di 1 alla sua sinistra, e quindi applicando nuovamente la regola della somma. Esistono anche sistemi numerici strani come ad esempio quello in base 16, ovvero il sistema numerico esadecimale (hex), che ha 16 simboli, ovvero le cifre decimali seguite dalle prime sei lettere latine (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). Per gli esseri umani è difficile scrivere e ricordare lunghe sequenze di bit (es. 1000 1110 1101 1000 1010). L’esadecimale ci aiuta: ogni sequenza binaria di 4 bit corrisponde a simbolo esadecimale; quindi possiamo convertire ogni gruppo in un hex e ottenere ad es. 8E D8 A3. 5.4 Digitalizzare numeri in formato binario I primi due utilizzi della rappresentazione PandA (o binaria) furono la codifica di numeri e quella dei caratteri della tastiera. Queste 2 applicazioni sono tuttora fondamentali, ma ora le rappresentazioni di suoni, immagini, video e altri di informazioni sono quasi altrettanto importanti. I numeri binari differiscono da quelli decimali perché si limitano a due cifre, anziché disporre delle consuete dieci. Il numero delle cifre (la base del sistema di numerazione o radice) è l'unica vera differenza. Per esempio, nei numeri decimali usiamo una rappresentazione del valore della posizione in cui ciascuna “posizione” rappresenta la successiva potenza di 10, a partire da destra. Nella numerazione binaria il concetto è lo stesso, ma con le potenze di 2 (esempio: 1010 in base decimale e in base binaria ha due valori diversi → i numeri binari richiedono più posizioni di quelli decimali per rappresentare lo stesso valore). I numeri binari sono raggruppati in unità di 4 cifre separate da uno spazio. Convertire un numero binario in un numero decimale : per convertire un numero binario nel suo equivalente decimale è sufficiente sommare i valori delle posizioni contenenti degli 1 Convertire un numero binario in un numero decimale: per convertire un numero binario nel suo 5.5 Digitalizzare il testo Il numero di bit utilizzati determina il numero di simboli disponibili per la rappresentazione dei valori: una sequenza di n bit fornisce 2n simboli. Quindi più caratteri vogliamo codificare, maggiore sarà il numero dei simboli necessari. Per i testi più semplici è indispensabile avere a disposizione almeno le lettere dell'alfabeto, le cifre arabe e una dozzina di segni di interpunzione. Un insieme di 95 simboli e sufficiente per scrivere semplici testi. Per rappresentare 95 simboli ci vogliono 7 bit, in quanto 2alla7 = 128 combinazioni. Una vecchia rappresentazione a 7 bit è il codice ASCII (American Standard Code for Information Interchange). Nel caso delle codifiche, lo standard consiste in un accordo preventivo che stabilisce una volta per tutte l'associazione tra i caratteri e i simboli (cioè le sequenze di bit). A metà degli anni 60 divenne chiaro che il codice a 7 bit non bastava, quindi si decise di adottare un insieme di simboli più ampio, a 8 bit. Con 8 bit che si possono esprimere 256 combinazioni, sufficienti per esprimere i caratteri di tutte le lingue occidentali e la loro punteggiatura. pag. 7
La nuova codifica è stata chiamata Extended ASCII; oggi il suo nome ufficiale è ISO-8859-1 (Latin-1). Il codice ASCII originale ne costituisce la prima metà. Il codice ASCII esteso non è in grado di esprimere tutte le lingue naturali, ma è sufficiente per una buona parte di quelle che usano una derivazione dell'alfabeto latino. Per le altre si possono adottare due approcci:
Il ciclo macchina (Fetch/Execute) : si riferisce al processo di esecuzione di un'istruzione. Esecuzione delle istruzioni è il termine corretto per descrivere l'operato del processore. Un altro termine per utilizzato comunemente per l’esecuzione delle istruzioni è “interpretazione “delle istruzioni. Memoria : i bit sono un mezzo universale per le informazioni e si fa rifermento a loro come 0e 1. Questi miliardi di 0 e 1, cioè i bit, sono immagazzinati nella memoria. Sia i dati sia i programmi sono codificati in bit. Il ciclo macchina prende dalla memoria bit di dati e di programmi, e pone nuovamente in memoria bit di dati. Le parti interessanti dell'hardware componente sono il monitor RGB (che converte i bit in immagini), i transistor e i chip di silicio che li implementano. 7.2 Il software non è così difficile Le applicazioni sono software. Osserviamo qualche caratteristica del codice: → È molto rado; ogni riga contiene solo pochi simboli. Non serve digitare molto per creare software. → Gran parte delle parole sono inglesi come if, function, else, etc. Indicano costrutti disponibili ai programmatori. → Alcune parole inglesi sono unite tra loro, come GetElementByID ( ) che si riferiscono a operazioni o a valore dei dati (es. saluto). Basta un refuso per creare un bug che nel programma. I bug sono dovuti a errori nel codice che dipendono dai programmatori che derivano da algoritmi in parte errati. Tutti i linguaggi hanno un'istruzione denominata if che pone una domanda di tipo vero/falso; se il computer trova che la risposta è vero (true) procede in un certo modo; se invece è falso (false) procede in un altro. La “domanda test” vera e propria è tra le parentesi che seguono la parola if; il resto di questo codice indica il da farsi, a seconda del risultato. Il test può essere vero, oppure falso, quindi i possibili risultati sono solo due. L'istruzione else invece è caso di “altrimenti”. Nello stack software del sistema operativo, le applicazioni si trovano al di sopra dei linguaggi di programmazione; l'hardware si trova al di sotto del sistema operativo. Nel mezzo si trovano i livelli di software comune utilizzato dalle applicazioni. I livelli sono solamente raggruppamenti concettuali di software che esegue attività simili. Ogni livello è costruito con il codice dei livelli sottostanti, in basso si trova nei livelli più primitivi e procedendo verso l'alto si incontrano livelli generali e sofisticati. Potendo usare programmi esistenti, i programmatori possono concentrarsi su protezioni nuove e interessanti, invece di riscrivere continuamente codici già scritti da altri per eseguire la stessa operazione. Questo si chiama impegno condiviso. Il software disponibile nello stack può avere un'ampia diffusione. Ad esempio se viene aggiunto un codice nello stack del software questo diviene disponibile per qualsiasi applicazione perché il codice è effettivamente lo stesso. Questo si chiama ampio utilizzo e coerenza. 7.3 Motore di esecuzione delle istruzioni Il computer può essere definito con un “ motore di esecuzione delle istruzioni”. Il “motore” è il ciclo macchina (fetch/execute), che è implementato nell'hardware. Questo ciclo consiste nel prelevare discussione successiva, decidere cosa fare, ottenere i dati necessari, eseguirla, salvare il risultato e poi ripetere il ciclo. I cinque passi del ciclo macchina hanno nomi standard e spesso sono indicate con una freccia che collega l'ultimo passo al primo, per mostrare che si tratta di un ciclo. Essi sono:
unità aritmetica/logica (ALU), unità di input e unità di output. In aggiunta c'è anche il bus di comunicazione , che permette lo scambio di dati tra le altre componenti. Osserviamo le caratteristiche dei cinque sottosistemi
1. Memoria : Contiene sia il programma in esecuzione, sia i dati su cui questo opera; ha le seguenti proprietà: → Locazioni discrete : la memoria è organizzata in una lunga sequenza di locazioni discrete. Nelle memorie moderne, ciascuna locazione composta da 1 byte (una sequenza di 8 bit). → Indirizzi: ogni locazione ha un indirizzo. Gli indirizzi sono numeri interi che iniziano da 0. → Valori: le locazioni della memoria registrano o contengono valori come in una casella postale → Capacità finita: le locazioni di memoria hanno una capacità finita cioè hanno una dimensione limitata. Locazioni in memoria da 1 byte. Le locazioni discrete sono rappresentate come riquadri, l'Indirizzo di ciascuna locazione è indicato sopra il relativo riquadro, mentre il dato contenuto nella locazione di memoria è mostrato dentro il riquadro. La dimensione di 1 byte di una locazione di memoria è sufficiente a contenere un carattere ASCII, un numero intero minore di 256 o una sequenza di 8 bit. I programmatori trattano l'indirizzo della prima locazione come se fosse l'indirizzo dell'intero blocco. Per esempio, i blocchi di 4 byte sono usati come singola unità talmente spesso che prendono il nome di parole di memoria (word). La memoria dei computer è detta ad accesso diretto o casuale. L'attributo “ad accesso casuale” significa che il computer può accedere alle locazioni di memoria in qualsiasi ordine. Una memoria grande è preferibile una piccola, perché offre più spazio disponibile per programmi e dati. Riassumendo: la memoria è come una sequenza di contenitori etichettati chiamati Locazioni: l’indirizzo di una locazione è la sua posizione nella sequenza, il dato che memorizza è il suo contenuto, ciascuna locazione può contenere solo pochi bit.
forma intermedia tra il codice (codice sorgente) e i bit necessari al processore ( codice oggetto o codice binario o semplicemente il binario). Questa forma intermedia è detta codice assembly , ed è scritta in linguaggio assembly. Il linguaggio assembly è un linguaggio di programmazione estremamente primitivo, per la stesura di codice binario in forma simbolica, ovvero utilizzando parole anziché “0” e “1” Il processo di conversione in codice assembly del codice sorgente è detto compilazione. Esiste un compilatore per tutti i linguaggi di programmazione di produzione. Quando il compilatore considera l'istruzione this.Opacity = this.Opacity + 0.02; la riconosce come codice a tre indirizzi: un operatore (+) con due operandi (Opacity e 0.02) e una destinazione del risultato (Opacity). Quindi il compilatore:
Questa tecnica, time sharing , definisce gli intervalli, che durano frazioni di secondo, assegnati ogni programma. Se il nostro computer ha più di una CPU ( multiprocessore ) oppure ha una CPU con architettura multicore (più CPU su un chip), il OS alloca i programmi in esecuzione tra le varie CPU. Se un computer è utilizzato da più utenti ( multiutenza ) l’OS gestisce questa possibilità evitando che gli utenti possano interferire fra di loro. Gli amministratori hanno la possibilità di accedere a tutti i dati e programmi. Possiamo classificare i software in due categorie: app e software di sistema. Le app sono i programmi di cui l'utente si serve quando utilizza il computer. Il software di sistema offre l'infrastruttura necessaria al funzionamento del computer e delle app. Il software di sistema, a sua volta, può essere suddiviso in software di utilità e sistema operativo vero e proprio. Il software di utilità sono programmi necessari per la gestione del computer, ossia estendono le capacità del sistema operativo (es comprimere e decomprimere i file). Alcune componenti del sistema operativo Il sistema operativo un software molto complesso. Alcune delle sue componenti sono: → Shell: è l’interfaccia con l’utente. → Kernel: è la “parte interna” del sistema operativo e contiene i programmi per le sue funzioni di base. → File manager: è la parte del kernel che gestisce i file e la memoria di massa. Gestisce l’archiviazione e il recupero dei file e le informazioni che li riguardano, quali: permessi di accesso, il programma che li gestisce, l’icona. → Driver: i driver delle periferiche sono nel kernel. → Memory manager: coordina gli accessi alla RAM da parte delle app in esecuzione; deve preoccuparsi che non ci siano interferenze fra app, ossia che due app non possano usare le stesse locazioni di memoria. A ogni app in esecuzione vengono assegnati dei blocchi di memoria, detti pagine , e il memory manager provvede a caricare nelle pagine a disposizione di ogni app sia la parte di codice in esecuzione, sia i dati che questo sta utilizzando. Ogni app può contare su una memoria virtuale, ossia una memoria che non è fisicamente disponibile, ma che la app può utilizzare come se lo fosse.
Due grandi famiglie di programmi per la scrittura al computer:
I Word processor permettono di modificare l’aspetto di un carattere, ossia il suo stile tipografico. Si cambia lo stile tipografico di un gruppo di caratteri per mettere in evidenza. Per esempio si utilizza lo stile tipografico grassetto per evidenziare parole significative o per il titolo di capitoli. Gli stili possono essere combinati per formare effetti multipli, come nel caso del grassetto corsivo. Rientrano nello stile tipografico dei caratteri anche i pedici e gli apici. STILE DI FORMATTAZIONE = meccanismo che permette di predefinire formattazioni di caratteri, capoversi e sezioni. Gli stili si possono applicare al documento intero o a sue parti, si solito si applica a:
l’ultima riga finisce nella pagina successiva; orfane = in un capoverso la prima riga rimane sola nella pagina precedente --> soluzione --> specificare la formattazione “Controlla righe isolate”. 11.7 INSERIMENTI Dal menu Inserisci vi è la possibilità di inserire elementi nella posizione del cursore. I più importanti: NOTE A PIE’ DI PAGINA O ALLA FINE DEL DOCUMENTO parti del testo che non seguono il flusso principale di esposizione, punto in cui l’autore intende fare una digressione. Le note di solito sono riportate in fondo alla stessa pagina del richiamo. IMMAGINI E TABELLE possibilità di inserire elementi non testuali nel documento INTERRUZIONI l’autore del testo può inserire specifiche interruzioni nel testo, con comandi specifici. A volte è utile vedere i caratteri invisibili che sono mostrati per mezzi di simboli convenzionali. Lo spazio bianco è mostrato con un puntino, uno per ogni carattere di spaziatura presente, e le andate a capo sono mostrate con ¶ detto “piede di mosca”, le interruzioni inserite dall’utente sono mostrate con delle linee orizzontali. SEZIONI una sezione è un blocco arbitrario di testo, che può occupare anche più di una pagina. Tutto il testo che fa parte di una sezione ne condivide la formattazione. Per definire una nuova sezione si usa il comando “interruzione di sezione” nel menu Inserisci. Nuova sezione può iniziare in una nuova pagina, oppure proseguire nella stessa pagina della precedente. 11.8 INDICI, STRUTTURA E CONTROLLI DI SCRITTURA L’adozione degli stili per la formattazione offre anche altri vantaggi:
specificata risulta evidenziata. Il comando ordina Si può trovare nei menu sotto la voce dati. Il programma applica un algoritmo analogo a quello esaminato nel capitolo 8. 12.1.3 AGGIUNGERE DATI ALLA LISTA I fogli elettronici offrono la possibilità di formattare il contenuto delle celle in modo simile a Word processor Con grassetto, corsivo, stile e dimensione dei font, giustificazione, testo colorato, colore dello sfondo e così via. Tutte queste opzioni sono disponibile tramite menu (solitamente quello di formato ) o attraverso una pulsantiera (che può anche essere molto complessa). Dare un nome a righe e colonne. I fogli elettronici sono dotati di un sistema automatico Per far riferimento alle singole celle. Questo permetterà l’utente di indicare facilmente un’intera colonna (C) O un’intera riga, come la 4, o anche una singola cella, come la B2. Questo schema, è ideale per specificare i criteri di ordinamento: è sufficiente inserire la colonna di riferimento all’interno della finestra di dialogo dell’operazione. È possibile indicare un gruppo di celle contigue specificando la prima e l’ultima e ponendo tra esse un segno di due punti (:) esempio B2:E7 Il gruppo prende il nome di intervallo di celle. Intestazioni. Sebbene il software fornisca il mezzo per far riferimento alle celle, spesso è comodo dare nomi più espressivi alle righe e alle colonne. Una prassi comune è etichettare le colonne con il tipo di dati che lo contengono. 12.2 ESEGUIRE CALCOLI CON UN FOGLIO ELETTRONICO 12.2.1 SCRIVERE UNA FORMULA Se volessimo calcolare un elemento di una lunghezza basterà moltiplicare la cella per un numero che vogliamo, Se si tratta di un solo elemento potremmo calcolarlo amano, nel caso volessimo farlo per una lista intera basterà creare una nuova colonna nella quale riportare tutte le operazioni di calcolo, esempio: Supponiamo che nella colonna G venga a contenuto il dado mi sposterò nella colonna I nella quale inserirò la formula (G2xx). Per indicare la moltiplicazione si usa l’asterisco () e non il punto o il segno “x”. Non appena Remiamo il tasto (enter) Il contenuto della cella Viene sostituito dal risultato della colonna. Le formule cominciano sempre con un segno Uguale (=) e definiscono il valore di un elemento in funzione del valore degli altri elementi. 12.2.2 RIPETERE UNA FORMULA Se volessimo ripetere l’operazione nelle righe sottostanti potremmo inserire a mano Le formule analoghe. Copia/incolla Ripetere l’operazione a mano diventa un lavoro noioso e lungo, Attraverso la funzione copia basterà copiare la cella e trascinare nella colonna il mouse fino alla riga interessata dopodiché richiamare il comando incolla. Riempimento automatico. La cella selezionata evidenziata con un bordo colorato: si chiama fill handle letteralmente, maniglia di riempimento è possibile afferrare questo quadratino con il cursore e trascinarlo lungo della colonna così facendo l’operazione definita per quella cella sarà applicata a tutte le celle selezionate. Questo processo prende il nome di riempimento automatico filling. È come un copia incolla automatico. Questo ci permette di replicare istantaneamente il contenuto di una cella ed è disponibile ogni volta che su una cella evidenziata compare la relativa “maniglia”. 12.2.3 FORMULE ASSOLUTE E RELATIVE Il foglio elettronico ha trasformato automaticamente le formule Copiare e Incollare vuol dire che abbiamo usato dei riferimenti relativi. Se avessimo usato riferimenti assoluti avremmo scritto $G$2 e HG$2 Questa formula dice al software che i riferimenti alle celle non devono essere mai cambiati, in nessun caso, e quindi neppure incollando formule o riempendo automaticamente le celle. Nel caso del riferimento relativo invece dipende dalla posizione della cella. Il programma mantiene sempre valida la relazione “stessa riga e 2 celle a sinistra” anche quando la formula viene spostata in un’altra posizione. Dal momento che fogli sono Bidimensionali, ci sono in effetti 2 modi in cui una formula può essere relativa o assoluta le combinazioni in definitiva sono 4: F2 – Colonna in riga entrambi relative; pag. 19
$F2 – Colonna assoluta, riga relativa; F$2 – Colonna relativa, riga assoluta; SF$2 – Colonna in riga entrambi assolute. Supponiamo che la cella A1 contenga il valore 1 copiando la formula =A$1+1 copiando le formule sulle righe e sulle colonne noteremo che le celle sottostanti alla colonna riporteranno sempre lo stesso numero, Ma quando facciamo la stessa cosa lungo la riga anziché la colonna se si trascina la maniglia verso destra il riferimento sarà relativo, infatti le cellule destra avranno il dato trasformato. In definitiva, il foglio elettronico ricalcola sempre le coordinate delle celle indicate in modo relativo, ma lascia mutator ogni riferimento assoluto. 12.2.4 FORMATO DELLE CELLE Tutti i fogli elettronici permettono all’utente di controllare il formato dell’informazione visualizzata. Excel di Microsoft per esempio presenta Una finestra Dove è possibile individuare il formato delle celle, L’interfaccia permette il specificare il tipo di informazione delle celle (categoria) e, nel caso della categoria scelta (Numero), il numero di cifre decimali. Inoltre possibile specificare altre opzioni Ad esempio il separatore delle migliaia e la visualizzazione dei numeri negativi e così via. 12.2.5 FUNZIONI 12.2.6 TROVARE IL MASSIMO I fogli elettronici forniscono funzioni per il calcolo di operazioni comuni come la somma (sum), la media, il massimo (max) e molte altre. Per usare una funzione e sufficiente indicare il nome e specificarne subito dopo l’intervallo di celle da prendere in considerazione. Massimo : =max(J2:J7) Scriveremo la formula in fondo Alla colonna J La formula dice al programma di trovare il massimo nell’intervallo J2:J7. La lista delle funzioni disponibili si può tenere con il comando di menu modifica>Inserisci Funzione Media: =MEDIA(J2:J7) 12.2.8 GRAFICI Un foglio elettronico è in grado di organizzare i dati e calcolare i nuovi valori, ma spesso disideriamo anche visualizzare i risultati in formato grafico. i programmi rendono questo compito particolarmente facile. Si possono trovare istogrammi, torte, dispersione linee aeree. Normalmente per visualizzare i dati che non sono correlati tra loro Si preferiscono gli istogrammi, grafici a colonne che suggeriscono l’ indipendenza delle colonne e mostrano confronto immediato. Quando si vogliono rappresentate dei valori percentuali i grafici a torta si presentano molto bene. I grafici a dispersione sono indispensabili per visualizzare serie di dati connessi fra loro. Per inserire un grafico basta selezionare i valori da rappresentare e poi fare un clic sul Grafico nel menu Inserisci. Successivamente occorre indicare il tipo di grafico Il programma Riporterà Le colonne che sono state indicate. Facendo clic sulle varie parti del grafico è possibile aprire finestre pop-up a che offrono opzioni diverse a seconda dei casi. Il grafico inoltre può essere spostato e ridimensionato indipendentemente dalle celle sottostanti. 12.3 IMPORTARE DATI In gran parte i dati che ci interessano non sono prodotti da noi, ma provengono da fonti esterne. Questo significa che probabilmente sono già stati organizzati, sotto forma di foglio elettronico. Importare dati esterni può essere facile seguendo alcune linee guida. In genere uno dei formati migliori per acquisire dati esterni in un foglio elettronico è il testo delimitato da tabulazioni. Con “testo” indichiamo una sequenza di caratteri ASCII ovvero dei file con estensione .txt In questo caso numeri come 100 saranno rappresentati da 3 caratteri anziché da un singolo o numero binario; Questo permette al foglio elettronico di convertire la codifica ASCII nella forma numerica interna preferita. “Delimitato da tabulazioni” significa che per distinguere le singole pag. 20