Fondamenti dell informatica Algoritmi e Strutture Dati

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)

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

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

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

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

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

- 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

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

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

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

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

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

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

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

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

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

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

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

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

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

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

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

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

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

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

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

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

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

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

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

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

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

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

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

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

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

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

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

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

PROGETTO EM.MA PRESIDIO

PROGETTO EM.MA PRESIDIO PROGETTO EM.MA PRESIDIO di PIACENZA Bentornati Il quadro di riferimento di matematica : INVALSI e TIMSS A CONFRONTO LE PROVE INVALSI Quadro di riferimento per la valutazione Quadro di riferimento per i

Dettagli

Interesse, sconto, ratei e risconti

Interesse, sconto, ratei e risconti TXT HTM PDF pdf P1 P2 P3 P4 293 Interesse, sconto, ratei e risconti Capitolo 129 129.1 Interesse semplice....................................................... 293 129.1.1 Esercizio per il calcolo dell

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

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 sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

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

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

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

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

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

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

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

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo INPUT: dati iniziali INPUT: x,y,z AZIONI esempio: Somma x ed y

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

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

GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE

GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE L applicazione elaborata da Nordest Informatica e disponibile all interno del sito è finalizzata a fornirvi un ipotesi dell impatto economico

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

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

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

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

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

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

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

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

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

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia

Dettagli

Sistemi di Numerazione

Sistemi di Numerazione Fondamenti di Informatica per Meccanici Energetici - Biomedici 1 Sistemi di Numerazione Sistemi di Numerazione I sistemi di numerazione sono abitualmente posizionali. Gli elementi costitutivi di un sistema

Dettagli

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) (Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

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

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

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

II.f. Altre attività sull euro

II.f. Altre attività sull euro Altre attività sull euro II.f È consigliabile costruire modelli in carta o cartoncino di monete e banconote, e farli usare ai bambini in varie attività di classe fin dal primo o al più dal secondo anno.

Dettagli

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,

Dettagli

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