ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE
|
|
- Gildo Palmieri
- 7 anni fa
- Visualizzazioni
Transcript
1 ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24
2 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine di Turing Macchine di tipo differente hanno diversa capacità di risolvere problemi. Un problema può essere non risolubile ad un dato livello della gerarchia, ma risolubile a quello successivo. Esistono problemi non risolubili in assoluto? Andrea Prevete, UNINA2 24
3 LE MACCHINE COMBINATORIE Una macchina combinatoria è formalmente definita da una tripla: <I, O, ft> I ft O dove I = insieme finito dei simboli di ingresso O = insieme finito dei simboli di uscita ft: I -> O (funzione di trasferimento) Esempio: le porte logiche e le funzioni in genere (half adder, full adder, etc) Andrea Prevete, UNINA2 24
4 LE MACCHINE COMBINATORIE Esempio: z = AND(x, y) Dove x, y, z sono variabili booleane (, ). Vogliamo che z= sse x=y=. I O Avremo: I={(,) (,) (,) (,)} x y z O={, } ft: Simbolo per una porta AND: Andrea Prevete, UNINA2 24
5 LE MACCHINE COMBINATORIE Esempio: x y HALF-ADDER s r I O Dove x, y, s, r sono variabili booleane (, ). Vogliamo che s e r valgano rispettivamente la cifra di peso e quella di peso della somma di x ed y. Avremo: I={(,) (,) (,) (,)} O={(,) (,) (,) (,)} ft: x y s r Andrea Prevete, UNINA2 24
6 LE MACCHINE COMBINATORIE Risolvere problemi con una macchina combinatoria comporta enumerare in modo esplicito tutte le possibili configurazioni d ingresso, e indicare in corrispondenza il valore di uscita. Essendo un dispositivo puramente combinatorio è inadatto a risolvere problemi che richiedono una memoria interna (riconoscimento di sequenze, somme di numeri forniti in successione, etc.) Andrea Prevete, UNINA2 24
7 FINITE STATE AUTOMATA Il modo più semplice per introdurre macchine dotate di memoria è definire un automa con un numero finito di stati interni. Un automa a numero finito di stati, nel modello detto di Mealy, è definito dalla quintupla: <I, O, S, fu, fsp> dove I = insieme finito dei simboli di ingresso O = insieme finito dei simboli di uscita S = insieme finito degli stati fu: I x S -> O (funzione di uscita) fsp: I x S -> S (funzione di stato prossimo) Andrea Prevete, UNINA2 24
8 FINITE STATE AUTOMATA I: ^ ^ ^ O: I={, } O={, } S={s, s} S I O S I S + fu: s fps: s s s s s s s Andrea Prevete, UNINA2 24
9 FINITE STATE AUTOMATA DIAGRAMMA DI TRANSIZIONE (MEALY): I: ^ ^ ^ O: / / S S / / Andrea Prevete, UNINA2 24
10 FINITE STATE AUTOMATA Un modello alternativo per la definizione di automi a numero finito di stati è quello detto di Moore, definito ancora da una quintupla: <I, O, S, fu, fsp> dove I = insieme finito dei simboli di ingresso O = insieme finito dei simboli di uscita S = insieme finito degli stati fu: S -> O (funzione di uscita) fsp: I x S -> S (funzione di stato prossimo) Andrea Prevete, UNINA2 24
11 FINITE STATE AUTOMATA DIAGRAMMA DI TRANSIZIONE (MOORE): I: ^ ^ ^ O: S/ S/ S/ Andrea Prevete, UNINA2 24
12 FINITE STATE AUTOMATA Gli automi di Mealy e Moore sono, dal punto di vista della capacità computazionale, del tutto equivalenti. Quindi ogni problema risolvibile con il modello di Mealy può essere trattato con Moore e viceversa. Sceglieremo, quindi, di volta in volta, fra Mealy e Moore in base alla loro capacità di modellizzare con espressività ed immediatezza il problema in parola. Ad esempio è del tutto evidente che la soluzione del problema precedente è resa con maggiore immediatezza adottando il modello di Mealy. Immaginiamo, invece, di voler progettare un automa capace di riconoscere per esempio emettendo come output un ogni qualvolta la stringa di ed in input contiene un numero pari di ed un numero pari di. E naturale pensare ad un automa a quattro stati: S = ho finora letto un numero pari di e di S = ho finora letto un numero pari di e dispari di S = ho finora letto un numero dispari di e pari di S = ho finora letto un numero dispari di e di E, quindi, definire una funzione di output con argomento solo lo stato dell automa: O(S )= O(S )= O(S )= O(S )= Andrea Prevete, UNINA2 24
13 FINITE STATE AUTOMATA S/ S S S Andrea Prevete, UNINA2 24
14 FINITE STATE AUTOMATA Un FSA è una macchina dotata di una memoria interna. I suoi output, a differenza di quelli di una macchina combinatoria, dipendono non solo dell input attuale, ma anche della sequenza storica degli input già processati. E comunque importante ricordare il limite del numero finito di stati e quindi di una memoria finita e definitivamente fissata a livello di progetto. Un FSA è quindi inadatto a risolvere quei problemi che non consentono di limitare a priori la lunghezza delle sequenze d ingresso di cui tenere memoria. Andrea Prevete, UNINA2 24
15 FINITE STATE AUTOMATA Se volessimo realizzare un automa capace di tener conto del numero di ed di una stringa in ingresso e di emettere come output un quando le occorrenze delle suddette cifre nella stringa letta si equivalessero, sbatteremmo contro la barriera prima citata. Un FSA non ha la potenza computazionale necessaria per affrontare un problema simile. S/ S S S S Andrea Prevete, UNINA2 24
16 LE MACCHINE DI TURING Le macchine di Turing consentono di superare il suddetto limite della memoria. Esistono di esse numerose formalizzazioni tutte equivalenti dal punto di vista della potenza computazionale. In una versione fra le più semplici ma molto intuitiva una macchina di Turing può essere pensata come - Una memoria lineare potenzialmente infinita (..la metafora del nastro illimitato) - Un insieme Q di quadruple del tipo: - (s i a l a k s j ) con s i e s j appartenti ad un insieme S={s.. s n } di stati interni della macchina, a l ed a k ad un insieme A={a.. a m } di possibili simboli di input/output. Le quadruple possono anche presentarsi nelle forma (s i a l a k s j ) - o (s i a l a k s j ) + con il significato che vedremo di seguito - Due variabili di stato, s ed a, che tengono conto dello stato interno attuale e della posizione attuale di lettura in memoria - Un sistema di controllo che cerca di far corrispondere alla coppia <s a> la prima parte di una delle quadruple di Q, <s i a l >, modificando lo stato interno e scrivendo in memoria in ragione di quanto riportato dalla seconda parte della quadrupla, <a k s j >. Se la quadrupla è seguita da un suffisso la posizione di lettura in memoria sarà spostata di una posizione a destra ( + ) o a sinistra ( - ). Andrea Prevete, UNINA2 24
17 LA METAFORA DEL NASTRO Un nastro (illimitatamente espandibile a sinistra ed a destra) rappresenta il deposito dei dati (memoria) TM La Macchina di Turing è munita di una testina di lettura/scrittura che può: leggere un simbolo dal nastro scrivere sul nastro il simbolo specificato da una quadrupla transitare in un nuovo stato interno, sempre seguendo le specifiche di una quadrupla spostarsi sul nastro di una posizione nella direzione indicata dall eventuale suffisso della quadrupla Quando non ci sono più quadruple per cui esiste un match con lo stato e l input corrente, la macchina si ferma. Andrea Prevete, UNINA2 24
18 LE MACCHINE DI TURING Risolvere un problema con la MdT significa quindi: definire una opportuna rappresentazione dei dati iniziali sul nastro definire la parte di controllo, cioè l insieme delle quadruple, in modo da rendere disponibile sul nastro, alla fine del computo, una rappresentazione della soluzione. Andrea Prevete, UNINA2 24
19 LE MACCHINE DI TURING Consideriamo il seguente insieme di quadruple: s s s ƀ NOP NOP NOP s s s NOP è uno speciale simbolo ad indicare che non sarà eseguita alcuna operazione di scrittura, ƀ è un altro simbolo speciale che sta ad identificare una cella vuota. s2 s2 s2 ƀ s2 s4 s3 - - Allora le quadruple elencate definiscono un algoritmo per l incremento unitario di una s3 s3 NOP NOP s3 s3 - - stringa binaria! s3 ƀ NOP s4 + Andrea Prevete, UNINA2 24
20 LE MACCHINE DI TURING Ecco un esempio di computo: s s s s s3 s Andrea Prevete, UNINA2 24 s2 s2 s2 s3 s4
21 LE MACCHINE DI TURING Esistono macchine più potenti delle Macchine di Turing? TESI DI CHURCH-TURING Non esiste alcun formalismo capace di risolvere una classe di problemi più ampia di quella risolta da una Macchina di Turing. Andrea Prevete, UNINA2 24
22 LE MACCHINE DI TURING Una volta definita la parte di controllo, una MdT è in grado di risolvere un dato problema. E specifica per quel problema. È possibile pensare ad una Macchina di Turing Universale, applicabile cioè a qualsiasi problema risolubile? Andrea Prevete, UNINA2 24
23 LE MACCHINE DI TURING Finora, l algoritmo realizzato da una MdT era cablato nella macchina (DOVE??) E se invece fosse sul nastro, e la macchina se lo andasse a prendere? Come dovrebbe essere strutturata una simile MdT? Avremmo una Macchina di Turing Universale Andrea Prevete, UNINA2 24
24 LE MACCHINE DI TURING Dovrebbe essere una Macchina di Turing la cui parte di controllo (cioè l algoritmo cablato.. quindi l insieme delle quadruple!) consista nel leggere dal nastro una descrizione dello specifico algoritmo richiesto. Una tale macchina può essere adattata per risolvere un qualunque problema (risolubile) senza modifiche alla sua struttura. E, quindi, una macchina programmabile! Andrea Prevete, UNINA2 24
25 LE MACCHINE DI TURING Cosa richiede questo? Saper descrivere l algoritmo richiesto. E per descrivere l algoritmo? Occorre un linguaggio... e una macchina che lo interpreti. Conclusione: la Macchina Universale di Turing è l interprete di un linguaggio! Andrea Prevete, UNINA2 24
26 LE MACCHINE DI TURING MACCHINA DI TURING UNIVERSALE La UTM modella il concetto di elaboratore di uso generale ( general purpose ): una macchina che va a cercare le istruzioni da svolgere le interpreta... e le esegue. fetch decode execute Andrea Prevete, UNINA2 24
27 LE MACCHINE DI TURING In sintesi leggere / scrivere un simbolo dal / sul nastro transitare in un nuovo stato interno corrisponde a: lettura / scrittura dalla / sulla memoria RAM / ROM nuova configurazione dei registri della CPU spostarsi sul nastro di una (o più) posizioni scelta della cella di memoria su cui operare (indirizzo contenuto nell Address Register) Andrea Prevete, UNINA2 24
28 THE END Andrea Prevete, UNINA2 24
ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI
ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di
DettagliUNA GERARCHIA DI MACCHINE
ELEMENTI DI PROGRAMMAZIONE a.a. 2015/16 UNA GERARCHIA DI MACCHINE UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine di Turing Macchine di
DettagliL AUTOMA ESECUTORE L AUTOMA ESECUTORE
L AUTOMA ESECUTORE DATI Esecutore Metodo Risolutivo (algoritmo) RISULTATI Un automa capace di ricevere dall esterno una descrizione dello algoritmo richiesto cioè capace di interpretare un linguaggio (linguaggio
DettagliL AUTOMA ESECUTORE L AUTOMA ESECUTORE
L AUTOMA ESECUTORE Metodo Risolutivo (algoritmo) Un automa capace di ricevere dall esterno una descrizione dello algoritmo richiesto DATI Esecutore RISULTATI cioè capace di interpretare un linguaggio (linguaggio
DettagliCapitolo 1 Linguaggi e Macchine Astratte
Università degli Studi di Bologna Scuola di Ingegneria e Architettura Capitolo 1 Linguaggi e Macchine Astratte Corso di Laurea Magistrale in Ingegneria Informatica Anno accademico 2014/2015 Prof. ENRICO
DettagliAppunti 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)
DettagliStruttura del calcolatore
Mondo esterno Dati di ingresso Calcolatore Dati di uscita Mondo esterno Il calcolatore elabora dei dati di ingresso per ottenere dati in uscita In linea di principio, ma non solo, il compito svolto da
DettagliL ELABORATORE ELETTRONICO
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
DettagliCapitolo 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
DettagliMacchine sequenziali. Automa a Stati Finiti (ASF)
Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliMacchine di Turing: somma di due numeri
Informatica Teorica 2/2 M.Di Ianni Macchine di Turing: somma di due numeri Vogliamo definire una macchina di Turing che, presi in input due numeri n e m espressi in notazione binaria, calcola il valore
DettagliFondamenti di Informatica. Algoritmo. Algoritmo funzionale. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a.
Fondamenti di Informatica Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a. 2011-2012 Algoritmo L algoritmo è una sequenza finita di istruzioni, mediante le quali un qualunque operatore
DettagliLaboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e
DettagliMODULO 07 LA MACCHINA DI TURING
MODULO 07 LA MACCHINA DI TURING Nel 1936 Alan Turing presenta una definizione di computabilità basata sull osservazione del comportamento di un agente umano che sta eseguendo un calcolo (algoritmo) con
DettagliReti Sequenziali. Reti Sequenziali. Corso di Architetture degli Elaboratori
Reti Sequenziali Reti Sequenziali Corso di Architetture degli Elaboratori Caratteristiche 1 Caratteristiche delle reti sequenziali Reti combinatorie: il valore in uscita è funzione (con il ritardo indotto
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
DettagliSistemi di numerazione
SOMMARIO Sistemi di numerazione...2 Sistema decimale (o a base 10)...2 Sistema binario...2 Operazioni sui numeri binari...3 Espressioni logiche...4 Definizione...4 Prodotto Logico : AND...4 Somma Logica
DettagliMa il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione
Problemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa uello che ci aspettiamo. E facile vedere che il programma Ma il programma in Fig. 8.2 del libro?
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliAUTOMI 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
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
DettagliInformatica 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
DettagliMacchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
DettagliLaboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso
Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso
DettagliSintesi di Reti Sequenziali Sincrone
Sintesi di Reti Sequenziali Sincrone Maurizio Palesi Maurizio Palesi 1 Macchina Sequenziale Una macchina sequenziale è definita dalla quintupla (I,U,S,δ,λ ) dove: I è l insieme finito dei simboli d ingresso
DettagliFSM: 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
DettagliITLCC 2006/10/6 19:09 page 7 #3
ITLCC 2006/10/6 19:09 page 7 #3 Capitolo 2 Macchine di Turing SOMMARIO In questo capitolo introdurremo il modello di calcolo proposto dal logico matematico inglese Alan Turing, in un suo famoso articolo
DettagliLe 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
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliPARTE 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
DettagliEsercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari
Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un
DettagliAlgebra di Boole X Y Z V. Algebra di Boole
L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole che
DettagliCalcolatori Elettronici
Calcolatori Elettronici RETI SEQUENZIALI : ESERCIZI Massimiliano Giacomin 1 Implementazione di contatori Un contatore è un dispositivo sequenziale che aggiorna periodicamente il suo stato secondo una regola
DettagliParole note, nuovi significati: linguaggio, determinismo e infinito
Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è un insieme vuoto
Dettagli3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1
Dettagliun insieme finito di segnali d uscita U (nell ascensore U={stare fermo, salire, scendere})
Automi Il termine automa viene usato nel linguaggio corrente per indicare un dispositivo in grado di svolgere un attività senza l intervento dell uomo. Nella quotidianità siamo letteralmente circondati
DettagliSintesi di Reti sequenziali Sincrone
Sintesi di Reti sequenziali Sincrone alcolatori ElettroniciIngegneria Telematica Sintesi di Reti Sequenziali Sincrone na macchina sequenziale è definita dalla quintupla δ, λ) dove: I è l insieme finito
DettagliMacchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F
Macchina di Turing Nastro di Input...!!! a b b! b a! testina!!... s r s t q i Unità di Controllo q j Q S / D / F P Definizione Formale Una macchina di Turing deterministica è una sestupla
DettagliEsercitazioni di Reti Logiche. Lezione 4
Esercitazioni di Reti Logiche Lezione 4 Progettazione dei circuiti logici combinatori Zeynep KIZILTAN zkiziltan@deis.unibo.it Argomenti Procedura di analisi dei circuiti combinatori. Procedura di sintesi
DettagliAlgebra di Boole Algebra di Boole
1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole
DettagliCorso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
DettagliAlgoritmi e Principi dell Informatica
Algoritmi e Principi dell Informatica Appello del 20 Febbraio 2012 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2h e 30 Chi deve sostenere solo il modulo di Informatica
DettagliInformatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 1) Dato un diagramma di flusso quali sono le condizioni necessarie perché si possa costruire un programma corrispondente?
DettagliTeoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
DettagliI.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica
I.3 Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti 1 2 3 Elaboratore Hardware È il mezzo con il quale l informazione è elaborata. Software
Dettagliun 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
DettagliRichiami di Algebra di Commutazione
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa
DettagliDall algoritmo al programma
Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione
DettagliCalcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin
Calcolatori Elettronici A a.a. 2008/2009 RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin 1 Esercizio 1: implementazione di contatori Un contatore è un dispositivo sequenziale che aggiorna periodicamente
DettagliVarianti 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
DettagliInformatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi
Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive
DettagliIntroduzione: informatica. 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco
Introduzione: informatica 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco Indice - di cosa si occupa l informatica - una definizione della scienza informatica - cosa è un
DettagliMacchine RAM. API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD
Macchine RAM API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD 2 Macchina RAM 3 Esercizio Si consideri il linguaggio definito da: L = wcw R w a, b } 1. Codificare un programma RAM per il riconoscimento
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliDIFFUSIONE APPLICAZIONI INFORMATICHE
def (ACM) L informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione. dati DIFFUSIONE
DettagliLABORATORIO DI INFORMATICA
LABORATORIO DI INFORMATICA Corso di laurea in Scienze della Formazione Primaria a.a.2014/2015 A cura del Prof. Sergio Miranda 2 LEZIONE N.6 Algoritmi GLI ALGORITMI (1/5) Un algoritmo è una sequenza di
DettagliElementi 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
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliLa 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}*
DettagliFondamenti di Informatica
Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra
DettagliLinguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice
l linguaggio universale Il linguaggio universale L u e l insieme delle stringhe binarie che codificano una coppia (M,w) dove w L(M). Esiste una TM U, detta TM universale, tale che L u = L(U). U ha tre
DettagliLinguaggi di programmazione
Linguaggi di programmazione Problema Algoritmo Programma Progettista Programmatore Progetto Programma Esecutore Computer Comittente Utente Dal problema all algoritmo Problema Risolutore ed esecutore Algoritmo
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso
DettagliFondamenti di informatica Esercizi Svolti Macchine di Turing. Realizzati da: Roberto Quaranta Matr
Fondamenti di informatica Esercizi Svolti Macchine di Turing Realizzati da: Roberto Quaranta Matr. 449028 Macchina di Turing che calcola la funzione Max(x, y) Q= {q 0, q 1, q 2, q 3, q 4, q 5, q 6,q F
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliArchitettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliESERCIZI SU AUTOMI A STATI FINITI
ESERCIZI SU AUTOMI A STATI FINITI ESERCIZIO 1 Progettare un automa che emette in uscita un biglietto dopo che sono state inserite due monete da 0,2. L'automa funziona solo con monete da 0,2. ESERCIZIO
DettagliEsercizio sugli automi di Moore
Esercizio sugli automi di Moore 1. Sintesi di un automa di Moore: Gestione di un sistema di inscatolamento. Si vuole costruire una rete sequenziale che controlli un sistema di inscatolamento. Braccio1
Dettagli6) Descrivere con un diagramma a blocchi un algoritmo che legga da input due numeri ne calcoli il prodotto in termini di somme ripetute.
I due esercizi seguenti su un esempio semplice (trovare il massimo tra due o tra tre numeri) introducono la descrizione di algoritmi con diagrammi a blocchi, le strutture di controllo sequenza e condizione,
DettagliAnalizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.
Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliFlip-flop, registri, la macchina a stati finiti
Architettura degli Elaboratori e delle Reti Lezione 9 Flip-flop, registri, la macchina a stati finiti Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell nformazione Università degli Studi di
DettagliSistemi 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
DettagliInformatica, Algoritmi, Linguaggi
Elementi di Informatica e Applicazioni Numeriche T Informatica, Algoritmi, Linguaggi Cos'è l'informatica? Che cos'è l'informatica? Cos'è l'informatica? Che cos'è l'informatica? Dell'informatica possiamo
DettagliTuring, i nastri e le macchine
Turing, i nastri e le macchine Giochiamo con i nastri Avete a disposizione un nastro diviso in sezioni rettangolari, che chiameremo caselle, ognuna delle quali può essere vuota oppure contenere la lettera
DettagliEsercizio 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
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliI.4 Rappresentazione dell informazione
I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione
DettagliArchitettura 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
DettagliAutomi. 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
DettagliCapitolo 5 Elementi architetturali di base
Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo
DettagliCompitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
DettagliDefinizione di Grammatica
Corso di Linguaggi e Traduttori 1 AA 2004-05 GRAMMATICHE 1 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla ( VN, VT, P, S ) dove: V N e l insieme dei simboli non
DettagliMacchine sequenziali
Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Automa a Stati Finiti (ASF) E una prima astrazione di
DettagliCorso di Linguaggi e Traduttori 1 AA GRAMMATICHE
Corso di Linguaggi e Traduttori 1 AA 2004-05 GRAMMATICHE 1 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla V, V, P S ( ) N T, dove: V N e l insieme dei simboli non
DettagliFunzioni booleane. Vitoantonio Bevilacqua.
Funzioni booleane Vitoantonio Bevilacqua bevilacqua@poliba.it Sommario. Il presente paragrafo si riferisce alle lezioni del corso di Fondamenti di Informatica e Laboratorio di Informatica dei giorni 9
DettagliAlgoritmi e Strutture Dati
Introduzione al Corso Maria Rita Di Berardini (Camerino), Emanuela Merelli (Ascoli) 1 1 Scuola di Scienze e Tecnologie - Sezione di Informatica Università di Camerino Parte I Il concetto di Algoritmo Il
DettagliTipologie 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