Sei sulla pagina 1di 4

Informatica. Scienza che manipola e rappresenta linformazione. pervasiva e si evoluta in fretta nel tempo. Storia.

a. Abacus Pascalina (1642) Punched Card Loom (1800) Motore analitico (1833) Punched Card (1890) ENIAC (1943-45): primo calcolatore elettronico

Computer moderno. 42-57 (I gen) 58-63 (II gen) 64-80 (III gen) 80-oggi (IV gen) (futuro) Tubi a vuoto Transistori C.I. (MSI) C.I. (VLSI)

Nel corso degli anni i computer sono diventati pi economici, assieme alle memorie di massa. Si passati ai contenuti multimediali sul Web, fino allo sbarco del Web 2.0 (es. Google, YouTube,) Poich i computer ragionano con un sistema binario, tutto (dati, musica, documenti,) deve essere convertito in stringhe contenenti 0 e 1. Anche la TV digitale si evoluta in questo senso. Tipi. GPC (General Purpose): o Personale (Client): o Server: elaboratore che fornisce servizi ad altri computer (client) mediante una rete (network) S. Farm: insieme di computer server situati in un locale apposito in una media/grande azienda o Mainframe: computer di grandi prestazioni usato da grandi imprese per applicazioni SW importanti o Workstation: computer monoutente, destinato ad un uso e dall'avere alte prestazioni per assolvere diversi compiti professionali o Supercomputer: 16 PFLOPS (16E12) SPC (Special Purpose): elaboratore programmato per svolgere funzioni specifiche definite a priori nella fase di progetto o produzione (es. Smartphone, elettrodomestici)

Scopo del corso. Problema <> Soluzione <> Sol. Formale <> Realizzazione La difficolt sta nello sviluppo di una soluzione informale e nella formalizzazione di una soluzione Algoritmo. Sequenza finita di (oper)azioni ordinate che devono essere eseguite per risolvere un problema. un flusso di passi. Stadi di sviluppo di un programma.

Problema Idea ( -> soluzione) Algoritmo e sol. Formale o A. si pu rappresentare con le parole (informale) o con una sequenza di operazioni elementari (formale) o Una sol. Formale data dallo pseudo-codice o dai diagrammi di flusso Pseudocodice Diagramma immediato Intuitivo per il metodo grafico e maggior astrazione nella descrizione dellalgoritmo Difficile interpretazione e minor Bisogna conoscere le funzioni dei vari astrazione per risolvere il problema tipi di blocchi Programma e traduzione algoritmo in una forma comprensibile al computer o Si scrive il file sorgente (file di testo) in un certo L.P. usando un editor (notepad, editor negli ambienti integrati) Propriet Evidenziano keyword sintassi Indentazione e attivazione compilazione automatica Identificazione parentesi Free / Paid o (Modello app console) o Si esegue in pi fasi e viene gestito dal traduttore o Traduzione: il compilatore riceve il file sorgente e lo trasforma in file oggetto. Il linker prende il file oggetto, lo unisce alle librerie e d origine alleseguibile, che pu essere caricato in memoria ed eseguito. o Compilatore C: Traduce i sorgenti C in file eseguibili un eseguibile per il programmatore Verifica lassenza di errori di sintassi Inutile allutente finale Free / Paid o Ambiente integrato (IDE = Integrated Development Environment): Applicazione Sw contenente Editor testuale Compilatore Debugger (verifica programmi) Test Documentazione

Significato di Programmare. Scrivere un documento che descrive la soluzione del problema in esame. Di solito si cerca la soluzione pi efficiente, ricordando che unattivit creativa e complessa e richiede stadi successivi Stadi di sviluppo. Prevede passi a ritroso, ma la suddivisione li rende pi brevi possibile; inoltre bisogna testare una fase e la sua successiva per minimizzare i ricicli. Una volta collaudato, il programma pu presentare 3 problemi:

Scrittura non corretta Descrizione sbagliata nella forma, ma corretto concettualmente Errore concettuale (si ricomincia daccapo)

Diagrammi di flusso (flow-chart). Strumento grafico che rappresenta levoluzione logica della soluzione a un certo problema. Si compone di blocchi elementari (decisioni binarie) e archi orientati che collegano i blocchi e la sequenza di svolgimento delle azioni: Inizio/fine Azioni (generica, I/O) Decisione Di connessione

Diagrammi strutturati. Composti da strutture elementari (composizione determinata di blocchi elementari) indipendenti, sempre riducibili a un diagramma con ununica azione. Non contengono salti incondizionati nel flusso logico. Permettono una maggiore leggibilit, la riusabilit del codice e i problemi sono maggiormente formalizzati. Un DdF strutturato se contiene le seguenti strutture elementari: Blocchi: Sequenza istruzioni If, then, else (o solo if, then) While Do Do While ******************** 1x Blocco Start, 1x Blocco Stop Sequenza di blocchi (azione o I/O) If, then, else While do Repeat until

Bohm-Jacopini. Ogni DdF si pu trasformare in un DdF strutturato equivalente a quello dato. Ogni flusso logico pu fare uso solo delle strutture di decisione e di ripetizione. -Tipi di linguaggi. Alto livello: Non dipendono da Hw; i loro elementi hanno la stessa complessit dei blocchi dei DdF strutturati. Assembler: Dipendono da Hw e sono composti da istruzioni microarchitetturali.

Elementi del Linguaggio. Sono sintattici e definiscono la struttura formale di tutti i LP Keyword: parole riservate al traduttore tipiche di alcuni elementi del linguaggio (es. Istruzioni); sono le basi sintattiche del linguaggio, inutilizzabili per altri scopi Dati: per il computer un insieme di bit nella memoria centrale, per lutente la quantit associata ad un certo significato. o Nome (ID): nome di un dato in un programma, permette di assegnare nomi intuitivi a essi, associando un nome unico in un dato ambiente di visibilit***

o o

Interpretazione (tipo): legato allo spazio occupato in memoria dal dato, consente di associare tipi primitivi (numeri) ad un certo dato Modalit Accesso (var/cost): Se una variabile, il suo contenuto modificabile, in genere, in ogni punto del programma. Se una costante, il suo valore non sovrascrivibile e quindi di sola lettura.

ID Istruzioni: operazioni che il linguaggio permette eseguire una volta tradotte a livello macchina. o Pseudo-I: non eseguibili o Elementari: corrispondono ad operazioni Hw o Controllo Flusso: combinazioni di operazioni complesse***************

Architettura. Blocchi fondamentali computer. Unit ingresso Unit elaborazione o Microprocessore: chip che realizza le funzioni di una CPU in un computer / sistema digitale o CPU: ALU CU Registri UDI (decodifica istruzioni): UGI (gestione indirizzi): UGB (gestione BUS): Unit uscita Memoria o Centrale (RAM): o Di Massa:

Bus. Trasportano un dato alla volta e, se mal dimensionato, si potrebbe avere un collo di bottiglia. Frequenza: #dati trasportati / sec Ampiezza: #bit che costituisce un dato Composizione: o DBus o ABus o CBus