Ybadoo - Soluções em Software Livre
Turmas
1º Semestre de 2016

Desenvolva um programa na linguagem de programação SIMPLE, que apresente os n primeiros termos da sequência yk = yk-1 + k, sendo k = 1, 2, ..., n e y1 = 1. O número de termos será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o número de termos fornecido pelo usuário seja 5, o programa deverá apresentar como resposta a sequência de valores 1 3 6 10 15. Caso o usuário forneça um valor inválido para o número de termos, o programa deverá apresentar como resposta o valor -1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.
y1 = 1
y2 = y1 + 2 = 3
y3 = y2 + 3 = 6
y4 = y3 + 4 = 10
y5 = y4 + 5 = 15

Questão 02

Os processadores executam sequências de comandos que fazem parte de um jogo de instruções definido pelos seus projetistas, de modo que cada processador tem seu próprio jogo de instruções específico. Analise a arquitetura do processador hipotético apresentado a seguir.

Processador hipotético
Processador hipotético

Considerando que o processador hipotético apresentado possui um jogo de doze instruções, cujos comprimentos, em bits, podem ser diferentes entre si, assinale a alternativa correta.

  1. uma instrução que faça referência a uma posição de memória e a um registrador teria um comprimento de 32 bits.
  2. uma instrução que faça referência a três registradores teria um comprimento de 24 bits.
  3. uma instrução que faça referência a um registrador e a duas posições de memória teria um comprimento de 18 bits.
  4. uma instrução que faça referência a dois registradores e a uma posição de memória teria um comprimento de 15 bits.
  5. uma instrução que faça referência a três posições de memória teria um comprimento de 100 bits.

Questão 03

Assinale a alternativa correta sobre a etapa de análise sintática de um interpretador/compilador.

  1. Os métodos de análise baseados na estratégia top-down constroem a árvore de derivação a partir dos tokens do texto fonte, fazendo a árvore crescer até atingir o símbolo inicial da gramática.
  2. Analisadores de precedência de operadores operam sobre gramáticas livre do contexto onde os não terminais aparecem sempre separados por símbolos terminais e nenhum lado direito da produção produz a palavra vazia.
  3. Os métodos de análise baseados na estratégia bottom-up constroem a árvore de derivação a partir do símbolo inicial da gramática, fazendo a árvore crescer até atingir suas folhas.
  4. Para que uma gramática livre do contexto possa ser considerada simplificada, essa gramática não pode apresentar produções vazias, produções do tipo A → B, símbolos inúteis e recursividade à esquerda.
  5. Seja A um não terminal da gramática livre do contexto G, o FIRST(A) é o conjunto de terminais a que podem aparecer imediatamente à direita de A em alguma forma sentencial, ou seja, o conjunto de terminais a, tal que existe uma derivação da forma S ⇒* αAaβ, para α e β quaisquer.

Questão 04

Suponha que o seguinte programa escrito na linguagem de programação Java tenha compilado e executado usando as regras de escopo dinâmico. Qual será o valor de x impresso pelo programa?

Arquivo Test.java

package com.ybadoo.tutoriais.cmp;

public class Test
{ 
  private int x = 10; 

  public void sub1()
  { 
    int x = 20; 

    sub2(); 
  } 

  public void sub2()
  { 
    int x = 30; 

    sub4(); 
  } 

  public void sub3()
  { 
    int x = 40; 

    sub1(); 
  } 

  public void sub4()
  { 
    System.out.println(x); 
  } 

  public static void main(String[] args)
  { 
    int x = 50; 

    Test test = new Test(); 

    test.sub3(); 
  } 
}
  1. 10
  2. 20
  3. 30
  4. 40
  5. 50

Apresente a Análise Preditiva Tabular da entrada a(e;e) sobre a gramática a seguir.

G = ({S, A, B, C, X, Y}, {a, e, (, ), ;}, P, S)
P = {SA)
     ACB 
     B → ;XB | ε
     CY(X
     X → e
     Y → a}

Apresente a Análise de Precedência de Operadores, da entrada (id & (id v id) v id) sobre a gramática a seguir.

G = ({E, T, F}, {id, &, v, (, )}, P, E)
P = {EEvT | T
     TT&F | F
     F → (E) | id}