Baixe o app para aproveitar ainda mais
Prévia do material em texto
GABARITO Protocolo: 547770 Página 1 - 22/08/2019 às 14:56 Substitutiva Data de aplicação: 08/06/2019 Curso: Engenharia de Software Disciplina: Algoritmos II Ano: 20191 / Semestre: 2 RGM: 123.356 / Aluno: WAGNER ORNELIO SILVA PROVA 01 Questão 1 Sobre as estruturas de repetição é incorreto apenas o que se afirma em: a) Quando uma variável é acumuladora ela tem por característica armazenar dentro de si o resultado acumulado de uma série de valores; b) Os loops contados são quando se conhece previamente quantas vezes o comando composto no interior da construção será executado; c) Loops condicionai são quando se conhece de antemão o número de vezes que o conjunto de comandos no interior do laço será repetido, pelo fato dele estar amarrado a uma condição sujeita a modificação pelas instruções do interior do laço; (correta) d) Quando uma variável contadora ela tem por característica armazenar dentro de si um número referente a certa quantidade de elementos ou iterações. Questão 2 O seguinte algoritmo, chamado ordena, implementa um conhecido método de ordenação para listas sequenciais: Ordena (vet[] inteiro, n inteiro) inicio declare i, j, pos, aux inteiro; para i de 1 até n-1 faça pos <- i; para j de i+1 até n faça se vet[pos] > vet[j] então pos <- j; fimse fimpara se pos ≠ i então aux <- vet[i]; vet[i] <- vet[pos]; vet[pos] <- aux; fimse fimpara fim Se o algoritmo for executado recebendo como parâmetros Ordena([5, 3, 1, 2, 4], 5), quantas trocas são efetuadas em vet[] e em que sentido é feita a ordenação (crescente ou decrescente)? a) 4, crescente. (correta) b) 6, crescente. c) 5, crescente. d) 4, decrescente. GABARITO Protocolo: 547770 Página 2 - 22/08/2019 às 14:56 e) 6, decrescente. Questão 3 Sobre as estruturas condicionais é incorreto apenas o que se afirma em: a) Desvio condicional simples é a estrutura básica de controle em quase todas as linguagens de programação. Essa instrução tem por finalidade representar a tomada de uma decisão; b) No caso do desvio condicional encadeados uma determinada ação de um algoritmo somente pode ser executada se um conjunto anterior de condições for verificado; c) Desvio condicional encadeados ocorrem quando necessitamos fazer algumas verificações lógicas de condições sucessivamente; d) Desvio condicional composto é a estrutura de decisão no qual a ação a ser executada depende de uma inspeção ou teste. Ela nos fornece a habilidade de executar um comando composto, se determinada condição for sempre verdadeira. (correta) Questão 4 Sobre registros, assinale a alternativa correta: a) Um registro é um tipo de dados criado pelo próprio programador, a qual são definidos campos a serem preenchidos. (correta) b) Todos os campos de um registro devem ser declarados do mesmo tipo. c) Vetores e matrizes não podem ser definidos como campos de um registro. d) É permito declarar somente variáveis do tipo registro. Vetores e matrizes não podem ser declaradas dos tipo registro. e) Os registros devem ser definidos no final de um algoritmo. Questão 5 Sobre as estruturas de Matriz é incorreto apenas o que se afirma em: a) Uma Matriz é uma estrutura que possui mais de uma dimensão; b) Sendo Bidimensional, a variável atua como uma grade de linhas e colunas, na qual a intersecção entre uma linha e uma coluna mostra um índice da matriz; (correta) c) É válido observar que o mais comum é a matriz de duas dimensões poder se relacionar diretamente com a utilização de tabelas; d) Uma matriz de duas dimensões está sempre fazendo menção a linhas e colunas e é representado por seu nome e seu tamanho (dimensão) entre colchetes. Questão 6 Sobre Funções, assinale a alternativa correta: a) Uma função é similar a um procedimento, porém efetua o retorno de um valor. (correta) b) Na definição de uma função não é obrigatório explicitar o tipo do valor a ser retornado. c) Um função só pode ser invocada a partir do módulo principal do programa. d) Obrigatoriamente o valor retornado por uma função deve ser armazenado em uma variável. e) Um função pode retornar um conjunto de valores organizados em um vetor ou em uma matriz. Questão 7 Sobre a estrutura de Repetição Contados - PARA...ATE...FACA... e incorreto apenas o que se afirma em: a) Quando uma sequencia de comandos deve ser executada repetidas vezes, tem-se uma estrutura de repetição; b) Na repetição contados o algoritmo apresenta previamente a quantidade de repetições; c) A repetição ocorre por meio de uma variável de controle definida pela sintaxe da estrutura, que atua como GABARITO Protocolo: 547770 Página 3 - 22/08/2019 às 14:56 uma contadora automática; (correta) d) A estrutura de repetição, assim como a de decisão, envolve sempre a avaliação de uma condição. Questão 8 São definições corretas de matrizes 8 por 4 e 4 por 3 em qual das alternativas abaixo? a) notas:vetor[1..8,1..4] de real - notas:vetor[1..3,1..4] de real; b) notas:vetor[1..8,1..4] tipo real - notas:vetor[1..3,1..4] tipo real; c) notas:vetor[1..4,1..8] tipo real - notas:vetor[1..4,1..3] tipo real; d) notas:vetor[1..8,1..4] de real - notas:vetor[1..4,1..3] de real. (correta) Questão 9 Para tentar descobrir o que a função abaixo faz, um aluno experimentou-a com os valores de entrada 1, 3 e 4 e obteve os seguintes resultados, respectivamente: a) -4, 2 e 16. b) 2, 6 e 8. c) 4, -2 e 32. d) 2, -4 e 8. (correta) e) 2, -2 e 4. Questão 10 Sobre procedimentos, assinale a alternativa correta: a) Em um programa, os procedimentos obrigatoriamente devem ser definidos após o módulo principal do programa. b) Em um procedimento não é permitida a leitura e escrita de valores, apenas operações lógicas e aritméticas podem ser realizadas. c) Os procedimentos podem ser chamados somente a partir do módulo principal do programa. d) Um procedimento é um módulo que serve para facilitar a manutenção e a compreensão dos programas e para que os subprogramas possam ser reutilizados. (correta) e) Os procedimentos não permitem a passagem de parâmetros. PROVA 02 Questão 1 Sobre o conceito de Funções Recursivas, analise as afirmativas abaixo: I. Um programa deve conter no máximo uma função recursiva. II. Recursividade é utilizada exclusivamente quando não se sabe solucionar um problema de maneira imediata, então é realizada a divisão em problemas menores para alcançar o resultado desejado. III. Todos os problemas computacionais resolvidos de maneira iterativa podem ser resolvidos de forma GABARITO Protocolo: 547770 Página 4 - 22/08/2019 às 14:56 recursiva. É correto apenas o que se afirma em: a) II (correta) b) III c) I e II d) II e III Questão 2 Qual algoritmo de ordenação emprega a idéia a seguir: A ideia é percorrer o vetor diversas vezes, e a cada passagem fazer flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. a) Bubble Sort (correta) b) Insertion Sort c) Selection Sort d) Nenhum dos algoritmos apresentados Questão 3 Analise as afirmativas a seguir a respeito de algoritmos recursivos. I. Diz-se que uma função é recursiva se a sua definição envolver uma chamada a ela mesma. II. Cada função recursiva possui uma função iterativa equivalente e vice versa, mas que pode ter mais ou menos complexidade em sua construção. III. Uma função recursiva possui duas partes: caso base e caso recursivo. IV. Uma função pode ser chamada de iterativa quando ela requer a repetição implícita de um processo até que determinada condição seja satisfeita. V. A recursividade possibilita a escrita de um código mais enxuto e com maior legibilidade. É correto apenas o que se afirma em: a) I e II b)II e III c) II e IV d) I, III e V (correta) Questão 4 Podemos fazer uma comparação de um algoritmo de ordenação com a seguinte situação: Imagine que você está jogando cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam a ordenação. A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim por diante, até você não receber mais cartas. Esta é a ideia por trás de qual algoritmo de ordenação? a) Bubble Sort GABARITO Protocolo: 547770 Página 5 - 22/08/2019 às 14:56 b) Insertion Sort (correta) c) Selection Sort d) Nenhum dos algoritmos apresentados. Questão 5 Qual o algoritmo de ordenação emprega a seguinte estatégia: Dado um vetor com n elementos, o algoritmo deve passar sempre o menor valor do vetor para a primeira posição (ou o maior dependendo da ordem requerida), depois o de segundo menor valor para a segunda posição, e assim é feito sucessivamente com os n-1 elementos restantes, até os últimos dois elementos. a) Bubble Sort (correta) b) Insertion Sort c) Selection Sort d) Nenhum dos algoritmos apresentados Questão 6 Sobre a construção de algoritmos, avalie as afirmativas a seguir: I - A estrutura de repetição Repita...Até garante que pelo menos uma vez o bloco de comandos da estrutura é executado, pois o teste lógico é feito apenas no fim do laço. II - Na estrutura de repetição Enquanto...Faça a condição é testada no inicio do laço e o bloco de comandos da estrutura pode ser executado várias vezes ou até nenhuma vez. III - Para evitar a ocorrência de loop infinito é necessário que, nas estruturas de repetição, exista uma variável no teste lógico que seja modificada no interior da estrutura. IV - Uma repetição condicional pode ser representada pela estrutura Enquanto...Faça ou pela estrutura Repita...Até. A estrutura Enquanto...Faça repete somente quando a condição é falsa e a estrutura Repita...Até somente quando a condição é verdadeira. É correto apenas o que se afirma em: a) I e II. b) I, II e III. (correta) c) I, II e IV. d) II e III. e) II, III e IV. Questão 7 Sobre recursividades, assinale a alternatica correta: a) Através da recursividade pode-se resolver qualquer problema do meio computacional. b) Uma função recursiva opcionalmente deve retornar algum valor. c) Uma função recursiva opcionalmente deve empregar passagem de parâmetros. d) Uma função é chamada de recursiva devido a capacidade de chamar a si mesma. (correta) e) Uma função recursiva não provoca o risco de loop infinito como ocorre em uma estrutura de repetição. Questão 8 Sobre Escopo de Variáveis, assinale a alternativa correta: a) Uma variável local é somente aquela declarada dentro de uma função ou um procedimento. E uma variável global é aquela declarada dentro no módulo principal do programa. b) Uma variável local é aquela que declarada dentro do módulo principal do programa ou dentro de uma função ou procedimento. (correta) GABARITO Protocolo: 547770 Página 6 - 22/08/2019 às 14:56 c) Uma variável global pode ser acessada somente pelo módulo principal do programa. d) Uma variável local não pode receber um valor de uma variável global. e) Uma variável local permite receber um valor somente através de uma operação de leitura e uma variável global permite o recebimento de um valor apenas através de uma operação de atribuição. Questão 9 Assinale a alternativa que define corretamente o que pseudocódigo abaixo emprega: a) Recursividade; (correta) b) Procedimento; c) Estrutura de Repetição; d) Registros Questão 10 Sobre Arquivos, assinale a alternativa correta: a) Para a abertura de um aquivo é necessário apenas informar o nome do arquivo. b) Em arquivos é possível escrever apenas caracteres e valores inteiros. Valores reais não são aceitos. c) Os arquivos são úteis, pois permitem ao programador salvar dados para uso futuro. (correta) d) O nome do arquivo a ser manipulado pelo programa não pode ser fornecido pelo usuário, deve estar de modo estático no programa. e) Em arquivos não é permitida a modificação do seu conteúdo por meio do programa.
Compartilhar