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.