Você está na página 1de 2

Curso: Ciência da Computação

Disciplina: Teoria da Computação


Professora: Danielle Casillo

LISTA DE EXERCÍCIOS 3
(Aulas 11, 12, 13, 14 e 15)

1. Codifique o programa abaixo usando a codificação de programas


monolíticos

2. Dado o número natural abaixo, recupere o programa monolítico original:

P = (217.647.350) ∙ (3264.710.250) ∙ (53.241.350) ∙ (7157.565.625) ∙ (11771.750)

3. Desenvolva um programa em Norma que testa se o valor de um registrador


é um número Primo.
Obs. Números primos são os números naturais que têm apenas dois
divisores (inteiros) diferentes, o 1 e ele mesmo. Uma forma simples de
reconhecer é, calcular o resto de suas divisões, por exemplo: Teste se 5 é
primo: 5/5 = 1; 5/4 = 1,25; 5/3 = 1,66...; 5/2 = 2,5; 5/1 = 5. Só teremos resto
zero nas divisões por 1 e por ele mesmo.
4. Considere a linguagem: Palavra_Palavra = { ww | w é palavra de (a, b) },
construa um programa para a Máquina de Turing para essa linguagem.
Passo 1: Construir o Grafo da Máquina de Turing
Passo 2: Construir sua Tabela de Transição
Passo 3: Escrever os elementos da Máquina de Turing
Obs: considere um símbolo auxiliar para delimitar o fim de uma
palavra e o início da outra.
Exemplo: W = aba#aba (ACEITA)
W = baa#baa (ACEITA)
W = ba#ab (REJEITA)

5. Desenvolva uma Máquina de Turing determinística ou não que aceite a


linguagem:

MT = {w | w = ai bj ck, onde i = j e i, j, e k são números naturais}

Você também pode gostar