Informatica Introduzione
Hospice Giovanni Paolo II Laboratorio di Malattie Infettive 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 fpalermo@unict.it
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
Informatica = Informazione + Automatica 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 CPU Memoria Periferiche BUS
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
Questo è un algoritmo utile solo ad un cuoco!! 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 Un programma può andare in loop Definizione di Algoritmo Una definizione più precisa: Ogni istruzione deve essere sufficientemente elementare; eseguibile Un algoritmo è una sequenza finita di istruzioni che, quando eseguite, svolgono un ben determinato compito. Gli elementi fondamentali di ogni algoritmo sono: Le istruzioni devono essere chiare e comprensibili a chi dovrà eseguire l’algoritmo 1. Input 4. Finitezza della sequanza 2. Output 5. Efficacia 3. Istruzioni Definite
Somma di due Numeri con un Pallottoliere 3. Sposta una pallina da sinistra a destra della seconda riga e una da destra a sinistra nella terza riga fino ad esaurire la seconda riga 2. Ripeti 1. fino ad esaurire la prima riga 1. Sposta una pallina da sinistra a destra della prima riga e una da destra a sinistra nella terza riga Somma di due Numeri con un Pallottoliere
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 ESP 1x4=4 3-1=2 4x4=16 2-1=1 16x4=64 1-1=0
Fine