Baixe o app para aproveitar ainda mais
Prévia do material em texto
Dado o alfabeto identifique, nas opções a seguir, a máquina de estados finitos capaz de identificar stringsΣ = {1,0} binárias que representam números múltiplos de 2 e não de 4. N o t a : 2 0 .0 A Você acertou!� estamos falando dos números binários que terminam 10. Uma análise detalhada dos estados e transições da máquina representada no enunciado permite perceber que: uma string que comece com qualquer números de zeros irá manter a máquina no estado ; o primeiro um da string de entrada colocará a máquina no estado neste ponto, todos os próximos uns manterão a máquina no estado ; O primeiro zero colocará a máquina no estado , em accepting state; Neste estado um zero levará ao estado caso contrário a máquina irá para o estado . Ou seja, a única forma de atingir o accepting state é receber um em e zero em B Marcelo Highlight C D E Q u e s t ã o 2 / 5 C o m p i l a d o r e s O processo de compilação é diferente de linguagem para linguagem. Notadamente por que cada um dos módulos envolvidos no processo está intimamente ligado as características específicas da linguagem que está sendo convertida em linguagem de máquina. Sendo assim, marque a alternativa correta entre as alternativas abaixo. N o t a : 0 .0 A Não existe nenhuma forma de compilar códigos escritos em Python; B A linguagem C pode ser compilada para a arquitetura ARM; � Qualquer linguagem pode ser compilada para qualquer arquitetura. Marcelo Highlight C Uso de interpretadores de C++ não é possível graças a orientação a objetos desta linguagem; D A linguagem Assembly é a própria linguagem de máquina; E A execução do Javascript, em páginas web não necessita de códigos de máquina, já que ele roda em um ambiente controlado. Q u e s t ã o 3 / 5 C o m p i l a d o r e s O código ASCII usado com frequência em computação e o Unicode, contendo mais de 100.000 caracteres de diversas linguagens naturais são exemplos de alfabetos. Com isso em mente e considerando a definição de alfabeto marque, entre as opções a seguir, qual definição não corresponde a um alfabeto do ponto de vista do estudo das linguagens formais. N o t a : 2 0 .0 A B C D E Σ = {0,1} ΣI = {1,2,a,b} Σv = {a,e,i,o,u} ΣM = {abba} ΣI = {0,1,2,3,4,...} Você acertou!� o conjunto é infinito não atendendo a definição de alfabeto. Q u e s t ã o 4 / 5 C o m p i l a d o r e s As cadeias de caracteres, ou strings são artefatos de linguagens utilizados com frequência pelas linguagens de programação já que, na maior parte das vezes, se referem a textos que desejamos ler, guardar ou imprimir. Contudo, sua definição formal é mais elucidativa se consideramos sua relação com o alfabeto. Sendo assim, dadas as opções a seguir assinale a alternativa falsa. N o t a : 0 .0 A Uma string é uma sequência ordenada de símbolos que existem em um determinado alfabeto; B Considerando a string “ 110110011” podemos dizer que ela faz parte de um alfabeto de números binários; C A string vazia faz parte de todos os alfabetos possíveis; D Podemos usar símbolos que não façam parte de um alfabeto para marcar o começo e o fim de uma string; Marcelo Highlight E Dado um alfabeto qualquer, em linguagens formais, não é possível identificar uma string utilizando uma máquina de estados finitos. Em linguagens formais, as máquinas de estados finitos e as expressões regulares são duas formas eficientes de� identificar strings de um alfabeto dado. Q u e s t ã o 5 / 5 C o m p i l a d o r e s Em busca da eficiência na execução dos programas, ao longo do tempo, o processo de compilação ficou complexo e sujeito a erros e a tempos muito longos. Uma forma de tornar o processo de compilação mais eficiente foi a divisão deste processo em módulos dedicados. Assim, temos um módulo apenas para fazer a análise sintática do texto e outro apenas para entender o conteúdo semântico e assim sucessivamente. Quanto ao analisador sintático é verdadeiro dizer que: Marque a alternativa correta N o t a : 2 0 .0 A O analisador sintático, apesar de fazer parte do processo de compilação, é totalmente dispensável e não altera o resultado final; B A principal função do analisador sintático é enviar os tokens necessários ao funcionamento do analisador Léxico; C O analisador sintático, para efetuar sua tarefa, organiza os tokens, enviados pelo analisador léxico em uma árvore; Você acertou!� a resposta correta é a letra C e pode ser encontrada no primeiro capítulo do livro texto. D A análise sintática só pode ser realizada depois que o seu código fonte esteja convertido em linguagem de máquina; E A maior parte de todas as linguagens formais, utilizadas para a programação de computadores dispensa o uso de analisadores sintáticos. Marcelo Highlight Marcelo Highlight
Compartilhar