Documente Academic
Documente Profesional
Documente Cultură
Maquina Norma
Maquina Norma
Innitos registrados (para numeros grandes) Tres instrucoes sobre cada registrador:
1. Adicao do valor um; 2. Subtracao do valor um; 3. Teste se o valor e zero ou nao.
Maquina Norma
Exemplos de uplas
:NN (0, 1, 2, 3, . . .), pela funcao identidade, id (n) = n (5, 5, 5, 5, . . .), pela funcao constante 5, const (n) = 5 (0, 2, 4, 6, . . .), pela funcao par, g (n) = 2n
Maquina Norma
E uma 7-upla da forma Norma = (N , N, N, in, out , {adk , subk }, {zerok }), onde : N - cada elemento dos valores de memoria denota uma conguracao dos innitos registradores (A, B , X , Y , . . .). In - funcao de entrada (in : N N ) que carrega no
registrador, denotado por X , o valor de entrada e inicializa os demais com valor zero; Out - funcao de sada (out : N N) que retorna o valor corrente do registrador denotado por Y ;
Maquina Norma
correspondente ao registrador k , deixando os demais com valores inalterados. subk : N N , subtrai o valor um da componente correspondente ao registrador k , se o seu valor for maior que zero (senao mantem valor zero), deixando os demais com valores inalterados. Testes - Para cada registrador k ,
zerok
verdadeiro se a componente correspondente ao registrador k for zero, e resulta falso caso contrario.
Maquina Norma
Instrucoes basicas
Em suma, temos:
Maquina Norma
1. Operacoes e testes mais complexos: entre dois valores (mult, div, etc). 2. Valores numericos: armazenamento e tratamento de valores numericos. 3. Dados estruturados: estruturas de arranjos, pilhas, etc. 4. Enderecamento indireto e recursao: realiza o desvio para uma instrucao de acordo com o conteudo de um registrador e simulacao de recursao. 5. Cadeia de caracteres: manipulacao de cadeia de caracteres.
Maquina Norma
Maquina Norma
Atribuicao de um valor natural a um registrador A macro A := n, com n natural Veja o exemplo para n = 3
Maquina Norma
Maquina Norma
registrador auxiliar) C:=0 ate B=0 faca (A:=A+1; C:=C+1; B:=B-1) ate C=0 faca (B:=B+1; C:=C-1)
Macro denotada por A:=A+B usando C (C nao e usado em outra parte
do programa)
Maquina Norma
Maquina Norma
C:=0 ate A=0 faca (C:=C+1; A:=A-1); ate C=0 faca (A:=A + B usando D; C:= C - 1)
Maquina Norma
(se A = 0 entao falso senao C:=A; C:=C-1; (se C = 0 entao verdadeiro senao ate mod(A,C) faca (C := C-1) C:=C-1; (se C=0 entao verdadeiro senao falso)))
Maquina Norma
usando D
Supondo 1 como sendo o 0-esimo numero primo:
A:=1; D:=B ate D=0 faca (D:=D- 1; A:=A+1; ate teste primo(A) faca (A:=A+1))
Maquina Norma
Exerccios
Maquina Norma
Inteiros (negativos e nao negativos) Dado pelo par ordenado (s , |m|), onde m denota a magnitude (valor
absoluto) e s o sinal
Se m < 0, entao s
= 1 senao s = 0
1. codicacao n-upla vista (conjuntos estruturados); 2. usando dois registradores, um para o sinal, e o outro para a magnitude.
Maquina Norma
A:=A+1 como sendo uma operacao de inteiros O A denota o par de registradores A1 (sinal) e A2 (valor) Isso pode ser feito pelo programa iterativo
Maquina Norma
> 0 e r = a/b
A representacao nao e unica: 0,75 e igual a (3, 4) e (6, 8) As operacoes sao denidas como se segue:
(a, b) + (c, d) = (a*d + b*c, b*d) (a, b) - (c, d) = (a*d - b*c, b*d) (a, b) * (c, d) = (a*c, b*d) (a, b) / (c, d) = (a*d, b*c), com c = 0 (a, b) = (c, d), se e somente se, a*d = b*c
Maquina Norma
arranjo e implementado por um registrador, A; pn e o n-esimo numero primo; usar o teste, teste div (A, C ), se for verdadeiro C e divisor do conteudo de A, falso caso contrario; a macro de divisao de dois registradores, A := A/C abreviar A := A B usando C, D, para A := A B
Maquina Norma
arranjo A 1. adA(n) usando C C := pn ; A := A C 2. subA(n) usando C C := pn ; se teste div(A,C) entao A := A/C senao ) 3. zeroA(n) usando C C := pn ; se teste div(A,C) entao falso senao verdadeiro)
Maquina Norma
Indexacao indireta (com naturais) Macros com programas iterativos, onde A(B) e a b-esima posicao do
Maquina Norma
Maquina Norma
Exerccio
Maquina Norma
Uma operacao, onde A e um registrador, r: faca F va para A pode ser denida como r: faca F va para End A
Maquina Norma
A:=A1
A=0
A:=A+1
...
A:=A1
A=0
A:=A+1
parada
Maquina Norma
Maquina Norma
Recursao e Caractere
enderecamento indireto
Caractere: nao e pre-denada em Norma, mas existe em M.T. que e
equivalente