23
1. Introduzione al corso 1. Introduzione al corso Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

1. Introduzione al corso

Embed Size (px)

DESCRIPTION

1. Introduzione al corso. Ing. Simona Colucci. Informazioni utili. Ing. Simona Colucci: Contatti: - PowerPoint PPT Presentation

Citation preview

Page 1: 1. Introduzione al corso

1. Introduzione al corso1. Introduzione al corso

Ing. Simona Colucci

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 2: 1. Introduzione al corso

Informazioni utiliInformazioni utili

Ing. Simona Colucci:• Contatti:

Dipartimento Dipartimento di Scienze Umanistiche, della Comunicazione e del Turismo (DISUCOM)Indirizzo: Via San Carlo 32 - 01100 Viterbo Tel:   + 39 0761357878email: [email protected]

• Ricevimento studenti:– Martedì 17:00/18:00 (in aula docenti)– Durante i laboratori

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 3: 1. Introduzione al corso

Libri di testoLibri di testo

Testi di riferimento:• Dino Mandrioli, Stefano Ceri, Licia Sbattella, Paolo Cremonesi,

Gianpaolo Cugola. Informatica: arte e mestiere 3/ed. Mc-Graw-Hill. ISBN: 9788838664298

• Alessandro Bellini, Andrea Guidi. Linguaggio C - Guida alla programmazione 4/ed. Mc-Graw-Hill. ISBN: 9788838665790

• Manuale operativo– Kerningham, Ritchie. Linguaggio C. Jackson Libri, 1989

– Manuali online dei programmi usati per lo sviluppo di codice: Dev-C++4 , open source scaricabile da http://www.bloodshed.net/devcpp.html

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 4: 1. Introduzione al corso

Composizione del Composizione del corsocorso

• Argomenti teorici di base- oggetto delle lezioni in aula- verificati tramite quesiti ed esercizi della prova scritta- verificati tramite la prova orale

• Programmazione in linguaggio C- oggetto delle lezioni in aula e delle esercitazioni in laboratorio- verificata tramite problemi della prova scritta

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 5: 1. Introduzione al corso

Modalità d’esameModalità d’esame

• Prova scritta (carta e/o PC):– Contiene una parte applicativa mirata alla risoluzione di un

problema tramite Programmazione in Linguaggio C.– Può contenere quesiti ed esercizi sugli Argomenti Teorici di

Base– Contenuto obbligatorio per il superamento dell’esame

• Prova orale– Verte su tutto il programma (Argomenti teorici di Base e

Programmazione in Linguaggio C)– Integra la verifica della conoscenza oggetto della prova scritta

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 6: 1. Introduzione al corso

Attività didattica Attività didattica

• Lezioni Frontali: – in aula

• Esercitazioni: – In laboratorio– Due gruppi:

A. Martedì 15:00/17:00B. Mercoledì 09:00/11:00 (in alternativa, Giovedì

09:00/11:00)

– Inizio comunicato in seguito

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 7: 1. Introduzione al corso

ProgrammaProgramma del del corso corso

Lezioni in aula:• Architettura dei calcolatori

– Codifica binaria delle informazioni– Algebra di Boole– Architettura dei calcolatori

• Algoritmi e strutture dati– Programmazione strutturata – Programmazione in Linguaggio C– Funzioni e Procedure– Programmazione Ricorsiva– Allocazione Dinamica– Strutture dati

• Architettura dei sistemi informatici– Le reti di calcolatori– Archivi e basi di dati– Il sistema Operativo

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Esercitazioni:–Uso di un elaboratore–Uso di un ambiente di sviluppo integrato–Progettazione di Algoritmi –Codifica di Algoritmi in Linguaggio C –Progettazione e Codifica Algoritmi di Ordinamento e Ricerca–Uso di funzioni e procedure e gestione dei file

Page 8: 1. Introduzione al corso

InformaticaInformatica

• DefinizioneScienza della rappresentazionerappresentazione e dell’elaborazioneelaborazione 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 9: 1. Introduzione al corso

Concetto di Concetto di algoritmoalgoritmo

• 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 10: 1. Introduzione al corso

Esempi di algoritmiEsempi di algoritmi

1. Lavaggio di capi resistenti in lavatrice2. Calcolo dell’imposta 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.)

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 11: 1. Introduzione al corso

Esempio 1Esempio 1

Problema: Lavaggio di capi resistenti in lavatriceSoluzione informale: lavatrice + programma “cotone 90”Algoritmo: Esecuzione in stretta sequenza dei seguenti passi:

-lavatrice

-ammollo-prelavaggio-lavaggio-candeggio-risciacquo-ammorbidente-centrifuga

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 12: 1. Introduzione al corso

Esempio 2Esempio 2

Problema: Calcolo dell’imposta 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>150000 I=I+5%(R-150000)- I è l’imposta risultante

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Inizio-fascia(€)

Fine_fascia (€)

Aliquota (%)

O 3600 10

3600.01 7200 22

7200.01 15000 27

15000.01 30000 34

30000.01 75.000 41

75000.01 150000 46

150000 51

Page 13: 1. Introduzione al corso

Esempio 3Esempio 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 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 14: 1. Introduzione al corso

Esempio 4Esempio 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,b2. se b>a scambiare a con b3. se b= 0 MCD(a,b)=a a andare al passo 64. r= a mod b5. sostituire a con b, b con r ed andare al passo 26. Fine

Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 15: 1. Introduzione al corso

Flusso di controlloFlusso 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 16: 1. Introduzione al corso

CostruttoCostrutto

• 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 17: 1. Introduzione al corso

Diagrammi di Diagrammi di flussoflusso

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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Condizione?vero falso

Page 18: 1. Introduzione al corso

Linguaggi di ProgrammazioneLinguaggi 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 19: 1. Introduzione al corso

Sistema Sistema InformaticoInformatico

• 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 20: 1. Introduzione al corso

HardwareHardware

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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 21: 1. Introduzione al corso

Esempio di HW di sistema informatico 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 22: 1. Introduzione al corso

SoftwareSoftware

• 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

Page 23: 1. Introduzione al corso

Sistema OperativoSistema 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 Ingegneria Industriale- A.A. 2012-2013Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013