Title: Seconda Universitа degli Studi di Napoli Facoltа di Psicologia
1Seconda Università degli Studi di NapoliFacoltà
di Psicologia
Prof.ssa Zahora Giuseppina
2Introduzione(Cap. 1 pagg. 1-32) Che cosè
linformatica
?
risposte vaghe e contraddittorie
perchè
Linformatica abbraccia campi disparati
Intelligenza Artificiale
Calcolo scientifico-ingegneristico
Gestione Aziendale
Elaborazione di dati geografici e ambientali
3IntroduzioneChe cosè linformatica
Non è
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
4Linformatica
La parola informatica deriva dal francese
informatique (informazione automatica).
- È 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).
5Il computer
DATI
- É 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.
Risultati
PROGRAMMI
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.
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
Dato
Elaborazione
8Le nuove tecnologie si distinguono in
- Digitali
- in cui i segnali da elaborare sono discreti
(procedono a salti).
- Analogiche
- in cui il segnale da elaborare è continuo.
9IntroduzioneChe cosè linformatica
ACM Association for Computing Machinery
- Linformatica è lo studio sistematico degli
algoritmi che descrivono e trasformano
linformazione la loro teoria, analisi,
progetto, efficienza, realizzazione e applicazione
10IntroduzioneAlgoritmi
Problema
Algoritmo
Diagramma a blocchi
Pseudocodifica
codifica
Programma
11IntroduzioneAlgoritmi
Es somma di due numeri con un pallottoliere
1
2
3
Passo1 spostare 1 pallina della 1a riga da sx a
dx Passo2 spostare 1 pallina della 3a riga da dx
a sx Passo3 spostare 1 pallina della 2a riga da
sx a dx Passo4 spostare 1 pallina della 3a riga
da dx a sx
ripeti fino a quandoci sono palline nella 1a
riga
ripeti fino a quandoci sono palline nella 2a
riga
12IntroduzioneAlgoritmi
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
13IntroduzioneAlgoritmi
Problema ottenere un biglietto treno per 2
persone da Roma a Milano il 20 marzo
- Passo 1
- Passo 2
- .
- .
- .
- Passo n
biglietto
Ottenere un biglietto
Risultai finali
Problema
Algoritmo
- Da Roma
- a Milano
- X 2 persone
- Il 20 marzo
Dati iniziali
Verifica dei risultati
14IntroduzioneAlgoritmi
- Formulare correttamente un problema vuol dire
- Chiarire gli obiettivi finali
- Possedere le informazioni iniziali
- Individuare il criterio di verifica
15IntroduzioneAlgoritmi
- 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
16Introduzione
17Introduzione
18IntroduzioneAlgoritmi
- Un algoritmo deve essere
- Finito
- Univoco o non ambiguo o preciso
- Generale
- Completo
- Osservabile nei risultati
- Deterministico
19IntroduzioneAlgoritmi
Problema cucinare la pasta per la propria
famiglia
Dati iniziali N numero di persone di cui è
composta la famiglia
Algoritmo
- 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
20IntroduzioneAlgoritmi
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
Algoritmo
Algoritmo corretto
- 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
- Prendere una pentola da NL litri
- Aggiungere NL litri di acqua nella pentola
- Accendere il fuoco e mettere la pentola
sulfornello - Attendere finchè la temperatura raggiunga 100
- Aggiungere NS grammi di sale
- Versare NG grammi di pastanella pentola
- Attendere che sia cotta
- Scolare la pasta togliendo lacqua
21Introduzione
22Introduzione
Blocchi elementari
blocco iniziale/finale
blocco di azione
blocco di controllo
blocco di lettura/scrittura
23Introduzione
24Introduzione
25Introduzione
26IntroduzioneAlgoritmi Calcolo del MCD
MCD
Il Massimo Comune Divisore di due numeri è il più
grande dei divisori comuni ai due numeri
Es1 - MCD tra 20 e 40
ALGORITMO 1
ALGORITMO 2
Divisori di 20 1-2-4-5-10-20 Divisori di 40
1-2-4-5-10-20-40 MCD20
Scomposizione di 20 20522 Divisori di 40
40523 MCD52220
Si elencano tutti i divisori dei numeri e si
selezione il maggiore tra quelli comuni
Si moltiplicano i fattori comuni presi una sola
volta con lesponente minore
non soddisfano proprietà algoritmi
Es2 - MCD tra 25 e 40
ALGORITMO 1
ALGORITMO 2
Divisori di 25 1-5-25 Divisori di 40
1-2-4-5-10-20-40 MCD5
Scomposizione di 25 2552 Divisori di 40
40523 MCD5
27Introduzione
28IntroduzioneEs Algoritmo di Euclide
Es1 - MCD tra 20 e 40
Es2 - MCD tra 25 e 40
a20 b40 (test1 falso) a40 b20 restoa mod b
0 ab20 bresto0 (test2 vero) MCD a 20
a25 b40 (test1 falso) a40 b25 restoa mod b
15 ab25 bresto15 (test2 falso) resto25 mod
15 10 ab15 bresto10 (test2 falso) resto 15
mod 10 5 ab10 bresto5 (test2 falso) resto
10 mod 5 0 ab5 b0 MCD a 5
scambio a e b
scambio a e b
29Introduzione
N.B.
Scambio di a e b
a
b
a
b
c
3
5
3
5
3
ca3 ab5 bc3
ab b?
5
?
5
3
30IntroduzioneAlgoritmi
31IntroduzioneDiagrammi di flusso (flow chart)
32IntroduzioneDiagrammi di flusso (flow chart)
33IntroduzioneDiagrammi di flusso (flow chart)
Condizioni di validità
34IntroduzioneDiagrammi di flusso (flow chart)
Analisi strutturata
35IntroduzioneDiagrammi di flusso (flow chart)
Schema sequenziale
36IntroduzioneDiagrammi di flusso (flow chart)
Schema di selezione
37IntroduzioneDiagrammi di flusso (flow chart)
Schema di iterazione
38IntroduzioneDiagrammi di flusso (flow chart)
Es. Schema di iterazione
39IntroduzioneI linguaggi per la programmazione di
algoritmi
linguaggio macchina
Anni 50)
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
Anni 60)
ALGOL (Algorithmic Language)
linguaggi ad alto livello Object-Oriented
linguaggi ad alto livello non convenzionali
40IntroduzioneHardware
- CPU
- Memoria Centrale (RAM)
- Memoria di massa
- BUS di sistema
- Unità periferiche
41Introduzione 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
42Introduzione 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
43Introduzione 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
44Introduzione 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)
45Introduzione Altri sistemi informatici - Reti
- 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
46Introduzione Altri sistemi informatici - Reti
RETE LAN
stampante alta risoluzione
diskserver
stampante bassa risoluzione
bus
workstation
workstation
workstation
workstation
47Introduzione Altri sistemi informatici - Reti
terminali remoti
RETE GEOGRAFICA
collegamento diretto o tramite telefono
rete geografica
host
host
terminali locali
rete geografica
rete geografica
rete LAN
host
48IntroduzioneSoftware
- Firmware
- Ambienti di programmazione
- Software di produttività pesonale
49Introduzione 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)
50Introduzione Software di produttività personale
- 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)
51Introduzione 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
sport
attività giudiziaria
giochi
Fino a qualche decennio fa
Oggi
- Aumento prestazioni
- Aumento velocitàdi trasmissione
- Tecnologia multimediale
Sviluppi tecnologici
Riduzione dei costi
Incremento qualitativo e quantitativo delle
applicazioni informatiche
52Introduzione Applicazioni dellinformatica
- Applicazioni numeriche
- Applicazioni gestionali
- I servizi telematici
- Automazione industriale
- Controllo di impianti industriali
- Realtà virtuale
53Le 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
54Introduzione Le aree disciplinari
dellinformatica
Dieci aree disciplinari (Association for
Computing Machinery)
- 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
55Introduzione Le aree disciplinari
dellinformatica
- 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
56Introduzione Le aree disciplinari
dellinformatica
- 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
57Introduzione Le aree disciplinari
dellinformatica
- 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
58Introduzione Le aree disciplinari
dellinformatica
- 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.