seconda università degli studi di napoli facoltà di economia corso di informatica prof.ssa zahora...

53
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Upload: gervasio-messina

Post on 02-May-2015

219 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Seconda Università degli Studi di NapoliFacoltà di Economia

Corso di Informatica

Prof.ssa Zahora Pina

Page 2: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione(Cap. 1 – pagg. 1-32) Che cos’è l’informatica

risposte vaghe e contraddittorie

L’informatica abbraccia campi disparati

perchè

Calcoloscientifico-ingegneristico

GestioneAziendale

IntelligenzaArtificiale

Elaborazione di datigeografici e ambientali

Page 3: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneChe cos’è l’informatica

La scienza e la tecnologia dei calcolatori elettronici

Nessuna delle molteplici applicazioni dei calcolatori

Definizione

L’informatica è la scienza della rappresentazione e dell’elaborazione dell’informazione

tecnologia dei calcolatori strutturazione ed elaborazionedelle informazioni

l’elaborazione dell’informazione avviene in maniera sistematica e rigorosa e può essere

automatizzata

Page 4: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneChe cos’è l’informatica

L’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione

ACM: Association for Computing Machinery

Page 5: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Algoritmo

Diagramma a blocchi

Programma

Problema

Pseudocodifica

codifica

Page 6: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Es: somma di due numeri con un pallottoliere

Passo1: spostare 1 pallina della 1a riga da sx a dxPasso2: spostare 1 pallina della 3a riga da dx a sxPasso3: spostare 1 pallina della 2a riga da sx a dxPasso4: spostare 1 pallina della 3a riga da dx a sx

ripeti fino a quando

ci sono palline nella 1a riga ripeti fino a quando

ci sono palline nella 2a riga

123

Page 7: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Un problema è un quesito che attende una risposta detta soluzione

Un processo risolutivo è un insieme di passi da compiere per giungere allaSoluzione di un problema

La soluzione o risultato finale è l’obiettivo che vogliamo raggiungere partendodai dati iniziali

Il criterio di verifica è un controllo sui risultati finali per verificare chequesti siano rispondenti agli obiettivi iniziali

Page 8: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Ottenere un biglietto

•Passo 1•Passo 2

•.•.•.

•Passo n

biglietto

•Da Roma•a Milano•X 2 persone•Il 20 marzo

Problema: ottenere un biglietto treno per 2 persone da Roma a Milano il 20 marzoProblema: ottenere un biglietto treno per 2 persone da Roma a Milano il 20 marzo

Algoritmo

Risultai finali

Verifica dei risultati

Dati iniziali

Problema

Page 9: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Formulare correttamente un problema vuol dire: Chiarire gli obiettivi finali Possedere le informazioni iniziali Individuare il criterio di verifica

Page 10: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Per descrivere il processo risolutivo bisogna: Conoscere il tema oggetto del problema Utilizzare metodi risolutivi già sperimentati Scindere il problema in sottoproblemi Ripercorrere il cammino all’indietro

Page 11: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione

Page 12: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione

Page 13: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Un algoritmo deve essere: Finito Univoco o non ambiguo o preciso Generale Completo Osservabile nei risultati Deterministico

Page 14: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Prendere una pentola adeguata Aggiungere dell’acqua nella pentola Accendere il fuoco e mettere la pentola sul fornello Attendere che l’acqua bolla Aggiungere il sale Versare la pasta nella pentola Attendere che sia cotta Scolare la pasta togliendo l’acqua

Problema: cucinare la pasta per la propria famigliaProblema: cucinare la pasta per la propria famiglia

Dati iniziali:N: numero di persone di cui è composta la famigliaDati iniziali:N: numero di persone di cui è composta la famiglia

Algoritmo

Page 15: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Prendere una pentola adeguata Aggiungere dell’acqua nella pentola Accendere il fuoco e mettere la pentola

sul fornello Attendere che l’acqua bolla Aggiungere il sale Versare la pasta nella pentola Attendere che sia cotta Scolare la pasta togliendo l’acqua

Problema: cucinare la pasta per la propria famigliaProblema: cucinare la pasta per la propria famiglia

Dati iniziali:N: numero di persone di cui è composta la famigliaL: litri di acqua per personaG: quantità di pasta per personaS: grammi di sale per personaM: tempo medio di cottura

Dati iniziali:N: numero di persone di cui è composta la famigliaL: litri di acqua per personaG: quantità di pasta per personaS: grammi di sale per personaM: tempo medio di cottura

Algoritmo

Prendere una pentola da N*L litri Aggiungere N*L litri di acqua nella pentola Accendere il fuoco e mettere la pentola sul

fornello Attendere finchè la temperatura raggiunga 100 ° Aggiungere N*S grammi di sale Versare N*G grammi di pastanella pentola Attendere che sia cotta Scolare la pasta togliendo l’acqua

Algoritmo corretto

Page 16: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione

Page 17: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione

blocco iniziale/finale

blocco di azione

blocco di controllo

blocco dilettura/scrittura

Blocchi elementari

Page 18: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione

Page 19: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione

Page 20: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione

Page 21: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi: Calcolo del MCD

Il Massimo Comune Divisore di due numeri è il più grande dei divisori comuni ai due numeri

MCD

Divisori di 20: 1-2-4-5-10-20Divisori di 40: 1-2-4-5-10-20-40MCD=20

Es1 - MCD tra 20 e 40:

Divisori di 25: 1-5-25Divisori di 40: 1-2-4-5-10-20-40MCD=5

Es2 - MCD tra 25 e 40:

Scomposizione di 20: 20=5*22

Divisori di 40: 40=5*23

MCD=5*22=20

Scomposizione di 25: 25=52

Divisori di 40: 40=5*23

MCD=5

Si moltiplicano i fattori comuni presiuna sola volta con l’esponente minore

ALGORITMO 1 ALGORITMO 2

ALGORITMO 1 ALGORITMO 2

Si elencano tutti i divisori dei numeri e si selezione il maggiore tra quelli

comuni

non soddisfanoproprietàalgoritmi

Page 22: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione

Page 23: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneEs: Algoritmo di Euclide

a=20b=40(test1 falso)a=40b=20resto=a mod b = 0a=b=20b=resto=0(test2 vero)

MCD = a = 20

Es1 - MCD tra 20 e 40: Es2 - MCD tra 25 e 40:

scambio a e b}

a=25b=40(test1 falso)a=40b=25resto=a mod b = 15a=b=25b=resto=15(test2 falso)resto=25 mod 15 = 10a=b=15b=resto=10(test2 falso)resto= 15 mod 10 = 5a=b=10b=resto=5(test2 falso)resto = 10 mod 5 = 0a=b=5b=0

MCD = a = 5

scambio a e b}

Page 24: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione

3 5

a b

5 ?

3 5

5 3

a b

3

c

a=bb=?

N.B.

c=a=3a=b=5b=c=3

Scambio di a e b:

Page 25: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneAlgoritmi

Page 26: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneDiagrammi di flusso (flow chart)

Page 27: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneDiagrammi di flusso (flow chart)

Page 28: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneDiagrammi di flusso (flow chart)

Condizioni di validità

Page 29: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneDiagrammi di flusso (flow chart) – Analisi strutturata

Page 30: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneDiagrammi di flusso (flow chart) – Schema sequenziale

Page 31: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneDiagrammi di flusso (flow chart) – Schema di selezione

Page 32: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneDiagrammi di flusso (flow chart) – Schema di iterazione

Page 33: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneDiagrammi di flusso (flow chart) – Es. Schema di iterazione

Page 34: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneI linguaggi per la programmazione di algoritmi

linguaggio macchina

linguaggi ad alto livello: applicazioni matematiche e gestionali

•FORTRAN (FORmula TRANSlator)•COBOL (Common Business Oriented Language

linguaggi ad alto livello: basati sullo studio di principi della programmazione

ALGOL (Algorithmic Language)Anni ’60)

Anni ’50)

•PASCAL •C•ADA

linguaggi ad alto livello: Object-Oriented

•C++•Java•Delphi

linguaggi ad alto livello: non convenzionali

•LISP•PROLOG

Page 35: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

CPU Memoria Centrale (RAM) Memoria di massa BUS di sistema Unità periferiche

IntroduzioneHardware

Page 36: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione Personal Computer

I personal computer del tipo esemplificato in figura sono tipicamente "calcolatori da ufficio", e per questo sono anche detti "desktop computer".

case di tipo tower

Page 37: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione Personal Computer Da tempo sono disponibili

calcolatori portatili, esplicitamente disegnati per essere facilmente trasportabili, anche durante l'uso.

Ne esistono attualmente diverse categorie: portatile classico, dotato di

schermo sufficientemente ampio e relativamente ingombrante

"tablet-pc", più leggeri e di dimensioni ridotte

palmari che, come suggerisce il termine, possono essere tenuti in una mano

Page 38: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione Altri sistemi informatici (Workstation-Mainframe)

Workstation (stazioni di lavoro): video di grandi dimensioni processore di elevate prestazioni sono in grado di servire alcune decine di utenti utilizzate da professionisti per il lavoro su disegno tecnico (CAD),

ricerca scientifica, o produzioni audio/video Mainframe:

sistemi di grandi dimensioni capaci di gestire centinaia di utenti molti processori gigantesche memorie di massa centinaia o addirittura migliaia di terminali ES: sistemi di prenotazione dei viaggi aerei, sistemi informativi

per la gestione dei conti correnti di una banca.

Complessità, prestazioni e prezzo aumentano passando dai personal computer alle workstation e ai mainframe

Page 39: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione Altri sistemi informatici - Reti

Una rete di calcolatori e costituita dalla connessione di più elaboratori per mezzo di dispositivi dedicati al trasferimento dei dati.

Si distinguono due categorie principali: Ie reti locali (LAN, Local Area Network) Ie reti geografiche (WAN, Wide Area Network)

Page 40: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Le reti locali collegano fra loro calcolatori e terminali che sono fisicamente vicini fra loro Sono molto veloci (consentono cioè di trasmettere

grandi quantità di dati in poco tempo). In una rete locale alcuni "servizi" vengono messi

a disposizione dei calcolatori collegati in rete: stampanti di qualità calcolatori con ampie memorie di massa per la

memorizzazione di grandi quantità di dati

Introduzione Altri sistemi informatici - Reti

Page 41: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione Altri sistemi informatici - Reti

workstation workstation workstationworkstation

bus

stampantealta risoluzione

stampantebassa risoluzione

diskserver

RETE LAN

Page 42: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione Altri sistemi informatici - Reti

host

host host

RETE GEOGRAFICA

retegeografica

retegeografica

retegeografica

terminali locali

terminali remoti

collegamento direttoo tramite telefono

rete LAN

Page 43: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

IntroduzioneSoftware

Firmware Ambienti di programmazione Software di produttività pesonale

Page 44: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione Ambiente di programmazione

Ambiente di programmazione: insieme di strumenti che facilitano la scrittura dei programmi e la verifica della loro correttezza.

Hanno molti aspetti in comune: Editor (creazione programma sorgente) Compilatore (traduzione programma sorgente-

programma oggetto Linker (collega insieme vari programmi oggettoin un

unico programma eseguibile Controllore dell' esecuzione (debugger)

Page 45: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Software di produttività personale Si adattano a funzioni tipiche della vita quotidiana (scrivere e

comunicare Comprendono:

sistemi di videoscrittura (elaboratori di testi o word processor),

agende elettroniche, che consentono di memorizzare un programma di lavoro o un indirizzario personale

ipertesti, che consentono di costruire strutture reticolari complesse, al cui interno trovano posto "pezzi" di testo (elenchi di vocaboli, paragrafi, riferimenti)

posta elettronica (e-mail), che consente lo scambio di messaggi fra due qualsiasi utenti di sistemi informatici che siano collegati tramite una o più reti di calcolatori

fogli elettronici (spreadsheet), che permettono di effettuare efficientemente l'analisi, la gestione e la rappresentazione di dati soprattutto numerici

sistemi per la gestione di basi di dati (o database system)

Introduzione Software di produttività personale

Page 46: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Introduzione Applicazioni dell’informatica

l'informatica si occupa della rappresentazione e la elaborazione delle informazioni

le sue applicazioni si estendano potenzialmente a ogni attività umana

calcolo numerico

giochi

sport attività giudiziaria

Fino a qualche decennio fa

Oggi

Sviluppi tecnologici•Aumento prestazioni•Aumento velocitàdi trasmissione•Tecnologia multimediale

Riduzione dei costi

Incremento qualitativo e quantitativodelle applicazioni informatiche

Page 47: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Applicazioni numeriche Applicazioni gestionali I servizi telematici Automazione industriale Controllo di impianti industriali Realtà virtuale

Introduzione Applicazioni dell’informatica

Page 48: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

Le applicazioni gestionali Le classiche applicazioni gestionali operano su grandi

basi di dati realizzando sistemi informativi integrati Tipici ambienti applicativi:

banche società finanziarie o assicurative in genere compagnie di trasporto (con i sistemi di prenotazione) società telefoniche enti pubblici (anagrafe, immatricolazione veicoli,

intendenza di finanza) funzioni aziendali di contabilità gestione personale, clienti e magazzino

Automazione d'ufficio (office automation): servizi finalizzati a migliorare la qualità del lavoro e I'interazione interpersonale fra gli impiegati

svolgono funzioni specializzate e ripetitive (calcolo di paghe e contributi, gestione di operazioni di sportello) applicate a quantità notevoli di dati

tende soprattutto a fornire servizi di alta qualità e facili da usare

Page 49: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

1 Algoritmi e strutture dati: Studia la rappresentazione e la manipolazione

dell'informazione Si occupa:

della teoria degli algoritmi e delle loro proprietà formali (tra cui lo studio della loro complessità)

dell'organizzazione dei dati più adatta a rappresentare l'informazione

2 Architettura dei calcolatori: Studia la realizzazione delle varie parti hardware che

caratterizzano un sistema informatico Si pone come obiettivo la costruzione di elementi

funzionali sempre più affidabili ed efficienti e la costruzione di sistemi e impianti sempre più complessi

Dieci aree disciplinari (Association for Computing Machinery);

Introduzione Le aree disciplinari dell’informatica

Page 50: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

3 Intelligenza artificiale e robotica: Studia l'automazione di compiti normalmente

affidati a esseri umani, simulando la loro intelligenza

4 Scienze computazionali: Studia la soluzione di problemi numerici,

ponendo I'accento sull'efficienza delle tecniche risolutive e sulla precisione dei risultati

Introduzione Le aree disciplinari dell’informatica

Page 51: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

5 Basi di dati e sistemi per il ritrovamento dell'informazione

Studia la gestione di grandi quantità di dati, essenziale nelle applicazioni gestionali

6 Grafica computerizzata Studia Ie tecniche per rappresentare e

manipolare immagini bidimensionali e tridimensionali sullo schermo del calcolatore

Introduzione Le aree disciplinari dell’informatica

Page 52: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

7 Interazione uomo-calcolatore Studia I'efficienza del trasferimento di

informazione fra uomo ed elaboratore, non solo tramite le interfacce classiche (monitor e tastiera), ma anche attraverso vari sensori e attuatori.

8 Sistemi operativi e software di rete Studia la costruzione e la gestione dei sistemi

operativi e del software dedicato al controllo delle reti di calcolatori

Introduzione Le aree disciplinari dell’informatica

Page 53: Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina

9 Linguaggi di programmazione Studia i linguaggi e le tecniche di programmazione,

individuando caratteristiche comuni ai vari linguaggi e definendo in modo preciso le loro proprietà

Studia le problematiche legate alla traduzione dei linguaggi di alto livello in linguaggi operativi, cioè eseguibili direttamente dall'elaboratore

10 Ingegneria del software Studia le metodologie e gli strumenti che possono aiutare

nella costruzione di programmi e sistemi software, ponendosi per obiettivo l'aumento della produttività dei programmatori e la realizzazione di applicazioni più efficienti, affidabili e facili da usare per l'utente finale.

Introduzione Le aree disciplinari dell’informatica