1 / 23

1. Introduzione al corso

1. Introduzione al corso. Ing. Simona Colucci. Informazioni utili. Ing. Simona Colucci: Contatti:

Download Presentation

1. Introduzione al corso

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Informazioni 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: simona.colucci@unitus.it • Ricevimento studenti: • Martedì 17:00/18:00 (in aula docenti) • Durante i laboratori Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

  3. Libri 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-2013

  4. Composizione del corso • 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-2013

  5. Modalità 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-2013

  6. Attività didattica • Lezioni Frontali: • in aula • Esercitazioni: • In laboratorio • Due gruppi: • Martedì 15:00/17:00 • Mercoledì 09:00/11:00 (in alternativa, Giovedì 09:00/11:00) • Inizio comunicato in seguito Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

  7. Programmadel corso • 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 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-2013

  8. Informatica • Definizione Scienza della rappresentazione e dell’elaborazione dell’informazione • Definizione AssociationofComputingMachinery(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-2013

  9. 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 Ingegneria Industriale- A.A. 2012-2013

  10. Esempi di algoritmi • Lavaggio di capi resistenti in lavatrice • Calcolo dell’imposta IRPEF relativa a un contribuente, dato il reddito lordo e la tabella delle aliquote • Calcolo della somma algebrica tra due numeri relativi utilizzando le operazioni di somma e differenza tra numeri senza segno • Calcolo del Massimo Comun Divisore(M.C.D.) Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

  11. 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 Ingegneria Industriale- A.A. 2012-2013

  12. Esempio 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-2013

  13. 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 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-2013

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

  15. 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 : - istruzioninon condizionate - istruzionicondizionate: l’esecuzione dipende da una condizione - istruzionidi 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-2013

  16. 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 Ingegneria Industriale- A.A. 2012-2013

  17. Diagrammi di flusso Condizione? vero falso 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-2013

  18. 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 Ingegneria Industriale- A.A. 2012-2013

  19. 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 Ingegneria Industriale- A.A. 2012-2013

  20. 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 Ingegneria Industriale- A.A. 2012-2013

  21. 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-2013

  22. 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 Ingegneria Industriale- A.A. 2012-2013

  23. 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 Ingegneria Industriale- A.A. 2012-2013

More Related