Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. Os subprogramas atuam na divisão da complexidade de um problema computacional em partes menores, auxiliando, desta forma, a sua resolução. Na linguagem de programação Javascript, os subprogramas, conhecidos como funções, podem ou não conter retorno, o que dá uma maior flexibilidade ao desenvolvedor, embora prejudique a legibilidade do código fonte. Considerando a implementação de funções na linguagem de programação Javascript, analise o código fonte da figura e classifique V para as sentenças verdadeiras e F para as falsas: ( ) A função helloWorld retorna o argumento que foi passado como parâmetro. ( ) Esta página simplesmente imprimirá a mensagem Hello-World. ( ) O tipo do retorno da função está declarado na sua assinatura. ( ) A função helloWorld é chamada na linha 12 da imagem. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F - V. b) F - V - F - V. c) V - F - F - V. d) V - F - V - F. 2. Considere uma lista encadeada em que cada nó contém uma String. Após algumas operações de inserção, a sequência das Strings na lista é: ?Emanuelle?, ?Cecília?, ?Catarina?, ?Benjamin?. Avaliando o código fonte mostrado na figura anexa, e que o conteúdo da variável nome é igual a ?Cristiano?, assinale a alternativa que apresenta a sequência da lista após execução do método: a) ?Emanuelle?, ?Cristiano?, ?Cecília?, ?Catarina?, ?Benjamin?. b) ?Emanuelle?, ?Cecília?, ?Catarina?, ?Benjamin?, ?Cristiano?. c) ?Cristiano?, ?Emanuelle?, ?Cecília?, ?Catarina?, ?Benjamin?. d) ?Emanuelle?, ?Cecília?, ?Catarina?, ?Cristiano?, ?Benjamin?. https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_1%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_2%20aria-label= 3. 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) V - F - F - F - F. b) V - V - F - V - V. c) F - F - F - F - V. d) F - V - V - F - F. 4. A classe CountOccurrence escrita na linguagem Java tem por objetivo localizar e contar quantas ocorrências de um determinado valor existem em um conjunto predeterminado de valores, retornando a quantidade de vezes que um determinado valor se repete no conjunto. public class CountOccurrence { public boolean hasValue(int searchValue, int[] array, int i) { if (i >= array.length) return false; if (array[i] == searchValue) return true; else return hasValue(searchValue, array, i + 1); } public int count(int countValue, int[] array, int i) { if (!hasValue(countValue, array, i) '' i >= array.length) return 0; int c = 0; if (array[i] == countValue) https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_3%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_4%20aria-label= c++; c += count(countValue, array, i+1); return c; } public static void main(String[] args) { int[] array = {2, 3, 5, 6, 9, 7, 8, 8, 9}; CountOccurrence co = new CountOccurrence(); System.out.println(co.count(5, array, 0)); } } Considerando o requisito proposto e o código apresentado, avalie as asserções a seguir e a relação proposta entre elas: I- Para que o algoritmo funcione corretamente, deve-se alterar a linha 21, de c += count( countValue, array, i ); para c += count(countValue, array, i + 1); PORQUE II- Da forma como o código está escrito, o código não compilará por estar chamando o mesmo método dentro dele indefinidamente. Assinale a alternativa CORRETA: a) As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira. b) A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa. c) As duas asserções são proposições falsas. d) A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira. 5. Vários são os tipos de estrutura de dados quando o assunto é o armazenamento e acesso eficiente dos dados: pilhas, filas, vetores, matrizes, listas. Cada um dos tipos citados tem características muito particulares com relação à inclusão, ao acesso e à exclusão dos dados. Com relação às estruturas de dados, analise as sentenças a seguir: I- Na fila, não há exclusões e as inserções são feitas sempre na parte inferior. II- As estruturas de dados são sempre estáticas, ou seja, seu tamanho ou capacidade de armazenamento nunca sofrem alterações. III- As inserções e as exclusões podem ser feitas em qualquer lugar da lista em uma lista encadeada. IV- Nas pilhas, as inserções e as exclusões são feitas apenas no seu topo. Assinale a alternativa CORRETA: https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_5%20aria-label= a) As sentenças III e IV estão corretas. b) As sentenças II, III e IV estão corretas. c) As sentenças I, II e IV estão corretas. d) As sentenças I e III estão corretas. 6. As strings funcionam como facilitadores para os desenvolvedores de software, pois permitem que sejam criadas variáveis para armazenamento de conjuntos de caracteres sem a necessidade de preocupação com o seu funcionamento interno. Sobre o tipo string na linguagem de programação C, analise as sentenças a seguir: I- Uma variável do tipo string tem seu final sinalizado através do caractere ''. II- O conteúdo de uma variável do tipo string é representado internamente por um símbolo numérico, geralmente no formato ASCII. III- Uma string pode ser considerada como um vetor multidimensional. IV- Uma string pode ser considerada como um vetor unidimensional. Assinale a alternativa CORRETA: a) As sentenças I e IV estão corretas. b) As sentenças II e III estão corretas. c) As sentenças II e IV estão corretas. d) As sentenças I e III estão corretas. 7.A alocação dinâmica de memória para armazenamento de objetos é uma das alternativas à utilização de vetores e matrizes, apresentando, entretanto, alguma complexidade adicional no que se refere à própria estrutura de armazenamento e busca. Considerando uma lista encadeada que faça uso da alocação dinâmica de memória, assinale a alternativa CORRETA: a) O último elemento da lista encadeada não é referenciado por nenhum dos anteriores, indicando o final da lista. b) Uma lista encadeada exige que se conheça inicialmente o número de objetos a serem alocados. c) O primeiro elemento de uma lista encadeada sempre possuirá uma referência para null, indicando os demais elementos da lista. d) Não podemos afirmar que os elementos de uma lista encadeada estão colocados na memória de forma contígua. 8. O algoritmo a seguir recebe um vetor v de números inteiros e rearranja esse vetor de tal forma que seus elementos, ao final, estejam ordenados de forma crescente. Considerando que nesse algoritmo há erros de lógica que devem ser corrigidos para que os elementos sejam ordenados de forma crescente, avalie as afirmativas a seguir: I- A linha 04 deve ser corrigida da seguinte forma: for(i = 1; i < n - 1 ; i ++) II- A linha 08 deve ser corrigida da seguinte forma: while( j >= 0 && v[j] >chave) III- A linha 10 deve ser corrigida do seguinte modo: v [ j + 1] = v [ j]; IV- a linha 13 deve ser corrigida do seguinte modo: v [ j - 1] = chave; Assinale a alternativa CORRETA: https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_6%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_7%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_8%20aria-label= a) As afirmativas II e III estão corretas. b) As afirmativas I e IV estão corretas. c) As afirmativas III e IV estão corretas. d) As afirmativas I e II estão corretas. 9. As listas dupla e simplesmente encadeadas apresentam-se como soluções para situações em que o desenvolvedor precisa armazenar um número desconhecido de ocorrências de uma mesma entidade na memória. Uma das maneiras de implementar as listas é através da autorreferenciação dentro da própria entidade que será armazenada. Por exemplo, em uma lista de Automóveis, cada Automóvel conterá a informação que levará para o próximo elemento da lista. Com relação a este tipo específico de implementação de listas, analise as sentenças a seguir: I- Este tipo de lista possui características que violam o princípio da coesão. II- Este tipo de lista apresenta uma complexidade menor para o desenvolvedor no momento da manutenção, pois todas as informações estão em praticamente uma única entidade. III- Devido à sua característica de autorreferenciação, este tipo de implementação não permite a criação de listas duplamente encadeadas. IV- Para reduzir a complexidade na manutenção de uma lista encadeada, a entidade que conterá a informação a ser armazenada deve ser desacoplada da lista propriamente dita. Agora, assinale a alternativa CORRETA: a) As sentenças I e III estão corretas. b) As sentenças I, II e III estão corretas. c) As sentenças I e IV estão corretas. d) Somente a sentença II está correta. 10. Os números de Fibonacci correspondem a uma sequência infinita na qual os dois primeiros termos são 0 e 1. Cada termo da sequência, à exceção dos dois primeiros, é https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_9%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_10%20aria-label= igual à soma dos dois anteriores, conforme a relação de recorrência a seguir. f(n) = f(n-1) + f(n-2) Para desenvolver este algoritmo é possível fazer ele iterativo ou recursivo. Sobre o exposto, analise as afirmativas a seguir: I- A iteratividade indireta é caracterizada, por exemplo, quando uma função C chama a função D, e esta função D, chama a função C. II- A solução recursiva possui a vantagem de ser implementada diretamente a partir da definição do problema. III- A solução iterativa é mais vantajosa em termos de eficiência, mas exige mais atenção na implementação. IV- A solução iterativa realiza economia de espaço na memória do computador. Assinale a alternativa CORRETA: a) As afirmativas III e IV estão corretas. b) As afirmativas II e III estão corretas. c) As afirmativas I e IV estão corretas. d) As afirmativas I e II estão corretas. 11. (ENADE, 2011) A pilha é uma estrutura de dados que permite a inserção/remoção de itens dinamicamente seguindo a norma de último a entrar, primeiro a sair. Suponha que para uma estrutura de dados, tipo pilha, são definidos os comandos: PUSH (p, n): Empilha um número "n" em uma estrutura de dados do tipo pilha "p"; POP (p): Desempilha o elemento no topo da pilha. Considere que, em uma estrutura de dados tipo pilha "p", inicialmente vazia, sejam executados os seguintes comandos: PUSH (p, 10) PUSH (p, 5) PUSH (p, 3) PUSH (p, 40) POP (p) PUSH (p, 11) PUSH (p, 4) PUSH (p, 7) POP (p) POP (p) Após a execução dos comandos, o elemento no topo da pilha "p" e a soma dos elementos armazenados na pilha "p" são, respectivamente: a) 7 e 29. b) 11 e 29. c) 11 e 80. d) 4 e 80. https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDY0Mg==&action2=QURTMTI=&action3=NTEzMzY2&action4=MjAyMC8x&action5=MjAyMC0wNi0wMlQwMzowMDowMC4wMDBa&prova=MTg5NTc0NzA=#questao_11%20aria-label=
Compartilhar