Vous êtes sur la page 1sur 20

UNIP Centro Universitrio de Joo Pessoa Curso de Cincias da Computao

Teoria da Computao
MQUINA NORMA Fabrcio Dias fabriciounipe@ig.com.br

Agenda

Mquina Norma

Definies

Mquina Norma como Mquina Universal

Mquina Norma

A Mquina Universal Norma (Number TheOretic Register MAchine)

proposta por Richard Bird em 1976

Mquina Norma

A Mquina Universal Norma (Number TheOretic Register MAchine)

possui como memria um conjunto potencialmente infinito de registradores naturais; trs instrues podem atuar sobre cada registrador: adio do valor um; subtrao do valor um; teste (se o valor armazenado zero).
4

Mquina Norma

N denota o conjunto de todas as tuplas com infinitos (mas contveis) componentes sobre o conjunto dos nmeros naturais. Para evitar subscritos, as componentes das uplas so denotadas por letras maisculas como A, B, X, Y as quais denotam os registradores na Mquina Norma.

Mquina Norma

Definio: A Mquina Norma uma 7upla (suponha que K seja um registrador, K { A, B, , X, Y }):
Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK })

a)

Cada elemento do conjunto de valores de memria N denota uma configurao de seus infinitos registradores, os quais so denotados por: A, B, , X, Y
6

Mquina Norma

Definio:
Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK })

b)

A funo de entrada: ent: N N tal que carrega no registrador denotado por X o valor de entrada, inicializando todos os demais registradores com zero;
7

Mquina Norma

Definio:
Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK })

c)

A funo de sada: sai: N N tal que retorna o valor corrente do registrador denotado por Y.

Mquina Norma

Definio:
Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK })

d)

O conjunto de interpretaes de operaes uma famlia de operaes indexada pelos registradores, na qual, para cada registrador K { A, B, , X, Y }, tem-se que:

adK: N N Adiciona um componente correspondente ao registrador K, deixando as demais com seus valores inalterados. (K:=K+1)

Mquina Norma

Definio:
Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK })

subK: N N Subtrai um da componente correspondente ao registrador K, se o seu valor for maior que zero (caso contrrio, mantm o valor zero), deixando as demais com seus valores inalterados. (K:=K-1)
10

Mquina Norma

Definio:
Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK })

e)

O conjunto de interpretaes de testes uma famlia de testes indexada pelos registradores na qual, para cada registrador K, tem-se que:

zeroK: N { verdadeiro, falso } resulta em verdadeiro, se a componente correspondente ao registrador K for zero e em falso, caso contrrio. (K=0)

11

Mquina Norma como Mquina Universal

12

Mquina Norma

Caractersticas:

Operaes e Testes. Definio de operaes e testes mais complexos como adio, subtrao, multiplicao e diviso de dois valores e tratamento de valores diversos como os nmeros primos;

13

Mquina Norma

Caractersticas:

Valores Numricos. Armazenamento de tratamento de valores numricos de diversos tipos como inteiros (negativos e nonegativos) e racionais;

14

Mquina Norma

Caractersticas:

Dados Estruturados. Armazenamento de tratamento de dados estruturados como em arranjos (vetores uni e multidimensionais), pilhas, filas, etc.

15

Mquina Norma

Caractersticas:

Endereamento Indireto e Recurso. Desvio para uma instruo determinada pelo contedo de um registrador;

16

Mquina Norma

Caractersticas:

Cadeia de Caracteres. Definio e manipulao de cadeias de caracteres.


Tipo no-predefinido numa Mquina Norma; Tratamento da definio e da manipulao de cadeias de caracteres ser realizado atravs de outra Mquina Universal

Mquina de Turing

17

Concluindo

Mquina Norma uma mquina que:

Possui uma memria potencialmente infinita, compostas por 3 instrues;

uma 7- upla do tipo: Norma = (N, X, Y, ent, sai, { adK,subK }, { zeroK }); Possui operaes e testes complexos, como adio, subtrao, multiplicao e diviso de dois valores e tratamento de valores diversos como os nmeros primos.

Valores numricos, negativos e no-negativos; Dados estruturados (pilha, fila..); Endereamento indireto e recurso (desvio para uma instruo); Cadeia de caracteres (pr-definidas).

Dvidas?????