ISTITUTO “ANGIOY” - CARBONIA NOZIONI DI BASE DELL’INFORMATICA Dispense per le classi prime degli indirizzi Grafica e Comunicazione e Liceo Scientifico opzione Scienze Applicate Prof. G. Ciaschetti Informatica: La parola proviene dall’unione delle parole Informazione e Automatica, e riguarda il trattamento automatico (al computer) delle informazioni. Per capire cosa significa trattamento automatico, prendiamo ad esempio una lavatrice, nella quale inseriamo la roba sporca e il detersivo, ed essa in modo automatico effettua un trattamento della roba per ottenerla pulita a fine lavaggio. Allo stesso modo, un computer acquisisce dei dati sui quali devono essere effettuate delle elaborazioni (per mezzo di un programma specificato dall’uomo), ed in modo automatico, fa alcuni calcoli e trova nuovi dati, cioè nuove informazioni, e le rende disponibili all’uomo. Ad esempio, potremmo scrivere un programma per il calcolo della media dei voti di un alunno: in questo caso, devono essere inseriti nel computer i dati del problema (i singoli voti delle diverse materie), dopo di che esso li sommerà e dividerà il totale ottenuto per il loro numero, ottenendo una nuova informazione: la media richiesta. La situazione è descritta nella figura seguente: In realtà, sia la lavatrice che il computer sono macchine “stupide”, ed è l’uomo a dirgli cosa devono fare. Questo avviene specificando degli opportuni programmi! Programma: è una sequenza di comandi che un esecutore deve compiere, descritta in modo che l’esecutore stesso possa comprenderla. Quando l’esecutore è la lavatrice, la sequenza di comandi si chiama programma di lavaggio e viene specificata scegliendo appositi tasti o girando delle opportune ghiere poste sulla lavatrice stessa. Quando l’esecutore è il computer, è il programmatore che scrive il programma, cioè la sequenza di istruzioni che il computer dovrà compiere, utilizzando un qualsiasi linguaggio di programmazione (come ad esempio VisualBasic, C++, Java, ecc.). La situazione è descritta nella figura seguente: Un programma è un’entità statica: risiede solitamente sull’hard disk (o su qualche altro dispositivo di memorizzazione) e sta lì fermo fino a quando non ne chiediamo l’esecuzione. Processo: Un processo è un programma in esecuzione. Se un programma è un entità statica, un processo è un’entità dinamica. Nel momento in cui facciamo doppio click su un programma, richiedendone l’esecuzione, stiamo creando un processo. Questo inizia a richiedere l’uso delle risorse HW del computer (memoria RAM, processore, ecc.) per poter essere eseguito. Per visualizzare la lista dei processi in esecuzione sul computer, è possibile avviare lo strumento task manager (premendo insieme i tasti CTRL + ALT + CANC), e da qui è anche possibile eventualmente terminare un processo o un’applicazione bloccata. Hardware: E’ l’insieme delle parti fisiche del computer, quelle tangibili (che si possono toccare). Hard in inglese significa duro, e riguarda appunto tutte le parti “dure” del computer. Sono esempi di hardware il mouse, la tastiera, il microprocessore, la memoria RAM, l’hard disk, il monitor, la stampante, ecc. Software: E’ l’insieme delle parti logiche del computer, quelle non tangibili (che non si possono toccare). Soft in inglese significa tenero, e riguarda tutte le parti del computer che non sono fisicamente tangibili. Riguarda tutti i programmi che risiedono sul computer. Il software si divide in due grandi categorie: - Software di base (il sistema operativo) - Applicazioni (tutti gli altri programmi) Sistema operativo: E’ un insieme di programmi che gestiscono e rendono disponibili ad altri programmi (detti applicazioni) le risorse hardware del computer. Secondo il classico schema a buccia di cipolla, il Sistema Operativo controlla direttamente l’hardware del computer, mettendolo a disposizione dei programmi che ne fanno richiesta. Ad esempio, se stiamo usando un programma come Word e chiediamo di stampare il nostro documento, la richiesta arriverà al Sistema Operativo che si occuperà di far scegliere la stampante e le opzioni di stampa, e che invierà alla stampante il documento da stampare. E’ il Sistema Operativo che controlla la stampante e la rende disponibile a Word. Un altro modo possibile per definire il Sistema Operativo è come interfaccia tra uomo e computer. Infatti, quando accendiamo il computer, il Sistema Operativo ci mette a disposizione un ambiente nel quale è possibile effettuare tutta una serie di operazioni come avviare programmi, copiare, spostare o organizzare file in cartelle, visualizzare lo stato della macchina, ecc. Sono esempi di Sistemi Operativi tutti quelli della famiglia Windows (XP, Vista, 7, ecc.), quelli Linux (Ubuntu, Debian, Edubuntu, ecc.), che è la versione gratis e open source di Unix, il primo vero sistema operativo della storia, poi il sistema operativo MacOS dei computer Apple, ecc. Ci sono anche i Sistemi Operativi dei dispositivi mobili (smartphone), come Windows Mobile, Android, Symbian, ecc. Applicazioni: Sono tutti gli altri programmi. Ci sono diverse categorie di applicazioni: - Applicazioni per comunicare: rientrano in questa categoria programmi di messaggistica come Messenger o Skype, social network come Facebook o Twitter, programmi per la posta elettronica (Outlook, Thunderbird, ecc.) o per scrivere su forum di discussione (Newsreader) - Applicazioni per il World Wide Web (www): sono i programmi che permettono di vedere le pagine Internet, e si chiamano browser. In questa categoria rientrano programmi come Internet Explorer, Mozilla Firefox, Google Chrome, Opera, ecc. - Altre applicazioni su internet: su Internet è possibile trovare tutta una serie di altre applicazioni, come i sistemi informativi distribuiti, quelle per il commercio elettronico, per le transazioni bancarie, per le aste, per le scommesse, per il poker online, ecc. - Applicazioni per giocare: tutti i videogiochi rientrano in questa categoria - Applicazioni per ufficio: tutto il pacchetto Microsoft Office (che comprende Word, Excel, Power Point, Access) o il suo equivalente gratuito e open source OpenOffice (i cui programmi si chiamano Writer, Calc, Impress e Base). - Applicazioni di utilità: sono tutti i programmi che proteggono il computer (come antivirus o firewall), i programmi che ci aiutano a fare conti (calcolatrice), i programmi che comprimono e decomprimono file (zip), i programmi per tenere il computer efficiente (defrag, editor del registro di configurazione, configuratore di Windows, Ccleaner, ecc.). - Compilatori: sono programmi che trasformano un programma scritto in un linguaggio di programmazione (come ad esempio C, Visual Basic, C++, Delphi, Pascal, Java, Pyton, ecc.) in un programma scritto nel linguaggio binario del computer, fatto di 0 e 1, che si chiama programma eseguibile. - Programmi propri: sono i programmi scritti da noi. Dati vs. Informazioni: I dati sono delle grandezze che vengono inserite nel computer, e memorizzate al suo interno. Esso li elabora e produce nuovi dati, che sono significativi per l’uomo. Le informazioni sono il significato che l’uomo attribuisce ai dati. Ad esempio, se diciamo che Andrea ha 14 anni, il dato è “14” e l’informazione è “età di Andrea”. Ad esempio, se diciamo che il ragazzo delle pizze si chiama Marco, il dato è “Marco” e l’informazione è “nome del ragazzo delle pizze”. Il computer lavora con i dati, e non ne conosce il loro significato. Quando memorizziamo nel computer, ad esempio, il dato 2012, dal punto di vista del computer questo potrebbe essere l’anno corrente, il prezzo di una bicicletta, il numero di CD della mia collezione, ecc. Il computer non sa di cosa si tratta! Non conosce, non è in grado di capire, cosa significa quel dato. E’ l’uomo, invece, a dare un significato ai dati. Per l’uomo, ogni dato ha una particolare rilevanza, e un suo preciso significato. Facciamo un esempio: se scriviamo un programma per calcolare la media delle età di Anna (14 anni) e Marco (18 anni), e vogliamo che il computer faccia questo calcolo, abbiamo la seguente situazione: Al computer diamo i seguenti dati, “14” e “18”, che per noi uomini significano “età di Anna” ed “età di Marco”. Il computer esegue alcuni calcoli su questi dati (un’elaborazione dei dati), e produce nuovi dati, il “16”, cioè nuove informazioni per noi uomini “l’età media tra Anna e Marco”. Input: Sono i dati che vengono inseriti nel computer. Tutti i dispositivi che servono a inserire dati nel computer si chiamano dispositivi di input. Sono, ad esempio, dispositivi di input la tastiera, il mouse, la tavoletta grafica, lo scanner, la webcam, il microfono, il lettore CD, ecc. Il termine input viene dall’inglese to put in, che significa mettere dentro, e si riferisce infatti a immettere i dati dentro al computer. Output: Sono i dati che vengono presi dal computer e posti all’esterno per renderli visibili (o ascoltabili) all’uomo. Tutti i dispositivi che servono a prendere dati dal computer e renderli fruibili all’esterno si chiamano dispositivi di output. Sono, ad esempio, dispositivi di output la stampante, il monitor, il plotter, il masterizzatore, le casse, ecc.. Il termine output viene dall’inglese to put out, che significa mettere fuori, e si riferisce appunto a prendere i dati da dentro al computer e farli vedere all’esterno. Sistema: E’ un insieme di elementi che interagiscono tra loro per raggiungere un obiettivo comume. Abbiamo già visto qualche esempio di sistema: il Sistema Operativo. Confrontando la definizione precedente di sistema, e quella di Sistema Operativo, possiamo vedere che esso è un insieme di elementi (programmi) che interagiscono tra loro per raggiungere un obiettivo comune (mettere a disposizione le risorse HW del computer alle varie applicazioni). Inoltre, c’è il Sistema di Elaborazione (altro modo per chiamare il computer), che è un insieme di elementi (tutti i componenti HW e SW del computer) tra loro interagenti per raggiungere un obiettivo comune, cioè l’elaborazione dei dati. Esistono altri esempi di sistema, non necessariamente legati al mondo del computer: abbiamo sentito parlare tante volte, ad esempio di Sistema Nervoso (l’insieme di cervello, nervi, muscoli, ecc., che interagiscono per l’obiettivo di farci muovere), Sistema Digerente (l’insieme di bocca, faringe, esofago, stomaco, ecc. che interagiscono per l’obiettivo comune di farci assimilare le sostanze nutrienti – vitamine, proteine, ecc. – dal cibo), Sistema Solare, Sistema Scolastico, ecc. Comunicazione: E’ la trasmissione di un messaggio da un entità detta trasmittente a uno o più entità dette riceventi. La comunicazione può riguardare il mondo del computer, e in questo caso si parla di telematica, oppure no: i segnali di fumo, il telefono, o anche il solo gesticolare, ad esempio, sono mezzi di comunicazione che normalmente le persone usano anche senza l’ausilio del computer. Nel mondo dei computer, la comunicazione prevede la trasmissione di un segnale digitale (sequenza di bit 0-1) tra due computer, mediante un cavo elettrico oppure a distanza (comunicazione wireless). Perché sia possibile la comunicazione c’è bisogno di: - un trasmittente - uno o più riceventi - un mezzo trasmissivo capace di portare il messaggio da una parte all’altra (filo elettrico, aria, ecc.) - un sistema di codifica del messaggio comune a trasmittente e ricevente. Quest’ultimo punto, sarà spiegato meglio nelle prossime due definizioni. Linguaggio: E’ l’insieme delle parole che possono essere formate, a partire da un alfabeto, per comporre il messaggio. Prendendo un alfabeto di partenza (ad esempio, quello italiano che ha 21 lettere, o quello inglese che ne ha 26, o quello binario che ne ha solo 2, cioè i simboli 0 e 1), e componendo parole combinando insieme le lettere dell’alfabeto, possono uscire fuori parole che hanno un significato, e che appartengono al linguaggio, oppure parole che non hanno un significato, cioè che non appartengono al linguaggio. Ad esempio, in lingua italiana, mettendo insieme alcune lettere dell’alfabeto possiamo avere PRIPIPITTERO (non appartiene al linguaggio) BRAVO (appartiene al linguaggio) AHGTRZ (non appartiene al linguaggio) SOLTANTO (appartiene al linguaggio) Il linguaggio spesso viene chiamato anche semplicemente lingua. Si pensi, ad esempio, al dizionario della Lingua italiana: comprende tutte le parole che fanno parte del linguaggio che noi usiamo per comunicare. Codice: E’ l’insieme delle regole che si usano per comporre il messaggio, mettendo insieme le parole del linguaggio che si sta usando. Perché il messaggio abbia senso, e sia capito oltre che ricevuto, occorre che esso sia composto in modo opportuno, usando delle regole condivise tra chi trasmette e chi riceve. Nella lingua italiana, queste regole sono la grammatica: se componiamo il messaggio usando le parole e disponendole a caso, nessuno capirebbe cosa stiamo dicendo. Ad esempio: IL PROFESSORE DI INFORMATICA SI ASPETTA CHE IO STUDI QUESTA LEZIONE è un messaggio composto seguendo le regole della grammatica italiana, che essendo condivisa con chi riceve il messaggio, può essere capito. Se non avessimo usato tali regole, avremmo potuto avere ad esempio un messaggio del tipo: IL SI INFORMATICA STUDI PROFESSORE LEZIONE IO QUESTA CHE ASPETTA DI Come si vede, nonostante il messaggio sia composto da parole che appartengono al linguaggio, esse non sono combinate insieme in modo comprensibile, cioè non seguono il codice opportuno.