1. Introduzione al corso Ing. Simona Colucci Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Informazioni utili Ing. Simona Colucci: Contatti: Dipartimento Dipartimento di Scienze Umanistiche, della Comunicazione e del Turismo (DISUCOM) Indirizzo: Via S. M. Gradi, Viterbo Tel: Ricevimento studenti: Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Libri di testo Testi di riferimento: D. P. Curtin, K. Foley, K. Sen, C. Morin, Informatica di base, McGraw-Hill, 2008, ISBN: J. Glenn Brookshear Informatica. Una Panoramica Generale, Pearson, ISBN Lawrence Snyder, Alessandro Amoroso. Fluency 4/ed. Conoscere e usare l’informatica, Pearson, ISBN Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Composizione del corso Argomenti teorici di base –Conoscenza della teoria dell’elaborazione dei dati –Conoscenza dei principi di base della programmazione –Conoscenza della teoria di base sulle reti di calcolatori e sulla sicurezza informatica Esercitazioni su attività pratiche Capacità nell’utilizzo dei principali sistemi operativi e programmi applicativi Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Informatica Definizione rappresentazioneelaborazione Scienza della rappresentazione e dell’elaborazione dell’informazione Definizione Association of Computing Machinery(ACM) Studio sistematico degli algoritmi(sequenze precise di operazioni comprensibili e perciò eseguibili da uno strumento automatico) che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Concetto di algoritmo Sequenza di passi, definiti con precisione, che portano alla realizzazione di un compito. E’ essenziale che un algoritmo sia comprensibile al suo esecutore:es. il calcolatore (privo di buon senso) esegue algoritmi prodotti e codificati dagli informatici in programmi Proprietà degli algoritmi: - correttezza: capacità di arrivare alla soluzione del compito cui è preposto, senza difettare di alcun passo fondamentale - efficienza: capacità di arrivare alla soluzione del compito cui è preposto nel modo più veloce possibile e/o usando la minima quantità di risorse fisiche, compatibilmente con la sua correttezza Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Esempi di algoritmi 1.Lavaggio di capi resistenti in lavatrice 2.Calcolo della somma algebrica tra due numeri relativi utilizzando le operazioni di somma e differenza tra numeri senza segno Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Esempio 1 Problema: Lavaggio di capi resistenti in lavatrice Soluzione informale: lavatrice + programma “cotone 90” Algoritmo: Esecuzione in stretta sequenza dei seguenti passi: - lavatrice -ammollo -prelavaggio -lavaggio -candeggio -risciacquo -ammorbidente -centrifuga Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Esempio 2 Problema: Calcolo della somma algebrica tra due numeri relativi utilizzando le operazioni di somma e differenza tra numeri senza segno Soluzione informale: si confrontano i segni dei due operandi; nel caso di numeri concordi si effettua la somma dei moduli e il risultato è concorde con gli addendi; nel caso di numeri discordi si effettua la differenza tra modulo maggiore e minore e il risultato è concorde con l’addendo di modulo maggiore. Algoritmo: - acquisizione dei due numeri a,b - se a,b sono concordi |s|=|a|+|b| - se a,b sono discordi - se |a|<|b| si scambiano i valori di a e b - |s|=|a|-|b| - la somma ha il segno di a e modulo |s| Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Flusso di controllo L’ordine di esecuzione delle operazioni elementari è determinante per la soluzione del problema Le operazioni elementari(passi di algoritmi) vengono chiamate istruzioni nel linguaggio dei calcolatori e possono essere classificate in : - istruzioni non condizionate - istruzioni condizionate: l’esecuzione dipende da una condizione - istruzioni di controllo: esprimono le condizioni da cui dipende l’esecuzione delle istruzioni condizionate(dette pseudo-istruzioni perché controllano solo il flusso delle operazioni) Le istruzioni possono essere composte in blocchi o sequenze che risolvono sottoproblemi del problema principale e sono viste come un’istruzione elementare Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Costrutto Insieme di istruzioni di controllo e controllate: - costrutto condizionale: insieme di condizione e istruzioni condizionate - costrutto iterativo: insieme di istruzioni la cui esecuzione viene ripetuta sotto il controllo di opportune istruzioni di controllo Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Diagrammi di flusso FLOW CHART: Formalismo grafico per rappresentare la sequenza(flusso)di istruzioni o operazioni elementari di un algoritmo: -operazioni(semplici o composte, condizionate o non condizionate) con rettangoli -condizioni(scelta tra due possibilità) con rombi -flusso (sequenza di esecuzione o controllo) con segmenti orientati che uniscono i blocchi -inizio e fine dell’esecuzione con ellissi Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A Condizione? verofalso input
Esempio 2: Flow-Chart Problema: Calcolo della somma algebrica tra due numeri relativi utilizzando le operazioni di somma e differenza tra numeri senza segno Algoritmo: - acquisizione dei due numeri a,b - se a,b sono concordi |s|=|a|+|b| - se a,b sono discordi - se |a|<|b| si scambiano i valori di a e b - |s|=|a|-|b| - la somma ha il segno di a e modulo |s| Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A falso inizio a, b concordi s a+b fine |a| < |b| s a-b t a a b b t vero falso modulo di s e segno di a a, b
Linguaggi di Programmazione Linguaggi per la codifica di algoritmi: scrittura sotto forma di programmi che possano essere compresi da un elaboratore Dal linguaggio della macchina ai linguaggi di alto livello: sforzo di traduzione da linguaggio naturale a linguaggio macchina sempre più affidato alla macchina stessa Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Sistema Informatico Oggetto complesso,che può assumere nature molto differenti, costituito da molte parti che interagiscono tra loro per eseguire algoritmi Classificazione a livello generico delle componenti: –Hardware: componenti fisici del sistema –Software: programmi eseguiti dal sistema Il confine tra HW e SW è piuttosto sfumato se si pensa che le stesse funzioni possono essere svolte a seconda dei casi da circuiti e dispositivi HW o da particolari microprogrammi(firmware) definiti dal costruttore del calcolatore Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Hardware Insieme di elementi funzionali: Unità di elaborazione o processore: –esegue i programmi Memoria centrale: –memorizza dati e programmi per il funzionamento dell’elaboratore –capacità limitata –volatile –rapido acceso all’informazione Memoria secondaria (o di massa): –capacità significativa –persistente –accesso all’informazione lento Bus di sistema: –collega gli elementi funzionali consentendo lo scambio di dati Unità periferiche: –fanno comunicare il calcolatore con l’ambiente esterno Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Esempio di HW di sistema informatico Personal computer: elaboratore dedicato ad un solo utente Corpo contenente: –unità di elaborazione –memoria centrale –memoria di massa: informazione organizzata in file Disco fisso(hard disk): inamovibile e di elevata capacità Floppy disk, chiavi USB, dischi ottici(compact disk o CD-ROM o DVD) Tastiera mouse e video collegati col corpo centrale Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Software SW di base –dedicato alla gestione dell’elaboratore –opera direttamente al di sopra di HW e firmware –Esempi: SISTEMA OPERATIVO Sistema di gestione di basi di dati Protocolli di comunicazione: garantiscono la corretta comunicazione sui canali di trasmissione che trasportano segnali(tipicamente elettrici), garantendo la trasmissione dei dati tra elaboratore e terminali o tra elaboratori collegati in rete SW applicativo: –dedicato alla realizzazione di specifiche esigenze applicative –utilizza linguaggi di alto livello –opera al di sopra del SW di base –non risente delle caratteristiche architetturali del sistema informatico:trasportabile Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
Sistema Operativo Funzioni: –Interpreta ed esegue comandi elementari –Organizza le risorse della macchina –Gestisce l’accesso alla rete Sia che sia venduto dal costruttore del sistema informatico che realizzato da ditte di SW, il SO non può essere modificato dall’utente nelle sue istruzioni ed è necessario come tramite d’uso tra la macchina fisica e l’utente Complessità crescente con quella del sistema informatico: –In sistemi multi-utente il SO distribuisce le parti del calcolatore tra i vari utenti in maniera apparentemente “dedicata” Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A