Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Introduzione al corso Ing. Simona Colucci
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Informazioni utili Ing. Simona Colucci: Contatti: SisInfLab. Dipartimento di Elettrotecnica ed Elettronica(DEE) mailto: Tel: Ricevimento studenti: Mercoledì 11:30/13:30
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Modalità desame Prova scritta: - Composta di una parte teorica e di una applicativa - Obbligatoria per il superamento dellesame - Sostituibile dal superamento di entrambe le prove di esonero dallo scritto da tenersi durante il corso Prova orale: - Facoltativa con il superamento della prova scritta
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Composizione del corso Argomenti teorici di base - oggetto delle lezioni in aula - verificati tramite quesiti ed esercizi della prova scritta Programmazione in linguaggio C - oggetto sia delle lezioni in aula che delle attività di laboratorio - verificata tramite problemi della prova scritta
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Libri di testo Testi di riferimento: Ceri, Mandrioli, Sbattella. Informatica: arte e mestiere. McGraw-Hill, 2004 Bellini, Guidi. Linguaggio C. Mc-Graw-Hill, 2006 Kerningham, Ritchie. Linguaggio C. Jackson Libri, 1989
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Programma Architettura dei calcolatori Architettura dei calcolatori, codifica binaria dellinformazione, algebra di Boole Algoritmi e strutture dati Algoritmi, Programmazione Architettura dei sistemi informatici Il sistema operativo, Basi di dati Attività di laboratorio
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Informatica Definizione rappresentazioneelaborazione Scienza della rappresentazione e dellelaborazione dellinformazione 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 linformazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Esempi di algoritmi 1.Lavaggio di capi resistenti in lavatrice 2.Calcolo dellimposta IRPEF relativa a un contribuente, dato il reddito lordo e la tabella delle aliquote 3.Calcolo della somma algebrica tra due numeri relativi utilizzando le operazioni di somma e differenza tra numeri senza segno 4.Calcolo del Massimo Comun Divisore(M.C.D.)
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Esempio 2 Problema: Calcolo dellimposta IRPEF relativa a un contribuente, dato il reddito lordo e la tabella delle aliquote Soluzione informale: data la tabella delle aliquote relative alle fasce di reddito e dato il reddito lordo, si applicano progressivamente le aliquote al reddito Algoritmo: - acquisire reddito lordo - I=10% di R - Se R>3600 I=I+12%(R-3600) - Se R>7200 I=I+5%(R-7200) - Se R>15000 I=I+7%(R-15000) - Se R>30000 I=I+7%(R-30000) - Se R>75000 I=I+5%(R-75000) - Se R> I=I+5%(R ) - I è limposta risultante Inizio-fascia()Fine_fascia ()Aliquota (%) O
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Esempio 3 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 laddendo 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|
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Esempio 4 Problema: Calcolo del Massimo Comun Divisore tra due numeri a,b : MCD(a,b) Soluzione di Euclide: ogni divisore comune di a e b è divisore di a, b e del resto r della divisione tra a e b (a mod b), se questo non è nullo Algoritmo: 1. acquisire due numeri a,b 2. se b>a scambiare a con b 3. se b= 0 MCD(a,b)=a a andare al passo 6 4. r= a mod b 5. sostituire a con b, b con r ed andare al passo 2 6. Fine
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Flusso di controllo Lordine 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: lesecuzione dipende da una condizione - istruzioni di controllo: esprimono le condizioni da cui dipende lesecuzione 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 unistruzione elementare
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - 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 dellesecuzione con ellissi Condizione? verofalso
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Hardware Insieme di elementi funzionali: Unità di elaborazione o processore: –esegue i programmi Memoria centrale: –memorizza dati e programmi per il funzionamento dellelaboratore –capacità limitata –volatile –rapido acceso allinformazione Memoria secondaria (o di massa): –capacità significativa –persistente –Accesso allinformazione lento Bus di sistema: –collega gli elementi funzionali consentendo lo scambio di dati Unità periferiche: –fanno comunicare il calcolatore con lambiente esterno
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Software SW di base –dedicato alla gestione dellelaboratore –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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A Sistema Operativo Funzioni: –Interpreta ed esegue comandi elementari –Organizza le risorse della macchina –Gestisce laccesso alla rete Sia che sia venduto dal costruttore del sistema informatico che realizzato da ditte di SW, il SO non può essere modificato dallutente nelle sue istruzioni ed è necessario come tramite duso tra la macchina fisica e lutente 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