ALFABETO. Informatica Prof. Nicola BRUNO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ALFABETO. Informatica Prof. Nicola BRUNO"

Transcript

1 ALFABETO In generale, ogni tipo di linguaggio (naturale o artificiale) è costruito su un alfabeto. Un alfabeto è definito come un insieme finito e non vuoto di simboli elementari. Una stringa è costituita da una sequenza qualsiasi di simboli. La stringa vuota è una stringa priva di simboli, indicata con λ (lambda). La lunghezza di una stringa è il numero di simboli nella stringa, per esempio abc = 3.

2 Alfabeto Esempi di alfabeti per i linguaggi naturali possono essere: - italiano, composto da 21 lettere; - inglese, composto da 26 lettere. Esempi di alfabeti per i linguaggi artificiali possono essere: - insieme {linea,punto} del linguaggio telegrafico; - insieme dei colori {rosso,giallo,verde} del linguaggio semaforico; - insieme delle cifre {0,1} utilizzato per il sistema di numerazione binaria.

3 LINGUAGGIO Con A * si indica l insieme di tutte le stringhe su A, inclusa la stringa vuota. Con A + si indica l insieme di tutte le stringhe su A, esclusa la stringa vuota. Un linguaggio L su un alfabeto A è un insieme di stringhe costruite su A, ovvero è un qualsiasi sottoinsieme di A * : L A * In generale, un linguaggio di programmazione è costituito, come ogni altro tipo di linguaggio, da un alfabeto con cui viene costruito un insieme di parole chiave (il vocabolario) e da un insieme di regole sintattiche (la grammatica), per l uso corretto delle parole del linguaggio.

4 Linguaggio Tipi particolari di linguaggio: L 1 = linguaggio vuoto L 2 = {λ} linguaggio formato dalla sola stringa vuota L 3 = A + L 4 = A * Per esempio, se A = {0,1}, allora A + = {0,1,00,10,01,11,000,111,..} I linguaggi sono insieme, e quindi su di essi risultano definite tutte le operazioni insiemistiche.

5 GERARCHIA DI LINGUAGGI In informatica si parla di programmazione a basso livello quando si utilizza un linguaggio molto vicino al computer, ovvero al suo funzionamento interno. La programmazione è più complessa e meno intuitiva, ma consente di sviluppare programmi più efficienti. Si parla invece di programmazione ad alto livello quando si utilizzano linguaggi più sofisticati ed astratti, slegati dal funzionamento fisico del computer. La programmazione è più naturale e rapida, ma non sempre consenta di produrre programmi efficienti. Si viene così a creare una gerarchia di linguaggi, dai meno evoluti (linguaggio macchina e assembler) a quelli più evoluti (Pascal, Cobol, Java).

6 TIPI DI LINGUAGGIO DI PROGRAMMAZIONE Possiamo raggruppare i numerosi linguaggi di programmazione esistenti (circa 2500 più o meno noti e diffusi), in base al modello astratto di programmazione adottato per il loro utilizzo.

7 Un linguaggio imperativo è caratterizzato da istruzioni che rappresentano comandi espliciti, che operano su una o più variabili. Le istruzioni vengono eseguite in un ordine prestabilito. Il programmatore ragiona in termini di assegnazione, cioè i valori delle variabili sono assegnati a partire da costanti o da altre variabili. Un linguaggio dichiarativo è basato sui concetti di funzione e relazione. Il programmatore ragiona in termini di relazioni fra entità e di valori di una funzione. Nei linguaggi logici l'istruzione è una clausola che descrive una relazione fra i dati. Non c'è un ordine prestabilito di esecuzione delle varie clausole, ma è compito dell'interprete trovare l'ordine giusto.

8 RAPPRESENTAZIONE DEL LINGUAGGIO Dopo aver definito un linguaggio L su un alfabeto A, il primo problema che bisogna risolvere è la rappresentazione del linguaggio stesso. Se L è finito, è sufficiente elencare tutte le stringhe che compongono il linguaggio. Se L è infinito, allora bisogna trovare altre soluzioni.

9 GRAMMATICA E AUTOMA 1) GRAMMATICA Un primo metodo consiste nell introduzione di un sistema generativo del linguaggio, detto grammatica. In pratica, ogni stringa del linguaggio viene costruita e strutturata in modo preciso e non ambiguo utilizzando le regole di una grammatica. Il linguaggio generato dalla grammatica G si indica con L(G) e rappresenta l insieme delle stringhe generabili da G. 2) AUTOMA Un secondo metodo consiste nell utilizzo di un sistema di riconoscimento, detto automa. In pratica, l automa accetta in input una qualsiasi stringa e risponde SI se la stringa appartiene al linguaggio associato, NO altrimenti. Il linguaggio riconosciuto dall automa M si indica con L(M) e rappresenta l insieme delle stringhe riconosciute da M.

10 AUTOMA Un automa è un dispositivo astratto, utilizzato per realizzare delle computazioni. Gli automi sono utilizzati come modello nella progettazione di circuiti digitali, negli analizzatori lessicali di un compilatore, per software per la verifica di sistemi a stati finiti, come i protocolli di comunicazione, ecc. In generale, un automa è un dispositivo in grado di eseguire da solo, cioè in modo automatico, senza l intervento di una persona, una sequenza di azioni stabilite in precedenza. È dotato di particolari meccanismi per acquisire elementi in input e produrre elementi in output: durante il suo funzionamento, può assumere al suo interno stati diversi tra loro.

11 DEFINIZIONE FORMALE Un automa a stati finiti deterministico è definito come una quintupla di elementi M = (I, S, s 0, F, T) 1. alfabeto dei simboli input I = (i 1, i 2,,i n ), cioè l insieme finito dei simboli che l automa è in grado di ricevere dall esterno, riconoscendoli; 2. insieme dei possibili stati S = (s 1, s 2,,s n ) che l automa può assumere durante il suo funzionamento; 3. stato iniziale s 0 S (unico) di partenza del funzionamento dell automa; 4. insieme degli stati finali F S; 5. funzione di transizione T: S x I S, ovvero T: (s t-1, i t ) (s t ) cioè la funzione che indica lo stato successivo di transizione all istante t, in relazione di un determinato stato precedente all istante t-1 e di un determinato simbolo input all istante t.

12 FUNZIONAMENTO In generale, il funzionamento di un automa consiste nell accettare un simbolo dall esterno ed emettere un simbolo in uscita, producendo un cambiamento di stato. L automa non ha memoria, quindi la funzione di transizione T dipende solo dallo stato in cui si trova l automa e dal simbolo input in lettura in quel momento. Una stringa sarà riconosciuta dall automa se, partendo dallo stato iniziale s 0 e avendo come input la stringa, esso dopo un certo numero di transizioni di stato si troverà in uno stato finale di F. Se alla fine l automa non si trova in uno stato finale, allora la stringa sarà rifiutata. Il funzionamento di un automa può essere descritto mediante un algoritmo, mediante un grafo di transizione oppure mediante la tabella della sua funzione.

13 SCHEMA Gli aspetti che caratterizzano il funzionamento di un automa sono: 1. i simboli forniti dall esterno, che l automa sa riconoscere nel loro significato; 2. i simboli prodotti all esterno come risultato del lavoro svolto; 3. l insieme di tutti i possibili stati che l automa può assumere; 4. l insieme di tutte le possibili transizioni, da uno stato all altro. Automa M insieme dei possibili STATI S = (s 1, s 2,,s n ) funzione di transizione T S T Testina alfabeto dei simboli input I = (i 1, i 2,,i n ) i 1 i 2 i 3 i 4 i 5 Nastro unidirezionale

14 AUTOMA DETERMINISTICO E NON DETERMINISTICO Tratteremo automi a stati finiti deterministici: ad ogni mossa o transizione, il nuovo stato dell automa è determinato in modo univoco in base al simbolo letto in input, ed allo stato corrente. Nel caso non determistico, invece, ad ogni transizione il nuovo stato dell automa è determinato in modo non univoco, cioè viene scelto in un insieme di possibili celle, sempre in base al simbolo letto in input, ed allo stato corrente.

15 ESPRESSIONE REGOLARE Un automa a stati finiti, espresso in maniera formale ed in forma algebrica, prende il nome di espressione regolare. Esempio di espressione regolare di un automa a stati finiti che sappia riconoscere tutte le stringhe del linguaggio formate da 0 e 1, che terminano con 01: (01)* 01 L (M) = { 01}*01 ovvero L = { tutte le stringhe che finiscono con 01}

16 Esempio 1 Descrivere un automa (finito e deterministico) che sappia riconoscere tutte e solo le stringhe binarie che contengono almeno due zeri consecutivi (per esempio, accetta e rifiuta 10110). M = (I,S,s 0,F,T) dove: I = {0,1} S = {p,q,r} p è lo stato iniziale F = {r} La funzione di transizione T è definita dalla seguente tabella:

17 Esempio (segue) M = (I, S, s 0, F, T), dove: I={0, 1} S={p, q, r} p è lo stato iniziale F={r} Tabella T: p q 0 q r 1 p p r r r 1. Lo stato iniziale è p. 2. Lo stato p significa che due zeri consecutivi non sono ancora apparsi e il simbolo precedente non è uno Lo stato q significa che due zeri consecutivi non sono ancora apparsi e il simbolo precedente era Lo stato r significa che sono apparsi due zeri consecutivi. 5. Quando M entra nello stato finale r, non ne esce più e rimane su questo stato sino alla fine dei simboli input.

18 Esempio (segue) T 0 1 Supponiamo di avere in input la stringa L automa effettua le seguenti transizioni: (p,01001) (q,1001) (p,001) (q,01) (r,1) (r, λ). p q r q r r p p r Poiché (r, λ) è una configurazione finale, la stringa input viene accettata dall automa.

19 Esempio 2 Descrivere un automa (finito e deterministico) che sappia riconoscere tutte le stringhe del linguaggio formate da 0 e 1, che terminano con 01: L (M) = { 01}*01 ovvero L = { tutte le stringhe che finiscono con 01} 1 0 s 0 0 s 1 1 s 2 0 Tabella T: 0 1 s 0 1 s 1 s 0 s 1 s 1 s 2 s 2 s 1 s 0

20 TEST 1 Descrivere un automa che riconosce il seguente linguaggio definito sull alfabeto A = {a, b, c}: L = { x {a, b, c}* : x è una stringa di a di lunghezza pari } b,c a b,c s 0 s 1 a Esempio: la stringa abbca è riconosciuta; la stringa abbcaa non è riconosciuta.

21 TEST 2 Descrivere un automa che riconosce il seguente linguaggio definito sull alfabeto A = {a, b}: L = { x {a, b}* : x è una stringa di a di lunghezza multiplo di 3 } Esempio: la stringa abbaa è riconosciuta; la stringa abbaaa non è riconosciuta.

22 TEST 3 Descrivere un automa che riconosce il seguente linguaggio definito sull alfabeto A = {a, b, c}: L (M) = {a}*. {bb}. {c}* Esempio: la stringa abbcc è riconosciuta; la stringa acbbcc non è riconosciuta.

23 MACCHINA DI TURING Nel 1936 il matematico inglese Alan Turing propose l'idea di una macchina astratta che fosse capace di eseguire ogni tipo di calcolo su numeri e simboli. Turing non costruì materialmente la sua macchina universale". D'altra parte, data la sua semplicità, una macchina di Turing può essere simulata con carta e penna: se un operatore umano può eseguire le istruzioni senza incertezze e ambiguità, allora la procedura è automatizzabile. Il metodo di programmazione di Turing essenzialmente descrive una macchina che utilizza solo alcune semplici istruzioni: elaborare su computer un problema particolare, è solo questione di dividere il problema in una serie di sottoproblemi più semplici, risolvibili appunto con semplici operazioni.

24 Macchina di Turing Per comprendere l'importanza della macchina di Turing, occorre fare una distinzione tra concetto di semplici calcolatrici e di moderni calcolatori (computer). Le calcolatrici possono eseguire un certo numero di operazioni ma non possono essere programmate, ovvero non possono accettare ed eseguire processi di calcolo articolati e complessi, definiti in base ad opportuni comandi da eseguire in modo completamente automatico. I computer sono invece programmabili, ovvero possono effettuare qualsiasi tipo di computazione, in termini di manipolazione di simboli binari, seguendo un'insieme di regole (algoritmo). Da questo modello nasce l'idea del calcolatore universale.

25 PROBLEMI DECIDIBILI ED INDECIDIBILI Turing ha studiato e definito le macchine di Turing prima che esistessero i calcolatori. Le macchine di Touring possono essere considerate come un prototipo astratto dei moderni calcolatori. In generale,esistono due classi di problemi: 1. decidibile se esiste un programma che lo possa risolvere; 2. indecidibile se non esiste alcun programma che lo possa risolvere. La computabilità di un problema è collegabile alle macchine di Turing, poiché si può dimostrare che un problema è calcolabile o decidibile se è possibile descrivere una macchina di Turing che pervenga al risultato in un numero finito di passi. I problemi per i quali non esiste alcuna macchina di Turing capace di risolverli, sono detti indecidibili.

26 Funzionamento Una macchina di Turing (MT) è un automa a stati finiti con un nastro di input/output, su cui può leggere e scrivere. Il nastro può essere immaginato di lunghezza infinita, diviso in quadratini dette celle. Ogni cella contiene un simbolo, oppure è vuota. Una MT ha una testina che si sposta lungo il nastro leggendo, scrivendo oppure cancellando simboli nelle celle. La macchina analizza il nastro, una cella alla volta, iniziando dalla cella che contiene il simbolo più a sinistra nel nastro. Una MT fa uno spostamento in base al suo stato interno corrente, e al simbolo letto sul nastro.

27 Definizione formale Formalmente una macchina di Turing può essere descritta come una sestupla: MT= ( A, I, S, s 0, F, T) A: insieme finito simboli nastro, utilizzati dalla macchina; comprende anche il simbolo λ, che corrisponde alla cella vuota, cioè alla parte di nastro non utilizzato, e serve per indicare l assenza di simboli; I: insieme finito simboli input, I A; S: insieme degli stati della macchina; S 0 : stato iniziale; F: insieme degli stati finali della macchina F S; T: funzione di transizione, che associa ad ogni coppia (stato, simbolo di input) una terna (stato, simbolo di nastro, movimento della testina): T: S x I S x A x {L, R} ovvero T: (s t-1, i t ) ( s t, a t, m t )

28 Transizione La funzione di transizione può essere rappresentata tramite una tabella di transizione: sulle righe sono indicati i simboli che vengono letti dal nastro, sulle colonne gli stati della macchina. All incrocio tra una riga ed una colonna vengono specificati il simbolo che viene scritto in output sul nastro, lo stato successivo e il movimento della testina. In ogni istante la MT assume una configurazione che può essere definita con la quintupla: 1) simbolo letto 2) stato 3) nuovo stato 4) simbolo scritto 5) movimento della testina. Il passaggio da una configurazione a quella dell istante successivo si chiama mossa della MT. Se una TM entra in uno stato s n in cui non è definita alcuna T, allora si dice cha la TM si arresta. Analogamente, se una TM accetta una stringa, si può assumere che si arresti.

29 Operazioni Una MT può essere immaginata come un registratore a nastro, con una testina di lettura, scrittura e cancellazione. La testina possiede un indicatore che determina, per ogni mossa, lo stato in cui la macchina si trova, mentre sta leggendo il simbolo contenuto nella cella del nastro sul quale essa è posizionata. Una MT effettua le seguenti operazioni: - conserva la memoria del suo stato interno; - legge il simbolo scritto in una cella; - sovrascrive o cancella il simbolo scritto in una cella; - scorre il nastro cella dopo cella, verso destra {R} o sinistra {L}; - non effettua nessuna operazione. Definire una MT, significa specificare le regole che indichino che cosa fare in corrispondenza della combinazione di stati e di simboli letti sul nastro: in pratica, questo è l equivalente del concetto moderno di software.

30 Esempio L istruzione contenuta in tabella, descrive la seguente regola: se l indicatore di stato è in posizione 1 e la testina sta leggendo il simbolo input a, allora l istruzione consiste in: 1) cambiare lo stato della macchina a 2, 2) cancellare il simbolo nella cella corrente, 3) far avanzare la testina verso destra {R}. T: S x I S x A x {L, R} ovvero T: ( s t-1, i t ) ( s t, a t, m t ) stato iniziale legge stato finale scrive azione 1 a 2 cancella R

31 Perché utilizzare una MT. TESI DI CHURCH - TURING Intuitivamente, un problema è risolvibile quando è possibile costruire una MT in grado di eseguire un algoritmo che descrive, attraverso passi elementari, il procedimento risolutivo. Esiste quindi un collegamento tra il concetto di algoritmo e il concetto di MT, nel senso che l algoritmo è il procedimento risolto dalla MT astratta. Il termine funzione computabile indica un procedimento che trasforma i dati iniziali in dati finali. La tesi di Church-Turing afferma che: la classe delle funzioni computabili, secondo il concetto intuitivo di algoritmo, coincide con la classe delle funzioni Turingcomputabili, cioè computabili con una MT. Sulla base di questa tesi, possiamo quindi individuare all interno dell insieme di tutti i possibili problemi, il sottoinsieme dei problemi che sono computabili: sono quelli ai quali può essere associata una MT che risolve il problema. Inoltre, l algoritmo risolutivo di un problema computabile può essere identificato con la sequenza delle azioni che vengono eseguite da una MT.

32 Esempio 1 Descrivere una MT che somma una stringa di 2 A con una stringa di 4 A. La tabella di transizione conterrà le seguenti istruzioni, che non vengono necessariamente eseguite in sequenza, una dopo l'altra, ma in base allo stato della MT. stato iniziale legge scrive azione stato finale R 0 A A D R 0 R 0 - A D R 3 R 3 - A D R 2 R 2 - A D R 1 R 1 - A STOP R 0 La prima istruzione prevede che se l'automa si trova nello stato iniziale R 0 e legge la lettera A, deve riscrivere la lettera, spostarsi di una cella verso destra (D), e mantenere il suo stato interno R 0 fino a quando trova una lettera A da leggere.

33 Esempio 1 R 0 stato iniziale legge scrive azione stato finale R 0 A A D R 0 R 0 - A D R 3 R 0 R 3 - A D R 2 R 2 - A D R 1 L'automa 1. si trova nello stato iniziale R 0 2. legge la lettera A, 3. riscrivere la lettera, 4. si sposta di una cella verso destra (D), 5. mantiene il suo stato interno R 0 fino a quando trova una lettera A da leggere. R 0 R 1 - A STOP R 0 A questo punto, nello stato R 0 non legge una A ma trova una cella vuota: 1. scrive nella cella corrente una lettera A, 2. si sposta di una cella verso destra (D), 3. passa allo stato R 3.

34 Esempio 1 stato iniziale legge scrive azione stato finale 1. scrive nella cella corrente una lettera A, 2. si sposta di una cella verso destra (D), 3. passa allo stato R 3. R 0 A A D R 0 R 0 - A D R 3 R 3 - A D R 2 R 2 - A D R 1 R 1 - A STOP R 0 R 3 Nello stato R 3 non legge una A ma trova una cella vuota: 1. scrive nella cella corrente una lettera A, 2. si sposta di una cella verso destra (D), 3. passa allo stato R 2. R 2

35 Esempio 1 stato iniziale legge scrive azione stato finale Nello stato R 2 non legge una A ma trova una cella vuota: 1. scrive nella cella corrente una lettera A, 2. si sposta di una cella verso destra (D), 3. passa allo stato R 1. R 0 A A D R 0 R 0 - A D R 3 R 3 - A D R 2 R 2 - A D R 1 R 1 - A STOP R 0 R 1 Nello stato R 1 non legge una A ma trova una cella vuota: 1. scrive nella cella corrente una lettera A, 2. passa allo stato R 0, 3. si arresta. R 0

36 Esempio 2 Descrivere una MT per risolvere il seguente problema: calcolare il quoziente ed il resto della divisione di un numero intero per 2 L alfabeto dei simboli è composto dalle 10 cifre decimali con l aggiunta del simbolo vuoto λ, e il simbolo # che indica la situazione di fine input su nastro: A = {λ, #, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } L insieme I dei simboli di input è costituito dalle 10 cifre decimali e dal simbolo #. Insieme degli stati: S = {R 0, R 1, R F } Stato iniziale: R 0 Stato finale: R F Inizialmente, il nastro contiene le cifre che compongono il dividendo. Alla fine dell elaborazione, conterrà le cifre del quoziente e immediatamente alla loro destra la cifra del resto (che può essere ovviamente 0 oppure 1 ).

37 Esempio 2 La funzione di transizione effettua le seguenti operazioni: (R 0, cifra pari) (R 0, cifra pari / 2, DESTRA) (R 1, cifra pari) (R 0, (cifra pari + 10) / 2, DESTRA) (R 0, cifra dispari) (R 1, cifra dispari / 2, DESTRA) (R 1, cifra dispari) (R 1, (cifra dispari + 10) / 2, DESTRA) (R 1, #) (FINE, 1, DESTRA) (R 0, #) (FINE, 0, DESTRA) La MdT opera scandendo le cifre del dividendo a partire da quella più significativa (più a sinistra) e scrivendo al posto di ogni cifra il quoziente della cifra diviso 2, tenendo conto dell eventuale resto precedente. Gli stati R 0 e R 1 servono a ricordare rispettivamente le situazioni con resto uguale a 0 oppure uguale a 1.

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

La macchina universale

La macchina universale La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*

Dettagli

Le aree dell informatica

Le aree dell informatica Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1 Corso di INFORMATICA Laurea triennale - Comunicazione&DAMS Dr. Marco Manna 1 1 Dipartimento di Matematica Università della Calabria Corso di laurea intercalsse in COMUNICAZIONE&DAMS http://elleboro.unical.it/drupalab/informatica2009/

Dettagli

la "macchina" universale di Turing

la macchina universale di Turing la "macchina" universale di Turing Nel 1854, il matematico britannico George Boole (1815-1864), elaborò una matematica algebrica che da lui prese il nome. Nell'algebra booleana le procedure di calcolo

Dettagli

Le macchine di Turing

Le macchine di Turing Le macchine di Turing Alan Turing (1912-1954) 1954) Il problema della decisione i L Entscheidungsproblem [il problema della decisione] è risolto se si conosce una procedura che permette di decidere la

Dettagli

Le Macchine di Turing

Le Macchine di Turing Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella

Dettagli

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili roblemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa quello che ci aspettiamo. E facile

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Esercizio su MT. Svolgimento

Esercizio su MT. Svolgimento Esercizio su MT Definire una macchina di Turing deterministica M a nastro singolo e i concetti di configurazione e di transizione. Sintetizzare una macchina di Turing trasduttore che trasformi un numero

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN zkiziltan@deis.unibo.it Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come

Dettagli

Matematica con il foglio di calcolo

Matematica con il foglio di calcolo Matematica con il foglio di calcolo Sottotitolo: Classe: V primaria Argomento: Numeri e operazioni Autore: Guido Gottardi, Alberto Battaini Introduzione: l uso del foglio di calcolo offre l opportunità

Dettagli

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere;

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere; Algoritmi 3 3.5 Capacità di calcolo Il matematico inglese Alan Turing (1912-1954) descrisse nel 1936 un tipo di automi, oggi detti macchine di Turing, e fornì una della prime definizioni rigorose di esecuzione

Dettagli

PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^

PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^ PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^ PER RICONOSCERE, RAPPRESENTARE E RISOLVERE PROBLEMI I. Q. II. Q. CONTENUTI / ATTIVITA 1 bim. 2 bim. 3 bim. 4 bim. 1a) Individuazione di situazioni problematiche

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos

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

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: "Algoritmo = Logica + Controllo"

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: Algoritmo = Logica + Controllo Programmazione Logica Bob Kowalski: "Algoritmo = Logica + Controllo" nella programmazione tradizionale: il programmatore deve occuparsi di entrambi gli aspetti nella programmazione dichiarativa: il programmatore

Dettagli

FSM: Macchine a Stati Finiti

FSM: Macchine a Stati Finiti FSM: Macchine a Stati Finiti Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Metodo per descrivere macchine di tipo

Dettagli

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere

Dettagli

Varianti Macchine di Turing

Varianti Macchine di Turing Varianti Macchine di Turing Esistono definizioni alternative di macchina di Turing. Chiamate Varianti. Tra queste vedremo: MdT a più nastri e MdT non deterministiche. Mostriamo: tutte le varianti ragionevoli

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

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007 Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Dettagli

PLC E AUTOMAZIONE INDUSTRIALE

PLC E AUTOMAZIONE INDUSTRIALE FEDELE ing. Domenico Antonio PROGETTAZIONE DI IMPIANTI Viale Barlaam da Seminara, 16/D 88100 CATANZARO E-mail: mimmofed@alice.it PEC: domenicoantonio.fedele@ingpec.eu Web: www.ingfedele.it Dispense e appunti

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante: Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine

Dettagli

ESERCIZI DEL CORSO DI INFORMATICA

ESERCIZI DEL CORSO DI INFORMATICA ESERCIZI DEL CORSO DI INFORMTIC Questa breve raccolta di esercizi vuole mettere in luce alcuni aspetti della prima parte del corso e fornire qualche spunto di riflessione. Il contenuto del materiale seguente

Dettagli

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE a.s. 2015/16 CLASSE 2^ ASA Indirizzo di studio Liceo scientifico Scienze Applicate Docente Disciplina

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,...

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,... Automi Con il termine automa 1 s intende un qualunque dispositivo o un suo modello, un qualunque oggetto, che esegue da se stesso un particolare compito, sulla base degli stimoli od ordini ricevuti detti

Dettagli

Capitolo 7: Teoria generale della calcolabilitá

Capitolo 7: Teoria generale della calcolabilitá Capitolo 7: Teoria generale della calcolabilitá 1 Differenti nozioni di calcolabilitá (che seguono da differenti modelli di calcolo) portano a definire la stessa classe di funzioni. Le tecniche di simulazione

Dettagli

SECONDO BIENNIO ISTITUTO TECNICO ELETTRONICA ED ELETTROTECNICA

SECONDO BIENNIO ISTITUTO TECNICO ELETTRONICA ED ELETTROTECNICA SETTORE TECNOLOGICO ISTITUTO TECNICO INDIRIZZO ELETTRONICA ED ELETTROTECNICA ARTICOLAZIONE ELETTRONICA ESITI DI APPRENDIMENTO (competenze, abilità, conoscenze) Regolamento, Art.5, comma 1 Nota: Le Competenze,

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

Fondamenti di Informatica. Computabilità e Macchine di Turing. Prof. Franco Zambonelli Gennaio 2011

Fondamenti di Informatica. Computabilità e Macchine di Turing. Prof. Franco Zambonelli Gennaio 2011 Fondamenti di Informatica Computabilità e Macchine di Turing Prof. Franco Zambonelli Gennaio 2011 Letture Consigliate: Roger Penrose, La Mente Nuova dell Imperatore, Sansoni Editrice. Martin Davis, Il

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6 Alberto Carraro 30 novembre DAIS, Universitá Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Funzioni Turing-calcolabili Finora abbiamo

Dettagli

SCUOLA PRIMARIA - MORI

SCUOLA PRIMARIA - MORI ISTITUTO COMPRENSIVO DI MORI Via Giovanni XXIII, n. 64-38065 MORI Cod. Fisc. 94024510227 - Tel. 0464-918669 Fax 0464-911029 www.icmori.it e-mail: segr.ic.mori@scuole.provincia.tn.it REPUBBLICA ITALIANA

Dettagli

METODI DI CONVERSIONE FRA MISURE

METODI DI CONVERSIONE FRA MISURE METODI DI CONVERSIONE FRA MISURE Un problema molto frequente e delicato da risolvere è la conversione tra misure, già in parte introdotto a proposito delle conversioni tra multipli e sottomultipli delle

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

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI

Dettagli

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Le parole dell informatica: modello di calcolo, complessità e trattabilità Le parole dell informatica: modello di calcolo, complessità e trattabilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario

Dettagli

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,

Dettagli

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA DAL PROBLEMA AL PROGRAMMA Scopo del modulo Conoscere alcuni concetti fondamentali dell informatica:algoritmo, l automa, linguaggio formale Essere in grado di cogliere l intreccio tra alcuni risultati della

Dettagli

Introduzione alle macchine a stati (non definitivo)

Introduzione alle macchine a stati (non definitivo) Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in

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

Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1]

Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1] Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1] Macchine di Turing modello di calcolo introdotto dall ingegner Alan Turing nel 1936, per simulare il processo di calcolo umano

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

0.1 Esercizi calcolo combinatorio

0.1 Esercizi calcolo combinatorio 0.1 Esercizi calcolo combinatorio Esercizio 1. Sia T l insieme dei primi 100 numeri naturali. Calcolare: 1. Il numero di sottoinsiemi A di T che contengono esattamente 8 pari.. Il numero di coppie (A,

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

Algoritmi e Complessità

Algoritmi e Complessità Algoritmi e Complessità Università di Camerino Corso di Laurea in Informatica (tecnologie informatiche) III periodo didattico Docente: Emanuela Merelli Email:emanuela.merelli@unicam.it Lezione 2 Teoria

Dettagli

Origini e caratteristiche dei calcolatori elettronici

Origini e caratteristiche dei calcolatori elettronici Origini e caratteristiche dei calcolatori elettronici Lunedì, 09 ottobre 2006 Supercomputer, mainframe 1 Server, workstation, desktop, notebook, palmare Un po di storia 1642 Biagio Pascal 1671 Leibniz

Dettagli

Algoritmi. Maurizio Palesi. Maurizio Palesi 1

Algoritmi. Maurizio Palesi. Maurizio Palesi 1 Algoritmi Maurizio Palesi Maurizio Palesi 1 Cos è Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Un algoritmo è un metodo per la soluzione

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

Il test di Turing. Seminario. Ester Dalvit. 22 marzo 2005. Il test di Turing p. 1/1

Il test di Turing. Seminario. Ester Dalvit. 22 marzo 2005. Il test di Turing p. 1/1 Il test di Turing Seminario Ester Dalvit 22 marzo 2005 Il test di Turing p. 1/1 Intelligenza artificiale Una macchina compie in modo efficiente e veloce attività come eseguire calcoli aritmetici Il test

Dettagli

Modulo 1 Information Communication Technology. ICT e computer... Pag. 6 Classificazione dei computer...» 8

Modulo 1 Information Communication Technology. ICT e computer... Pag. 6 Classificazione dei computer...» 8 I Indice generale 1 Introduzione all ICT Modulo 1 Information Communication Technology ICT e computer... Pag. 6 Classificazione dei computer...» 8 2 Come è fatto un computer I componenti di un personal

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

AUTOMI A STATI FINITI. G. Ciaschetti

AUTOMI A STATI FINITI. G. Ciaschetti AUTOMI A STATI FINITI G. Ciaschetti CONTENUTI Definizione di sistema Classificazione dei sistemi Definizione di modello Algebra degli schemi a blocchi Sistemi sequenziali Automi a stati finiti Macchina

Dettagli

Analizzatore lessicale o scanner

Analizzatore lessicale o scanner Analizzatore lessicale o scanner Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner, attraverso un esame carattere per carattere dell'ingresso,

Dettagli

ISTITUTO COMPRENSIVO LUCCA 2

ISTITUTO COMPRENSIVO LUCCA 2 ISTITUTO COMPRENSIVO LUCCA 2 CURRICOLO TECNOLOGIA - SCUOLA SECONDARIA DI I GRADO L. DA VINCI CURRICOLO TECNOLOGIA - CLASSI PRIME ANNO SCOLASTICO 2015-2016 COMPETENZE ABILITA CONOSCENZE TECNOLOGIA ED ANALISI

Dettagli

Programmazione Disciplinare: Tecnologie e tecniche di rappresentazione grafica Classe: Seconda

Programmazione Disciplinare: Tecnologie e tecniche di rappresentazione grafica Classe: Seconda Istituto Tecnico Tecnologico Basilio Focaccia Salerno Programmazione Disciplinare: Tecnologie e tecniche di rappresentazione grafica Classe: Seconda I Docenti della Disciplina Salerno, lì... settembre

Dettagli

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi Dalla scorsa lezione LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica LA MACCHINA DI VON NEUMANN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico

Dettagli

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007 Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)

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

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

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

L interesse nella macchina di Turing

L interesse nella macchina di Turing Aniello Murano Macchina di Turing universale e problema della fermata 6 Lezione n. Parole chiave: Universal Turing machine Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

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

La Macchina RAM Shepherdson e Sturgis (1963)

La Macchina RAM Shepherdson e Sturgis (1963) La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Cos è un Calcolatore?

Cos è un Calcolatore? Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per

Dettagli

Generalità sugli algoritmi

Generalità sugli algoritmi Appunti di Fondamenti di Informatica Generalità sugli algoritmi La nozione di algoritmo...1 Rappresentazione grafica degli algoritmi...2 Diagrammi di flusso...4 Esempi di algoritmi numerici...6 La strutturazione

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

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

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

I Bistabili. Maurizio Palesi. Maurizio Palesi 1 I Bistabili Maurizio Palesi Maurizio Palesi 1 Sistemi digitali Si possono distinguere due classi di sistemi digitali Sistemi combinatori Il valore delle uscite al generico istante t* dipende solo dal valore

Dettagli

Teoria degli insiemi

Teoria degli insiemi Teoria degli insiemi pag 1 Easy Matematica di dolfo Scimone Teoria degli insiemi Il concetto di insieme si assume come primitivo, cioè non riconducibile a concetti precedentemente definiti. Sinonimi di

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

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

PIANO DI LAVORO. a.s. 2015 / 2016

PIANO DI LAVORO. a.s. 2015 / 2016 PIANO DI LAVORO a.s. 2015 / 2016 Materia: INFORMATICA Classe: terza informatica- sez. A Data di presentazione: 15/10/2015 DOCENTI FIRMA Cerri Marta Bergamasco Alessandra Posta elettronica: itisleon@tin.it

Dettagli

Fondamenti di Informatica. Allievi Automatici A.A. 2014-15 Nozioni di Base

Fondamenti di Informatica. Allievi Automatici A.A. 2014-15 Nozioni di Base Fondamenti di Informatica Allievi Automatici A.A. 2014-15 Nozioni di Base Perché studiare informatica? Perché l informatica è uno dei maggiori settori industriali, e ha importanza strategica Perché, oltre

Dettagli

Utilizzo collegamento remoto

Utilizzo collegamento remoto Utilizzo collegamento remoto Introduzione Il collegamento VPN (virtual private network) consente a PC collegati ad internet ma fisicamente fuori dalla rete interna regionale, di accedere, con le credenziali

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

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

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

Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione

Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà : RELAZIONI INARIE Dati due insiemi non vuoti, A detto dominio e detto codominio, eventualmente coincidenti, si chiama relazione binaria (o corrispondenza) di A in, e si indica con f : A, (oppure R ) una

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 5

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 5 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 5 Alberto Carraro 23 novembre 2011 DAIS, Universitá Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Macchine di Turing Le Macchine d

Dettagli

Informatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011

Informatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011 Informatica appunti dalle lezioni del 20/09/2011 e del 27/09/2011 Definizioni Informatica: scienza per lʼelaborazione automatica dellʼinformazione Informatica = Informazione + Automatica Informazione:

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO a. Conoscere l ambiente laboratorio informatico

OBIETTIVI SPECIFICI DI APPRENDIMENTO a. Conoscere l ambiente laboratorio informatico classe prima 1. Esplorare l ambiente scuola per individuare la funzione di materiali e oggetti 2. Acquisire procedure per una prima forma di interazione tra l uomo e la macchina APPRENMENTO a. Conoscere

Dettagli

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13 PSICOMETRIA Esercitazione n.1 C.d.L. Comunicazione e Psicologia a.a. 2012/13 ESERCITAZIONE 1: INDICE 1. Informazioni di carattere generale sulle esercitazioni 2. Il foglio di calcolo (Excel) 3. Avviare

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

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

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

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