Fondamenti dell informatica Algoritmi e Strutture Dati

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti dell informatica Algoritmi e Strutture Dati"

Transcript

1 Fondamenti dell informatica Algoritmi e Strutture Dati insegnamento di Gestione Informatica dei Dati CdL in Scienze Turistiche a cura di Bruno Bertaccini Materiale didattico a disposizione degli studenti, scaricabile all indirizzo Sistemi di rappresentazione dei numeri (aritmetica degli elaboratori)

2 La rappresentazione dei numeri I sistemi di numerazione Un sistema di numerazione è un sistema utilizzato per esprimere i numeri e le operazioni che si possono effettuare su di essi. Per ovvi motivi, i più antichi sistemi di numerazione hanno base 10, con riferimento all'atto di contare con le dita delle mani. I sistemi di numerazione sono classificabili in base alle loro proprietà. Ad esempio, gli antichi Romani usavano un sistema additivo e non posizionale: ad esempio, il simbolo X rappresenta sempre il numero dieci, V il numero cinque, in qualunque posto del numero si trovino. La rappresentazione dei numeri Il sistema metrico decimale Il comune sistema metrico decimale, che tutti impariamo a scuola, è di tipo posizionale. Tale sistema ci è stato tramandato dagli Arabi. Nel sistema posizionale decimale ogni cifra assume un significato diverso a seconda della posizione in cui si trova (unità, decine, centinaia, ecc.):

3 La rappresentazione dei numeri I sistemi posizionali I sistemi posizionali sono caratterizzati da: una base b, ovvero un qualsiasi numero naturale b (diverso da zero e da uno); b simboli diversi dette cifre. In un sistema posizionale i numeri si compongono tenendo presente che il valore di ogni cifra va moltiplicato per: b 0 ( 1) se è l ultima cifra alla destra del numero considerato; 1 b se è la seconda cifra da destra; 2 b seèlaterzacifradadestra; n 1 b seèl n-esima cifra da destra. La somma di tutti i valori così ottenuti restituisce il numero che stiamo considerando in base dieci. La rappresentazione dei numeri Il sistema binario Il sistema di numerazione decimale si presta male ad essere trattato automaticamente. Il calcolatore è infatti costituito da componenti elettronici che hanno la caratteristica di rappresentare due stati opposti: un transistore può essere in stato di conduzione o di interdizione; un interruttore come un circuito può essere aperto o chiuso. Questi stati sono matematicamente rappresentabili tramite due sole cifre. Il più semplice sistema di numerazione è quello che usa due sole cifre (0 e 1). Tale sistema è detto binario elesuecifre sono dette bit (binary digit).

4 La rappresentazione dei numeri Il sistema binario Secondo le regole dei sistemi posizionali esposte in precedenza: bin dec bin Si osservi che la somma di tutte le moltiplicazioni per tutte le potenze del 2, eccetto 2 0, restituiscono SEMPRE un numero pari. Percui: un numero binario è pari se finisce con la cifra 0; dispari se finisce con la cifra 1. dec La rappresentazione dei numeri Il sistema binario Si è detto che le regole dei sistemi posizionali consentono di trasformare in base 10 un generico numero espresso in base b. Nel caso del sistema binario, l operazione inversa può essere ottenuta operando divisioni successive della cifra decimale per la base b = 2: 5dec

5 La rappresentazione dei numeri Il sistema binario Secondo queste semplici regole è possibile costruire la tabella di conversione delle prime 16 cifre decimali naturali: Dec Bin La rappresentazione dei numeri I sistemi ottale ed esadecimale L'uso del sistema binario è in genere molto complesso. L elevata lunghezza che assumono i numeri in binario (ad esempio, la sola cifra 9 necessita di quattro posizioni 1001) comporta un elevata possibilità di errore nel manipolarli e nell'interpretarli. Per ovviare a questo problema esistono sistemi di numerazione, l ottale e, soprattutto, l'esadecimale, che presentano il vantaggio di essere più compatti del binario e immediatamente convertibili in esso. sistema ottale: cifre 0, 1, 2, 3, 4, 5, 6, 7 sistema esadecimale: cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

6 La rappresentazione dei numeri I sistemi ottale ed esadecimale Secondo le regole dei sistemi posizionali esposte in precedenza: oct dec 1 0 A3hes dec Si osservi che le potenze dell 8 e del 16 sono a loro volta esprimibili in potenze del 2, per cui la somma di tutte le moltiplicazioni per tutte tali potenze, eccetto le cifre moltiplicate per 8 0 o16 0, restituiscono SEMPRE un numero pari. Percui: un numero ottale o esadecimale è pari se finisce con una cifra pari; dispari se finisce con una cifra dispari. La rappresentazione dei numeri I sistemi ottale ed esadecimale Come per il binario, nel caso dei sistemi ottale ed esadecimale, si può convertire un numero decimale in tali sistemi operando divisioni successive della cifra decimale per le base b = 8 o b = 16: 103dec

7 La rappresentazione dei numeri La tabella di conversione completa Dec Bin Oct Hes A B C D E F La rappresentazione dei numeri Da ottale/esadecimale a binario Dai sistemi ottale ed esadecimale al binario e viceversa la conversione è immediata. Nel sistema ottale, poiché 2 3 = 8, vanno effettuati raggruppamenti di tre cifre e ogni cifra ottale va sostituita dalla sua rappresentazione in tre bit. Nel sistema esadecimale, poiché 2 4 = 16, vanno effettuati raggruppamenti di quattro cifre e ogni cifra esadecimale va sostituita dalla sua rappresentazione in quattro bit oct A hes bin bin

8 La struttura degli elaboratori La struttura degli elaboratori Il concetto di elaboratore def: elaboratore elettronico: macchina elettronica, modulare, a stati discreti, programmabile. elettronica: macchina costituita da componenti elettroniche, che sono prevalenti, sia quantitativamente, che qualitativamente; modulare: le unità funzionali, che lo compongono, possono essere realizzate con unità fisiche suscettibili di variare come numero e caratteristiche; a stati discreti: i componenti elementari di un elaboratore potranno trovarsi, ai fini del nostro studio, in due sole condizioni: si/no, acceso/spento, 1/0; programmabile: sarà di volta in volta l'utilizzatore ad indicare alla macchina le operazioni da compiere per la risoluzione di differenti problemi o classi di problemi;

9 La struttura degli elaboratori Il concetto di elaboratore Quella esposta in queste dispense non è la vera e propria struttura fisica di un elaboratore, ma solo una sua schematizzazione logica. Tale struttura funzionale può essere diversamente realizzata, a seconda dei tipi e delle dimensioni delle macchine. Per struttura funzionale intendiamo un dispositivo capace di compiere operazioni sui dati che transiteranno nel sistema. La struttura degli elaboratori Struttura funzionale Ogni rettangolo rappresenta una unità funzionale dell'elaboratore che dovrà necessariamente essere presente, affinché la macchina possa svolgere il proprio lavoro. Ogni unità funzionale potrà essere, poi, costituita da uno o più dispositivi fisici di dimensioni e caratteristiche variabili.

10 La struttura degli elaboratori Unità di ingresso e uscita (I/O) Unità d ingresso: queste unità hanno lo scopo di immettere dati nel sistema elettronico. Dispositivi tipici usati per questo scopo sono: lettori ottici, tastiere, lettori di caratteri magnetici, penne luminose associate ad unità video, video «touchscreen». Unità di uscita: tale unità servono ad emettere dati all'esterno dati e risultati di elaborazioni compiute dall'elaboratore. Dispositivi tipici usati a questo scopo sono: schermi video, stampanti, plotter. La struttura degli elaboratori Memoria centrale La memoria centrale haloscopodiimmagazzinaredatie programmi. I dati inseriti in memoria centrale generalmente sono memorizzati per il tempo necessario alle elaborazioni e non conservati per future elaborazioni. Le moderne memorie centrali degli elaboratori, formate da circuiti integrati, consentono operazioni di lettura e scrittura con tempi dell ordine del nanosecondo e sono destinate a contenere, sia le istruzioni che l'utilizzatore fornisce alla macchina, sia i dati di immediato utilizzo, necessari, di volta in volta, per un determinato lavoro. La memorizzazione delle istruzioni fa sì che l'elaboratore esegua le elaborazioni "in maniera automatica", senza l'intervento umano e alla velocità che gli è propria.

11 La struttura degli elaboratori Memoria centrale La memoria centrale è anche detta memoria ad accesso casuale (RAM = Random Access Memory), in quanto l elaboratore può direttamente arrivare all'indirizzo di memoria desiderato, senza dover scorrere altri indirizzi di memoria, cioè, appunto, in maniera casuale odiretta.talememoriaèvolatile, ovvero le informazioni in essa contenute si perdono ogniqualvolta l'elaboratore viene spento. Ci sono però altre zone di memoria in cui vengono immesse informazioni (dati od istruzioni) in maniera permanente, fin dal momento della costruzione dell'elaboratore; queste informazioni servono a scopi ben precisi e possono venir solo lette, senza possibilità di modifica: tale parte della memoria è detta memoria a sola lettura (ROM = Read Only Memory). La struttura degli elaboratori Memoria centrale La memoria centrale è schematizzabile come un insieme finito, ordinato e numerato di celle o posizioni, ciascuna delle quali, da sola od in gruppo, può contenere un'informazione in forma binaria. Il numero delle celle rappresenta la capacità della memoria. La dimensione di una cella è equivalente al numero di bit da cui essa è composta: generalmente una cella di memoria corrisponde ad un byte ovvero è formata da 8 bit. Il byte è pertanto l'unità di misura delle memorie degli elaboratori (comprese quelle ausiliarie). L'utilizzo pratico comporta, spesso, l'uso di celle di dimensioni maggiori. Ogni cella è individuata da un suo numero d'ordine, che ne rappresenta l'indirizzo, a cui si fa riferimento per accedere all'informazione memorizzata o per inserire l'informazione (dato l elevato numero di celle, gli indirizzi sono rappresentati in formato esadecimale).

12 La struttura degli elaboratori Memorie ausiliarie Le memorie ausiliarie esterne (dette anche memorie secondarie o di massa) sono memorie deputate alla memorizzazione di tutti gli archivi che vogliamo conservare per future consultazioni, nonché i programmi realizzati o acquisiti. Gli archivi possono anche essere il risultato di elaborazioni in corso, e venire poi eliminati al termine del processo elaborativo, o possono essere costituiti dal risultato di precedenti elaborazioni. Il tempo di accesso, ossia il tempo necessario alla lettura o alla scrittura di un insieme elementare di dati, è variabile a seconda dell'unità fisica impiegata e del sistema di organizzazione dei dati usato. Sono esempi di memorie ausiliare gli hard-disk, i supporti magnetici rimovibili (floppy, CD e DVD), le moderne flash-memory. La struttura degli elaboratori Ordini di grandezza delle memorie degli elaboratori 1 byte = 8 bit I simboli K, M, G, T sono usati per indicare multipli del byte Kbyte = 2 ( 1024) byte, ovvero la potenza del 2 3 più vicina al Kilo ( 10 ( 1000) ) 1 Mbyte = 1024 Kbyte =, ( ) byte 6 ovvero la potenza del 2 più vicina al Mega ( 10 ( ) ) 1 Gbyte = 1024 Mbyte = 30 2 byte, ovvero la potenza del 2 9 più vicina al Giga ( 10 ) 40 1 Tbyte = 1024 Gbyte = 2 byte, ovvero la potenza del 2 12 più vicina al Tera ( 10 )

13 La struttura degli elaboratori CPU: central processing unit La CPU è l unità centrale di elaborazione tradizionalmente composta da 2 componenti, che possono essere, o meno, fisicamente separati (l'unità di controllo e l'unità aritmetico-logico). L'unità di controllo (CU) è il dispositivo che provvede a controllare l'attività di elaborazione. Il suo ruolo è quello di decodificare e far eseguire le istruzioni presenti in memoria centrale, nonché di supervisionarne l'esecuzione. Questa unità non esegue, quindi, le istruzioni: il suo compito è quello di leggere le istruzioni, una alla volta, prelevandole dalla memoria centrale, di interpretarle, cioè di capirne il significato, di provvedere a che vengano eseguite, dando gli opportuni comandi alle varie unità interessate. La struttura degli elaboratori CPU: central processing unit L'unità aritmetico-logica (ALU) è il dispositivo che esegue le operazioni aritmetiche e logiche. Per far ciò si serve, oltre che di appositi circuiti elettronici, di particolari registri, fra cui alcuni che possono essere specificamente dedicati alla manipolazione aritmetica e logica dei dati, detti accumulatori. Oltre che dalla capacità di memoria, la potenza di un elaboratore dipende, anche dalle caratteristiche della unità logico-aritmetica, quali la sua velocità e le operazioni che essa può eseguire, per altro legate alle capacità e velocità dell'unità di controllo.

14 La struttura degli elaboratori Unità canale (BUS) Nella descrizione della struttura funzionale di un elaboratore è stato precisato che la CPU comunica con le altre unità, comprese quelle di input/output, attivandole affinché effettuino le operazioni che sono loro proprie. I moderni sistemi elettronici sono anche dotati di una o più unità di elaborazione distinte dall'unità centrale (processori esterni), alle quali quest'ultima affida il compito di comunicare direttamente con le periferiche. In questo modo è possibile gestire al meglio le operazioni di ingresso e di uscita. Tali unità si chiamano canali. I canali sono, in pratica, unità di elaborazione che hanno un accesso diretto alla memoria e sono in grado di trasferire i dati fra la CPU, la memoria centrale e le periferiche con le quali comunicano. La programmabilità degli elaboratori

15 La programmabilità degli elaboratori Introduzione Gli elaboratori elettronici sono macchine programmabili: l utilizzatore deve fornire loro un insieme di istruzioni che indichino le operazioni da compiere ed i dati su cui operare. Un insieme coerente di tali istruzioni si chiama PROGRAMMA Tali istruzioni, una volta memorizzate nella memoria centrale, verranno prese in considerazione dalla CPU che si occuperà dell attivazione dei dispositivi necessari alla loro elaborazione La programmabilità degli elaboratori Introduzione Un elaboratore elettronico, a differenza di quanto ci si potrebbe aspettare, è in grado di compiere SOLO operazioni estremamente semplici (es: una radice quadrata, una funzione trigonometrica richiedono programmi specifici) OPERAZIONI ELEMENTARI Tuttavia un elaboratore è molto veloce e può eseguire un gran numero di operazioni nell unità di tempo (la velocità dipende anche dal fatto che le operazioni sono appunto elementari)

16 La programmabilità degli elaboratori Le operazioni elementari Classificazione delle istruzioni elementari in base alla diversità delle funzioni svolte dall elaboratore e agli effetti che queste hanno sui dati. 1. Istruzioni aritmetiche e logiche 2. Istruzioni di trasferimento 3. Istruzioni di input-output 4. Istruzioni di controllo 5. Istruzioni ausiliarie La programmabilità degli elaboratori Le operazioni elementari Istruzioni Aritmetiche e Logiche. servono ad eseguire operazioni aritmetiche ( +,-, *, / ) e logiche (NOT, AND, OR) sui dati presenti nella memoria centrale Istruzioni di Trasferimento. permettono lo spostamento dei dati all interno della memoria centrale e tra questa e i registri presenti nella unità aritmetico logica (ALU) della CPU

17 La programmabilità degli elaboratori Le operazioni elementari Istruzioni Input-Output. consentono l immissione e l emissione dei dati nella e dalla memoria centrale; il dialogo avviene generalmente con in i dispositivi di I/O e e con le memorie ausiliarie. Istruzioni di Controllo. guidano lo svolgimento dell elaborazione controllando l ordine di esecuzione delle istruzioni elementari; sono eseguite dalla unità di controllo (CU) della CPU. Istruzioni Ausiliarie. sono deputate a riordinare alcuni dispositivi fisici dell elaboratore e a controllarne lo stato. La programmabilità degli elaboratori Le operazioni elementari Operazione Elementare (generalizzata) codice operativo operando indica il tipo di operazione da compiere identifica i dati o i dispositivi che interessano l operazione L insieme dei codici operativi e le regole che guidano il modo di esprimere gli operatori costituiscono un sistema di programmazione, un sistema completo per gestire il funzionamento dell elaboratore ed indirizzarlo alla risoluzione di un determinato problema.

18 La programmabilità degli elaboratori Il linguaggio macchina ed i linguaggi simbolici Tale sistema è detto LINGUAGGIO MACCHINA perché è il SOLO comprensibile dall unità di controllo dell elaboratore. Il Linguaggio Macchina varia da elaboratore ad elaboratore ed è estremamente complicato da utilizzare ed interpretare da parte dell utilizzatore. Generalmente vengono utilizzati altri linguaggi di programmazione, i cosiddetti LINGUAGGI SIMBOLICI, basati su una modalità di espressione di operatori ed operandi più simili ai criteri usati dal linguaggio umano. La programmabilità degli elaboratori Il linguaggio macchina ed i linguaggi simbolici Un programma espresso per mezzo di un linguaggio simbolico non è direttamente utilizzabile dall unità di controllo dell elaboratore; sarà prima necessario TRADURLO per mezzo di un apposito programma nell unico linguaggio comprensibile alla CU: il linguaggio macchina appunto.

19 Gli ALGORITMI Gli Algoritmi Algoritmi: aspetti definitori I problemi umani la cui soluzione è demandata ad un elaboratore sono notoriamente MOLTO COMPLESSI. 2 (es: per x = 1.347) f( x) 2x 3x 5 Ma un elaboratore è in grado di svolgere SOLO OPERAZIONI ELEMENTARI e NON operazioni complesse. Come è possibile allora utilizzare un elaboratore per risolvere un problema complesso?

20 Gli Algoritmi Algoritmi: aspetti definitori Occorre SCOMPORRE il problema complesso in una serie di operazioni elementari in grado di poter essere compiute da un esecutore che non riesce ASSOLUTAMENTE a prendere in considerazione il problema nella sua interezza. Tale procedimento è detto PROCESSO ALGORITMICO ed il risultato di tale processo è detto ALGORITMO Gli Algoritmi Algoritmi: aspetti definitori L ALGORITMO è una serie finita e completa di operazioni elementari ordinate alla soluzione di un problema, da effettuare meccanicamente, ossia attraverso una esecuzione precisa delle regole, senza implicare alcuna conoscenza del caso da trattare. Le operazioni in cui viene scomposto il processo risolutivo del problema devono essere comprensibili ed eseguibili dall entità cui l algoritmo è destinato, entità che può non necessariamente essere l elaboratore. In pratica esisterà sempre un limite preciso al numero di istruzioni che possono comporre l algoritmo e al tempo di esecuzione dello stesso, limite dettato dalle caratteristiche dell elaboratore.

21 Gli Algoritmi Algoritmi: caratteristiche Un ALGORITMO adatto ad essere utilizzato da un elaboratore deve rispondere ad alcune proprietà essenziali; deve cioè essere: effettivo; definito e non ambiguo; generale; finito. Gli Algoritmi Algoritmi: caratteristiche Deve avere un punto di partenza e deve essere EFFETTIVO cioè deve avere un punto di partenza ed ogni operazione deve produrre un certo e ben determinato risultato ogni volta che si presentano le stesse condizioni. Deve essere DEFINITO e NON AMBIGUO è necessario ciò che sia stato previsto ogni aspetto che il problema può assumere durante la fase risolutiva e che ogni espressione sia interpretabile in maniera univoca senza ambiguità.

22 Gli Algoritmi Algoritmi: caratteristiche Deve essere GENERALE ossia utilizzabile per una serie o classe di problemi. Dominio dell algoritmo: insieme dei dati che possono essere elaborati e le condizioni che ne permettono l elaborazione Deve essere FINITO deve cioè poter giungere al suo termine dopo che sia stato eseguito un numero anche elevatissimo ma finito di istruzioni (poiché spesso le istruzioni possono essere eseguite in modo ciclico loop -, sarà necessario che non sia possibile prevedere loop non aventi limite finito). Gli Algoritmi Analisi e Programmazione ANALISI: fase di comprensione del problema, in base all obiettivo da perseguire. Conduce ad un disegno articolato del problema stesso. Ogni problema che l uomo si pone comporta una serie di azioni ( decisioni ) stabilite in base allo stato dell informazione disponibile all insorgere del problema stesso: si effettua una rassegna degli elementi determinanti alla soluzione, elencando gli elementi necessari e quelli disponibili. Vengono decise le azioni da compiere e la loro sequenza temporale.

23 Gli Algoritmi Analisi e Programmazione Generalizzazione della fase d Analisi: definizione dei dati in ingresso; definizione dei risultati in uscita; individuazione dei termini del problema e dei possibili metodi risolutivi; determinazione della necessità e della disponibilità di risorse (di calcolo e memorizzazione); generalizzazione del problema (definizione di una classe di problemi da risolvere); descrizione informale dell algoritmo o degli algoritmi necessari a risolvere la procedura. Gli Algoritmi Analisi e Programmazione PROGRAMMAZIONE: ha lo scopo di descrivere le operazioni che l elaboratore deve eseguire per risolvere il problema. Fase della programmazione insieme delle attività e delle funzioni che trasformano il bisogno (necessità di risolvere il problema con un elaboratore) in una richiesta di formulazione, costruzione e definizione delle regole di comportamento per la soluzione di classi di processi di elaborazione, fatte ad un insieme di risorse di calcolo.

24 Gli Algoritmi Analisi e Programmazione Tecnica TOP-DOWN: si definiscono inizialmente un insieme d azioni a grandi linee (macro istruzioni) e si procede per raffinamenti successivi, fino ad arrivare ad operazioni elementari che l esperienza designa come indipendenti dal linguaggio di programmazione utilizzato per scrivere il programma. Tecnica BOTTOM-UP: parte dai singoli dati e dalle operazioni elementari da compiere su di essi, arrivando, per aggregazione, ad una o più procedure automatiche. Gli Algoritmi Analisi e Programmazione Indipendentemente dalla tecnica usata, la programmazione si concretizza nei seguenti passi: definizione formale dell algoritmo, spesso in forma grafica tramite un diagramma a blocchi; stesura del programma nel linguaggio di programmazione prescelto; prova del programma. La programmazione è sicuramente un processo creativo non vincolato da regole, che deve tenere in considerazione alcuni criteri di ottimizzazione quali i tempi di calcolo e l occupazione delle memorie.

25 Gli Algoritmi Esempi di algoritmi Una ricetta di cucina. Lettura di due valori numerici e stampa del maggiore tra i due Lettura di due valori numerici A e B e stampa di (A-B)^2 Lettura del valore numerico n e calcolo di Lettura di due valori numerici M e N (con M>=N) e calcolo del M.C.D. Ordinamento di una sequenza di numeri n i 0 2 i Gli Algoritmi Algoritmi rilevanti Progetto Genoma Umano per la mappatura dei geni del DNA umano; Navigazione Internet: percorsi ottimali che i dati devono percorrere in rete per il rapido accesso a grandi quantità di informazioni e motori di ricerca; Percorso stradale minimo data una certa rete viaria (es: mappe in internet); Compressione del testo, crittografia e firme digitali; Allocazione ottimale dei prodotti negli scaffali di un supermercato (P. L. e Game Theory); Gestione delle code;

26 Gli Algoritmi Efficienza di un Algoritmo Quand è che un Algoritmo è EFFICIENTE? quando è CORRETTO: cioè produce il risultato atteso; quando è VELOCE (in termini di tempo impiegato per produrre il risultato); quando è PARSIMONIOSO (in termini di risorse allocate per produrre il risultato). Strutture dati (fondamenti)

27 Strutture dati Classificazione Variabili numeriche Bit Intere Reali (razionali) precisione singola precisione doppia Complesse Variabili carattere Strutture dati Strutture di memorizzazione Variabili singole: singole celle di memoria cui fare riferimento sfruttando un etichetta definita dal programmatore es: A, pippo, tot Vettori: una sequenza indicizzabile di variabili dello stesso tipo accomunate da una stessa etichetta definita dal programmatore es: vett[1] consente di accedere alla prima cella di memoria del vettore denominato vett ab[10] consente di accedere alla 10 cella di memeoria del vettore denominato ab

28 Strutture dati Strutture di memorizzazione Matrici: una sequenza indicizzabile di vettori dello stesso tipo; una matrice di fatto si configura come un insieme di celle di memoria dello stesso tipo organizzate in righe e colonne, accumunate da una stessa etichetta definita dal programmatore es: mat[1,3] consente di accedere alla cella collocata all intersezione tra la prima riga e la terza colonna della matrice denominata mat; M[2,2] consente di accedere alla cella collocata all intersezione tra la seconda riga e la seconda colonna della matrice denominata M; I DIAGRAMMI a BLOCCHI (o Diagrammi di Flusso)

29 I Diagrammi a Blocchi Aspetti definitori I Diagrammi a Blocchi sono uno strumento molto utilizzato in informatica per una chiara e semplice esposizione in forma grafica degli algoritmi. Sono uno strumento fondamentale per l analista (servono a definire in modo schematico il processo algoritmico di scomposizione di un problema), danno una visione immediata dell iter risolutivo e facilitano il controllo di correttezza logica dell algoritmo. Inoltre hanno anche uno scopo comunicativo: la documentazione di un algoritmo nel tempo. È infatti molto più facile leggere un algoritmo schematizzato mediante un diagramma a blocchi che leggerne la sua traduzione in uno specifico linguaggio di programmazione. I Diagrammi a Blocchi Aspetti definitori Requisiti essenziali di un Diagramma a Blocchi: deve esistere un solo blocco di inizio; deve essere previsto almeno un blocco di fine; il diagramma può esibire un numero finito di blocchi di controllo; il diagramma può prevedere un numero finito di blocchi relativi sia ad operazioni aritmetiche e logiche che di I/O.

30 I Diagrammi a Blocchi Simboli e regole di costruzione Punto di Inizio e punti di Fine Operazioni Aritmetiche e Logiche Operazioni di Input/Output Decisioni Sottoprogrammi Connessioni ad un qualsiasi punto del diagramma I Diagrammi a Blocchi Simboli e regole di costruzione Regole di implementazione: ogni blocco logico/aritmetico o di I/O deve avere una sola linea in ingresso e una sola in uscita; ogni blocco di controllo deve avere una sola linea in ingresso e due (o più) linee in uscita; una linea può inserirsi in un blocco o in un altra linea; dall unico blocco iniziale parte una sola linea, seguendo la quale, attraverso un insieme non vuoto di blocchi deve potersi raggiungere uno dei blocchi finali.

31 I Diagrammi a Blocchi es. 1 : scambio di due valori numerici START INPUT A INPUT B semplice scambio di 2 valori numerici immessi da tastiera nelle variabili A e B AUX = B B = A A = AUX PRINT A PRINT B STOP I Diagrammi a Blocchi es. 1 : scambio di due valori numerici START INPUT A INPUT B semplice scambio di 2 valori numerici immessi da tastiera nelle variabili A e B Scambia A con B dove Scambia A con B PRINT A PRINT B AUX = B B = A A = AUX STOP

32 I Diagrammi a Blocchi es. 2 : scambio di due valori numerici START INPUT A INPUT B A > B No scambio di 2 valori numerici immessi da tastiera nelle variabili A e B solo se il primo è maggiore del secondo Sì Scambia A con B PRINT A PRINT B STOP I Diagrammi a Blocchi es. 3 : somma dei valori di un vettore Somma di una certa sequenza di valori, immessi da tastiera all interno di un vettore

33 I Diagrammi a Blocchi es. 3 : somma dei valori di un vettore Somma vettore START Somma degli elementi di un vettore V già presente in memoria J = 1 S = 0 J <= N No PRINT S STOP Sì S = S + V[J] J = J + 1 I Diagrammi a Blocchi es. 4 : ricerca del minimo di un vettore Minimo di un vettore START Ricerca del minimo di un vettore V già presente in memoria min = V[1] N = length(v) J = 2 J <= N No PRINT min STOP J = J +1 Sì No V[J] < min Sì min = V[J]

34 I Diagrammi a Blocchi es. 5 : somma, media, min e max di un vettore START INPUT N DIM V[N] A media = S/N PRINT media Somma, media, min e max di una sequenza di valori, immessi da tastiera all interno di un vettore INPUT V[1] INPUT V[N] Minimo di un vettore Somma vettore Massimo di un vettore A STOP I Diagrammi a Blocchi es. 6 : calcolo di una serie parziale Lettura del valore numerico n e calcolo di n i 0 2 i

35 I Diagrammi a Blocchi es. 7 : calcolo del MCD (algoritmo di Euclide) START INPUT N INPUT M Lettura di due valori numerici M e N (con M>=N) e calcolo del M.C.D. Sì M > N No Scambia M con N Q = INT(N/M) R = N - M*Q N = M M = R No R = 0 Sì PRINT MCD :, M STOP I Diagrammi a Blocchi es. 7 : calcolo del MCD (algoritmo inefficiente) START INPUT N INPUT M Sì M > N No Scambia M con N Lettura di due valori numerici M e N (con M>=N) e calcolo del M.C.D. con un algoritmo inefficiente J = M Q = INT(N / J) R = N - J*Q J = J - 1 No R = 0 Sì PRINT MCD :, J STOP

36 I Diagrammi a Blocchi es. 8 : radici di un polinomio di 2 grado se abc,, b 2 4ac >0 : =0 : Ricerca delle due radici reali x 1 e x 2, di una equazione del tipo 2 ax bx c b x 2a b x 2a 0 <0 : non esistono radici reali I Diagrammi a Blocchi es. 8 : radici di un polinomio di 2 grado Ricerca delle due radici reali x 1 e x 2, di una equazione del tipo 2 ax bx c 0

37 PSEUDO-LINGUAGGIO Pseudo-linguaggio La traduzione del diagramma a blocchi in pseudolinguaggio Condizioni: IF (condizione) THEN inizio blocco ( { ) istruzione 1 istruzione 2 fine blocco ( } ) ELSE inizio blocco ( { ) istruzione 1 istruzione 2 fine blocco ( } )

38 Pseudo-linguaggio La traduzione del diagramma a blocchi in pseudolinguaggio Condizioni nidificate (una dentro l altra): IF (condizione) THEN { [blocco istruzioni] } ELSE IF (condizione) THEN { [blocco istruzioni] } ELSE { [blocco istruzioni] } Pseudo-linguaggio La traduzione del diagramma a blocchi in pseudolinguaggio Iterazioni: FOR (variabile) = (inizio) TO (fine) (step) inizio blocco ( { ) istruzione 1 istruzione 2 fine blocco ( } ) WHILE (condizione) inizio blocco ( { ) istruzione 1 istruzione 2 fine blocco ( } )

39 Pseudo-linguaggio La traduzione del diagramma a blocchi in pseudolinguaggio Iterazioni nidificate (una dentro l altra): FOR (variabile1) = (inizio) TO (fine) (step) { FOR (variabile2) = (inizio) TO (fine) (step) { istruzione 1 istruzione 2 } } Pseudo-linguaggio La traduzione del diagramma a blocchi in pseudolinguaggio Esempio di confronto tra FOR e WHILE FOR I = 1 TO 10 { istruzione 1 istruzione 2 } I=1 WHILE (I<=10){ istruzione 1 istruzione 2 I = I + 1 }

40 Pseudo-linguaggio Lettura delle diapositive successive Le diapositive successive illustrano esempi di soluzione degli algoritmi proposti. Si osservi che solo per i primi algoritmi sarà fatto un parallelo tra gli schemi risolutivi tipici del diagramma a blocchi e la sintassi propria dello pseudo-linguaggio. Man mano che la complessità algoritmica aumenterà, si abbandoneranno i diagrammi a blocchi per utilizzare solo ed esclusivamente la sintassi dello pseudo-linguaggio. Diagrammi a blocchi e pseudo-linguaggio es. 1 : scambio di due valori numerici START semplice scambio di 2 valori numerici immessi da tastiera nelle variabili A e B INPUT A INPUT B start AUX = B B = A A = AUX PRINT A PRINT B read A,B AUX=B B=A A=AUX write A,B STOP stop

41 Diagrammi a blocchi e pseudo-linguaggio es. 2 : scambio di due valori numerici START INPUT A INPUT B A > B PRINT A PRINT B STOP Sì Scambia A con B No scambio di 2 valori numerici immessi da tastiera nelle variabili A e B solo se il primo è maggiore del secondo start read A,B if (A>B) then { AUX=B B=A A=AUX } write A,B stop Diagrammi a blocchi e pseudo-linguaggio es. 3 : somma dei valori di un vettore Somma di una certa sequenza di valori, immessi da tastiera all interno di un vettore start read N S=0 for I=1 to N{ read VETT[I] S=S+VETT[I] } write S stop

42 Pseudo-linguaggio es. 3 : somma di valori (variante) Somma di una certa sequenza di valori, immessi da tastiera senza ricorrere al vettore start read N S=0 for I=1 to N{ read A S = S + A } write "totale: ", S stop Pseudo-linguaggio es. 4 Leggere un numero da tastiera tra 50 e 90 e produrre la somma di tutti i numeri dispari tra 49 ed il valore letto start write "inserisci numero tra 50 e 90: " read N if (N<50 or N>90) then { write ("errore") stop } S=0 for I = 49 to N step 2{ S = S + I } write "totale: ", S stop NB: in questa forma, l algoritmo si ferma in caso di errore (condizione numero tra 50 e 90 non rispettata per cui l IF fa eseguire lo STOP) senza dare la possibilità all utente di inserire un nuovo numero

43 Pseudo-linguaggio es. 4 (variante) Leggere un numero da tastiera tra 50 e 90 e produrre la somma di tutti i numeri dispari tra 49 ed il valore letto start N=0 while (N<50 or N>90){ write "inserisci numero tra 50 e 90: " read N if (N<50 or N>90) then { write ("errore") } } S=0 for I = 49 to N step 2{ S = S + I } write "totale: ", S stop Per ovviare al problema precedente (uscita forzata al primo errore) si utilizza il WHILE: per far sì che l algoritmo entri nel WHILE si preassegna ad N (variabile che conterrà il numero da leggere) un valore NON compreso tra 50 e 90 (nell esempio si parte con N=0). Finchè l utente continuerà ad inserire valori NON compresi tra 50 e 90, il WHILE continuerà ad eseguire le istruzioni tra parentesi graffe Pseudo-linguaggio es. 5: successione semplice Produrre la somma dei primi 20 numeri della successione: 1, 3, 7, 15, 31 (a n+1 = 2*a n +1) start A=0 SUM=0 for I = 1 to 20{ A = 2*A + 1 SUM = SUM + A } write SUM stop Partendo da 0, il primo elemento generato della successione all interno del FOR è 1, come richiesto dall esercizio

44 Pseudo-linguaggio es. 5: successione di Fibonacci start write "quanti numeri: " read M if (M<2) then { write ("errore") stop } vett[1]=0 vett[2]=1 SUM=1 for I = 3 to M{ vett[i] = vett[i-1] + vett[i-2] SUM = SUM + vett[i] } write SUM stop Produrre la somma dei primi M numeri della successione di Fibonacci: 0, 1, 1, 2, 3, 5, 8 (a n+1 = a n + a n-1 ) Ogni nuovo elemento della successione è funzione dei due precedenti, per cui in questo caso conviene usare un vettore ed impostare le prime due celle dello stesso a 0 e 1 (prime due cifre della successione) In questo caso si parte da 1 perché la somma delle prime due cifre della successione è 1 Il ciclo FOR in questo caso parte da 3 perché i primi due valori della successione risultano assegnati all esterno del ciclo Pseudo-linguaggio es. 6: gestione di un archivio In un archivio sono memorizzati i seguenti campi relativi alla gestione di un ristorante: n pasti cucinati all ora di pranzo; n pasti cucinati all ora di cena. Ogni record è relativo ad un certo giorno dell anno, ma non è detto che il ristorante sia rimasto aperto per tutti i giorni dell anno. Sapendo che il costo di ogni pasto è di 3 e che viene venduto ad un prezzo di 5.10, e sapendo che i costi fissi ammontano a 59000, realizzare un algoritmo in grado di calcolare se nell anno di riferimento si è verificato un utile oppure una perdita.

45 Pseudo-linguaggio es. 6: gestione di un archivio start ARCH=open("ristorante.txt") DA=dim(ARCH) NREC=DA[1] TOT= for I = 1 TO NREC { TOT = TOT + (ARCH[I,1]+ARCH[I,2])*2.1 } if (TOT<0) then{ write ("si è verificato una perdita di: ", TOT) } else{ write ("si è verificato un utile di: ", TOT) } stop L istruzione OPEN consente di leggere un archivio dalla memoria ausiliaria (hard disk) e trasferirlo nella RAM. Un archivio si configura come una matrice (è organizzato in righe dette record, ciascuna delle quali è composta da più colonne dette campi) per cui viene trasferito nella RAM sotto tale forma. L istruzione DIM restituisce un vettore di due elementi: il primo valore è pari al numero di righe della matrice, il secondo al numero di colonne. IL LINGUAGGIO FORTRAN Selezione di esercizi svolti tratti dagli esami degli appelli precedenti Note per la lettura: i nomi delle variabili sono scritti in maiuscolo; le istruzioni FORTRAN sono scritte in minuscolo; nei riquadri, sono riportati alcuni commenti aggiuntivi che non sono codice FORTRAN e non devono essere confusi con esso, e che hanno il solo scopo fornire chiarimenti sul flusso delle istruzioni.

46 Il linguaggio FORTRAN 5 giugno 2008 es. 1 le istruzioni iniziano a colonna 7; una C a colonna 1 indica che stiamo scrivendo un commento che non verrà considerato dal compilatore C C Scrivere un programma FORTRAN che legga un valore da tastiera in lire e lo converta in euro (1 = 1936,27 L.) write (*,*) "inserire valore in lire" read (*,*) V le variabili utilizzate rispettano i criteri imposti dalla V2 = V/ dichiarazione implicita: V e V2 sono di tipo reale write (*,20) 'il valore in euro:', V2 stop 20 format (f10.2) end occorre assegnare un formato con 2 cifre decimali al risultato, in quanto la conversione in euro prevede al massimo 2 cifre decimali (i centesimi) Il linguaggio FORTRAN 18 giugno 2008 es. 1 C Si scriva un programma FORTRAN che legga da tastiera C in sequenza 15 numeri naturali (interi non negativi) e, C al termine, stampi a video il valore massimo tra i 15 C valori inseriti. MAX=0 0 è i più piccolo numero naturale ciclo per la sequenza dei 15 valori do I=1,15 write (*,*) 'inserisci (', I, ' ) numero naturale:' read (*,*) N if (N.GT. MAX) MAX=N end do write (*,*) 'massimo valore inserito', MAX stop end appena viene individuato un numero più grande di MAX, MAX viene riassegnato a quel numero anche in questo caso le variabili utilizzate rispettano i criteri imposti dalla dichiarazione implicita.

47 Il linguaggio FORTRAN 24 gennaio 2008 es. 1 C C C Si scriva un programma FORTRAN che legga da tastiera in sequenza 10 numeri interi e, al termine, stampi a video la loro somma e il loro valore medio. integer SUM real MEAN in questo caso invece occorre dichiarare esplicitamente le variabili SUM e MEAN che non rispettano la convenzione implicita: la somma di interi è una variabile intera, la loro media è una variabile reale ciclo per la sequenza dei 10 valori SUM=0 variabile totalizzatore inizializzata a zero (zero è l elemento neutro per la somma) do I=1,10 write (*,*) 'inserisci (', I, ' ) numero intero:' read (*,*) N SUM = SUM + N end do tutti i numeri inseriti vengono di volta in volta cumulati nel totalizzatore essendo MEAN reale, se SUM, che è intera, venisse MEAN = SUM / 10.0 divisa per 10 restituirebbe un risultato di tipo intero e non reale come invece accade dividendo per 10.0 write (*,*) 'somma:', SUM, '; media:', MEAN stop end Il linguaggio FORTRAN luglio 2007 es. 1 C Scrivere un programma FORTRAN che legga da tastiera i C valori N e M, controllando che siano compresi fra 10 e 90; C Il programma deve poi procedere a calcolare: C 1. il prodotto di tutti i numeri tra il maggiore dei due ed C il minore dei due (estremi compresi); C 2. la somma di tutti i numeri interi positivi più piccoli C (cioè fino al valore 1) del minore dei due. PROD e SUM sono dichiarate intere di 8 byte per integer*8 PROD, SUM contenere numeri interi molto grandi 10 write (*,*) 'inserisci primo numero:' read (*,*) N if (N.lt. 10.or. N.gt. 90) goto write (*,*) 'inserisci secondo numero:' read (*,*) M if (M.lt. 10.or. M.gt. 90) goto 15 controllo sul rispetto dei vincoli per i valori inseriti C continua a pag. successiva

48 Il linguaggio FORTRAN luglio 2007 es. 1 (continua) MAX=M MIN=N if (MAX.lt. MIN) then MAX=N MIN=M endif dei due valori inseriti, inizialmente si suppone che M sia il più grande e N sia il più piccolo; poi si controlla se ciò e vero ed in caso contrario si inverte l assegnazione PROD=1 do I=MIN,MAX PROD=PROD*I end do SUM=0 do I=1,(MIN-1) SUM=SUM+I end do variabile moltiplicatore inizializzata a 1 (uno è l elemento neutro per il prodotto) variabile totalizzatore inizializzata a zero (zero è l elemento neutro per la somma) write (*,*) SUM, PROD end Il linguaggio FORTRAN luglio 2007 es. 2 Testo dell esercizio Scrivere un programma FORTRAN che legga da un file relativo alle vendite di un outlet in un certo periodo due variabili da ogni record (senza conoscere a priori il numero di record da leggere). Le due variabili sono rispettivamente: a. il prezzo intero del capo d abbigliamento venduto (espresso in con due decimali, il campo è di 6 byte); b. lo sconto percentuale che è stato praticato (un numero intero, in un campo di 2 cifre). A esempio, il valore 30 indica che è stato praticato uno sconto del 30%. Qualora siano presenti valori superiori a 70 sono da considerare come errori e devono essere rimpiazzati dal valore 70. Dopo aver letto tutto l archivio si vuole stampare il totale incassato, in con due decimali.

49 Il linguaggio FORTRAN luglio 2007 es. 2 (continua) TOTI=0.0 open (5, file= vendite.dat') 10 read (5,*,END=40) PI, SC if (SC.gt. 70) SC=70 tutte le variabili utilizzate sono reali e non devono essere dichiarate perché rispettano le regole della convenzione implicita TOTI=TOTI+PI*(100-SC)/100 goto write (*,45) 'totale incassato:', TOTI stop controllo sul valore dello sconto come richiesto dall esercizio gli sconti vengono applicati al prezzo intero ed il risultato viene immediatamente cumulato nella variabile totale incassato TOTI 45 format (f8.2) end formato di visualizzazione del totale incassato con 2 cifre decimali: 8 caratteri totali disponibili per l output di cui uno riservato alla virgola e 2 ai decimali, per cui solo cinque sono riservati alla parte intera Il linguaggio FORTRAN 10 luglio 2008 es. 2 Testo dell esercizio Un indagine campionaria vuole accertare la passione dei fiorentini per la cinematografia: agli intervistati è stato chiesto di indicare il numero di proiezioni cinematografiche cui hanno assistito nel corso del I risultati dell indagine sono memorizzati in un archivio il cui tracciato record può essere esemplificato dalla seguente tabella: n proiezioni n intervistati Scrivere un programma FORTRAN che produca in output: a. il totale degli proiezioni cinematografiche cui hanno assistito gli intervistati; b. il numero medio di proiezioni cui ha assistito ciascun intervistato.

50 Il linguaggio FORTRAN 10 luglio 2008 es. 2 (continua) integer TOTPR, TOTI real MEDIAPR TOTPR=0 TOTI=0 queste variabili devono essere dichiarate perché non rispettano i criteri della convenzione implicita i totalizzatori devono sempre essere azzerati open (5, file= archivio.dat ) 10 read (5,*,END=35) NUMP, NUMI al file (device o dispositivo) contenente le informazioni viene assegnato l etichetta 5 TOTI = TOTI + NUMI TOTPR = TOTPR + NUMP*NUMI goto 10 si continua a leggere dal file finché non se ne raggiunge la fine (eof = end of file); quando cò avviene, l esecuzione riprende dalla riga MEDIAPR = 1.0*TOTPR/TOTI il rapporto tra due interi è intero; poiché la media è reale occorre premoltiplicare per 1.0 write (*,*) 'totale proiezioni:', TOTPR write (*,*) 'media proiezioni per intervistato:', MEDIAPR stop end Il linguaggio FORTRAN 24 gennaio 2008 es. 2 Testo dell esercizio Una catena di grande distribuzione gestisce in città 4 supermercati (codificati rispettivamente con i numeri da 1 a 4). In un archivio sono memorizzati, per ciascun supermercato e per ciascun mese del 2007, il numero degli scontrini emessi (vedi esempio sotto riportato) e il totale incassato. Supermercati Mese Scontrini Incasso Produrre un programma FORTRAN che produca in output: a. il totale degli scontrini emessi per tutto il 2007; b. il totale incassato per tutto il 2007; c. il valore dello scontrino medio per i mesi estivi del 2007 (giugno, luglio e agosto).

51 Il linguaggio FORTRAN 24 gennaio 2008 es. 2 (continua) integer*4 S, TOTS, TOTSE real I, MEDIASE TOTS=0 TOTI=0.0 TOTSE=0 TOTIE=0.0 queste variabili devono essere dichiarate perché non rispettano i criteri della convenzione implicita; alle variabili scontrino (S) e totali scontrino (TOTS e TOTSE) viene riservato una zona di memoria di 4 byte totale incasso e totale scontrini per i mesi estivi open (7, file= supermarket.dat') 15 read (7,*,END=65) A, M, S, I TOTS = TOTS + S TOTI = TOTI + I if (M.gt. 5.and. M.lt. 9) then TOTSE = TOTSE + S TOTIE = TOTIE + I endif goto MEDIASE = 1.0*TOTIE/TOTSE write (*,70) 'totale scontrini:', TOTS write (*,72) 'totale incasso:', TOTI write (*,72) 'scontrino medio mesi estivi:', MEDIASE stop 70 format (a28,i9) 72 format (a28,f12.2) end si continua a leggere dal file finché non se ne raggiunge la fine (eof = end of file); quando ciò avviene, l esecuzione riprende dalla riga 65 come esercizio precedente a28: formato di un output di tipo carattere (28 carat. disponibili) i9: formato di un output di tipo intero (9 carat. disponibili) f12.2: formato di un output di tipo reale (12 carat. disponibili di cui uno per la virgola e 2 per la parte decimale)

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione La Codifica dell informazione (parte 1) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente:

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Parte I Sui testi di approfondimento: leggere dal Cap. del testo C (Console, Ribaudo):.,. fino a pg.6 La codifica delle informazioni Un calcolatore memorizza ed elabora informazioni

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Funzionalità di un calcolatore

Funzionalità di un calcolatore Funzionalità di un calcolatore Il calcolatore: modello concettuale 1. Elaborazione 2. Memorizzazione Interconnessione 3. Comunicazione (interfaccia) Architettura di un computer componenti per elaborare

Dettagli

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste

Dettagli

CORSO DI LAUREA IN SCIENZE ERBORISTICHE E DEI PRODOTTI NUTRACEUTICI

CORSO DI LAUREA IN SCIENZE ERBORISTICHE E DEI PRODOTTI NUTRACEUTICI CORSO DI LAUREA IN SCIENZE ERBORISTICHE E DEI PRODOTTI NUTRACEUTICI Informatica con esercitazioni Prof. Onofrio Greco Modulo 1 Concetti di base dell ICT Modulo 2 Uso del Computer e Gestione dei File Modulo

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio Rappresentazione dell Informazione

Dettagli

Architettura del Personal Computer AUGUSTO GROSSI

Architettura del Personal Computer AUGUSTO GROSSI Il CASE o CABINET è il contenitore in cui vengono montati la scheda scheda madre, uno o più dischi rigidi, la scheda video, la scheda audio e tutti gli altri dispositivi hardware necessari per il funzionamento.

Dettagli

Nozione di algoritmo. Gabriella Trucco

Nozione di algoritmo. Gabriella Trucco Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere

Dettagli

Cenni di logica & algebra booleana

Cenni di logica & algebra booleana Cenni di algebra booleana e dei sistemi di numerazione Dr. Carlo Sansotta - 25 2 Parte Cenni di logica & algebra booleana 3 introduzione L elaboratore elettronico funziona secondo una logica a 2 stati:

Dettagli

L informatica comprende:

L informatica comprende: Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Introduzione. Informatica B. Daniele Loiacono

Introduzione. Informatica B. Daniele Loiacono Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

I Sistemi di numerazione e la rappresentazione dei dati

I Sistemi di numerazione e la rappresentazione dei dati I Sistemi di numerazione e la rappresentazione dei dati LA RAPPRESENTAZIONE DELLE INFORMAZIONI (1) Per utilizzare un computer è necessario rappresentare in qualche modo le informazioni da elaborare e il

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

TECNOLOGIE INFORMATICHE

TECNOLOGIE INFORMATICHE I.I.S.S. FOSSATI DA PASSANO LA SPEZIA PROGRAMMA di TECNOLOGIE INFORMATICHE A.S. 2012/2013 CLASSE : 1^ INDIRIZZO: Tecnologico Argomenti richiesti per sostenere l Esame Integrativo per l ammissione alla

Dettagli

Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria

Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria Introduzione all Informatica 1 Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria Programma del corso Programma di

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM Il computer è un apparecchio elettronico che riceve dati di ingresso (input), li memorizza e gli elabora e fornisce in uscita i risultati (output). Il computer è quindi un sistema per elaborare informazioni

Dettagli

I SISTEMI DI NUMERAZIONE

I SISTEMI DI NUMERAZIONE Istituto di Istruzione Superiore G. Curcio Ispica I SISTEMI DI NUMERAZIONE Prof. Angelo Carpenzano Dispensa di Informatica per il Liceo Scientifico opzione Scienze Applicate Sommario Sommario... I numeri...

Dettagli

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale Elementi di Informatica ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale Il sistema di numerazione posizionale decimale Nella numerazione posizionale ogni cifra del numero

Dettagli

ARCHITETTURA DELL ELABORATORE

ARCHITETTURA DELL ELABORATORE 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY ARCHITETTURA DELL ELABORATORE Prof. G. Ciaschetti 1. Tipi di computer Nella vita di tutti giorni, abbiamo a che fare con tanti tipi di computer, da piccoli o piccolissimi

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

Appunti di Sistemi e Automazione

Appunti di Sistemi e Automazione Appunti di Sistemi e Automazione Il modello o macchina di Von Neumann rappresenta un computer con i suoi componenti principali e la sua organizzazione logico-funzionale. Tale progetto risale al 1945/1946.

Dettagli

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. I METODI DI NUMERAZIONE I numeri naturali... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. Il numero dei simboli usati per valutare la numerosità costituisce la base

Dettagli

IL COMPUTER APPUNTI PER LEZIONI NELLE 3 CLASSI LA MACCHINA DELLA 3 RIVOLUZIONE INDUSTRIALE. A CURA DEL Prof. Giuseppe Capuano

IL COMPUTER APPUNTI PER LEZIONI NELLE 3 CLASSI LA MACCHINA DELLA 3 RIVOLUZIONE INDUSTRIALE. A CURA DEL Prof. Giuseppe Capuano IL COMPUTER LA MACCHINA DELLA 3 RIVOLUZIONE INDUSTRIALE APPUNTI PER LEZIONI NELLE 3 CLASSI A CURA DEL Prof. Giuseppe Capuano LA TRASMISSIONE IN BINARIO I computer hanno un loro modo di rappresentare i

Dettagli

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

CONCETTI BASE dell'informatica Cose che non si possono non sapere! CONCETTI BASE dell'informatica Cose che non si possono non sapere! Pablo Genova I. I. S. Angelo Omodeo Mortara A. S. 2015 2016 COS'E' UN COMPUTER? È una macchina elettronica programmabile costituita da

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

MODULO 1. 1.1 Il personal computer. ISIS STRINGHER Corso Serale Anno scolastico 2010/11 Classe 1 Commerciale

MODULO 1. 1.1 Il personal computer. ISIS STRINGHER Corso Serale Anno scolastico 2010/11 Classe 1 Commerciale MODULO 1 1.1 Il personal computer ISIS STRINGHER Corso Serale Anno scolastico 2010/11 Classe 1 Commerciale 1.1 Il personal computer Il PC Hardware e software Classificazioni del software Relazione tra

Dettagli

MODULO 01. Come è fatto un computer

MODULO 01. Come è fatto un computer MODULO 01 Come è fatto un computer MODULO 01 Unità didattica 02 Guardiamo dentro alla scatola: l hardware In questa lezione impareremo: a conoscere le parti che permettono a un computer di elaborare e

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Algoritmi, dati e programmi

Algoritmi, dati e programmi 1 Algoritmi, dati e programmi 2 Informatica Informatica: Scienza che studia l informazione e la sua elaborazione. informazione rappresentazione dell informazione (dati) dati elaborazione dei dati tramite

Dettagli

APPUNTI DI ELETTRONICA DIGITALE

APPUNTI DI ELETTRONICA DIGITALE APPUNTI DI ELETTRONICA DIGITALE ITIS MARCONI-GORGONZOLA docente :dott.ing. Paolo Beghelli pag.1/24 Indice 1.ELETTRONICA DIGITALE 4 1.1 Generalità 4 1.2 Sistema di numerazione binario 4 1.3 Operazioni con

Dettagli

Richiami di informatica e programmazione

Richiami di informatica e programmazione Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita

LICEO SCIENTIFICO LEONARDO DA VINCI - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Modulo 1: Introduzione all informatica Fondamenti di teoria della elaborazione

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

Tecnologia dell Informazione

Tecnologia dell Informazione Tecnologia dell Informazione Concetti di base della tecnologia dell informazione Materiale Didattico a cura di Marco Musolesi Università degli Studi di Bologna Sede di Ravenna Facoltà di Giurisprudenza

Dettagli

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE CORSO INTRODUTTIVO DI INFORMATICA NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE Dott. Paolo Righetto 1 CORSO INTRODUTTIVO DI INFORMATICA Percorso dell incontro: 1) Alcuni elementi della configurazione hardware

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 1 Introduzione all informatica: algoritmi, linguaggi e programmi Indice 1. Introduzione 2. Risoluzione automatica di problemi - Algoritmi

Dettagli

ARCHITETTURA DEL CALCOLATORE

ARCHITETTURA DEL CALCOLATORE Orologio di sistema (Clock) UNITÀ UNITÀ DI DI INGRESSO Schema a blocchi di un calcolatore REGISTRI CONTROLLO BUS DEL SISTEMA MEMORIA DI DI MASSA Hard Hard Disk Disk MEMORIA CENTRALE Ram Ram ALU CPU UNITÀ

Dettagli

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI Scienza ed industria hanno oggi costituito legami molto forti di collaborazione che hanno portato innovazione tecnologica sia a livello organizzativo-amministrativo

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 2 Rappresentazione delle informazioni: numeri e caratteri 1 Codice La relazione che associa ad ogni successione ben formata di simboli di

Dettagli

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1

Dettagli

Istituto tecnico commerciale e per geometri Enrico Fermi

Istituto tecnico commerciale e per geometri Enrico Fermi Istituto tecnico commerciale e per geometri Enrico Fermi Argomenti: Il modello logico funzionale i componenti dell'elaboratore; i bus; Relazione svolta dall'alunno/a : GARUFI CARLA della 3 B progr 2011/2012.

Dettagli

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

TICa1. 3) Uno scanner è una periferica di: a) Input b) Output c) elaborazione d) Input-Output e) Memorizzazione

TICa1. 3) Uno scanner è una periferica di: a) Input b) Output c) elaborazione d) Input-Output e) Memorizzazione Aggiornamento 2013 TICa1 Conoscenze: 2;5 Apri il programma WordPad sul tuo PC. Scrivi le risposte direttamente sul file, facendole precedere dal Numero di domanda Salva il file all'interno di Documenti

Dettagli

LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA D INFORMATICA A.S. 2013/14 - CLASSE: I R - Indirizzo Scienze applicate

LICEO SCIENTIFICO LEONARDO DA VINCI - RC PROGRAMMA D INFORMATICA A.S. 2013/14 - CLASSE: I R - Indirizzo Scienze applicate A.S. 2013/14 - CLASSE: I R - Indirizzo Scienze applicate Modulo 1: Introduzione all informatica Fondamenti di teoria della elaborazione dati. Concetto di sistema e sua classificazione. - I sistemi di elaborazione

Dettagli

I sistemi di elaborazione

I sistemi di elaborazione 2 I sistemi di elaborazione 2.0 I sistemi di elaborazione c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 2.0 0 2 I sistemi di elaborazione Architettura

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

processore case Le casse acustiche

processore case Le casse acustiche Nome: lasse: ognome: ata: Tutti i campi sono obbligatori 1 In un computer, quale tra i seguenti è un componente software? applicazione bus di sistema processore memoria 2 Scegli le parole corrette per

Dettagli

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA 2010-2011

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA 2010-2011 RAPPRESENTAZIONE DEI NUMERI BINARI Corso di Fondamenti di Informatica AA 2010-2011 Prof. Franco Zambonelli Numeri interi positivi Numeri interi senza segno Caratteristiche generali numeri naturali (1,2,3,...)

Dettagli

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896 2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo

Dettagli

HARDWARE. Relazione di Informatica

HARDWARE. Relazione di Informatica Michele Venditti 2 D 05/12/11 Relazione di Informatica HARDWARE Con Hardware s intende l insieme delle parti solide o ( materiali ) del computer, per esempio : monitor, tastiera, mouse, scheda madre. -

Dettagli

I SISTEMI DI NUMERAZIONE

I SISTEMI DI NUMERAZIONE ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA I SISTEMI DI NUMERAZIONE Prof. G. Ciaschetti Fin dall antichità, l uomo ha avuto il bisogno di rappresentare le quantità in modo simbolico. Sono nati

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Informatica. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione

Informatica. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Informatica Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, ed elaborazione dell informazione.

Dettagli

MONIA MONTANARI. Appunti di Trattamento Testi. Capitolo 1 Il Computer

MONIA MONTANARI. Appunti di Trattamento Testi. Capitolo 1 Il Computer MONIA MONTANARI Appunti di Trattamento Testi Capitolo 1 Il Computer 1. Introduzione La parola informatica indica la scienza che rileva ed elabora l informazione, infatti : Informatica Informazione Automatica

Dettagli

Punto Vendita. OBS Open Business Solutions

Punto Vendita. OBS Open Business Solutions L area Punto Vendita, rivolta alle aziende commerciali al dettaglio, consente la gestione delle operazioni di vendita al banco e più precisamente l immissione, la manutenzione, la stampa, l archiviazione

Dettagli

Test di informatica. 1504 QUALE TRA I DISPOSITIVI DI MEMORIA ELENCATI HA LA CAPACITÀ PIÙ ELEVATA? a) Floppy disk b) Cd-Rom c) DVD Risposta corretta:

Test di informatica. 1504 QUALE TRA I DISPOSITIVI DI MEMORIA ELENCATI HA LA CAPACITÀ PIÙ ELEVATA? a) Floppy disk b) Cd-Rom c) DVD Risposta corretta: Test di informatica 1501 QUAL È L'UNITÀ DI MISURA PER MISURARE LA CAPIENZA DELL'HARD DISK? a) Bit b) Kbyte c) Gigabyte 1502 CHE COS'È UN BYTE? a) Un insieme di 256 bit b) Un gruppo di 8 bit c) Un carattere

Dettagli

INFORMATICA, IT e ICT

INFORMATICA, IT e ICT INFORMATICA, IT e ICT Informatica Informazione automatica IT Information Technology ICT Information and Communication Technology Computer Mini Computer Mainframe Super Computer Palmare Laptop o Portatile

Dettagli

Corso base per l uso del computer. Corso organizzato da:

Corso base per l uso del computer. Corso organizzato da: Corso base per l uso del computer Corso organizzato da: S Programma del Corso Ing. Roberto Aiello www.robertoaiello.net info@robertoaiello.net +39 334.95.75.404 S S Informatica S Cos è un Computer Il personal

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

MODULO 01. Come è fatto un computer

MODULO 01. Come è fatto un computer MODULO 01 Come è fatto un computer MODULO 01 Unità didattica 02 Guardiamo dentro alla scatola: l hardware In questa lezione impareremo: a conoscere le parti che permettono a un computer di elaborare e

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo stituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di nformatica Anno Scolastico 2008/2009 Classe 3APS Dal Problema all'algoritmo Pr.: 001 Ver.:1.0 Autore: prof. Michele Salvemini

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione:

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione: Modulo 1 Le memorie Le Memorie 4 ETA Capitolo 1 Struttura di un elaboratore Un elaboratore elettronico è un sistema capace di elaborare dei dati in ingresso seguendo opportune istruzioni e li elabora fornendo

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA Il termine informatica riassume due parole, informazione automatica, e si occupa dei sistemi per l elaborazione

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

L'informazione e la sua codifica

L'informazione e la sua codifica L'informazione e la sua codifica Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Informatica e telecomunicazione Cos è l informatica informatica? lo studio sistematico degli

Dettagli