Buscar

Prova Linguagens de Programação e Estruturas de Dados I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Acadêmico: Willis dos Santos Coelho (712723)
Disciplina: Linguagens de Programação e Estruturas de Dados (ADS12)
Avaliação: Avaliação I - Individual FLEX ( Cod.:456746) ( peso.:1,50)
Prova: 13999887
Nota da Prova: 7,00
Legenda:    Resposta Certa    Sua Resposta Errada  
1. Um algoritmo é, essencialmente, uma forma sem cérebro de fazer coisas inteligentes. É um 
conjunto de etapas precisas que não precisam de grande esforço mental para serem seguidas, mas
que, se obedecidas exatamente e mecanicamente, levarão ao resultado desejado. A chave é: cada 
passo deve ser o mais simples possível, sem deixar espaço para ambiguidades ou dúvidas. 
Cozinhar e dirigir, por exemplo, são tipos de algoritmos. Mas as instruções como "cozinhas a 
carne até que fique macia" ou "siga em frente por alguns quilômetros" são muito vagas para 
serem seguidas sem, pelo menos, alguma interpretação. Com relação ao conceito apresentado, 
classifique V para as sentenças verdadeiras e F para as falsas:
(    ) É Uma sequência de passos para realizar uma atividade.
(    ) É a operação matemática inversa a potencia.
(    ) É parte de um programa em que se limita a definir os tipos de dados das variáveis.
(    ) É a parte de um programa em que se limita a definir as constantes.
(    ) É um software utilizado para escrever programas.
Assinale a alternativa que apresenta a sequência CORRETA:
FONTE: <https://epocanegocios.globo.com/Tecnologia/noticia/2017/09/o-que-sao-
algoritmos.html>. Acesso em: 28 nov. 2018.
 a) F - V - V - F - F.
 b) F - F - F - F - V.
 c) V - F - F - F - F.
 d) V - V - F - V - V.
2. As estruturas de dados definem a organização, os métodos de acesso e as opções de 
processamento e armazenamento de todos os dados utilizados por um programa de computador. 
Com relação aos tipos de dados das estruturas de dados estudadas, classifique V para as 
sentenças verdadeiras e F para as falsas:
(    ) São sempre verificados pelo compilador. Caso se extrapole a capacidade do tipo, um erro 
ocorre e o programa é abortado. 
(    ) Mais comuns e mais utilizados são as matrizes e os registros. 
(    ) São associados a um descritor. Um descritor é uma estrutura de dados, que não ocupa 
espaço na memória, que armazena os atributos do tipo de dados. 
(    ) Na forma de caracteres geralmente são armazenados como codificações numéricas, como o 
padrão UTF.
(    ) Inteiros são sempre representados como uma cadeia de caracteres. O caractere mais à 
esquerda representa o sinal positivo ou negativo. 
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - V - V - V - F.
 b) F - V - F - F - V.
 c) F - F - F - V - F.
 d) V - F - F - V - F.
3. A partir da construção de um algoritmo, podem ser desenvolvidos programas que executam as 
mais variadas operações matemáticas através dos operadores aritméticos e lógicos. Assinale a 
alternativa CORRETA que apresenta o operador aritmético capaz de retornar o resto da divisão 
de valores inteiros:
 a) Div
 b) <+
 c) <>
 d) Mod
4. Os operadores são aplicados dentro dos algoritmos sempre que se quer fazer uma operação 
matemática, relacional ou lógica entre duas ou mais informações. Apesar de cada linguagem de 
programação empregar sua própria sintaxe para representar os operadores, a operação que eles 
representam e o resultado obtido não muda, o que facilita sua representação através dos 
algoritmos. Com relação aos operadores matemáticos, relacionais e lógicos, classifique V para as
sentenças verdadeiras e F para as falsas:
(    ) O operador DIV nos traz a parte inteira do resultado de uma divisão.
(    ) Para x=5 e y=10, x MOD y retorna o valor 0.
(    ) Em uma operação do tipo E, todos os operandos devem ser verdadeiros para que o resultado
seja verdadeiro.
(    ) A expressão "(4<=10) ou (5>8)" tem como resultado o valor FALSO.
(    ) O operador <> serve para verificar se dois valores são diferentes.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - V - F - F.
 b) V - F - V - F - V.
 c) F - V - F - V - F.
 d) V - V - F - V - V.
5. Os termos da sequência de Fibonacci são definidos por:
Fibonacci(0) = 0
Fibonacci(1) = 1
Fibonacci(n) = Fibonacci(n-1) + Fibonacci(n-2)
Uma solução recursiva para o cálculo do i-ésimo termo da sequência é dada pela função 
apresentada na imagem a seguir. Sobre a execução recursiva dessa função, avalie as asserções a 
seguir:
I- O método recursivo é o mais eficiente para o cálculo do i-ésimo termo da sequência de 
Fibonacci.
PORQUE
II- Realiza duas chamadas por passo da recursão, cada uma mais simples do que a chamada 
original.
Assinale a alternativa CORRETA:
 a) A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa.
 b) As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta
da primeira.
 c) A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira.
 d) As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da 
primeira.
6. O computador deve converter os comandos dados em linguagem de alto nível para linguagem de 
máquina (códigos binários). Para isso, ele deve utilizar um tipo de software tradutor. Qual tipo de
software tradutor deve ser utilizado para programas em geral, quando a velocidade de execução é
uma exigência de alta prioridade?
 a) Macroprocessadores.
 b) Interpretadores.
 c) Compiladores.
 d) Tradutores híbridos.
7. Um dos fatores predominantes na escolha de uma estrutura de dados a ser utilizada no 
desenvolvimento de software é o grau de aderência desta estrutura à complexidade das 
informações a serem modeladas no domínio sobre o qual o software atuará. Com relação às 
estruturas de dados utilizadas na programação de computadores, assinale a alternativa 
CORRETA:
 a) As decisões sobre as estruturas de dados não têm relação com os algoritmos aplicados a elas.
 b) As estruturas de dados surgiram com o objetivo de disciplinar parte do desenvolvimento de 
software, pois possuem as responsabilidades de organização e armazenamento dos dados.
 c) O domínio de conhecimento sobre o qual o software atuará influencia na escolha das 
estruturas de dados, mas não dos algoritmos.
 d) Os algoritmos têm a finalidade de armazenamento, enquanto as estruturas de dados 
determinam a lógica de processamento.
8. A recursividade é um recurso poderoso, que quando bem aplicado pode simplificar a resolução 
de problemas computacionais através de linguagens de programação. Uma das vantagens desta 
estratégia é que ela independe de linguagem de programação, podendo ser implementada em 
qualquer linguagem que dê suporte a funções, procedimentos ou métodos. Com base no exposto, 
classifique V para as sentenças verdadeiras e F para as falsas:
(    ) A recursividade indireta exige no mínimo a existência de duas funções distintas.
(    ) Funções recursivas diretas não necessitam de uma condição específica para encerrar o 
processamento.
(    ) A recursividade deve ser utilizada com parcimônia, pois pode diminuir o desempenho do 
programa em situações específicas.
(    ) As funções recursivas necessitam de algum tipo de comando de repetição para funcionarem 
corretamente.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - F - V.
 b) V - F - V - F.
 c) V - V - F - V.
 d) F - V - F - V.
9. Os interpretadores e os compiladores são programas cujos dados são outros programas. Dentro 
desta categoria, encontram-se ainda programas como ferramentas de verificação de programas, 
ambientes de desenvolvimento etc. Invariavelmente, os dados de entrada de um compilador e de 
um interpretador são representados por um código-fonte escrito numa linguagem de 
programação. O mais usual é um programa ser expresso por intermédio de um texto, podendo ser
expresso de outras formas, usando linguagens visuais porexemplo. Com relação aos 
interpretadores e aos compiladores, classifique V para as sentenças verdadeiras e F para as falsas:
(    ) O código-fonte define as instruções do programa de computador, que, para estarem corretas,
devem atender à estrutura léxica, sintática e semântica da linguagem de programação utilizada.
(    ) O interpretador tem a função de tradutor e também de compilador.
(    ) Depois de compilado, o programa pode ser executado indefinidamente, sem a necessidade 
de repetição do processo de tradução.
(    ) Os programas não precisam ser recompilados quando ocorrem mudanças no código-fonte.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) F - F - V - F.
 b) F - V - V - V.
 c) V - F - F - V.
 d) V - V - V - F.
10. Na Ciência da computação, uma estrutura de dados é um modo particular de armazenamento e 
organização de dados em um computador de modo que possam ser usados eficientemente, 
facilitando sua busca e modificação. Com relação às estruturas de dados para armazenamento de
informações, classifique V para as sentenças verdadeiras e F para as falsas:
(    ) Uma constante é um determinado valor fixo que se modifica na execução do programa. 
(    ) Variáveis são posições de memória com conteúdo fixo. A atribuição do valor ocorre no 
momento da declaração da variável e no cabeçalho do programa.
(    ) Toda variável é identificada por um nome ou identificador. 
(    ) Vetores são estruturas que têm uma sequência de valores que possuem os mesmos tipos de 
dados.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) F - F - V - V.
 b) V - F - V - V.
 c) F - V - V - V.
 d) F - V - F - F.

Mais conteúdos dessa disciplina