1. Dadas as linguagens abaixo, marque V para as palavras aceitas ...
1. Dadas as linguagens abaixo, marque V para as palavras aceitas ...
1. Dadas as linguagens abaixo, marque V para as palavras aceitas ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Teoria da Computação – Exercícios sobre Máquina de Turing<br />
<strong>1.</strong> <strong>Dad<strong>as</strong></strong> <strong>as</strong> <strong>linguagens</strong> <strong>abaixo</strong>, <strong>marque</strong> V <strong>para</strong> <strong>as</strong> palavr<strong>as</strong> aceit<strong>as</strong> por uma máquina<br />
de Turing reconhecedora da linguagem ou F <strong>para</strong> <strong>as</strong> palavr<strong>as</strong> rejeitad<strong>as</strong>.<br />
a) L1=∅<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem é vazio, ou seja, a<br />
linguagem não tem palavra alguma.<br />
( ) a ( ) b ( ) abababa<br />
( ) ab ( ) ba ( ) ε<br />
b) L2={ε}<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem é ε, ou seja, a<br />
linguagem só tem a palavra vazia.<br />
( ) a ( ) b ( ) abababa<br />
( ) ab ( ) ba ( ) ε<br />
c) L3={w | w tem o mesmo número de símbolos de a e b}<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem tantos símbolos a quantos b, em qualquer ordem. Se a palavra tem mais (ou<br />
menos) a’s do que b’s, a palavra não pertence a linguagem.<br />
( ) bbaa ( ) baba ( ) abababa<br />
( ) aabb ( ) abba ( ) ε<br />
d) L4={ w | o décimo símbolo da direita <strong>para</strong> esquerda é a}<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem o símbolo a na décima posição da palavra, do final <strong>para</strong> o início. Se a palavra<br />
tem menos de 10 símbolos, a palavra não pertence a linguagem.<br />
( ) aaaaaaaaa ( ) bbbabbbbbbbbbb ( ) bbbabbbbbbbbb<br />
( ) b ( ) abbbbbbbb ( ) ε<br />
e) L5={waw | w é palavra de {a,b}* }<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem o símbolo a no meio da palavra e a subpalavra do início (até um símbolo antes<br />
do a central) igual à subpalavra do final (a partir do símbolo seguinte ao a central). As<br />
palavr<strong>as</strong> dad<strong>as</strong> como entrada só tem os símbolos a e b.<br />
( ) a ( ) baab ( ) aa<br />
( ) bab ( ) aaa ( ) ε<br />
Ciência da Computação – ICEG – UPF – Prof. Marcelo Cezar Pinto
f) L6={ww | w é palavra de {a,b}* }<br />
Teoria da Computação – Exercícios sobre Máquina de Turing<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem a subpalavra do início (a primeira metade da palavra) igual à subpalavra do<br />
final (a segunda metade). As palavr<strong>as</strong> dad<strong>as</strong> como entrada só tem os símbolos a e b.<br />
( ) ababa ( ) baab ( ) aa<br />
( ) bab ( ) aaa ( ) ε<br />
g) L7={ ww r | w é palavra de {a,b}* }<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem a subpalavra do início (a primeira metade da palavra) igual à subpalavra do<br />
final em ordem reversa (a segunda metade), como se houvesse um espelho no meio da<br />
palavra. As palavr<strong>as</strong> dad<strong>as</strong> como entrada só tem os símbolos a e b.<br />
( ) abba ( ) baaab ( ) abbbbba<br />
( ) abab ( ) babbab ( ) ε<br />
h) L8 = {www | w é palavra de {a,b}*}<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem uma subpalavra repetida 3 vezes em seqüência, ou seja, cada terço da palavra<br />
é igual. As palavr<strong>as</strong> dad<strong>as</strong> como entrada só tem os símbolos a e b.<br />
( ) aaa ( ) b ( ) abababa<br />
( ) abbaba ( ) abaaabaaabaa ( ) ε<br />
i) L9 = {w | w = a 1 b 2 a 3 b 4 … a n-1 b n e n é um número natural par}<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem um número crescente de símbolos a’s e b’s, começando com 1 a e terminando<br />
com n b’s, sempre intercalando a’s e b’s. O crescimento é sempre aumentando um<br />
símbolo em relação ao número de símbolos anterior.<br />
( ) a ( ) abbaaaabbbbbb ( ) bbbbbb<br />
( ) abb ( ) bbaaabbbb ( ) ε<br />
j) L10 = {w | w = a n b n ou b n a n }<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem o mesmo número de símbolos a’s e b’s, desde que os a’s estejam todos no<br />
início ou todos no final da palavra.<br />
( ) a ( ) ababab ( ) aaabbb<br />
( ) ab ( ) ba ( ) ε<br />
Ciência da Computação – ICEG – UPF – Prof. Marcelo Cezar Pinto
Teoria da Computação – Exercícios sobre Máquina de Turing<br />
k) L11 = {w | w = a i b j c k , onde i=j ou j=k}<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem i símbolos a no início, j símbolos b no meio e k símbolos c no final, desde que<br />
ou o número de a’s seja igual ao de b’s ou o número de b’s seja igual ao de c’s. Os<br />
números i, j e k podem ser zero.<br />
( ) a ( ) b ( ) abab<br />
( ) c ( ) ab ( ) ac<br />
( ) bc ( ) abc ( ) abcc<br />
( ) aabbc ( ) aabcc ( ) ε<br />
l) L12 = {w | w = wew ou w = wouw ou w = v ou w = f e w ∈ {v, f, e, ou} },<br />
Tradução: O conjunto de palavr<strong>as</strong> que fazem parte da linguagem são tod<strong>as</strong> aquel<strong>as</strong> que<br />
possuem símbolos v e f na palavra se<strong>para</strong>dos por e ou ou. Nenhuma palavra da<br />
linguagem começa ou termina com e nem com ou.<br />
( ) evfou ( ) fouvevouf ( ) fouev<br />
( ) v ( ) f ( ) vf<br />
( ) veouf ( ) fouvouvefou ( ) ε<br />
2. Para cada função <strong>abaixo</strong>, escreva a fita da máquina de Turing processadora<br />
daquela função com <strong>as</strong> entrad<strong>as</strong> indicad<strong>as</strong> (no início e no final da computação):<br />
a) mult(a,b) = c, tal que c = a*b e a,b,c ∈ {1}*<br />
Tradução: A função tem 2 parâmetros (números naturais) e devolve a multiplicação<br />
dos dois. Os números estão em unário.<br />
i. mult(2,3) ii. mult(1,2) iii. mult(3,1) iv. mult(2,0) v. mult(1,0)<br />
b) primo(a) = b, tal que b é o a-ésimo número primo e a,b ∈ {1}*<br />
Tradução: A função tem 1 parâmetro (número natural) e devolve o número primo de<br />
acordo com sua ordem, por exemplo: o primo 1 é o número 2. Os números estão em<br />
unário.<br />
i. primo(1) ii. primo(2) iii. primo(3) iv. primo(4) v. primo(0)<br />
c) impar(a) = b, tal que b é 1 se a é ímpar, b é 0 se a é par e a,b ∈ {1}*<br />
Tradução: A função tem 1 parâmetro (número natural) e devolve 1 se o número é<br />
ímpar ou devolve zero se o número é par. Os números estão em unário.<br />
i. impar(1) ii. impar(2) iii. impar(3) iv. impar(4) v. impar(0)<br />
Ciência da Computação – ICEG – UPF – Prof. Marcelo Cezar Pinto