Seconda Universit degli Studi di Napoli Facolt di Psicologia
Abilit Informatiche Prof.ssa Zahora Giuseppina
Slide 2
Introduzione (Cap. 1 pagg. 1-32) Che cos linformatica risposte
vaghe e contraddittorie Linformatica abbraccia campi disparati
perch Calcolo scientifico-ingegneristico Gestione Aziendale
Intelligenza Artificiale Elaborazione di dati geografici e
ambientali
Slide 3
Introduzione Che cos linformatica La scienza e la tecnologia
dei calcolatori elettronici Nessuna delle molteplici applicazioni
dei calcolatori Definizione Linformatica la scienza della
rappresentazione e dellelaborazione dellinformazione tecnologia dei
calcolatori strutturazione ed elaborazione delle informazioni
lelaborazione dellinformazione avviene in maniera sistematica e
rigorosa e pu essere automatizzata
Slide 4
la scienza che si occupa: dei processi e delle tecnologie che
consentono il trattamento delle informazioni della progettazione
degli strumenti che concretizzano tali funzioni (computer). La
parola informatica deriva dal francese informatique (informazione
automatica).
Slide 5
una macchina costituita da dispositivi di diversa natura in
grado di elaborare dati. una macchina programmabile in grado di
interpretare ed eseguire ordini impartiti dallesterno. Il computer
PROGRAMMIPROGRAMMI PROGRAMMIPROGRAMMI RISULTATIRISULTATI R I S U L
T A T I DATI
Slide 6
Letteralmente significa componente soffice. la parte logica del
computer. linsieme dei programmi che consentono di gestire il
sistema. Letteralmente significa componente dura. la parte fisica
del computer. linsieme delle componenti meccaniche, elettriche,
elettroniche, magnetiche e ottiche.
Slide 7
una conoscenza elementare che presa fuori da un preciso
contesto non ha alcun valore. (Il computer tratta dati).
lincremento di conoscenza che deriva dallelaborazione di un dato.
Informazione Informazione Dato Dato Elaborazione Elaborazione
Slide 8
Le nuove tecnologie si distinguono in: A NALOGICHE in cui il
segnale da elaborare continuo. D IGITALI in cui i segnali da
elaborare sono discreti (procedono a salti).
Slide 9
Introduzione Che cos linformatica Linformatica lo studio
sistematico degli algoritmi che descrivono e trasformano
linformazione: la loro teoria, analisi, progetto, efficienza,
realizzazione e applicazione ACM: Association for Computing
Machinery
Slide 10
Introduzione Algoritmi Algoritmo Diagramma a blocchi Programma
Problema Pseudocodifica codifica
Slide 11
Introduzione Algoritmi Es: somma di due numeri con un
pallottoliere Passo1: spostare 1 pallina della 1 a riga da sx a dx
Passo2: spostare 1 pallina della 3 a riga da dx a sx Passo3:
spostare 1 pallina della 2 a riga da sx a dx Passo4: spostare 1
pallina della 3 a riga da dx a sx ripeti fino a quando ci sono
palline nella 1 a riga ripeti fino a quando ci sono palline nella 2
a riga 1 2 3
Slide 12
Introduzione Algoritmi Un problema un quesito che attende una
risposta detta soluzione Un processo risolutivo un insieme di passi
da compiere per giungere alla Soluzione di un problema La soluzione
o risultato finale lobiettivo che vogliamo raggiungere partendo dai
dati iniziali Il criterio di verifica un controllo sui risultati
finali per verificare che questi siano rispondenti agli obiettivi
iniziali
Slide 13
Introduzione Algoritmi 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 marzo Algoritmo Risultai finali Verifica dei risultati
Dati iniziali Problema
Slide 14
Introduzione Algoritmi Formulare correttamente un problema vuol
dire: Chiarire gli obiettivi finali Possedere le informazioni
iniziali Individuare il criterio di verifica
Slide 15
Introduzione Algoritmi 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 allindietro
Slide 16
Introduzione
Slide 17
Slide 18
Introduzione Algoritmi Un algoritmo deve essere: Finito Univoco
o non ambiguo o preciso Generale Completo Osservabile nei risultati
Deterministico
Slide 19
Introduzione Algoritmi Prendere una pentola adeguata Aggiungere
dellacqua nella pentola Accendere il fuoco e mettere la pentola sul
fornello Attendere che lacqua bolla Aggiungere il sale Versare la
pasta nella pentola Attendere che sia cotta Scolare la pasta
togliendo lacqua Problema: cucinare la pasta per la propria
famiglia Dati iniziali: N: numero di persone di cui composta la
famiglia Dati iniziali: N: numero di persone di cui composta la
famiglia Algoritmo
Slide 20
Introduzione Algoritmi Prendere una pentola adeguata Aggiungere
dellacqua nella pentola Accendere il fuoco e mettere la pentola sul
fornello Attendere che lacqua bolla Aggiungere il sale Versare la
pasta nella pentola Attendere che sia cotta Scolare la pasta
togliendo lacqua Problema: cucinare la pasta per la propria
famiglia Dati iniziali: N: numero di persone di cui composta la
famiglia L: litri di acqua per persona G: quantit di pasta per
persona S: grammi di sale per persona M: tempo medio di cottura
Dati iniziali: N: numero di persone di cui composta la famiglia L:
litri di acqua per persona G: quantit di pasta per persona S:
grammi di sale per persona M: 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 lacqua Algoritmo corretto
Slide 21
Introduzione
Slide 22
blocco iniziale/finale blocco di azione blocco di controllo
blocco di lettura/scrittura Blocchi elementari
Slide 23
Introduzione
Slide 24
Slide 25
Slide 26
Introduzione Algoritmi: 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-20 Divisori di 40:
1-2-4-5-10-20-40 MCD=20 Es1 - MCD tra 20 e 40: Divisori di 25:
1-5-25 Divisori di 40: 1-2-4-5-10-20-40 MCD=5 Es2 - MCD tra 25 e
40: Scomposizione di 20: 20=5*2 2 Divisori di 40: 40=5*2 3 MCD=5*2
2 =20 Scomposizione di 25: 25=5 2 Divisori di 40: 40=5*2 3 MCD=5 Si
moltiplicano i fattori comuni presi una sola volta con lesponente
minore ALGORITMO 1ALGORITMO 2 ALGORITMO 1ALGORITMO 2 Si elencano
tutti i divisori dei numeri e si selezione il maggiore tra quelli
comuni non soddisfano propriet algoritmi
Slide 27
Introduzione
Slide 28
Introduzione Es: Algoritmo di Euclide a=20 b=40 (test1 falso)
a=40 b=20 resto=a mod b = 0 a=b=20 b=resto=0 (test2 vero) MCD = a =
20 Es1 - MCD tra 20 e 40: Es2 - MCD tra 25 e 40: scambio a e b }
a=25 b=40 (test1 falso) a=40 b=25 resto=a mod b = 15 a=b=25
b=resto=15 (test2 falso) resto=25 mod 15 = 10 a=b=15 b=resto=10
(test2 falso) resto= 15 mod 10 = 5 a=b=10 b=resto=5 (test2 falso)
resto = 10 mod 5 = 0 a=b=5 b=0 MCD = a = 5 scambio a e b }
Slide 29
Introduzione 35 ab 5? 35 53 ab 3 c a=b b=? N.B. c=a=3 a=b=5
b=c=3 Scambio di a e b:
Slide 30
Introduzione Algoritmi
Slide 31
Introduzione Diagrammi di flusso (flow chart)
Slide 32
Slide 33
Condizioni di validit
Slide 34
Introduzione Diagrammi di flusso (flow chart) Analisi
strutturata
Slide 35
Introduzione Diagrammi di flusso (flow chart) Schema
sequenziale
Slide 36
Introduzione Diagrammi di flusso (flow chart) Schema di
selezione
Slide 37
Introduzione Diagrammi di flusso (flow chart) Schema di
iterazione
Slide 38
Introduzione Diagrammi di flusso (flow chart) Es. Schema di
iterazione
Slide 39
Introduzione I 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
Slide 40
CPU Memoria Centrale (RAM) Memoria di massa BUS di sistema Unit
periferiche Introduzione Hardware
Slide 41
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
Slide 42
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
Slide 43
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
Slide 44
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)
Slide 45
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
Slide 46
workstation bus stampante alta risoluzione stampante bassa
risoluzione disk server RETE LAN
Slide 47
Introduzione Altri sistemi informatici - Reti host RETE
GEOGRAFICA rete geografica rete geografica rete geografica
terminali locali terminali remoti collegamento diretto o tramite
telefono rete LAN
Slide 48
Introduzione Software Firmware Ambienti di programmazione
Software di produttivit pesonale
Slide 49
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)
Slide 50
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
Slide 51
Introduzione Applicazioni dellinformatica 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 velocitdi trasmissione Tecnologia multimediale Riduzione
dei costi Incremento qualitativo e quantitativo delle applicazioni
informatiche
Slide 52
Applicazioni numeriche Applicazioni gestionali I servizi
telematici Automazione industriale Controllo di impianti
industriali Realt virtuale Introduzione Applicazioni
dellinformatica
Slide 53
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
Slide 54
1Algoritmi 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 2Architettura 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 dellinformatica
Slide 55
3Intelligenza artificiale e robotica: Studia l'automazione di
compiti normalmente affidati a esseri umani, simulando la loro
intelligenza 4Scienze computazionali: Studia la soluzione di
problemi numerici, ponendo I'accento sull'efficienza delle tecniche
risolutive e sulla precisione dei risultati Introduzione Le aree
disciplinari dellinformatica
Slide 56
5Basi di dati e sistemi per il ritrovamento dell'informazione
Studia la gestione di grandi quantit di dati, essenziale nelle
applicazioni gestionali 6Grafica computerizzata Studia Ie tecniche
per rappresentare e manipolare immagini bidimensionali e
tridimensionali sullo schermo del calcolatore Introduzione Le aree
disciplinari dellinformatica
Slide 57
7Interazione 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. 8Sistemi 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 dellinformatica
Slide 58
9Linguaggi 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 dellinformatica