fondamenti di informatica
parte 1
appunti per le Scuole di
Specialita’ in Medicina,
a.a. 2006-11
di
anna maria carminelli gregori
[email protected]
fondamenti di informatica 1
 Scopo del corso è fornire: i principi, i concetti
fondamentali, le nozioni e l’ impostazione per l’ utilizzo
corretto dell’ Elaboratore Elettronico (E.E.) imparando le
nozioni di base dell’ Informatica.
 Per leggere questi appunti si può:
 collegarsi a: http://www.ing.units.it/
 si apre la pagina della Facoltà di Ingegneria e a destra c’è
un elenco di collegamenti dove appare anche archivio
studenti (arc_stud)
 2 click e si apre una finestra con (tra le altre) la cartella
carminelli; clic e si trova la cartella medici; clic e si trova il
suo contenuto con le 2 dispense MEDprimo & MEDsec e gli
esempi di database in Access.
2
… ma l’ informatica, che
cos’ e’?
E` bene evidenziare subito cosa non e’ l'
Informatica ! NON E’:
Calcolo numerico, ne’ Geometria ossia
non e’ una disciplina che insegna
metodi numerici o geometrici;
Probabilita’, ne’ Statistica ossia .....
Un gioco nel senso che non insegna a
giocare con l' elaboratore e va presa sul
serio;
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
3
Cosa e’ l’ informatica
NON E’ Semplicemente una materia di
ausilio alle altre, ma ha sue precise
finalita’ che si possono sintetizzare nel:
razionalizzare il trattamento delle
informazioni ... (e di E.E.)
Una possibile PRIMA definizione:
scienza e professione della gestione delle
informazioni effettuata con le velocita’ e
precisione proprie di E.E.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
4
Bibliografia
 P. Bishop: “L’ Informatica”, Gruppo Editoriale Jackson,
1992;
 R.A. MEO, M. Mezzalama ed altri: “Fondamenti di
informatica”, UTET 1996.
 F. Pinciroli: “Informatica di base per la Medicina”, UTET
1992.
 A. Serio: “Statistica per Studenti in Medicina: appunti
delle Lezioni con elementi di Matemetica e Informatica”
a cura di F.Romeo, Ed. Kappa, Roma, via S. Benco 14.
 C.J. Date: “Database: a primer”, Addison-Wesley
Microcomputer-books.
 Atzeni, Ceri, Paraboschi, Torlone: “Basi di dati”, seconda
edizione, McGraw-Hill Libri Italia srl, 2002.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
5
Programma: parte 1
Richiami su: Elaboratore Elettronico (E.E.),
Hardware, Software, livelli di utilizzo e
funzionamento di E.E., codifica delle informazioni,
algoritmi, file e dischi, Internet, W.W.W.;
il Software ed il Sistema Operativo con suo utilizzo
sui Personal Computer (riferimenti WINDOWS e
pochi cenni sul DOS); software di base (cenni su
editor, interpreti, compilatori, assemblatori);
programmi applicativi (cenni su Word- Processor e
Access);
la programmazione: linguaggi e traduttori, struttura
e funzioni dei programmi ;
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
6
Programma: parte 2
Data Base e Data Base Management
System: motivazioni;
progettazione di D.B. & utilizzo di
D.B.M.S. in vari ambienti: single _user &
multi_user;
problema della consistenza di dati e
soluzioni;
modelli di dati e sistemi relazionali;
esempi con uso
di
Access
.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
7
…ma ai medici serve tutto
questo?
Chi guida un’ automobile, deve conoscere
il suo funzionamento…
chi lavora su un computer … idem!
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
8
Metodo usato: top - down
… o a raffinamenti successivi che
permette di presentare un problema o un
in generale un oggetto in modo globale,
scomponendolo ricorsivamente nelle sue
componenti essenziali, piu’ semplici da
capire e con specifici dettagli in evidenza.
Es. Elaboratore Elettronico E.E. (seguito)
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
9
Richiami su E.E.
E.E.
tutti lo conoscono, ma cosa è, a cosa può
servire, come è …..
Storia e Antenati …….
Livelli di utilizzo
QUESTE PAGINE SONO DI RIEPILOGO A
QUANTO GIÀ NOTO: le scorro soltanto!
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
10
E.E. cosa e’ ….. (es. Metodo
top - down)
E.E. e’ una macchina elettronica, funzionante in
modo automatico, capace di effettuare l’
elaborazione di informazioni.
Informazioni: sono parole e/o numeri
CODIFICATI nella forma piu’ adatta per l’
elaborazione.
Elaborazione di Informazioni: lettura dall’
esterno, memorizzazione su supporto elettronico
e/o magnetico, recupero, modifica,
visualizzazione all’ esterno di informazioni.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
11
E.E. Storia e Antenati
 Antenati: 1642 macchina calcolatrice meccanica di

Blaise Pascal;


1671 macc. calc. mecc. di Gotfried Von Leibniz;

1821 macc. calc. mecc. di Charles Babbage e

successiva Macchina Analitica (? Aritmetic Unit ?

Calcolatore Meccanico ?);
 ……
 1946 ENIAC primo elaboratore costruito all’ Univ. della

Pennsylvania sul modello di Von Newman;

……….
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
12
Hardware & Software
E’ chiaro che le macchine calcolatrici
meccaniche di Pascal o di Babbage non erano
fatte di circuiti elettronici come gli attuali E.E.
I circuiti elettronici sono i componenti fisici =
HARDWARE degli attuali EE.
 …. ma questi da soli sono solo una accozzaglia
di fili e ferramenta.
Solo con l’ aggiunta di componenti logiche =
programmi = SOFTWARE che ne governano
l’hardware, E.E. diventa capace di
ELABORARE INFORMAZIONI.
13
Elaborazione di Informazioni ….
Informazioni: parole-numeri CODIFICATI nella
forma piu’ adatta per l’ elaborazione ... o anche:
successione di simboli di un dato alfabeto con
proprio significato in un dato linguaggio.
Linguaggi: naturale con alfabeto composto da:
lettere minuscole, maiuscole, cifre ... simboli;
artificiale con alfabeto diverso ....
per es. alfabeto dell' elaboratore: 0
1

cifre binarie = binary digit = bit.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
14
Bit
Perche’?
Ogni elemento dei componenti fisici dell’ elaboratore
puo’ avere solo 2 stati convenzionalmente indicati con
0 e 1 (per es. i valori di tensione elettrica in un punto
possono essere: basso = 0, o alto = 1).
Elaboratore elettronico: i suoi circuiti elettronici, con
tempi di commutazione sia dell’ ordine del nanosecondo (miliardesimo di sec. = 10-9 sec.), sia anche
sotto il pico-secondo (10-12 sec.), sono dedicati a:
memorizzare, combinare, trasferire bit =>
elaborare informazioni = sequenze di bit.

AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
15
Necessita’ di un Codice:
corrispondenza tra 2 alfabeti !
Il suo uso permette Codifica/Decodifica
delle informazioni che possono essere
numeriche e alfabetiche (testuali) con tipi
diversi di codifiche .
La Codifica/Decodifica delle informazioni
sfrutta sia l’ Hardware che il Software.
Software ( = merce soffice contrapposto
ad Hardware = ferramenta)
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
16
Codifica/Decod. di informazioni:
1) tipo numerico intero;
2) tipo numerico non intero;
3) informazione di tipo testo.
Codici differenti, ma che permettono di “tradurre” le
informazioni.
Informazione => successione di caratteri alfanumerici
(con un proprio significato)

=> successione di bit
Operazioni sulle informazioni:
a) "
elementari (livello hardware, ling.
macchina)
b) "
complesse ( "
software )
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
17
Istruzioni relative e note
a) es. Somma numeri interi;

Confronta caratteri; .........
b) es. Ordina una sequenza di parole;

Visualizza un’ immagine, fai un suono…
NOTA 1: qualsiasi tipo di informazione (immagini,
suoni...) e’ rappresentabile con sequenze di bit
(rappresentazione unitaria!) e quindi gestibile usando
appropriatamente E.E.
NOTA 2: Ogni operazione complessa e’ realizzata con
un insieme di apposite istruzioni che attivano
operazioni elementari: ... algoritmo !
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
18
Nozione di algoritmo:
insieme di regole non ambigue tese ad elaborare
informazioni,
eseguibili automaticamente, (per esempio da uno
schiavo che sappia contare senza sbagli e sia
dotato di memoria ove annotare le informazioni
che deve elaborare ed i risultati via via ottenuti) e
a partire dai dati producano i risultati in un tempo
finito.
Programma: algoritmo scritto per l' elaboratore.
Importante: prima algoritmo, dopo programma !
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
19
(
CURIOSITA’:
il nome deriva da Al-Kuwarizmi, matematico
Persiano, il quale nell’ 800 d.C. scrisse un
trattato di artimetica con la descrizione
dei passi necessari per effettuare le
operazioni aritmetiche. Il trattato iniziava
con la frase: “Al-Kuwarizmi dice: … ”
Il trattato fu tradotto in latino ed in latino la
frase iniziale divento’: “Algoritmo dicit: … ”
)
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
20
Che cosa e’ l' informatica …
La creazione di algoritmi che combinano
anche in modo complesso sequenze di
operazioni semplici (blocchi) ...
puo’ sintetizzare meglio
che cosa e’ l' informatica.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
21
Livelli di utilizzo di E.E.
Livello utente:
E.E. = scatole cinesi = sistema a cipolla
col primo strato di tipo software amichevole
e tale che ad un dato INPUT risponde con
un certo OUTPUT;
obiettivo utente: acquisire familiarita’ col
sistema.
Livello professionista:
conoscenza precisa e completa di ogni
componente funzionale di E.E.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
22
Da Babage ad oggi ??
La struttura funzionale di un Personal Computer
(ossia di un E.E. standard, NON di tipo particolare)
e’ sempre quella ideata prima da Charles Babbage
intorno al 1820 e poi realizzata da Von Neumann
negli anni ‘40.
La tecnologia elettronica e’ cambiata, e’ cresciuta la
potenzialita’ ... ma la “filosofia” del funzionamento
e’ rimasta inalterata.
Segue un’ elementare sintesi semplificata del
comportamento di E.E. gia’ presentato (?)
… se è così si riprende da pag. 27.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
23
Il via alle varie unita’
componenti e’ scandito
periodicamente da un orologio.
 “Si sveglia” l’ Unita’ Centrale di elaborazione
(C.P.U.), collegata alle altre unita’ ed in
particolare alla Memoria Centrale (C.M.) che
interroga ed alla quale chiede informazioni.
Queste passano da un’ unita’ all’ altra come
evidenziato nello schema di massima
successivo, dove le frecce grandi
simboleggiano il passaggio di informazioni e di
segnali di controllo e le frecce piccole solo di
questi ultimi. AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
24
Introduzione a E.E.
Struttura funzionale:
Temporizzatore
Unita’ Centrale di Controllo
Registri
Unita’ Aritmetico - Logica
Flag
Unita’ di controllo di
I/O
Periferiche
CPU
Memoria Centrale
(R.A.M.)
Memorie di massa
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
25
Flusso di informazioni
Nello schema precedente si puo’ immaginare
(in prima approssimazione) un flusso di
informazioni che dall’ unita’ di input attiva (per
es. la tastiera) fluisce fino ai registri della CPU
(microprocessore) e quindi nella C.M. Central
Memory o RAM (Random Access Memory).
Componenti di CPU sono: Registri, Flag (=indicatori di
stato), Unita’ di Controllo e Aritmetico-Logica (ALU),
tutte connesse e “immerse” nella stesso “chip”. Dalla
RAM le informazioni possono tornare nei registri
della CPU per essere modificate e/o visualizzate
(risultati) fluendo poi alla periferica scelta (per
es. il video).
26
E.E.  Hard. + Software (Soft.)

Per l’ utente:
E.E. solo hardware
=> unfriendly
E.E. con Soft. di base => - unfriendly
E.E. con Soft. di base e

Soft. applicativo => friendly
Il Soft. di base ha 2 strati:
_ il Sistema Operativo (S. O.)
_ i programmi di utilita’
I prg. Applicativi formano un altro strato .
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
27
Sistema Operativo:
e’ un insieme di programmi specializzato
nel governare il funzionamento di E.E.
rendendo la gestione delle sue risorse
trasparente per l’ utilizzatore;
mette cosi’ a disposizione dell’ utilizzatore
una macchina virtuale non esistente, ma
piu’ potente e amichevole dell’ hardware
in quanto risponde ai comandi-utente;
il processo di virtualizzazione si propaga
ad ogni strato aggiuntivo di software.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
28
Esigenza dell’ utente:
avere a disposizione una macchina con cui
poter lavorare e interagire indipendentemente dal suo hardware, comunicando
con uno strumento amichevole, ma efficiente
ossia che utilizzi l’ hardware “al meglio”.
Il S.O. risponde a questa esigenza dando all’
utente (o programma = strato di software piu’
esterno) l’ equivalente di “una macchina
estesa o macchina virtuale” (S.Tanenbaum).
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
29
Sistema Operativo: aspetti
(ricordare: il processo di virtualizzazione si
propaga ad ogni strato di software !)
QUINDI:
funzione 1 del S.O. = GESTIRE in modo
OTTIMALE(!!!) tutte le componenti di un
Elaboratore (=Sistema Complesso) ossia unita’
Centrale di elaborazione, memorie, interfacce di
rete, … qualunque dispositivo.
funzione 2 del S.O.= Interfaccia amichevole
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
30
Schema di Sistema
Operativo
Anche il S.O. puo’ essere visto come un
sistema a scatole cinesi (o a cipolla): il
seguente schema e’ un’ alternativa.
APPLICATIVI
Soft.base: prg.utili.
shell
Systemfile/Syst.Service S.O.
kernel
Hardware
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
31
Sistema Operativo:
componenti essenziali
shell: conchiglia, guscio che interfaccia l’
utente; e’ sostanzialmente un interprete di
comandi che puo’ essere di tipo grafico;
System_file/Service: contiene il gestore
delle informazioni-utente poste nei file (FILE
cfr. parte 2) e dei Servizi per es. per le Reti;
kernel: e’ il nucleo del sistema operativo.
Interfaccia l’ hardware nel senso che esegue le
funzioni di base come smistare il controllo della
C.P.U. tra i programmi residenti in memoria (cio’ e’
fatto dallo Scheduler, sua componente) e sincronizzare
la CPU con la memoria e/o altre unita’ … (cfr.+oltre)
32
Traccia di WindowsXP
Lo schema già introdotto per un generico S.O.
deve essere arricchito di 2 strati: uno (HAL)
rivolto alla compatibilità con altri hardware, l’
altro (Executive) contenente applicazioni che
emulano altri (micro)processori.
APPLICATIVI
Soft.base: prg.util.
shell
 System_file/Syst.Service
kernel
Hardware
Exec. Components
S.O.
HAL
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
33
Nuova
Sincronismo ?
Coordinamento ?
Controllo?
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
34
Sistema Operativo: strati
essenziali
CPU (microprocessore) ha un suo “linguaggio”:
il linguaggio della macchina fatto di codici
numerici, non facile da utilizzare.
kernel che e’ il nucleo del sistema operativo e
interfaccia l’ hardware, può usare il linguaggio
macchina, anche se “facilitato” con codici
mnemonici.
Gli utenti invece per i loro comandi possono
usare anche solo il mouse (per l’ agevolazione
offerta dalla shell) o comunque scrivono i loro
programmi in altri linguaggi +facili… (cfr.+oltre)
35
S.O. piu’ diffusi
per personal computer:
DOS = Disk Operating System basato su
comandi e messaggi: il suo “zoccolo duro” e’
composto da 3 programmi MSDOS.SYS, IO.SYS
COMMAND.COM;
Windows
Apple_top
What you see is what
you get !
 dotati di interfaccia grafica a oggetti
rappresentati da icone e manipolabili col mouse;
per ogni tipo di elaboratore: Unix (AT&T)
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
36
Software di base
Tipici esempi di programmi di utilita’:
editor: per comporre testi semplici;
interpreti: per interpretare ed eseguire un comando;
compilatori: “ “
e tradurre nel linguaggio
della macchina le frasi di un programma;
assemblatori: analoghi ai Compilatori, ma il
linguaggio artificiale, in cui è scritto il programma e’
elementare (usa codici mnemonici “simili” a quelli del
linguaggio della macchina) ;
….
Strumenti Software indispensabili per costruire
programmi eseguibili (vedere +oltre)
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
37
Programmi applicativi
Tipico esempio: Word Processor o elaboratore
di testi -> fa apparire E.E. come una potente e
veloce macchina da scrivere, che non c’e’ !
Esempio di Virtualizzazione !
Altro esempio: Data Base Management System
o Sistema di Gestione di Basi di Dati. (Gestione
= lettura e registrazione, aggiornamento
visualizzazione.) Si tratta di un insieme di
programmi per la gestione di archivi di
informazioni strutturate (per es. in forma di
tabelle) e manipolabili singolarmente o in modo
incrociato, integrato.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
38
…ma non c’è il
System_file/Service del S.O. ???
NON basta!
Per manipolare le informazioni sia singolarmente
sia in modo incrociato occorre uno strumento
che usa il S.O. come supporto di base, ma ha
una funzionalità maggiore.
Il System_file/Service del S.O. per es. non sa
trovare tra i file programma1.c , programma2.c
programma3.c quello che ha una data funzione,
per es. AGGIUNGI !
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
39
R.D.B.M.S. o S.G.B.D.R
Questi sono i Sistemi di Gestione di Basi di Dati
Relazionali (S.G.B.D.R. o in inglese Relational
Data Base Management System = R.D.B.M.S.) .
Relazionali perche’ gli archivi (file) appaiono all’
utente come tabelle o Relation ossia Relazioni
(intese in senso matematico di “associazioni tra
dati”, messe in evidenza dalle tabelle).
Sulle tabelle di dati si lavora con operazioni che
seguono regole precise => Algebra delle
AnnaMaria Carminelli Gregori:
relazioni.
fondamenti di informatica parte 1
40
…. Friendly ?
L’ algebra non e’ amichevole, R.D.B.M.S.
spesso lo sono. I Relational D.B.M.S. spesso
presentano un interfaccia grafica per
facilitare il modo di operare. Es. in parte 2:
sistema M.S.ACCESS e il DataBase db1.
SEMPRE pero’ occorre sapere COSA si vuole
fare, COSA si vuole ottenere ossia aver
chiare le specifiche di progetto. COME fare
puo’ essere indicato da un uso appropriato
dell’ HELP del Sistema in linea.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
41
Evoluzione dei S.O. (dal1970)
Batch (a lotti) --> interattivi:
mono-utente mono-programmato; DOS
“
“ multi_programmato:
da Windows 3.x

molti utenti contemporanei,
“
2000

multi_programmato o
Windows-Xp,

multi_tasking e
MacOs…

di rete;
Unix …VM ….
Nota !!! Altro tipo di Sistemi operativi:
S.O.“real_time”: tempo di reazione determinato da
un evento esterno (per es. il passaggio di una
cometa e l’ attivazione di un telescopio “fotografico”)
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
42
Significato di:
S.O. multiutente, multiprogrammato o
multiprocesso, multitasking =>
=>
piu’ utenti possono lavorare sul medesimo
computer;
ogni utente puo’ eseguire
“contemporaneamente” piu’ programmi;
ogni programma puo’ eseguire
“contemporaneamente” piu’ funzioni.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
43
S.O. multi - utente e
multi_tasking
Funzioni:










eseguire i comandi utenti;
gestire Input/output e file;
segnalare errori;
assegnare la CPU ad ogni progr.-utente per un tempuscolo con
apparente contemporaneita’ di
esecuzione (compito Scheduler);
fornire i servizi richiesti dalla rete;
assicurare sicurezza e privatezza
informazioni del singolo utente
e del sistema ...
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
44
S.O. mono - utente e
mono_tasking (DOS)
Funzione: esecuzione dei comandi utenti;

gestione Input/output e file;

segnalazione errori.
E’ caricato (parzialmente!!!) all’ accensione
nella parte alta (zona convenzionale) della
RAM ove resta fino alla fine sessione.
E’ fondamentale: molti modelli di Windows vi si
“appoggiano” !
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
45
Prompt
Ogni S.O. ha un suo proprio prompt che
appare quando il S.O. e’ pronto a rispondere
ai comandi dell’ utente che sono anch’ essi
propri del S.O. Come esempi il prompt e’:
per il DOS il nome del disco ove si trova la
parte non residente del DOS seguito da >
ossia per esempio C:>
per Windows il menu’ grafico che usa un
modello a finestra = metafora della
AnnaMaria Carminelli Gregori:
scrivania.
fondamenti di informatica parte 1
46
Il DOS non e’ sensitivo
Il DOS e’ un S.O. a comandi che si possono
scrivere in maiuscolo o minuscolo.
I comandi propri del DOS si trovano nei
manuali e nell’ help in linea: il loro formato e’
molto semplice ….es. copy mio.c tuo.c ->
effetto: il contenuto del file mio.c e’ copiato
nel file tuo.c … ricoprendo ogni eventuale
contenuto precedente !!! ATTENZIONE !
Ormai sono poco usati e si saltano!
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
47
e Windows ?
Viene caricato col DOS e si presenta con i suoi
menu’ e le sue cartelle che appaiono su una
finestra del display a simulare le pile di pratiche
allineate sul piano della scrivania. Come le pile
di pratiche sono da aprire, cosi’ le cartelle si
interrogano ponendosi con la freccia del mouse
su ciascuna di esse e facendo clik col mouse. Il
mouse si usa su qualunque altra immagine
presente: per es. su E.E. e sui dischi di E.E.
In questo modello a finestra (dove il Desk-Top
rappresenta la scrivania) i file (=pratiche) sono
rappresentati da icone, i direttori da cartelle.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
48
e Windows95_NT, 2000, Xp ?
Si tratta di S.O. utili per lavorare anche con reti di
computer.
Nelle reti di computer e’ molto usato il modello ClientServer con un E.E. (=Server) adibito a fornire i Servizi
richiesti dagli altri E.E.(=Client).
Il modello Client-Server (con piu’ Server e tanti Client)
e’ molto comune ed usato nella rete Internet e nelle
sue sottoreti.
Internet e’ nota per la diffusione di W.W.W. =
World Wide Web => la “ragnatela tessuta” sulla rete
per gestire le informazioni che stanno nei vari E.E.
della rete. Questi per comunicare usano il protocollo
(=insieme di regole) TCP/IP. (Transmission Control
Protocol/Internet Protocol)
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
49
W.W.W. ( = Web) : un cenno
E’ software installato su appositi Server (Server
Web) che facilita sia la comunicazione tra gli
E.E. di Internet sia la gestione di documenti
ipermediali (informazioni testuali e immagini,
suoni, collegati tra loro) pubblicati in Internet.
I documenti sono scritti spesso in HTML
=Hyper Text Markup Language, che permette
una descrizione del loro formato (si usano pure
XML, e JAVA = linguaggio Object Oriented
come C++). La descrizione e’ interpretata e
presentata dai browser (opportuni programmi
posti nei vari Client come per es. Netscape)
50
detti Client_Web.
Con HTML ( e XML con maggiori
controlli) e’ possibile:
descrivere un documento e collegarlo ad altri
documenti locali o remoti. Il collegamento e’
realizzato per esempio con frasi del linguaggio
HTML che specificano il nome del documento
da collegare e la sua locazione indicata come
URL (Uniform Resource Locator). Nella URL
sono indicati:
 il protocollo (insieme di regole) usato per accedere
a documenti Web, http:// (hyper text transfer
protocol) che utilizza i servizi di trasmissione
standard tipici di Internet forniti da TCP/IP;
 la locazione, indicata con:
 /nome del Server_Web/directory/nome_file 51
E questa specifica della URL
e’ usata anche nei vari collegamenti ai Siti
Internet lavorando col Client_Web
disponibile, per es. Netscape.
Su/con Netscape si possono fare
esperimenti, prove collegandosi a URL note.
Per es. http://home.netscape.com/
http://www.univ.trieste.it/servizi /


ricerca
didattica
…ecc.
Un esempio di file in html è ma.txt

borse
52
File
 Concettualmente: file = archivio di dati che varia nel
tempo. E’ possibile aggregare i dati (=informazioni) in
registrazioni = Record.
 Accesso informazioni: sequenziale / diretto
 es. libro = successione di pagine
 accesso sequenziale alle info: pagina dopo pagina
 “
diretto: occorre l’ indice: (inform. -> pagina)
 Supporti: MEMORIA di MASSA come:
 dischi (possibili accesso sequen.-diretto)
 ed anche le “matite o chiavi” USB Universal Serial Bus)
 nastri (bobine), (possibile solo accesso sequenz.)
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
53
Informazione e Ipertesti
Con E.E. si puo’ fruire di informazioni non solo
in modo sequenziale, ma navigando tra diverse
aree di un disco, in particolare di un disco
Ottico (Compact Disk o C.D. o Digital Versatil
Disk D.V.D.) tramite il suo lettore. Come? Per
es. usando gli ipertesti.
Definizione di ipertesto: documento non lineare
in cui si puo’ accedere alle informazioni non
solo sequenzialmente: i concetti sono collegati
tra loro con collegamenti (=link logici) che
permettono di saltare tra le pagine dell’
ipertesto seguendo il percorso logico piu’
interessante. RICORDARE l’ uso dei dizionari !
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
54
e l’ ipermedia ?
Dall’ ipertesto si passa all’ ipermedia quando i
collegamenti non riguardano soltanto informazioni
testuali ma immagini, grafica in movimento, musica,...
dati multimediali che possono trovarsi anche su C.D.
Quando l’ informazione non risiede su un C.D. ma e’
diffusa in rete ossia richiede di navigare o passare da
un E.E. ad un altro, si parla di multimedialita’ in rete.
L’ accesso a informazioni in rete richiede anche
software particolare per tener conto dei link fisici
oltre a quelli logici.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
55
File & programmi
I file possono contenere anche programmi: in
questo caso il contenuto e’ una particolare
successione di informazioni che
concettualmente sono comandi per E.E. e
quindi devono essere lette ed interpretate una
dopo l’ altra, sequenzialmente.
In generale pero’ parlando di file si intende
un archivio di informazioni su disco come per
esempio: dati anagrafici di persone o indirizzi
o classifiche finanziarie...
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
56
Dimensioni File intesi in
senso generale
…. e la C.M. ? Concettualmente: file(= archivio)
non “STA” in C.M. ma in Memoria di Massa. In
C.M. viene LETTO o CREATO e/o modificato a x
record per volta e quindi REGISTRATO su
Memoria di Massa col nome scelto. (x =1, 2,…
…record)
Dischi e nastri= Memoria di massa o periferica
 Es. Dimensione file: se K=1024= 210, M=1048576= 220 ,
1 pag. libro
 3 Kbyte_____________________
1 “
giornale senza foto  50 Kbyte ____________________
1 quotidiano
 2 Mbyte ____________________
1 immagine
 1 Mbyte ……...
57
Disco (Hard, Floppy, C.D.) e
Direttori
Concettualmente: disco = deposito di informazioni. Il
S.O. con il File System fornisce all’ utente una
visione logica dei dischi (indipendente dalla struttura
hardware) basata sui concetti di File e Cataloghi di
nomi di file = Direttori o Cartelle.
I file su ogni disco sono presentati all’ utente coi loro
nomi raggruppati in Direttori/Cartelle organizzati in
modo gerarchico con una struttura ad “albero”.
La struttura gerarchica appare nel direttorio di ogni
disco: ogni direttorio o cartella contiene l’ elenco dei
file e dei suoi (sotto)direttori.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
58
La struttura gerarchica del
disco
appare nella rappresentazione grafica di
Windows che usa finestre collegabili tra loro
anche gerarchicamente.
In ogni finestra i direttori appaiono come
cartelle di un certo colore ed i file come icone
di forme e colori diversi secondo la loro
funzione. Per es. i testi scritti col Word-processor
sono rappresentati con icone contenenti una W;
i programmi eseguibili del C++ con un simbolo
contenente C++; e cosi’ via.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
59
Con Windows
per aprire un file basta porsi con la freccia del
mouse e fare 2 clik su Risorse Computer: compare
una finestra con immagini del floppy A: del disco
locale C: del video … Si pone la freccia del mouse
sul disco C: Con due clik “si apre” il disco e
appare una finestra con le cartelle dei direttori e
dei file. Basta porsi con la freccia del mouse e fare
clik per 2 volte sulla cartella che si vuole aprire.
Ogni cartella può contenerne altre seguendo una
struttura ad albero evidenziata nella diapo
seguente dove a partire dal direttorio del disco C:
appare la situazione dell’ esempio.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
60
Struttura logica ad albero

“C:”
Clic su C: ed appaiono le
 ____|____
cartelle
 |
|
anna e lola
 anna
lola
in anna si trovano 3 altre
__|______ |
cartelle prg tesi mio
|
|
| pr.txt ottenendo l’ albero qui a
prg tesi mio
sinistra dove in lola c’e’ solo

pr.txt = file di testo
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
61
… e poi ?
Per visualizzare e/o cambiare un file di testo
(per es. pr.txt ) -sia che ci si trovi in DOS
che in Windows - basta attivare un
programma che ne permetta la
visualizzazione e modifica per es. un editor.
in Windows basta fare 2 clik col mouse sul
file o sull’ icona di un editor (per es. il
BloccoNote) e alla sua apertura seguire le
sue indicazioni.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
62
e i dischi ottici ? i C.D.? i D.V.D. ?
Possono apparire come depositi di informazioni piu’
lenti, ma con capacita’ molto elevata (per i C.D. > 1
Gbyte ed oltre per i DVD=Digital Versatile Disk utili per
sequenze di immagini = film); esistono di vario tipo e
necessitano di un lettore-“masterizzatore” apposito
(con raggio laser ad alta energia);
Diventano memorie di massa aggiuntive come le
memorie permanenti FLASH poste in un contenitore “a
matita” collegabile all’ U.S.B. (Universal Serial Bus) di
E.E.;
I file su ogni supporto sono presentati all’ utente
organizzati ad “albero” come accade per gli altri dischi.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
63
Creazione di file di tipo testo
Utilizzo di Editor = programma appartenente al
Software di base per comporre testi
(EDITING = operazioni di scrittura,
visualizzazione, cancellazione, modifica …)
editor attuali: a finestra; ogni ambiente di
sviluppo programmi (+oltre) e/o S.O. ha un
suo editor che permette di comporre testi (vedi
BloccoNote Windows). RICORDARE: piu’
potente dell’ editor e’ il Word-processor =
applicativo (gia’ visto) che permette tutte le
operazioni tipografiche
.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
64
programma in C, o in
Fortran, o in Pascal
Con l’editor si puo’ creare sul momento
qualunque sequenza di caratteri …. quindi
anche un programma vero e proprio in un
linguaggio di programmazione come il C ??
Risposta negativa: prima occorre avere il suo
PROGETTO CONCETTUALE, poi il PROGETTO
LOGICO e solo dopo si puo’ scrivere il source
program o PROGRAMMA ORIGINE.
 Tutto ciò vale per qualsiasi oggetto software da
realizzare sul computer.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
65
Fasi di costruzione del
software
PROGETTO CONCETTUALE: qui (con apposito
linguaggio anche grafico per es. diagramma di
flusso) si devono definire gli obiettivi, con quale
algoritmo si vogliono raggiungere, le
motivazioni. Ossia COSA, COME, PERCHE’.
PROGETTO LOGICO: la sua bozza con l’
algoritmo risolutivo.
PROGRAMMA ORIGINE (source program)
scritto nel linguaggio artificiale scelto per
es. in C o C++. AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
66
Quale linguaggio artificiale ?
Di linguaggi artificiali ce ne sono migliaia: la
scelta va a quello che appare piu’ vicino ai
problemi da risolvere.
Per problemi scientifico-tecnici e’ adatto il
FORTRAN (da FORmulas TRANslator);
per privilegiare l’ aspetto didattico si usa il
Pascal (dal nome del filosofo Blaise Pascal);
“general purpose” e’ il linguaggio C (il S.O.
Unix e’ stato scritto in C);
il C++ e’ una versione del C orientata agli
oggetti paradigma di programmazione in
voga attualmente. Il C++ nasce nel 1980.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
67
Programma: tipiche funzioni
svolte
Lettura dati (input);
“Elaborazione” dei dati (sequenziale, ciclica,
condizionale) e costruzione dei risultati;
Visualizzazione risultati (output).
… e senza la visualizzazione ?!? ASSurdita’: i risultati
resterebbero ignoti !
… e senza la lettura? i dati si possono “generare”
automaticamente!
Le tipiche funzioni svolte possono essere realizzate in
parti (“moduli”) a se’ stanti.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
68
Ma i dati ?
La funzione che li legge ( o li genera) deve
poterli memorizzare: per questo il programma
deve “prenotare” posizioni di C.M.
Lo fa usando costrutti ed entita’ del linguaggio
dette variabili semplici o composte come
vettori,tabelle, e matrici, (come in matematica).
Piu’ in generale “strutture di dati”, per
identificare, contenere e trasferire le
informazioni lette. Le stesse entita’ potranno
servire per la loro elaborazione e quindi la loro
visualizzazione.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
69
Processo di traduzione
Una volta scritto il source program nel
linguaggio artificiale scelto (per es. il C)
occorre: registrarlo in un file (per es. uno.c) ,
e attivare il traduttore che fa la traduzione da
C a linguaggio della macchina. I traduttori si
distinguono in:
INTERPRETI, COMPILATORI,
ASSEMBLATORI,
tutti programmi di utilita’ del Software di
base.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
70
Software di base e Tipi di
Traduttori
Editor (già indicato), Interpreti, Compilatori,
Assemblatori...
Interpreti: tipici sono quelli della shell dei S.O.
a comandi che interpretano e mandano in
esecuzione i comandi del S.O. (tipo DOS)
digitati dall’ utente senza tradurli in linguaggio
della macchina.
Es. in DOS Type miofile.txt visualizza
miofile.txt. E’ interpretato e subito eseguito)
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
71
Software di base e Tipi di
Traduttori (continua):
Compilatori: interpretano e traducono nel linguaggio
macchina le frasi di un linguaggio artificiale ad alto
livello che compongono un programma: producono un
file binario che e’ l’ equivalente del programma
origine (source), ma nel linguaggio binario di E.E.
Assemblatori: analoghi ai Compilatori, ma il linguaggio
artificiale, in cui è scritto il programma origine e’
elementare, con struttura simile al linguaggio della
macchina.
Per completare la traduzione c’e’ anche il linker
(collegatore)….
ORA FINE Prima parte del Corso.
AnnaMaria Carminelli Gregori:
fondamenti di informatica parte 1
72
Scarica

MEDprimo - UniNa STiDuE