Introduzione all’Informatica e alla rappresentazione dell’informazione
Università degli studi di Salerno 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 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. Rappresentazione dell’informazione esempio di testo la donna è immobile qual piuma al vento esempio di immagine esempio di numeri 123x /4
Università degli studi di Salerno 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, 25, 888, 313, 1024 La mia banda suona il rock, ma è un rock bambino… La donzelletta che vien dalla campagna… E= mc 2 Gli investimenti effettuati nel triennio possono essere considerati simboli: 21 caratteri 10 cifre centinaia di migliaia di parole ed infiniti numeri milioni di frasi per milioni di concetti Codifica dell’informazione [1]
Università degli studi di Salerno Combinando i 21 simboli dell’alfabeto italiano ed i 10 simboli delle cifre decimali si possono codificare parole, frasi e numeri. 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. Codifica dell’informazione [2] A, b, c, … z
Università degli studi di Salerno Tra i vari possibili codici, il più semplice è quello binario. Il codice binario è composto da soli due simboli “0” e “1” 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. 0, due simboli stringhe di bit informazioni Codifica dell’informazione [3]
Università degli studi di Salerno 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. Definizione delle nozioni di bit e byte [1]
Università degli studi di Salerno 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ì: 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 corrisponde al decimale 105: Infatti se moltiplichiamo (128*0) + (64*1) + (32*1) + (16*0) + (8*1) + (4*0)+ (2*0) + (1*1) otteniamo il numero decimale 105, è è la sua rappresentazione binaria. Definizione delle nozioni di bit e byte [2] Pesi Bits
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. Ecco una lista di alcuni settori nei quali l’introduzione del calcolatore ha avuto un impatto molto significativo: calcolo scientifico; automazione industriale; didattica multimediale; comunicazione (posta elettronica, internet); grafica computerizzata; commercio elettronico; intrattenimento (videogames); ecc., ecc.
Università degli studi di Salerno 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. Il calcolatore: principi di base [2]
Università degli studi di Salerno 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 Concetto di algoritmo [1]
Università degli studi di Salerno INGREDIENTI RICETTA UTENSILI TORTA SoftwareHardware algoritmo Concetto di algoritmo [2]
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 OUTPUT Insieme di dati desiderati Trasformazione dei dati di ingresso seguendo le prescrizioni specificate da un opportuno algoritmo descritto mediante un linguaggio di programmazione Umano (che definisce l’algoritmo) Elaboratore (che conosce solo alcune azioni elementari: es. confrontare due numeri, eseguire semplici operazioni aritmetiche programma Insieme di dati ammissibili
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 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 B A ∧ B v v v v f f f v f f f f I connettivi logici [3]
Università degli studi di Salerno 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: A B A ∨ B v v v v f v f v v f f f I connettivi logici [4] 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 v v f f f v v f f 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 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! Il concetto di hardware e software [2]
Università degli studi di Salerno 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... Il concetto di hardware e software [3]
Università degli studi di Salerno …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… Il concetto di hardware e software [4]
Università degli studi di Salerno E’ possibile distinguere tra due principali categorie di software: il software di sistema e quello applicativo. 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. Il concetto di hardware e software [5]
Università degli studi di Salerno 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 . Il concetto di hardware e software [6]
Università degli studi di Salerno Supercomputer mainframe e mini personal computer Server Notebook palmari Tipologie di computer [1]
Università degli studi di Salerno 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. Tipologie di computer [2]: I supercomputer
Università degli studi di Salerno 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). Tipologie di computer [3]: mainframe e mini
Università degli studi di Salerno 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. Tipologie di computer [4]: workstation
Università degli studi di Salerno 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. Tipologie di computer [5]: personal computer
Università degli studi di Salerno Oggi i server sono spesso realizzati in forma e dimensioni tali da poter essere ospitati in appositi Armadi 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.
Università degli studi di Salerno 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. Tipologie di computer [7]: I notebook Molti modelli di Notebook sono corredati da una apposita unità detta“dockingstation”, 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