Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAlessia Bianchini Modificato 6 anni fa
1
1. Introduzione al corso Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A
2
Informazioni utili Prof.ssa Marina Mongiello: Contatti:
III piano (DEI) stanza n.40 mailto: Tel: Ricevimento studenti: Mercoledì 10:00/11:00 Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A
3
- Composta di una parte teorica e di una applicativa
Modalità d’esame Prova scritta: - Composta di una parte teorica e di una applicativa - Obbligatoria per il superamento dell’esame Prova orale: - Facoltativa con il superamento della prova scritta Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A
4
Composizione del corso
Argomenti teorici di base - oggetto delle lezioni in aula - verificati tramite quesiti ed esercizi della prova scritta Programmazione in Matlab - oggetto delle lezioni e delle esercitazioni in aula - verificata tramite problemi della prova scritta Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A
5
Libri di testo Testi di riferimento: Ceri, Mandrioli, Sbattella. Informatica: arte e mestiere. McGraw-Hill, (2008) William J. Palm. Matlab – Un’introduzione per gli ingegneri. McGraw Hill (2011) Sciuto, Buonanno, Mari. Introduzione ai sistemi informatici 5/ed. McGraw Hill (2014) Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A
6
Programma Lezioni frontali Esercitazioni in aula
Architettura del calcolatore Il sistema operativo Codifica binaria dell’informazione, algebra di Boole Algoritmi e Programmazione Strutturata Funzioni e procedure Programmazione ricorsiva Gestione dei file Esercitazioni in aula Progettazione di Algoritmi Codifica di Algoritmi in Matlab Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A
7
Scienza della rappresentazione e dell’elaborazione dell’informazione
Informatica Definizione 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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
8
Proprietà degli algoritmi:
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
9
Lavaggio di capi resistenti in lavatrice
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
10
-lavatrice Problema: Lavaggio di capi resistenti in lavatrice
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
11
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> I=I+5%(R ) - I è l’imposta risultante Inizio-fascia(€) Fine_fascia (€) Aliquota (%) O 3600 10 7200 22 15000 27 30000 34 75.000 41 150000 46 51 Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A
12
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
13
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
14
- istruzioni non condizionate
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
15
Insieme di istruzioni di controllo e controllate:
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
16
-condizioni(scelta tra due possibilità) con rombi
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 Condizione? vero falso Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A
17
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
18
Classificazione a livello generico delle componenti:
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
19
Insieme di elementi funzionali: Unità di elaborazione o processore:
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
20
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
21
SW di base SW applicativo: Software
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
22
Complessità crescente con quella del sistema informatico:
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 per l’Ingegneria- CDL in Ingegneria Informatica- A.A
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.