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