Informatica
Introduzione
Osp. Garibaldi Nesima
Hospice Giovanni Paolo II
Laboratorio di Malattie Infettive
mi potete cercare telefonicamente
095 759 8465 / 42 (Laboratorio di Malattie Infettive)
330 84 42 61
(dal lunedì al venerdì orario ufficio)
E-mail
[email protected]
Dennis P. Curtin
Informatica di Base
McGraw-Hill
Obiettivi del corso
Il corso ha lo scopo di fornire allo studente
 una conoscenza di base della struttura e del
funzionamento
- di un personal computer
- delle reti informatiche
 le competenze necessarie per l’utilizzo di
programmi di informazioni e comunicazione su
Internet
Informazione e Comunicazione
Informatica = Informazione + Automatica
Informazione e Comunicazione
Cos’è l’informatica
L’Informatica è la Scienza della Rappresentazione e
dell’Elaborazione dell’Informazione
Fondamenti di Informatica
un po’ di storia
 L’idea di utilizzare dispositivi meccanici per effettuare in modo
automatico computazioni risale al ‘600 (Pascal, Leibniz)
 Nell’ottocento vengono realizzati i primi dispositivi meccanici “a
programma”: telai Jacquard, pianole, macchina di Babbage
 Nel 1896 Hollerith fonda la “Tabulating Machine Company” (poi IBM) che
produce sistemi meccanografici a schede
 Negli anni 30 vengono realizzate le prima macchine elettromeccaniche
di grandi dimensioni (Zuse in Germania, Mark 1 ad Harvard)
 Nel ‘46 entra in servizio l’ENIAC: elaboratore a valvole termoioniche
 Negli anni 50 vengono realizzate le prime macchine a programma
memorizzato (von Neumann: ENIAC, IAS Princeton)
Applicazioni dell’informatica
La tecnologia informatica
Una transizione
Un’altra transizione
Ma il problema rimane
I calcolatori: cos’hanno di speciale
Sistema di elaborazione
I tre momenti dell’informatica
Elaborazione dell’informazione
Differenza tra dati e informazioni
Il Ciclo dell’elaborazione dell’informazione
Tipi di dati
Dati numerici
(interi e reali)
Dati simbolici
(codifica di concetti
o simboli: es. vero
e falso, caratteri
alfanumerici, ecc.)
Dati multimediali
- testi
- suoni
- immagini (fisse o
in movimento)
Tipi di dati
Tutto diventa bit
Codifica
binaria
La potenza del calcolatore deriva dalla possibilità di utilizzare
una codifica comune per i diversi tipi di dati.
Eseguendo operazioni dello stesso tipo a livello fisico si
possono ottenere risultati interpretabili in modo molto diverso
a livello logico
La “Grande Mutazione”
La “Grande Mutazione”
Elaboratore elettronico
Microprogrammi
(Firmware):
software memorizzato
nell’hardware dal costruttore
stesso
Tecnologia una definizione
Tecnologia una definizione
hardware
Architettura di un Calcolatore
(Hardware - Architettura di Von Neumann)
Unità di Elaborazione (CPU)
Memoria Centrale (RAM e ROM)
Memoria Secondaria o Memoria di Massa (DISCHI)
Unità Periferiche (Video, Tastiera, etc.)
Il Bus di Sistema
Periferiche
Memoria
BUS
CPU
Tecnologia una definizione
software
Tecnologia una definizione
knoware
Uso dei calcolatori
GPS
I computer in medicina
La macchina e i programmi
La programmazione
BIT
Il linguaggio del calcolatore
Che cos’è un programma ?
Che cos’è un programma ?
• Un programma descrive al computer, in estremo
dettaglio, la sequenza di passi necessari per svolgere
un particolare compito
L’attività di progettare e realizzare un
programma è detta programmazione
La programmazione
I problemi
Risoluzione di un problema
Algoritmo
Informalmente: Un algoritmo è una sequenza di
passi che risolve un problema in un tempo finito
Un Algoritmo per fare il Caffè
1. Prendi la moka dalla credenza
2. Svita il serbatoio
3. Riempi il serbatoio di acqua
4. Riempi il filtro con il caffè
5. Riavvita la moka e mettila sul fornello acceso
Esempio di Algoritmo
Un algoritmo per la preparazione della Zuppa Inglese
1. Prepara 500 gr. di Crema Inglese
2. Prepara un disco alto 6 cm. di Pan di Spagna
3. Monta 500 gr. di Panna
4. Disponi la crema sul disco di Pan di Spagna
………
Questo è un algoritmo utile
solo ad un cuoco!!
Algoritmo
Definizione
di Algoritmo
L’algoritmo
deve
terminare
Una definizione più precisa:
Un programma può
Ogni istruzione
andare
in
loop
Un algoritmo è una sequenza finita di istruzioni che,
deve essere
quando eseguite, svolgono un ben determinato
sufficientemente
Le
istruzioni
devono
compito. Gli elementi fondamentali di ogni algoritmo
elementare;
essere
chiare
e
sono:
eseguibile
comprensibili a chi
dovrà eseguire
1. Input
4. Finitezza della sequanza
l’algoritmo
2. Output
3. Istruzioni Definite
5. Efficacia
1. Sposta
2.
3.
Ripeti 1.una
Sposta
una
fino
pallina
pallina
ad esaurire
da
da sinistra
sinistra
la prima
aa destra
destra
riga della
della prima
seconda
Somma
di
due
Numeri
con
un
Pallottoliere
riga e una da destra a sinistra nella terza riga
fino ad esaurire la seconda riga
Dal problema alla soluzione
Algoritmi: Esecuzione
Algoritmi e Programmi
Algoritmi e Programmi
Elementi tipici di un linguaggio di
programmazione
Strutture di controllo: Sequenza
Strutture di controllo: Condizione
Strutture di controllo: Iterazione
Formalismi di codifica
• Nella struttura di sequenza le istruzioni
vengono eseguite una dietro all’altra.
Istruzione 1
Istruzione 2
Istruzione n
Formalismi di codifica
• Nella struttura di selezione sono possibili
due strade legate ad una condizione:
Formalismi di codifica
• La struttura di ripetizione permette un
ciclo condizionato:
Istruzione
F
Condizione
V
Formalismi di codifica
• Esempio: “controllo se l’acqua bolle”
Controllo
temp. H2O
F
Bolle?
V
Diagramma di flusso
I simboli
Diagramma di flusso
I blocchi
Diagramma di flusso
Linguaggi di programmazione
Linguaggi di programmazione
• Per utilizzare un linguaggio di programmazione
bisogna conoscere la sua sintassi, la sua
grammatica e la sua semantica.
• Un programma è la traduzione di un algoritmo in un
linguaggio di programmazione
Linguaggi di programmazione
Linguaggi di programmazione
Linguaggi di programmazione
Il linguaggio macchina
1a Generazione
Il linguaggio Assembler
2a Generazione
I linguaggi di alto livello
3a Generazione
linguaggi di alto
livello che si
avvicinano al
linguaggio normale
I linguaggi di alto livello
4a Generazione
quali C++ (‘85) e il più famoso Java (‘94).
I linguaggi ad oggetti
Programma di addizione con tre
linguaggi di programmazione
4
3
•
•
•
VAL
1x4=4
4x4=16
16x4=64
ESP
3-1=2
2-1=1
1-1=0
•Fine