1) Considere o seguinte programa escrito em Linguagem C, que verifica a quantidade de dias que cada mês possui. main(){ int mes, dias; printf ("Entre o mês (em número) "); scanf (%d,&mes); switch (mes){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: dias = 31; break; case 2: dias = 2; break; case 4: case 6: case 9: case 11: dias = 30; break; default: dias = 0; printf ("O número do mês é incorreto"); } } Sobre a instrução SWTICH evidenciada no programa acima, analise as seguintes asserções e a relação proposta entre elas: I. O último case ou o default de um switch não necessita de break. PORQUE II. Depois de executar as instruções associadas ao último case termina a instrução switch. A respeito dessas asserções, assinale a opção correta. Alternativas: a) As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. b) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. c) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. d) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. e) As asserções I e II são proposições falsas. 2) A sintaxe do laço do... while em Linguagem C é: do instrução; while (condição); Sobre a instrução do... while, analise as seguintes asserções e a relação proposta entre elas: I. A instrução do... while difere dos laços while e for. PORQUE II. O teste da condição é realizado no início do corpo do laço e não depois. A respeito dessas asserções, assinale a opção correta. Alternativas: a) As asserções I e II são proposições verdadeiras e a II é uma justificativa da I. b) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. c) A asserção I é uma proposição verdadeira e a II é uma proposição falsa. d) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. e) As asserções I e II são proposições falsas. 3) Considere o seguinte programa escrito em Linguagem C: #include main(){ int n; n = 1; while (n<=10) printf ("%d", 5*n); n = n + 1; } } Sobre este programa, analise as seguintes sentenças: I. A variável n é iniciada com 1. II. Se n tiver um valor menor ou igual a 10, a condição devolve verdade e então são executadas as duas instruções dentro do bloco do while. III. Em resumo, o programa apresenta na tela os 10 primeiros números em ordem crescente. IV. Em resumo, o programa apresenta na tela os resultados da multiplicação de 5 pelo valor atual da variável que controle o laço, sendo esta uma variação de 1 a 10. Agora, assinale a alternativa que apresenta a resposta correta. Alternativas: a) Somente a afirmativa IV está correta. b) As afirmativas I e II estão corretas. c) As afirmativas I, II e III estão corretas. d) As afirmativas I, II e IV estão corretas. e) As afirmativas I, II, III e IV estão corretas. 4) A sequência de Fibonacci (0, 1, 1, 2, 3, 5, 8, 13, 21, ...) é uma sequência de números inteiros, que se inicia com 0 e 1, e tem a propriedade de que cada elemento é a soma dos dois elementos anteriores, por exemplo: 0 + 1 = 1 e 1 + 1 = 2. Sobre a sequência de Fibonacci e sua implementação computacional, analise as seguintes sentenças: I. A utilização da recursividade torna a solução e implementação do problema simples e intuitiva. II. A definição recursiva da implementação computacional seria: fibonacci(n) = n se n= 0 ou n =1 fibonacci(n) = Fibonacci (n-1) + Fibonacci(n-2) se n>=2. III. A implementação recursiva é o único meio de se de se computar o enésimo termino da sequência de Fibonacci. IV. A implementação iterativa também pode apresentar uma solução para o problema. Agora, assinale a alternativa que apresenta a resposta CORRETA. Alternativas: a) Somente a afirmativa II está correta. b) As afirmativas I e II estão corretas. c) As afirmativas I, II e III estão corretas. d) As afirmativas I, II e IV estão corretas. e) As afirmativas I, II, III e IV estão corretas. 5) O algoritmo QuickSort é um método de ordenação muito rápido e eficiente. Ele baseia-se na técnica "dividir e conquistar", onde a ideia é reduzir um problema em problemas menores, resolver cada um destes subproblemas e combinar as soluções parciais para obter a solução do problema original. A recursividade é uma forma interessante de se implementar este algoritmo. Em resumo, o algoritmo QuickSort é composto dos seguintes passos: 1. Rearranjo da lista de modo eu todos os elementos anteriores ao pivô sejam menores que ele, e todos os elementos posteriores ao pivô sejam maiores que ele.2. Recursivamente ocorre a ordenação da sublista dos elementos menores e sublista dos elementos maiores.3. Escolha de um elemento da lista, denominado pivô. Assinale a alternativa que apresenta a ordem correta dos passos do algoritmo QuickSort. Alternativas: a) 1 – 2 – 3. b) 2 – 1 – 3. c) 3 – 1 – 2. d) 3 – 2 – 1. e) 2 – 3 – 1
Soluções para a tarefa
Respondido por
3
respostas corretas e corrigidas em meu AVA..
1 : A
2 : E
3 : D
4 : E
5 : C
Perguntas interessantes