

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Num compilador, o analisador léxico:
cria uma estrutura de dados;
cria o código objeto;
cria uma sequência de símbolos;
cria uma gramática livre de contexto.o
Considere que um Analista de Sistemas da PRODATER tem as seguintes informações:
− O computador possui 4GB de memória RAM.
− O compilador da linguagem de programação A utiliza 2 bytes para armazenar um número inteiro.
− O compilador da linguagem de programação B utiliza 4 bytes para armazenar um número inteiro.
Diante destas informações, é correto afirmar que
são necessários 30 bits para endereçar qualquer posição da memória RAM.
são necessários 6 dígitos em hexadecimal para endereçar qualquer posição da memória RAM.
uma variável inteira da linguagem de programação A consegue armazenar o número decimal 100000 ou o número decimal −100000.
uma variável inteira da linguagem de programação B consegue armazenar o número decimal 10000000 ou o número decimal -10000000.
uma variável inteira da linguagem de programação A consegue armazenar o número binário 1111111100000000 somado com o binário 1000000011111111.
A depuração de um software pode ser executada em geral através de três estratégias que são: força bruta, rastreamento e eliminação de causa. Dessa forma podemos afirmar que o objetivo primordial da utilização da depuração em um software é:
Avaliar a implantação do sistema em produção.
Encontrar e corrigir a causa de um erro de software.
Identificar os requisitos do software.
Definir o comportamento de usabilidade da interface gráfica do software.
Garantir que o software seja seguro.
Dadas as afirmativas a respeito de compiladores,
I. Um compilador é classificado como just-in-time compiler quando o processo de compilação acontece apenas no momento em que o código é executado. Por essa razão, compiladores do tipo just-in-time compiler não são capazes de fazer otimizações no código final como parte do processo de compilação.
II. O código gerado por um compilador deve, necessariamente, ser semanticamente equivalente ao código fonte original.
III. O processo de compilação é composto por três passos obrigatórios: análise léxica, análise sintática e geração do código final. E, opcionalmente, podem ser executados mais dois passos: análise semântica e otimização de código.
IV. A etapa de análise léxica consiste em analisar o código fonte para produzir símbolos (tokens), que são processados em seguida na etapa de análise sintática, também conhecida como parsing.
verifica-se que estão corretas
I e II, apenas.
I e III, apenas.
II e IV, apenas.
III e IV, apenas.
I, II, III e IV.
Com relação à estrutura de um compilador:
I. O analisador léxico lê o fluxo de caracteres que compõe o programa fonte e os agrupa em sequências significativas, chamadas lexemas.
II. O analisador sintático pode criar uma representação intermediária tipo árvore, que mostra a estrutura gramatical da sequência de tokens.
III. O analisador semântico faz a verificação de tipo, em que o compilador verifica se cada operador possui operandos compatíveis.
IV. No processo de traduzir um programa fonte para um código objeto, um compilador pode produzir uma ou mais representações intermediárias, as quais podem ter diversas formas.
V. A fase de otimização de código depende única e exclusivamente das arquiteturas de máquinas para fazer transformações no código intermediário.
Assinale a alternativa em que todas as afirmativas estão CORRETAS:
Apenas I, II, III e IV.
Apenas II, III e IV.
Apenas I, II e V.
Apenas II e III.
I, II, III, IV e V.
Considere as afirmativas:
I. cria o código objeto traduzindo as instruções da linguagem de montagem (assembly) para código de máquina;
II. recebe como entrada um conjunto de arquivos objetos e bibliotecas, e produz como resultado um arquivo objeto de saída;
III. traduz um programa descrito em uma linguagem de alto nível para um programa em linguagem simbólica ou linguagem de máquina;
IV. recebe uma instrução do programa fonte, converte-a em linguagem de máquina e ordena ao computador que execute esta instrução.
Nessa ordem, os itens de I a IV referem-se a
ligador, montador, interpretador e montador.
ligador, montador, compilador e interpretador.
interpretador, ligador, compilador e montador.
montador, ligador, compilador e interpretador.
compilador, ligador, montador e interpretador.
No MS Framework .NET, quando se compila um programa, independentemente da linguagem de programação, o compilador converte o código fonte para um conjunto de instruções independentes de CPU o qual pode ser eficientemente convertido para código nativo. Esse conjunto intermediário de instruções é conhecido por:
MSCI.
MSIL.
MSII.
MSIC.
Com relação ao processo de compilação, assinale a opção correta.
O gerador de código disponibiliza para execução, por meio de computador, uma versão de código intermediário otimizado do programa.
A fase de otimização é obrigatória, pois visa a melhorar o programa, tornando-o menor, mais rápido ou ambos.
Cada expressão do programa é executada diretamente pelo computador, sob demanda.
O programa é transformado em um conjunto correspondente de instruções que podem ser fisicamente efetuadas pelo computador.
O analisador léxico considera os comentários do programa fonte, por conterem informações úteis para o compilador.
Leia o fragmento a seguir.
Recentemente foi divulgada uma vulnerabilidade de segurança chamada Shellshock, que afeta um dos mais populares interpretadores de comandos usados no Linux, conhecido como Bash. Essa vulnerabilidade afeta o recurso do interpretador que é usado para o armazenamento e compartilhamento de parâmetros por diversos programas.
Assinale a opção que apresenta o nome correto do recurso citado no fragmento acima.
Variáveis de sistema.
Parâmetros Bash.
Registro do sistema.
Parâmetros do ambiente.
Variáveis de ambiente.
Programa destinado a transformar um código escrito em linguagem de alto nível em uma linguagem Assembly é o
debugger.
compilador.
montador.
fortran.
otimizador.
Considere as afirmações abaixo sobre depuração.
I - A depuração é o processo de remoção do erro, detectado em teste, sendo, pois considerada consequência de um teste bem-sucedido.
II - Há várias ferramentas para depuração disponíveis nos Ambientes Integrados de Desenvolvimento (IDEs), permitindo, por exemplo, detectar a falta de caracteres de fim de instrução e variáveis indefinidas.
III - Rastreamento (backtracking) é uma estratégia de depuração e consiste em investigar, retroativamente, o código fonte, a partir do ponto onde o sintoma foi descoberto, até a sua causa.
Quais estão corretas?
Apenas I.
Apenas I e II.
Apenas I e III.
Apenas II e III.
I, II e III.
Considere a gramática string 6 string + string | string – string |0|1|2|3|4|5|6|7|8|9 e a string como um único nó não terminal, que pode ser um dígito ou uma sentença. Nessa situação, a expressão 10 – 4 + 3 possibilita criar duas árvores de derivação distintas.
Tradutores de linguagem são programas que traduzem os programas-fonte escritos em linguagem de alto nível para código de máquina. Com relação a tradutores, assinale a opção correta.
Compiladores são projetados para um tipo específico de hardware e de sistema operacional.
A interpretação nada mais é do que uma compilação cruzada.
Toda linguagem orientada a objetos pura é compilada.
Java é uma linguagem fundamentalmente interpretada.
A linguagem Delphi pode ser tanto interpretada quanto compilada.
Existem várias maneiras de se depurar (debug) programas. Algumas delas envolvem conhecimento, prática e bom senso do programador. Acerca de pontos que são importantes para depurar programas, julgue os itens a seguir.
I É possível encontrar falhas nos programas por meio da reprodução do erro em testes.
II Quanto maior a entrada de dados nos testes, mais simples é encontrar o problema e mais fácil é encontrar a solução da falha.
III Em um programa modular, o processo de encontrar falhas requer uma menor variação de informações de entrada, de modo que o programador possa encontrar o módulo com erros.
IV A passagem de parâmetros para variáveis auxiliares evita o uso de break points.
V A análise estruturada é a melhor maneira de encontrar erros em programação orientada a objetos.
Estão certos apenas os itens
I e II.
I e III.
II e V.
III e IV.
IV e V.
Preencha corretamente as lacunas do texto abaixo e, em seguida, assinale a opção correta.
O processo de __________ é utilizado para traduzir um __________ em um código-objeto que será posteriormente ligado a bibliotecas de sistema operacional para produzir um __________ destinado a determinada arquitetura de processador.
A sequência correta é:
compilação / código-fonte / código executável
linkedição / código-fonte / código executável
interpretação / código executável / código-fonte
montagem / código de máquina / código executável
Ao realizar testes durante a elaboração de um compilador, um analista descobriu que havia, no compilador, um erro na checagem de tipos de variáveis em expressões, permitindo, por exemplo, a multiplicação entre tipos de dados que não poderia ocorrer. Em compiladores, a checagem de tipos de variáveis em expressões é uma função do
analisador semântico.
analisador léxico.
otimizador de código.
scanner.
linker.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MinhaClasse extends JFrame
{
JLabel rotulo;
{
setTitle("Prova");
setBounds(300,300,500,500);
setResizable(false);
getContentPane().setBackground(Color.white);
rotulo = new JLabel("P o n t o
Central", JLabel.CENTER);
add(rotulo);
}
public static void main(String args[])
{
JFrame MeuObjeto = new MinhaClasse();
MeuObjeto.setDefaultCloseOperation(JFrame.EXITO
NCLOSE);
MeuObjeto.setVisible(true);
}
}
Considerando que o código apresentado acima tenha sido compilado e executado corretamente, assinale a opção correta.
O código apaga um sistema de botões de opções de fundo branco com o título Ponto Central com o texto Prova no centro.
O código move um círculo de fundo branco com o título Ponto Central com o texto Prova no centro na posição 300 da tela.
O código cria uma janela de fundo branco com o título Prova e coloca o texto Ponto Central no centro da janela.
O código importa um ponteiro específico de janela de fundo branco com o título Prova com o texto Ponto Central.
O código oculta do sistema um botão de seleção de fundo branco com o título Prova com o texto Ponto Central no centro da janela.
Quando o ponteiro de código estiver na linha 20 da classe Servidor, estarão apresentadas três variáveis locais no painel Local variables do depurador, cujos nomes são: args, c e sp, sendo duas dessas variáveis de tipo primitivo e uma de tipo referência.
As atividades de teste e depuração são atividades diferentes, mas a depuração deve ser acomodada em qualquer estratégia de teste. Em relação a validação e verificação, é coerente fazer as seguintes perguntas, respectivamente: Estamos construindo certo o produto?, Estamos construindo o produto certo?.