Sei sulla pagina 1di 22

1.

Introduzione al corso
Ing. Simona Colucci

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

Informazioni utili

Ing. Simona Colucci:


Contatti:

SisInfLab. Dipartimento di Elettrotecnica ed Elettronica(DEE) mailto: coluccisimona@gmail.com Tel: 0805963515 http://sisinflab.poliba.it/colucci


Ricevimento studenti:

Mercoled 11:30/13:30

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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 delle lezioni e delle esercitazioni in aula - verificata tramite problemi della prova scritta

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

Libri di testo

Testi di riferimento: Ceri, Mandrioli, Sbattella. Informatica: arte e mestiere. McGraw-Hill,

2008 Bellini, Guidi. Linguaggio C. Mc-Graw-Hill, 2006 Kerningham, Ritchie. Linguaggio C. Jackson Libri, 1989

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

Programma

Lezioni frontali (5 crediti, 40 ore):


Architettura dei calcolatori (4 ore) Codifica binaria dellinformazione, algebra di Boole (4 ore) Algoritmi e Programmazione Strutturata (2 ore) Codifica degli algoritmi in linguaggio C (12 ore) Funzioni e procedure (4 ore) Programmazione ricorsiva (2 ore) Gestione dei file (2 ore) Il sistema operativo(4 ore) Le Reti di Calcolatori(4 ore) Progettazione di Algoritmi (2 ore) Codifica di Algoritmi in Linguaggio C (6 ore) Progettazione e Codifica Algoritmi di Ordinamento e Ricerca (4 ore) Uso di funzioni e procedure e gestione dei file (4 ore)

Esercitazioni in aula (1 Credito, 16 ore)


Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

Informatica

Definizione 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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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.)

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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 Inizio-fascia() Fine_fascia () Aliquota (%) - I=10% di R O 3600 10 - Se R>3600 I=I+12%(R-3600) 3600.01 7200 22 - Se R>7200 I=I+5%(R-7200) 7200.01 15000 27 - Se R>15000 I=I+7%(R-15000) 15000.01 30000 34 - Se R>30000 I=I+7%(R-30000) 30000.01 75.000 41 - Se R>75000 I=I+5%(R-75000) 75000.01 150000 46 - Se R>150000 I=I+5%(R-150000) 150000 51 - I limposta risultante

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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|

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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
vero

Condizione?

falso

-flusso (sequenza di esecuzione o controllo) con segmenti orientati che uniscono i blocchi -inizio e fine dellesecuzione con ellissi

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

Hardware

Insieme di elementi funzionali: Unit di elaborazione o processore: Memoria centrale:


esegue i programmi 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:

Unit periferiche:

collega gli elementi funzionali consentendo lo scambio di dati


fanno comunicare il calcolatore con lambiente esterno

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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

Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011

Sistemi Informativi
DEE - Politecnico di Bari

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
Fondamenti di Informatica CDL in Ingegneria Gestionale (B)- A.A. 2010-2011