Introduzione all’Informatica e alla rappresentazione dell’informazione Sommario Cosa è l’informatica Rappresentazione dell’informazione Codifica dell’informazione Definizione delle nozioni di bit e di byte. Il calcolatore: principi di base Il concetto di algoritmo I linguaggi naturali e i linguaggi di programmazione I connettivi logici Il concetto di hardware e software Tipologie di calcolatori Università degli studi di Salerno Cos’è l’informatica La parola “Informatica” deriva dal francese “Informatique”e dall’unione di due termini infor(mazione) + (auto)matica. Il termine è stato coniato per denotare la disciplina che studia l’uso dei calcolatori elettronici per elaborare l’informazione. La parola informatica può essere vista come corrispondente dell’inglese Computer Science (Scienza dei Calcolatori). L’ICT (Information & Communication Technology) indica l’insieme delle tecnologie che uniscono le funzioni dell’informatica alla trasmissione dei dati, in modo da poter realizzare applicazioni distribuite attraverso la cooperazione di più computer. Università degli studi di Salerno Rappresentazione dell’informazione Ciò che ha reso veramente versatile il computer è stata l’idea di rappresentare l’informazione mediante un codice universale, adatto ad esprimere ogni tipo di informazione, il cosiddetto codice binario. esempio di testo la donna è immobile qual piuma al vento esempio di immagine esempio di numeri 123x254 181+23 32/4 Università degli studi di Salerno Codifica dell’informazione [1] Tutti noi siamo abituati a codificare l’informazione. Pensate alla lingua scritta: un (piccolo) insieme di simboli, i caratteri dell’alfabeto, vengono utilizzati per comporre parole e frasi che possono esprimere qualunque concetto. Gli stessi simboli vengono usati di volta in volta per esprimere matematica, poesia, letteratura, economia, leggi, ecc., ecc. L’informazione è codificata da questi simboli. a, b, c, d, e.....z 0,1,2...9 amore, cuore, capanna, mamma, dolore, professore, zibaldone, procellaria, pinguino, leone, ecc. ecc. 31 simboli: 21 caratteri 10 cifre centinaia di migliaia di parole ed infiniti numeri 31, 25, 888, 313, 1024 La mia banda suona il rock, ma è un rock bambino… milioni di frasi per milioni di concetti La donzelletta che vien dalla campagna… E= mc2 Gli investimenti effettuati nel triennio 2003 2006 possono essere considerati... Università degli studi di Salerno Codifica dell’informazione [2] Combinando i 21 simboli dell’alfabeto italiano ed i 10 simboli delle cifre decimali si possono codificare parole, frasi e numeri. A, b, c, … z A, b, c, ... z Tutti non ben sappiamo che l’alfabeto italiano non è l’unico codice possibile. Ad esempio c’è l’alfabeto greco, oppure quello cirillico. oppure quello arabo. Università degli studi di Salerno Codifica dell’informazione [3] Tra i vari possibili codici, il più semplice è quello binario. Il codice binario è composto da soli due simboli “0” e “1” due simboli 0,1 00010110101000101 10010011001000010001 stringhe di bit 11110010010010001001001 Usando opportune combinazioni (stringhe) di bit è possibile codificare qualsiasi informazione. Dunque possiamo codificare in binario sia i dati che vogliamo elaborare che le istruzioni che ci dicono come farlo. La do nna è mo bile qu al piuma al v ent o 123 x 245 = informazioni 281 + 333 = Università degli studi di Salerno Definizione delle nozioni di bit e byte [1] Il PC parla un linguaggio fatto di sole 2 cifre: 0 e 1: gli stati del BIT (da Binary Digit) Questi due Stati sono assimilabili al concetto di circuito aperto e circuito chiuso dell’elettronica. Università degli studi di Salerno Definizione delle nozioni di bit e byte [2] Mentre noi umani contiamo con 10 dita, il PC ne usa solo 2: un gruppo di 8 Bit (corrispondente a 8 circuiti o transistori in sequenza) è detto Byte (o Parola) ed è rappresentato così: 128 0 64 1 32 1 16 0 8 1 4 0 2 0 1 1 Pesi Bits I pesi altro non sono che le potenze del ‘2’ a partire da destra dall’esponente ‘0’ fino all’esponente ‘7’. I Bit vanno moltiplicati per il loro peso e quindi sommati. Quindi il numero binario 01101001 corrisponde al decimale 105: (2 0) (2 1) (2 1) (2 0) (2 1) (2 0) (2 0) (2 0) 105 7 6 5 4 3 2 1 0 Infatti se moltiplichiamo (128*0) + (64*1) + (32*1) + (16*0) + (8*1) + (4*0)+ (2*0) + (1*1) otteniamo il numero decimale 105, è 01101001 è la sua rappresentazione binaria. Università degli studi di Salerno Il calcolatore: principi di base [1] Il mezzo che permette l’elaborazione e la fruizione delle informazioni è il calcolatore elettronico o computer. Il computer come noi lo conosciamo nasce da studi condotti durante la II guerra mondiale ed ha, quindi, poco più di 50 anni di vita. Si tratta certamente di una delle macchine di maggior successo nella storia delle scienze ed oggi conta innumerevoli campi di applicazione. calcolo scientifico; automazione industriale; didattica multimediale; comunicazione (posta elettronica, internet); grafica computerizzata; commercio elettronico; intrattenimento (videogames); ecc., ecc. Ecco una lista di alcuni settori nei quali l’introduzione del calcolatore ha avuto un impatto molto significativo: Università degli studi di Salerno Il calcolatore: principi di base [2] Uno dei punti di forza del computer consiste nella sua duplice natura hardware e software. Possiamo iniziare lo studio del nostro calcolatore osservando che il computer non è altro che un elaboratore elettronico, cioè una macchina in grado di elaborare le informazioni utilizzando componenti elettrici, elettronici e meccanici. Anche se oggi la cosa ci appare del tutto naturale, fino a pochi decenni or sono l’idea di una macchina fisica in grado di manipolare una cosa immateriale come l’informazione era considerata irrealizzabile. Università degli studi di Salerno Concetto di algoritmo [1] Sequenza di azioni (prescrizioni) per effettuare un compito La descrizione di una serie di operazioni la cui esecuzione permette di risolvere un problema. La definizione di un algoritmo e’ basata sulla disponibilità di INPUT e implica la loro trasformazione per la produzione di un OUTPUT Esempi: Ricetta per realizzazione di un piatto Istruzioni di montaggio di un elettrodomestico Prelievo bancomat Università degli studi di Salerno Concetto di algoritmo [2] INGREDIENTI Software Hardware RICETTA UTENSILI algoritmo TORTA Università degli studi di Salerno Concetto di algoritmo [3] Gli algoritmi sono espressi mediante un linguaggio e sono realizzati da un esecutore (uomo o macchina) Nell’elaboratore gli algoritmi per la soluzioni di particolari problemi sono espressi mediante un linguaggio di programmazione. Linguaggio di programmazione = linguaggio formale che l’elaboratore e’ in grado di comprendere Un programma e’ la descrizione di un algoritmo ed e’ costituito da una sequenza di istruzioni che il calcolatore e’ in grado di comprendere ed eseguire Università degli studi di Salerno Concetto di algoritmo [4] Elaboratore INPUT Insieme di dati ammissibili OUTPUT Trasformazione dei dati di ingresso seguendo le prescrizioni specificate da un opportuno algoritmo descritto mediante un linguaggio di programmazione Umano (che definisce l’algoritmo) programma Insieme di dati desiderati Elaboratore (che conosce solo alcune azioni elementari: es. confrontare due numeri, eseguire semplici operazioni aritmetiche Università degli studi di Salerno I linguaggi naturali e i linguaggi di programmazione [1] L’elaboratore esegue programmi Un programma eseguibile dal computer è una sequenza di istruzioni macchina comprensibili da quel computer. Usando sequenze diverse di istruzioni, e dati diversi, possiamo far fare al computer le cose più disparate. Università degli studi di Salerno I linguaggi naturali e i linguaggi di programmazione [2] I linguaggi di programmazione permettono di scrivere programmi con una notazione adatta agli esseri umani, e in alcuni casi molto intuitiva. Usando degli opportuni traduttori (compilatori ed interpreti) lo stesso programma può essere usato su macchine diverse. Fortran, Cobol, Pascal, Ada, C, C++, Java, Lisp, ML, Prolog,... Università degli studi di Salerno I linguaggi naturali e i linguaggi di programmazione [3] Analogie: Nella semantica della composizione del testo. Sia una frase che un’istruzione possono essere corrette grammaticalmente e sintatticamente, pur non avendo significato e non potendo essere eseguita. Una corretta composizione di frasi non necessariamente dà luogo a frasi sensate, come successioni di istruzioni corrette non danno necessariamente luogo a un programma completo. Università degli studi di Salerno I linguaggi naturali e i linguaggi di programmazione [4] Differenze: Una frase comprensibile può benissimo essere scorretta, mentre la programmazione può essere portata al fallimento dal minimo errore sintattico. Una frase può essere ambigua in un contesto e non esserlo in un altro, mentre non c’è interdipendenza tra le istruzioni dei linguaggi di programmazione e il contesto. Nel linguaggio naturale uno stesso termine può avere un valore diverso all’interno di una frase (sinonimo), mentre in un linguaggio di programmazione ben concepito ogni simbolo ha un significato specifico. Università degli studi di Salerno I connettivi logici [1] Per poter isolare la struttura logica del linguaggio naturale, valutare la correttezza di un ragionamento, di una deduzione, di un argomentazione espresse in linguaggio naturale è utile selezionare una plausibile struttura logica del discorso naturale, eventualmente lasciando perdere altri aspetti. A causa delle vastissime risorse espressive del linguaggio naturale, questa operazione avrà necessariamente l’aspetto di uno sfrondamento, di una riduzione all’essenziale, di una riformulazione che acquista univocità ma che perde sfumature questa operazione, detta ascesa sintattica, arriva alla costruzione di un linguaggio artificiale, il linguaggio della logica dei predicati. Università degli studi di Salerno I connettivi logici [2] Proposizione: ogni espressione linguistica per la quale abbia senso chiedersi se è vera o falsa Assumiamo che i termini naturali "se ... allora ...", "oppure" , "e" , "non" (e i loro sinonimi: ad es. "implica", "o"...) abbiano un ruolo centrale nella combinazione logica delle proposizioni e associamo ad essi i simboli ¬ (non) ∧ (e) → (se … allora) ∨ (o,oppure) (detti connettivi logici ) Università degli studi di Salerno I connettivi logici [3] La negazione La negazione è il connettivo che inverte il valore di verità di una proposizione La tavola di verità per la negazione è ovvia: negazione: A¬A v f f v La congiunzione Congiunzione di due proposizioni A e B è la proposizione che è vera se entrambe A e B sono vere, falsa in tutti gli altri casi. La definizione è rappresentabile con la tavola di verità per la congiunzione: A v v f f B A∧B v v f f v f f f Università degli studi di Salerno I connettivi logici [4] La disgiunzione La disgiunzione di due proposizioni A e B è la proposizione che è vera se almeno una delle due fra A e B è vera, falsa se entrambe sono false La definizione è rappresentabile con la tavola di verità per la disgiunzione: AB v v v f f v f f A∨B v v v f Il condizionale Il condizionale di due proposizioni A e B è il connettivo a due argomenti indicato con → e definito dalla seguente tavola: A B A→B v v f f v f v f v f v v Università degli studi di Salerno Il concetto di hardware e software [1] L’hardware è l’insieme dei dispositivi fisici, elettronici e meccanici che costituiscono l’elaboratore e che permettono l’esecuzione materiale delle operazioni. Di solito si dice che è la parte che si può “toccare” o “prendere a calci”. In realtà l’hardware non comprende solo l’esterno del calcolatore, ma anche il suo interno. Università degli studi di Salerno Il concetto di hardware e software [2] Ad esempio, se provassimo a costruire una lista di componenti hardware potremmo elencare: il processore; l’hard disk; la scheda video; la scheda di rete; il monitor; la tastiera; il mouse; l’alimentatore; la webcam; la stampante… …e chi più ne ha più ne metta! Università degli studi di Salerno Il concetto di hardware e software [3] Il software, invece, è l’insieme delle applicazioni, dette anche programmi, finalizzate alla risoluzione di un determinato problema o allo svolgimento di particolari attività. Il software consiste in una serie di istruzioni date alla macchina hardware affinchè essa svolga determinati compiti. Il punto di forza dei computer, l’idea di fondo alla base del loro successo, sta nel fatto che queste istruzioni possono essere codificate e conservate nella macchina stessa. ma anche nel fatto che... Università degli studi di Salerno Il concetto di hardware e software [4] …Il software cambia a seconda dell’utilizzo che se ne deve fare! In questo modo la stessa macchina hardware diviene, di volta in volta, una macchina diversa. Per fissare questo concetto pensiamo a come il nostro personal computer divenga una macchina da scrivere, uno strumento per disegnare, una consolle da videogiochi, ecc. a seconda del software che stiamo utilizzando… Università degli studi di Salerno Il concetto di hardware e software [5] E’ possibile distinguere tra due principali categorie di software: software di sistema e quello applicativo. il Il software di sistema, il cui esempio principale è il cosiddetto sistema operativo, ha lo scopo di permettere all’utente di interagire facilmente con l’hardware, sfruttandone a pieno le potenzialità . Esempi di sistemi operativi sono: Microsoft Windows Xp; Linux; MAC OSX. Università degli studi di Salerno Il concetto di hardware e software [6] Il software applicativo, è formato dall’insieme di programmi che permettono lo svolgimento di uno specifico compito. Studieremo in maggior dettaglio alcuni software applicativi nelle sezioni 2, 3 del Modulo Base. Alcuni esempi di software applicativi famosi sono: il pacchetto Office della Microsoft, che permette la scrittura (Word), la gestione di database (Access), la creazione di presentazioni (Power Point) e la gestione di Fogli Elettronici (Excel); Firefox, famoso browser ovvero un software che permette la navigazione in Internet; Eudora, notissimo programma che gestisce la ricezione e l’invio di e-mail. Università degli studi di Salerno Tipologie di computer [1] Supercomputer mainframe e mini personal computer Server Notebook palmari Università degli studi di Salerno Tipologie di computer [2]: I supercomputer I computer non sono tutti uguali, ma possono essere classificati in base alla loro potenza ed al loro utilizzo. Nelle prossime diapositive descriveremo alcuni esempi. I Supercomputer: sono i computer più potenti e vengono impiegati, tra l’altro, nella progettazione industriale e nelle previsioni atmosferiche; Ad esempio, il supercomputer SX-8 progettato dalla NEC è composto da 4096 processori capaci di eseguire 65 trilioni di operazioni al secondo. Evidentemente, queste macchine sono estremamente costose e di difficile impiego e quasi sempre sono utilizzati da organismi statali e militari. Università degli studi di Salerno Tipologie di computer [3]: mainframe e mini Mainframe: Sono computer progettati per essere usati da molti utenti contemporaneamente attraverso i terminali. Questi ultimi sono composti essenzialmente da uno schermo e da una tastiera che devono comunicare con il sistema centrale. In realtà, i terminali non sono dei computer, ma piuttosto delle periferiche input/output. Soprattutto nel passato sono stati impiegati da banche, linee aeree, compagnie di assicurazioni le università. Minicomputer: I minicomputer (anche detti semplicemente “mini”) possono essere descritti come dei mainframe meno potenti (ovvero pensati per essere utilizzati da un numero minore di utenti). Anch’essi sono posti al centro di una rete di terminali, ognuno dei quali lavora con il minicomputer come se fosse indipendente dagli altri. Quando necessario, gli utenti possono condividere direttamente sia programmi e dati, sia le periferiche (ad es., le apparecchiature di stampa). Università degli studi di Salerno Tipologie di computer [4]: workstation Workstation: Le workstation sono state i primi computer progettati per uso individuale; hanno alto rendimento e medio piccole dimensioni; Sono impiegate soprattutto in ambienti lavorativi di calcolo scientifico e matematico e per lo sviluppo di grafica tridimensionale. Un tipico studio per applicazioni audio/video basato su workstation. Università degli studi di Salerno Tipologie di computer [5]: personal computer Personal Computer: La grande diffusione e l’enorme successo dell’informatica, assieme alle evoluzioni tecnologiche che hanno consentito la costruzione di calcolatori di piccole dimensioni, bassi consumi e costi contenuti, hanno portato nei primi anni ’80 all’introduzione del personal computer (PC). Studieremo tra poco in maggior dettaglio le caratteristiche del PC, per ora ci limitiamo a considerarne l’enorme diffusione che ha portato allo sviluppo di tutta una serie di prodotti. Ad esempio: i Desktop, sono i cosiddetti computer “da scrivania”, dedicati al singolo utente che hanno costi contenuti e capacità elaborative autonome e sono progettati per essere posizionati permanentemente in casa o in ufficio. Università degli studi di Salerno Tipologie di computer [6]: I server Server: è usata come denominazione per modelli destinati ad essere utilizzati nella gestione di applicazioni server di rete con pesanti carichi di lavoro, spesso senza il controllo di operatori e per un periodo di tempo prolungato. Qualsiasi workstation è in grado di agire come server, tuttavia i server in genere hanno caratteristiche speciali al fine di renderlo più adatto, come sistemi di alimentazione e connessioni di rete ridondanti, o grandi capacità di memoria di massa. Oggi i server sono spesso realizzati in forma e dimensioni tali da poter essere ospitati in appositi Armadi Università degli studi di Salerno Tipologie di computer [7]: I notebook Notebook o “Laptop”: sono computer portatili, leggeri e maneggevoli, progettati per un utilizzo pratico e frequente in qualunque situazione grazie ad una batteria ricaricabile che ne consente il funzionamento autonomo; sono progettati per essere estremamente leggeri anche a scapito della dotazione di periferiche (schermi piccoli, memorie limitate, poche porte di connessione, ecc.); Nel 2006, per la prima volta, la vendita di portatili ha superato quella di pc desktop. Molti modelli di Notebook sono corredati da una apposita unità detta “ docking station ”, che ne rende possibile l ’uso in maniera equivalente ad una postazione fissa da ufficio (ad esempio, mediante la connessione ad uno schermo più grande e a delle memorie di maggiore capacità Università degli studi di Salerno tipidi di computer [8]: palmari Palmari: Sono piccoli computer designati in inglese con il termine “palmtop” o con la sigla PDA (Personal Digital Assistant); hanno la grandezza di un palmo della mano, originariamente erano stati pensati come una sorta di agenda (organizer) elettronica, ma sono diventati sempre più complessi e sofisticati, tanto da diventare un vero e proprio pc, o meglio un pocket pc (pc tascabile); Si prestano molto bene a determinate applicazioni (ad esempio, il GPS – Global Positioning System) e tendono ad integrare le funzioni di telefonia cellulare. Università degli studi di Salerno Bibliografia Introduzione all'informatica - Luca Console - UTET Libreria, 1995 Elementi di informatica generale - Gioacchino Candilio - FrancoAngeli, 2006 Information Representation and Retrieval in the Digital Age - Heting Chu American Society for Information Science and Technology by Information Today, 2003 Introduzione all'informatica. Algoritmi, strutture, sistemi - Les Goldschlager, Andrew W. Lister, Andrew M Lister, P. Gorgerino - SEI, 1988 Pc facile. Corso completo in autoistruzione alla conoscenza e all'uso del personal computer - R. Rossi, L. Mercati - Jackson Libri, 2009 PC Hardware in a Nutshell - Barbara Fritchman Thompson - O'Reilly, 2008 Università degli studi di Salerno