Vous êtes sur la page 1sur 3

UNIVERSIDADE DE PASSO FUNDO

LISTA DE EXERCCIOS DE TEORIA DA COMPUTAO (AULA 2)


Exerccios selecionados do captulo 2 do livro [Diverio&Menezes, 2000]
Exerccio 2.2. Desenhe um fluxograma que corresponde a cada um dos seguintes
programas
a) P2 = ({r1: faa  v_para r2}, r1)
b) Composio at (programa iterativo)
c) Programa sem instruo alguma
d) Programa sem instruo de parada

Exerccio 2.3. Relativamente a programas iterativos:


a) Em que situao a execuo de: enquanto T faa V
V pode no ser executado?
b) Por que a operao  constitui uma programa iterativo?
c) Por que pode-se afirmar que:
A traduo de um programa iterativo para um monoltico trivial.

Exerccio 2.4. Relativamente a computao:


a) Por que possvel afirmar que a computao de um programa monoltico em uma mquina,
para um dado valor inicial de memria, determinstica?

Exerccio 2.5. Caracterize e diferencie computao e funo computada.


Exerccio 2.9. Escreva um programa iterativo onde a computao seja infinita.
Exerccio 2.10. Relativamente a funo computada por um programa em uma mquina:
dois_reg = ( 2, , , armazena_a, retorna_b, {subtrai_a, adiciona_b}, {a_zero} )
onde:
armazena_a: 2 tal que n , armazena_a(n) = (n, 0)
retorna_b: 2 tal que (n, m) 2, retorna_b(n, m) = m
subtrai_a: 2 2 tal que (n, m) 2, subtrai_a(n, m) = (n 1, m), se n 0
subtrai_a(n, m) = (0, m), se n = 0
adiciona_b: 2 2 tal que (n, m) 2, adiciona_b(n, m) = (n, m+1)
a_zero: 2 {v, f} tal que (n, m) 2, a_zero(n, m) = v, se n = 0
a_zero(n, m) = f, se n 0
mon_b
a = ( IM, 1 ) tal que IM = { 1: se a_zero ento vp 9 seno vp 2,
2: faa subtrai_a vp 3,
3: faa adiciona_b vp 1 }
ICEG Cincia da Computao Prof. Marcelo Cezar Pinto

UNIVERSIDADE DE PASSO FUNDO


LISTA DE EXERCCIOS DE TEORIA DA COMPUTAO (AULA 2)
comp_infinita = ( { 1: faa adiciona_b vp 1 }, 1 )
a) Considere o programa monoltico mon_b
a para a mquina dois_reg. A
correspondente funo computada mon_b
a, dois_reg total?
b) Considere o programa monoltico comp_infinita para a mquina dois_reg. Para
quais valores do domnio a funo computada comp_infinita, dois_reg definida?

Exerccio 2.12. Traduza os Fluxogramas das Figuras 2.30 a 2.34 ( pginas 60 a 62 do


livro [Diverio&Menezes, 2000] ) para Instrues Rotuladas Simples.

Exerccio 2.13. Traduza o programa iterativo abaixo em programa monoltico na forma


de:
a) Fluxograma
b) Instrues Rotuladas Simples
(se T1 ento enquanto T2 faa ( at T3 faa ( F ; G ) )
seno (  ) )
Exerccio. Mostre a computao e a funo computada do programa MDC na mquina
M4Reg para entrada (1071, 1029).
M4Reg = ( 4, 2, , entra, sai, { copiaX,Y, moduloX,Y,Z }, { menorX,Y, zeroX } ), onde:
A, B, C e D representam, respectivamente, a 1a, a 2a, a 3a e a 4a posio da memria
entra: 2 4 tal que (k, l) 2, entra(k, l) = (k, l, 0, 0)
sai: 4 tal que (k, l, m, n) 4, sai(k, l, m, n) = k
copiaX,Y: 4 4 tal que (k, l, m, n) 4,
copiaX,Y(k, l, m, n) = (k, l, k, n), se X = A e Y = C
copiaX,Y(k, l, m, n) = (l, l, m, n), se X = B e Y = A
copiaX,Y(k, l, m, n) = (k, m, m, n), se X = C e Y = B
Ou seja, a operao copia o valor de X em Y.
4
moduloX,Y,Z: 4 tal que ( k, l, m, n) 4,
moduloX,Y,Z(k, l, m, n) = (k, l, k mod l, n), se X=A, Y=B e Z=C
Ou seja, a operao copia o resto da diviso de X por Y em Z.
4
4
menorX,Y: tal que ( k, l, m, n) 4,
menorX,Y(k, l, m, n) = v, se X < Y e X, Y {A, B, C, D}
menorX,Y(k, l, m, n) = f, se X Y e X, Y {A, B, C, D}
Ou seja, o teste verifica se o valor de X menor que o de Y.
zeroX: 4 4 tal que ( k, l, m, n) 4,
zeroX(k, l, m, n) = v, se X = 0 e X {A, B, C, D}
zeroX(k, l, m, n) = f, se X 0 e X {A, B, C, D}
Ou seja, o teste verifica se o valor de X igual a zero.
ICEG Cincia da Computao Prof. Marcelo Cezar Pinto

UNIVERSIDADE DE PASSO FUNDO


LISTA DE EXERCCIOS DE TEORIA DA COMPUTAO (AULA 2)
MDC = (IMDC, 10) tal que IMDC = { 10: se menorA,B ento vp 11 seno vp 15,
11: faa copiaA,C vp 12,
12: faa copiaB,A vp 13,
13: faa copiaC,B vp 15,
15: se zeroB ento vp 20 seno vp 16,
16: faa moduloA,B,C vp 17,
17: faa copiaB,A vp 18,
18: faa copiaC,B vp 15 }
Mostre a computao de MDC, M4Reg(2, 4) e de MDC, M4Reg(5, 5).

ICEG Cincia da Computao Prof. Marcelo Cezar Pinto