Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO Teste QUESTIONÁRIO UNIDADE I Status Completada Resultado da tentativa 1 em 1 pontos Tempo decorrido 2 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários, Perguntas respondidas incorretamente Pergunta 1 Resposta Selecionada: b. Respostas: a. b. c. d. Analise o algoritmo “teste logico” e identifique a saída nas alternativas: algoritmo “teste logico” var a, b, c, d: inteiro resultado: logico inicio a ß 1 b ß 2 c ß 3 d ß 4 resultado ß (a>b) e (b>c) ou ((c+d*a) < (d-c*2)) escreva(“O resultado é:”, resultado) fim O resultado é: FALSO. O resultado é: ABCD. O resultado é: FALSO. O resultado é: NÃO. O resultado é: VERDADEIRO. UNIP EAD BIBLIOTECAS MURAL DO ALUNO TUTORIAISCONTEÚDOS ACADÊMICOS e. Feedback da resposta: O resultado é: RESULTADO. Resposta: B Comentário: o resultado da expressão será FALSO conforme resolução do teste lógico abaixo: ( a > b ) e ( b > c ) ou ( ( c + d * a ) < ( d – c * 2 ) ) (FALSO) e (FALSO) ou ((7) < (-2)) (FALSO) e (FALSO) ou (FALSO) (FALSO) ou (FALSO) (FALSO) Pergunta 2 Resposta Selecionada: d. Respostas: a. b. c. Analise o fluxograma e, pelo teste de mesa, assinale a alternativa que corresponda à saída do algoritmo pela impressão da variável PR_TOT: Fonte: Livro-texto Qual a saída correta? 50. 5. 10. 2. 0,1 em 0,1 pontos 27/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – 6654-... d. e. Feedback da resposta: 50. 25. Resposta: D Comentário: o algoritmo recebe o valor 5.0 na variável PR_UNIT e 10 na variável QTD. A variável PR_TOT recebe o cálculo PR_UNIT * QTD e apresenta o seu valor. PR_TOT ß PR_UNIT *QTD PR_TOT ß 5 *10 PR_TOT ß 50 Pergunta 3 Resposta Selecionada: e. Respostas: a. b. c. d. Carlos é um desenvolvedor de software que foi contratado para criar um algoritmo capaz de calcular o salário dos funcionários de uma empresa de acordo com o reajuste anual de correção salarial. Considerando a tabela e utilizando o algoritmo desenvolvido por Carlos, faça o teste de mesa para encontrar o salário dos funcionários João e Maria, em que João recebe R$ 2500,00 e a Maria R$ 1640,00; ao final do algoritmo, qual o valor dos novos salários se baseando na tabela de rejuste? algoritmo “reajuste_salarial” var salarioAtual, reajuste, novoSalario: real inicio escreva(“Digite o salário atual:”) leia(salarioAtual) escreva(“Digite o valor (percentual) do reajuste:”) leia(reajuste) novoSalario ß salarioAtual + (salarioAtual / 100) * reajuste escreva(“O novo salario é ”, novoSalario) fim O salário dele será R$ 2550,00 e o salário dela será R$ 1664,60. O salário dele será R$ 2500,00 e o salário dela será R$ 1640,00. O salário dele será R$ 1640,00 e o salário dela será R$ 2550,00. O salário dele será R$ 50,00 e o salário dela será R$ 24,60. 0,1 em 0,1 pontos 27/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_53335980_1&course_id=_115302_1&content_id=_1545667_1&return_c… 4/10 e. Feedback da resposta: O salário dele será R$ 2524,60 e o salário dela será R$ 1690,00. O salário dele será R$ 2550,00 e o salário dela será R$ 1664,60. Resposta: E Comentário: o salário dele é de R$ 2500,00. Analisando a tabela, o reajuste será de 2,0%, sendo assim, o valor do novo salário dele será R$ 2550,00. O salário dela é R$ 1640,00; analisando a tabela, o reajuste será de 1,5%; e o seu novo salário será de R$ 1664,60. Pergunta 4 Resposta Selecionada: b. Respostas: a. b. c. d. e. Considerando o algoritmo “Calcula_preco” para o cálculo de preços dos produtos, assinale a resposta correta: algoritmo "Calcula_preco" var precoUnit, precoTotal: real quant: inteiro inicio escreva ("Digite o preço unitário: ") leia (precoUnit) escreva ("Digite a quantidade: ") leia (quant) precoTotal <- precoUnit * quant * 1.25 escreva(precoTotal) fim Preço unitário igual a 1,20 e quantidade igual a 6,00 o preço total será 9,00. Preço unitário igual a 1,20 e quantidade igual a 6,00 o preço total será 7,20. Preço unitário igual a 1,20 e quantidade igual a 6,00 o preço total será 9,00. Preço unitário igual a 3,50 e quantidade igual a 2,00 o preço total será 7,00. Preço unitário igual a 3,50 e quantidade igual a 2,00 o preço total será 8,00. Nenhuma alternativa anterior está correta. 0,1 em 0,1 pontos 27/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_53335980_1&course_id=_115302_1&content_id=_1545667_1&return_c… 5/10 Feedback da resposta: Resposta: B Comentário: a fórmula utilizada para calcular o preço dos produtos é: precoTotal ß precoUnit * quant * 1.25 precoTotal ß 1,20 * 6,0 * 1.25 precoTotal ß 9 Pergunta 5 Resposta Selecionada: d. Respostas: a. b. c. d. e. Feedback da resposta: Considerando o algoritmo “calculo_da_media” e os valores de entrada 5, 8, 7, 3.5 e 8.5, respectivamente; assinale a alternativa que contenha a saída correta do algoritmo. algoritmo " calculo_da_media " var n1, n2, n3, n4, n5, media: real inicio escreval("Digite a primeira nota (n1): ") leia(n1) escreval("Digite a segunda nota (n2): ") leia(n2) escreval("Digite a terceira nota (n3): ") leia(n3) escreval("Digite a quarta nota (n4): ") leia(n4) escreval("Digite a quinta nota (n5): " ) leia(n5) media ß (n1 + n2 + n3 + n4 + n5)/5 escreval("A média do aluno foi", media) fimalgoritmo A média do aluno foi 6,4. A média do aluno foi 5. A média do aluno foi 8,5. A média do aluno foi 3,5. A média do aluno foi 6,4. A média do aluno foi 32. Resposta: D Comentário: para executar o cálculo da média, o algoritmo utiliza média aritmética, isto é, soma de todas as notas e divide pela quantidade de notas lidas. Media ß (n1+n2+n3+n4+n5)/5 Media ß 32/5 Media ß 6.4 0,1 em 0,1 pontos 27/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_53335980_1&course_id=_115302_1&content_id=_1545667_1&return_c… 6/10 Pergunta 6 Resposta Selecionada: c. Respostas: a. b. c. d. e. Feedback da resposta: Considere o algoritmo “inverter_numero”. Faça o teste de mesa para o algoritmo considerando como entrada o valor 856. Assinale a alternativa que corresponda à saída correta do algoritmo. algoritmo "inverter" var result1, result2, result3: inteiro num, resto1, resto2: inteiro inicio escreval("Digite um numero de três digitos:") leia(num_digit) result1 ß num div 100 resto1 ß num mod 100 result2 ß resto1 div 10 resto2 ß resto1 mod 10 result3 ß resto2 div 1 escreval("A inversão do numero digitado é", result3, result2, result1) fim A inversão do número digitado é 6 5 8. A inversão do número digitado é 8 5 6. A inversão do número digitado é 3 5 4. A inversão do número digitado é 6 5 8. A inversão do número digitado é 4 2 3. A inversão do número digitado é 2 4 5. Resposta: C Comentário: o algoritmo executa a inversão do número digitado utilizando os operadores aritméticos DIV (quociente) e MOD (o resto da divisão), fazendo com que a impressão seja a inversão do número digitado. Pergunta 7 Considere o algoritmo “rendimento_poupanca” e, por meio do teste de mesa, assinale a alternativa que corresponda à saída do algoritmo. algoritmo " rendimento_poupanca " var saldo, total: real 0,1 em 0,1 pontos 0,1 em 0,1 pontos 27/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_53335980_1&course_id=_115302_1&content_id=_1545667_1&return_c… 7/10 Resposta Selecionada: e. Respostas: a. b. c. d. e. Feedback da resposta: inicio escreval("Digite o saldo: ") leia(saldo) total ß saldo + (saldo * 5) / 100 escreval("O saldo atual com o rendimento de 5% é", total) fim Saldo digitado: 1600, a saída foi: O saldo com o rendimento em 5% é 1680. Saldo digitado: 2000, a saída foi: O saldo com o rendimento em 5% é 2300. Saldo digitado: 1700, a saída foi: O saldo com o rendimento em 5% é 1830. Saldo digitado: 800, a saída foi: O saldo com o rendimento em 5% é 920. Saldo digitado: 3600, a saídafoi: O saldo com o rendimento em 5% é 3800. Saldo digitado: 1600, a saída foi: O saldo com o rendimento em 5% é 1680. Resposta: E Comentário: o algoritmo calcula um rendimento de 5% sobre o saldo informado: total ß saldo + (saldo*5) / 100 total ß 1600 + (1600 * 5) / 100 total ß 1680 Pergunta 8 Considere o algoritmo a seguir “troca_conteudo” e, pelo teste de mesa, identifique a saída desse algoritmo considerando os valores de entrada 5 e 15, respectivamente. algoritmo “troca_conteudo” var a, b: inteiro aux: inteiro inicio escreva(“Entre com o valor de a: ”) leia(a) 0,1 em 0,1 pontos 27/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_53335980_1&course_id=_115302_1&content_id=_1545667_1&return_c… 8/10 Resposta Selecionada: c. Respostas: a. b. c. d. e. Feedback da resposta: escreva(“Entre com o valor de b: ”) leia(b) aux ß a; a ß b; b ß aux; escreva(“O valor de a é”, a, “ e o valor de b é”, b) fim O valor de a é 15 e o valor de b é 5. O valor de a é 5 e o valor de b é 15. O valor de a é 5 e o valor de b é 10. O valor de a é 15 e o valor de b é 5. O valor de a é 15 e o valor de b é 3. O valor de a é 3 e o valor de b é 10. Resposta: C Comentário: o algoritmo recebe (entrada de dados) na variável “a” o valor 5 e, na variável “b”, o valor 15. O processamento é a troca dos valores, ou seja, “a” recebe o valor de “b” e “b” recebe o valor da “a”. Para executar a troca corretamente, precisamos de uma variável auxiliar “aux” que guardará o valor de “a” para que depois “a” possa receber “b” e a variável “b” recebe o valor da “auxiliar”. Vale ressaltar que, sem guardar o valor em uma variável auxiliar, perderíamos o número que estava na variável “a” depois que ela recebesse “b”. Pergunta 9 Considere o algoritmo a seguir e, por meio do teste de mesa ou teste manual, identifique a saída desse algoritmo tendo como entrada os valores 23 e 42, respectivamente. algoritmo "operadores" var x, y: inteiro result1, result2: inteiro result3, result4: real inicio escreva("Digite o primeiro número: ") leia(x) escreva("Digite o segundo número: ") leia(y) result1 ß x + y; result2 ß x - y; result3 ß y / 2; result4 ß (x + 2) * y; 0,1 em 0,1 pontos 27/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_53335980_1&course_id=_115302_1&content_id=_1545667_1&return_c… 9/10 Resposta Selecionada: d. Respostas: a. b. c. d. e. Feedback da resposta: escreva("Os resultados das operações são:", result4, ",", result3, ",", result2, ",", result1) fim Os resultados são: 1050, 21, 19, 65. Os resultados são: 23, 42, 65,19. Os resultados são: 65, 19, 21, 1050. Os resultados são: 19, 21, 65, 1050. Os resultados são: 1050, 21, 19, 65. Os resultados são: 21, 65, 23, 42. Resposta: D Comentário: o resultado de cada operação, tendo como valores de entrada 23 e 42, será: result1 é igual a 65 result2 é igual a 19 result3 é igual a 21 result4 é igual a 1050 Vale ressaltar que a impressão dos dados pelo comando está em ordem inversa aos valores de entrada, ou seja, valor4, valor3. valor2 e valor1. Pergunta 10 Um grupo de alunos desenvolveu um algoritmo para facilitar o cálculo da média de suas notas. Sabendo que, para ser aprovado no semestre, o aluno deve ter média superior a 5,0, em que essa média é calculada da seguinte forma: nota1 possui peso 4 (quatro) e a nota2 possui peso 6 (seis). Ao final da execução do algoritmo “calcula_media”, quantos alunos da tabela a seguir estarão aprovados na disciplina de Linguagem e Técnica de Programação? algoritmo “calcula_media” var nota1, nota2, media: real inicio escreva(“Digite a nota 1:”) leia(nota1) escreva(“Digite a nota 2:”) leia(nota2) 0,1 em 0,1 pontos 27/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_53335980_1&course_id=_115302_1&content_id=_1545667_1&return_… 10/10 Sexta-feira, 27 de Novembro de 2020 23h11min19s GMT-03:00 Resposta Selecionada: a. Respostas: a. b. c. d. e. Feedback da resposta: media ß (nota1 * 0.4) + (nota2 * 0.6) escreva(“Sua média é”, media) fim 4 alunos passaram de ano na disciplina. 4 alunos passaram de ano na disciplina. 3 alunos passaram de ano na disciplina. 5 alunos passaram de ano na disciplina. 7 alunos passaram de ano na disciplina. 6 alunos passaram de ano na disciplina. Resposta: A Comentário: conforme a tabela de referência, o cálculo da média de cada aluno utilizando o algoritmo “calcula_media”, os alunos 1, 3, 6 e 7 conseguiram média acima de 5 e seriam aprovados no semestre, ou seja, apenas 4 alunos. LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO Teste QUESTIONÁRIO UNIDADE II Iniciado 09/09/20 11:42 Enviado 09/09/20 11:43 Status Completada Resultado da tentativa 1 em 1 pontos Tempo decorrido 0 minuto Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários, Perguntas respondidas incorretamente · Pergunta 1 0,1 em 0,1 pontos Com base na Linguagem C, assinale a alternativa que apresenta a forma correta para imprimir a mensagem “Meu nome é Francisco, tenho 52 anos e meu aniversário é em 12/06”: Resposta Selecionada: a. printf(“Meu nome é %s, tenho %d anos e o meu aniversario é %s/%s”,”Francisco”,52,”12”,”06”) ; Respostas: a. printf(“Meu nome é %s, tenho %d anos e o meu aniversario é %s/%s”,”Francisco”,52,”12”,”06”) ; b. printf(“Meu nome é %s, tenho %d anos e o meu aniversario é %s/%s”,”Francisco”,52,12,06) ; c. print(“Meu nome é %s, tenho %d anos e o meu aniversario é %s/%s”,”Francisco”,52,”12”,”06”) ; d. printf(“Meu nome é %s tenho %d anos e o meu aniversario é %.2f/%s”,”Francisco”,52,”12”, 06) ; e. printf(“Meu nome é %s tenho %d anos o meu aniversario é %.2f/%.2f”,”Francisco”,52,12,06) ; Feedback da resposta: Resposta: A Comentário: A alternativa A é a única que possui a sintaxe correta, pois o primeiro parâmetro é uma String (cadeia de caracteres) e sua máscara é %s, portanto, está correto. O segundo parâmetro é o número 52 e a máscara é %d, um número inteiro mostrando 52. O terceiro parâmetro é uma string “12” e a máscara é %s, portanto, mostra 12. O quarto parâmetro é uma string “06” e a máscara é %s, portanto, mostra 06. · Pergunta 2 0,1 em 0,1 pontos Com base na Linguagem C, assinale a alternativa que apresenta a sintaxe correta do comando scanf() para receber dois números inteiros. Considere num1 e num2 como sendo números inteiros: Resposta Selecionada: d. scanf(“%d %d”, &num1,&num2); Respostas: a. scan(“%d %d”, &num1,&num2); b. scanf(“%d %d”, num1,num2); c. scanf(“%f %f”, &num1,&num2); d. scanf(“%d %d”, &num1,&num2); e. scanf(“%s %s”, &num1,&num2); Feedback da resposta: Resposta: D Comentário: O comando scanf() é utilizado para a entrada de dados em C e possui uma sintaxe muito bem definida. Para o recebimento de dois números inteiros o comando scanf() utiliza o especificador de formato para inteiros %d, como os dois números são inteiros, a sintaxe correta é: scanf(“%d %d”, &num1,&num2); seguido do endereço das variáveis correspondentes (&num1, &num2). · Pergunta 3 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa. #include <stdio.h> void main() { int x=3; int y=15; y/=x; printf(“%d %d \n”, x, y); x=y++; printf(“%d %d \n”, x, y); } Resposta Selecionada: b. 3 5 5 6 Respostas: a. 3 5 3 4 b. 3 5 5 6 c. 3 15 4 16 d. 3 4 3 15 e. 4 16 3 15 Feedback da resposta: Resposta: B Comentário: Fazendo o teste de mesa para o algoritmo, teremos as saídas: · Pergunta 4 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int a=15; int b=3; b/=a; printf(“%d %d \n”, a, b); a=b++; printf(“%d %d \n”, a, b); } Resposta Selecionada: c. 15 0 0 1 Respostas: a. 3 5 5 6 b. 15 3 3 4 c. 15 0 0 1 d. 3 6 5 6 e. 3 53 4 Feedback da resposta: Resposta: C Comentário: Fazendo o teste de mesa para o algoritmo, teremos as saídas: Observação: a operação b/=a (o mesmo que b = b/a) possui o valor zero como resposta, pois 3/15 = 0,2, e por ser declarado como inteiro, a variável b receberá apenas a parte decimal, ou seja, o valor 0 (zero). · Pergunta 5 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int i = 15; int j = 3; j% = i; printf(“%d %d \n”, i, j); i = j++; printf(“%d %d \n”, i, j); } Resposta Selecionada: d. 15 3 3 4 Respostas: a. 15 0 0 1 b. 3 5 5 6 c. 15 4 4 5 d. 15 3 3 4 e. 3 0 3 4 Feedback da resposta: Resposta: D Comentário: Fazendo o teste de mesa para o algoritmo, teremos as saídas: Observação: na operação j% = i (o mesmo que j = j % i) representa o resto inteiro da divisão entre j e i. · Pergunta 6 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int num1 = 15; int num2 = 3; int num3; num2 += num1; num3 = num2; num2 = 2; printf("%d %d \n", num1, num2); num1 = num2++; printf("%d %d \n", num1, num2); } Resposta Selecionada: e. 15 2 2 3 Respostas: a. 15 3 3 4 b. 3 18 4 5 c. 3 2 2 3 d. 18 2 2 4 e. 15 2 2 3 Feedback da resposta: Resposta: E Comentário: Fazendo o teste de mesa para o programa acima, as saídas serão: · Pergunta 7 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int a=15; int b=3; int c, d; b += a; c = b; b = 2; d = c / b; printf("%d %d %d %d \n", a, b, c, d); } Resposta Selecionada: b. 15 2 18 9 Respostas: a. 15 3 18 9 b. 15 2 18 9 c. 15 18 2 3 d. 18 15 15 9 e. 18 2 9 15 Feedback da resposta: Resposta: B Comentário: Fazendo o teste de mesa para o programa acima, as saídas serão: · Pergunta 8 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int a=15; int b=3; int c, d; c = a / b; d = a % b; printf("%d %d %d %d \n", a, b, c, d); } Resposta Selecionada: d. 15 3 5 0 Respostas: a. 15 3 0 5 b. 15 5 3 1 c. 5 3 15 0 d. 15 3 5 0 e. 3 15 3 5 Feedback da resposta: Resposta: D Comentário: Fazendo o teste de mesa para o programa acima, as saídas serão: · Pergunta 9 0,1 em 0,1 pontos Considere o programa abaixo, escrito em Linguagem C, e assinale a alternativa que corresponda com a saída correta do programa: #include <stdio.h> void main() { int a = 8; int b; b=++a; printf(“%d %d\n”, a, b); b = a++; printf(“%d %d\n”,a, b); } Resposta Selecionada: c. 9 9 10 9 Respostas: a. 8 8 10 8 b. 8 9 10 11 c. 9 9 10 9 d. 9 8 10 8 e. 9 10 10 11 Feedback da resposta: Resposta: C Comentário: Fazendo o teste de mesa para o algoritmo, teremos como saída: · Pergunta 10 0,1 em 0,1 pontos Dado o seguinte programa: #include <stdio.h> void main() { int a=15; int b=2; b*=a; printf(“%d %d\n”,a, b); b=a--; printf(“%d %d\n”,a, b); } Qual alternativa apresenta a saída correta? Resposta Selecionada: a. 15 30 14 15 Respostas: a. 15 30 14 15 b. 16 30 14 16 c. 15 30 13 14 d. 15 2 14 1 e. 15 2 1 15 Feedback da resposta: Resposta: A Comentário: Fazendo o teste de mesa para o algoritmo, teremos como saída: Revisar envio do teste: QUESTIONÁRIO UNIDADE III Linguagem e Técnicas de Programação 288S_17501_20202_01 CONTEÚDO Usuário DOUGLAS LIMA TOFFETTI Curso Linguagem e Técnicas de Programação Teste QUESTIONÁRIO UNIDADE III Iniciado 29/09/20 11:05 Enviado 29/09/20 11:07 Status Completada Resultado da tentativa 1 em 1 pontos Tempo decorrido 2 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários, Perguntas respondidas incorretamente Pergunta 1 Analise o programa escrito em Linguagem C e assinale a alternativa que descreve a função correta do programa. #include <stdio.h> void main ( ) { int diaSemana; printf ("Digite o dia da semana: "); scanf ("%d", &diaSemana); switch (dia) { case 1: printf ("Domingo \n"); break; case 2: printf ("Segunda-feira \n"); break; case 3: printf ("Terça-feira \n"); break; case 4: printf ("Quarta-feira \n"); break; case 5: printf ("Quinta-feira \n"); break; case 6: printf ("Sexta-feira \n"); UNIP BIBLIOTECAS MURAL DO ALUNOCONTEÚDOS ACADÊMICOS 0,1 em 0,1 pontos http://company.blackboard.com/ https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_115239_1 https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_115239_1&content_id=_1544200_1&mode=reset https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_49_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_27_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_47_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_25_1 https://ava.ead.unip.br/webapps/login/?action=logout 29/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE III – 288S_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_46891706_1&course_id=_115239_1&content_id=_1544899_1&out… 2/10 Resposta Selecionada: b. Respostas: a. b. c. d. e. Feedback da resposta: break; case 7: printf ("Sábado \n"); break; default: printf("Dia inválido \n"); } } O programa recebe um número e apresenta o correspondente ao dia da semana. O programa recebe um número e informa se o dia será feriado. O programa recebe um número e apresenta o correspondente ao dia da semana. Segunda-feira corresponde ao número 1 na semana. Domingo corresponde ao número 7 na semana. Nenhuma das anteriores está correta. Resposta: B Comentário: o programa solicita ao usuário a entrada de um número e veri�ca pelo comando switch-case o dia da semana correspondente, apresentando como saída a string que representa o dia da semana. Pergunta 2 Considere o código a seguir em linguagem C e, após fazer uma análise pelos testes de mesa, assinale a alternativa correta que descreve a função do programa. Escolha 3 números inteiros de sua preferência e faça alguns testes. #include <stdio.h> void main (void) { int a, b, c; int aux; printf("Digite três números inteiros: "); scanf("%d %d %d",&a, &b, &c); if(a>b) { aux=a; a=b; b=aux; } if(a>c) 0,1 em 0,1 pontos 29/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE III – 288S_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_46891706_1&course_id=_115239_1&content_id=_1544899_1&out… 3/10 Resposta Selecionada: e. Respostas: a. b. c. d. e. Feedback da resposta: { aux=a; a=c; c=aux; } if(b>c) { aux=b; b=c; c=aux; } printf("%d %d %d", a, b, c); } Recebe 3 números inteiros e apresenta a saída com os números em ordem crescente. Recebe 3 números inteiros e apresenta a saída com os números em ordem decrescente. Recebe 3 números inteiros e apresenta a saída com os números fora de ordem. Recebe 3 números inteiros e apresenta a saída com os números em ordem de entrada. Recebe 3 números inteiros e apresenta a saída com os números em ordem inversa de entrada. Recebe 3 números inteiros e apresenta a saída com os números em ordem crescente. Resposta: E Comentário: o programa recebe como entrada 3 números e realiza alguns testes de forma independente, comparando-os de dois em dois, trocando os valores de posição, caso não estejam em ordem crescente. Pergunta 3 Considere o código escrito em Linguagem C e assinale a alternativa correta. #include <stdio.h> void main() { int idade; printf("Digite sua idade: "); scanf("%d", &idade); 0,1 em 0,1 pontos 29/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE III – 288S_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_46891706_1&course_id=_115239_1&content_id=_1544899_1&out…4/10 Resposta Selecionada: b. Respostas: a. b. c. d. e. Feedback da resposta: if((idade >= 18) && (idade <=67)){ printf("Permitido doar sangue \n"); }else{ printf("Não é permitido doar sangue \n"); } } Uma pessoa de 89 não pode doar sangue. Uma pessoa de 68 pode doar sangue. Uma pessoa de 89 não pode doar sangue. Uma pessoa de 17 pode doar sangue. Uma pessoa de 67 não pode doar sangue. Uma pessoa de 35 não pode doar sangue. Resposta: B Comentário: o programa recebe a idade de uma pessoa e informa se ela pode doar sangue ou não, analisando a sua idade. Para doar sangue, é necessário ter entre 18 e 67 anos. Pergunta 4 Resposta Selecionada: a. Respostas: a. b. Considere o código escrito em Linguagem C e assinale a alternativa que corresponda ao objetivo (função) dele: #include <stdio.h> void main() { int x, y; printf("Digite o primeiro numero: "); scanf("%d", &x); printf("Digite o segundo numero: "); scanf("%d", &y); if(x > y){ printf("O número = %d \n", x); }else{ printf("O número = %d \n", y); } } A função do programa é identi�car o maior número recebido. A função do programa é identi�car o maior número recebido. 0,1 em 0,1 pontos 29/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE III – 288S_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_46891706_1&course_id=_115239_1&content_id=_1544899_1&out… 5/10 c. d. e. Feedback da resposta: A função do programa é identi�car o menor número recebido. A função do programa é identi�car o número par. A função do programa é identi�car o número ímpar. Nenhuma das anteriores está correta. Resposta: A Comentário: o programa recebe dois números inteiros (por meio das variáveis “x” e “y”) e realiza um teste relacional utilizando a condicional SE (IF). Se “x” for maior que “y”, o número apresentado é “x”, senão o número apresentado é “y”, identi�cando assim o maior número digitado. Nesse exemplo não é veri�cado se os números são iguais, sendo necessária a adição de mais um teste relacionado para essa veri�cação. Pergunta 5 Resposta Selecionada: c. Respostas: a. b. c. d. e. Feedback da resposta: Considere o código escrito em Linguagem C e, pelo teste de mesa, assinale a alternativa que corresponda à saída correta do programa, considerando como entrada o número 57. #include <stdio.h> void main() { int num, resto; printf("Digite um numero: "); scanf("%d", &num); resto = num % 2; if(resto == 1){ printf("O número %d é impar \n", num); }else{ printf("O número %d é par \n", num); } } O número 57 é ímpar. O número 57 é par. O número 1 é ímpar. O número 57 é ímpar. O número 1 é par. O número 50 é par. Resposta: C Comentário: a variável “resto” recebe o resto da divisão de 57 por 2. Se o resto for igual a 1 (no teste da condicional resto = 1), o número é ímpar, senão o número é par. III – 288S_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_46891706_1&course_id=_115239_1&content_id=_1544899_1&out… 6/10 Pergunta 6 Resposta Selecionada: a. Respostas: a. b. c. d. e. Feedback da resposta: Considere o programa escrito em Linguagem C: # include <stdio.h> void main () { int ano, resto; printf( "Digite o ano: "); scanf("%d", &ano); if(ano% 100 == 0){ if (ano% 400 == 0){ printf("O Ano %d é bissexto \n \n", ano); }else{ printf(" O Ano %d não é bissexto \n \n", ano); } }else{ if (ano%4 == 0){ printf("O Ano %d é bissexto \n \n", ano); }else{ printf(" O Ano %d não é bissexto \n", ano); } } } Tendo como entrada os anos 1995, 1996 e 1997; dessa forma, podemos a�rmar que: 1995 não é bissexto, 1996 é bissexto e 1997 não é bissexto. 1995 não é bissexto, 1996 é bissexto e 1997 não é bissexto. 1995 não é bissexto, 1996 não é bissexto e 1997 não é bissexto. 1995 é bissexto, 1996 não é bissexto e 1997 não é bissexto. 1995 é bissexto, 1996 é bissexto e 1997 não é bissexto. 1995 não é bissexto, 1996 não é bissexto e 1997 é bissexto. Resposta: A Comentário: a resposta correta é a alternativa A, pois o programa informa se o ano é bissexto ou não de acordo com as entradas digitadas pelo usuário. Para a primeira condicional, nenhum ano dividido por 400 tem resto 0, porém: o resto da divisão de 1995 por 4 é 3, dessa forma, o ano não é bissexto; o resto da divisão de 1996 por 4 é 0, dessa forma, o ano é bissexto; o resto da divisão de 1997 por 4 é 1, dessa forma, o ano não é bissexto. 0,1 em 0,1 pontos 29/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE III – 288S_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_46891706_1&course_id=_115239_1&content_id=_1544899_1&out… 7/10 Pergunta 7 Resposta Selecionada: d. Respostas: a. b. c. d. e. Feedback da resposta: Considere o programa escrito em Linguagem C: #include <stdio.h> void main ( ) { char ch; printf ("Estado civil: "); scanf ("%c", &ch); switch(ch) { case 'C': printf ("Casado \n"); break; case 'S': printf ("Solteiro \n"); break; case 'D': printf ("Divórcio \n"); break; case 'V': printf ("Viúvo \n"); break; default: printf("Inválido \n"); break; } } Executando o mesmo programa 3 vezes com as entradas “C”, “s” e “V”, quais serão as saídas, respectivamente? Casado, Inválido e Viúvo. Casado, Divórcio e Viúvo. Casado, Solteiro. Casado, Solteiro e Viúvo. Casado, Inválido e Viúvo. Casado, Viúvo. Resposta: D Comentário: o programa recebe (entrada) um caractere pela variável “ch”, realizando alguns testes com o comando switch-case. Para a primeira entrada “C” digitada, a saída será Casado, na segunda entrada “s”, a saída será Inválido, pois a linguagem C faz diferença entre a letra maiúscula e a letra minúscula ( Case sensitive) e, na terceira entrada “V”, a saída será Viúvo. O comando break presente em cada case fará com que o programa aborte (pare) a sua execução sempre que esse comando for executado. 0,1 em 0,1 pontos 29/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE III – 288S_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_46891706_1&course_id=_115239_1&content_id=_1544899_1&out… 8/10 Pergunta 8 Resposta Selecionada: e. Respostas: a. b. c. d. e. Feedback da resposta: Considere o programa escrito em linguagem C e faça uma análise por meio do teste de mesa para encontrar o valor da variável “z” no �nal da execução do programa. #include <stdio.h> void main() { int x, y, z; x = 5; y = 7; z = 3; if((y - 1) > 2){ y = y + 2; }else{ y = y - 2; } z = z + x + y; } 17. 16. 14. 15. 12. 17. Resposta: E Comentário: pelo teste de mesa, é possível identi�car os seguintes valores para as variáveis x, y e z: Pergunta 9 Considere o programa escrito em linguagem C e, por meio do teste de mesa, faça uma análise do programa a seguir e assinale a alternativa que corresponda à saída correta do programa, tendo como valores de entrada: 5, 6 e 12. void main() { 0,1 em 0,1 pontos 0,1 em 0,1 pontos 29/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE III – 288S_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_46891706_1&course_id=_115239_1&content_id=_1544899_1&out… 9/10 Resposta Selecionada: b. Respostas: a. b. c. d. e. Feedback da resposta: int totalFaltas; �oat n1, n2, media; printf("Digite a 1 a nota: "); scanf("%f", &n1 ); printf("Digite a 2 a nota: "); scanf("%f", &n2); printf("Digite o total de faltas: "); scanf("%d", &totalFaltas); media = (n1 + n2) / 2; if(media >= 5){ printf("Aprovado por nota"); if(totalFaltas <= 10) { printf("e esta aprovado. \n"); }else{ printf(", mas reprovou por falta. \n") ; } }else{ printf("Nota abaixo da media."); } } Você passou por nota, mas reprovou por falta. Você passou por nota e está aprovado. Você passou por nota, mas reprovou por falta. Reprovou por falta. Está aprovado. Nota abaixo da média. Resposta: B Comentário: a média é calculada com a soma de n1 e n2 ((5 + 6) / 2 = 5,5) e a quantidade de faltas é 12. Fazendo uma análise do programa anterior, se a média for maior ou igual a 5 e se o total de faltas é maior que 10, o aluno estará reprovado por falta. Pergunta 10 O programa, escrito em linguagem C, solicita ao usuário que entre com uma idade e realiza alguns testes relacionais.Considerando duas execuções, tendo como entrada as idades 36 e 10, assinale a alternativa que corresponda à saída correta do programa. #include <stdio.h> main() 0,1 em 0,1 pontos 29/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE III – 288S_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_46891706_1&course_id=_115239_1&content_id=_1544899_1&ou… 10/10 Terça-feira, 29 de Setembro de 2020 11h23min44s GMT-03:00 Resposta Selecionada: c. Respostas: a. b. c. d. e. Feedback da resposta: { int idade; printf("Digite a idade: "); scanf("%d",&idade); if (idade <10){ printf ("A idade %d é classi�cada como CRIANÇA \n \n ", idade); } else if ((idade >=10) && (idade <=14)){ printf ("A idade %d é classi�cada como INFANTIL \n \n ", idade); } else if ((idade >=15) && (idade <=17)){ printf ("A idade %d é classi�cada como JUVENIL \n \n ", idade); } else if (idade >=18) { printf ("A idade %d é classi�cada como ADULTO \n \n ", idade); } else{ printf ("Classi�cação inválida); } } ADULTO e INFANTIL. ADULTO e CRIANÇA. JUVENIL e INFANTIL. ADULTO e INFANTIL. ADULTO E JUVENIL. VELHO E CRIANÇA. Resposta: C Comentário: o programa solicita ao usuário que digite uma idade e realiza diversos testes relacionais compostos. A idade de 36 anos é classi�cada como ADULTO, pois é maior ou igual a 18 e a idade de 10 anos é classi�cada como INFANTIL, pois a primeira condição é válida para os casos de maior ou igual a 10 e menor ou igual a 14. A primeira condição admite como verdadeiro exclusivamente a idade menor que 10, dessa forma, não é classi�cada como CRIANÇA. Curso LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO Teste QUESTIONÁRIO UNIDADE I Pergunta 1 0,1 em 0,1 pontos Analise o código a seguir, escrito em Linguagem C, e assinale a alternativa que corresponda com a função correta do programa. #include<stdio.h> void main(){ int i=1, num, result=0; printf("Digite 10 números: \n \n"); while(i<=10){ printf("Número %d: ", i); scanf("%d", &num); result += num; i++; } printf("Resultado: %d", result); } Resposta Selecionada: c. O programa soma 10 valores digitados pelo usuário e apresenta o resultado. Respostas: a. O programa soma 10 valores se o valor digitado for menor que 10. b. O programa soma 9 valores digitados pelo usuário e apresenta o resultado. c. O programa soma 10 valores digitados pelo usuário e apresenta o resultado. d. O programa soma 8 valores digitados pelo usuário. e. O programa soma 9 valores se o valor digitado for menor que 9. Feedback da resposta: Resposta: C Comentário: O programa solicita 10 valores ao usuário, que são acumulados (somados) na variável soma, e ao final do laço de repetição apresenta a soma de todos os números. · Pergunta 2 0,1 em 0,1 pontos Analise o programa a seguir e assinale a alternativa que corresponda com a execução/função correta do programa. #include<stdio.h> void main() { int idade, contador21 = 0, contador50 = 0; printf("\n Digite a idade: "); scanf("%d", &idade); while(idade != -99) { if(idade<21) contador21++; else if(idade>50) contador50++; printf("\n Digite a idade (Para encerrar digite -99): "); scanf("%d", &idade); } printf("\n O total de pessoas com menos de 21 anos é: %d", contador21); printf("\n O total de pessoas com mais de 50 anos é: %d", contador50); printf("\n \n"); } Resposta Selecionada: b. O programa solicita a idade de várias pessoas e imprime o total de pessoas com menos de 21 anos e total de pessoas com mais de 50 anos. O programa termina quando idade digitada for =-99. Respostas: a. O programa solicita a idade de várias pessoas e imprime o total de pessoas com menos de 21 anos e total de pessoas com mais de 50 anos. O programa termina quando idade for =99. b. O programa solicita a idade de várias pessoas e imprime o total de pessoas com menos de 21 anos e total de pessoas com mais de 50 anos. O programa termina quando idade digitada for =-99. c. O programa solicita a idade de uma pessoa e imprime se a pessoa tem menos de 21 anos e mais de 50 anos. O programa não aceita idade menor que 0. d. O programa solicita a idade de várias pessoas e imprime o total de pessoas com menos de 31 anos e total de pessoas com mais de 50 anos. O programa termina quando idade for =-99. e. O programa solicita a idade de várias pessoas e imprime o total de pessoas com menos de 31 anos e total de pessoas com mais de 49 anos. O programa termina quando idade for =-99. Feedback da resposta: Resposta: B Comentário: O programa solicita a idade de várias pessoas e conta o total de pessoas com menos de 21 anos e total de pessoas com mais de 50 anos. O programa termina quando idade for =-99 e apresenta a quantidade de pessoas com menos de 21 e mais de 50. · Pergunta 3 0,1 em 0,1 pontos Analise o programa a seguir, assinale a alternativa que corresponda com a lógica correta da estrutura de repetição while. #include<stdio.h> void main(){ int num = 1; while(num!=0){ printf("Digite um número diferente de zero: "); scanf("%d", &num); printf("Número digitado %d\n\n", num); } printf("Número digitado: %d \n Programa Finalizado! \n", num); } Resposta Selecionada: e. Enquanto a variável num for diferente de 0, o sistema continua a solicitar a digitação. Respostas: a. Enquanto a variável num for igual a 0, o sistema continua a solicitar a digitação. b. Enquanto a variável num for maior que 0, o sistema continua a solicitar a digitação. c. Enquanto a variável num for menor que 0, o sistema continua a solicitar a digitação. d. Enquanto a variável num for maior ou igual a 0, o sistema continua a solicitar a digitação. e. Enquanto a variável num for diferente de 0, o sistema continua a solicitar a digitação. Feedback da resposta: Resposta: E Comentário: O programa solicita ao usuário a entrada de um número diferente de zero. Enquanto o número digitado não for zero, o sistema vai solicitando outros números e exibindo o que foi digitado um após o outro. Ao digitar 0, o sistema fecha e exibe a mensagem “Numero digitado 0 e Programa Finalizado!”. · Pergunta 4 0,1 em 0,1 pontos Analise o programa a seguir, escrito em Linguagem C, e assinale a alternativa que descreve o funcionamento correto do programa: #include <stdio.h> void main() { int num; printf("\n\n Digite um número entre 1 e 4: "); scanf("%d", &num); while(num<1 || num>4) { printf("\n Número inválido! "); printf("\n Digite novamente: "); scanf("%d", &num); } printf("\n\n O número digitado é: %d", num); printf("\n \n"); } Resposta Selecionada: e. Solicita um número entre 1 e 4, se entrada for diferente, mostrar a mensagem “Número inválido!” e solicitar o número novamente, se o usuário digitar o número correto, dentro da faixa permitida, o programa irá mostrar o número digitado e finalizar o programa. Respostas: a. Solicita os números 1 ou 4, se entrada for diferente, mostrar a mensagem “entrada inválida” e solicitar o número novamente, se digitar correto, mostrar o número digitado e finalizar o programa. b. Solicita os números 1 ou 4, se entrada for diferente, mostrar a mensagem “número inválido” e solicitar o número novamente, se digitar correto, mostrar o número digitado e continuar o programa. c. Solicita um número entre 1 e 4, se entrada for diferente, mostrar a mensagem “entrada inválida” e finalizar o programa, se digitar correto, mostrar o número digitado e continuar o programa. d. Solicita um número entre 1 e 4, se entrada for diferente, mostrar a mensagem “Número válido” e solicitar o número novamente, se digitar correto, mostrar o número digitado e finalizar o programa. e. Solicita um número entre 1 e 4, se entrada for diferente, mostrar a mensagem “Número inválido!” e solicitar o número novamente, se o usuário digitar o número correto, dentro da faixa permitida, o programa irá mostrar o número digitado e finalizar o programa. Feedback da resposta: Resposta: E Comentário: O programa solicita um número entre 1 e 4, se entrada for diferente, mostrar a mensagem “Número inválido!” e solicitar o número novamente, se o usuário digitar o número correto, dentro da faixa permitida,o programa irá mostrar o número digitado e finalizar o programa. · Pergunta 5 0,1 em 0,1 pontos Analise o programa a seguir, escrito em Linguagem C, e assinale a alternativa que apresente as saídas corretas, considerando as entradas 6 e 14. #include <stdio.h> void main() { int x, inferior, superior; printf("Digite o valor do limite inferior: "); scanf("%d", &inferior); printf("\n Digite o valor do limite superior: "); scanf("%d", &superior); for (x=inferior; x<=superior; x++){ printf ("%d ", x); } } Resposta Selecionada: b. 6 7 8 9 10 11 12 13 14 Respostas: a. 6 7 8 9 10 11 15 13 b. 6 7 8 9 10 11 12 13 14 c. 7 8 9 10 11 1213 14 d. 6 8 10 12 14 e. 7 9 11 13 Feedback da resposta: Resposta: B Comentário: O programa solicita ao usuário a entrada de dois números, o limite inferior e o limite superior. Neste exemplo, o valor para o limite inferior foi 6 e o valor do limite superior foi 14. Estes valores foram utilizados como os limites do laço de repetição, com incremento de 1 para impressão dos valores. · Pergunta 6 0,1 em 0,1 pontos Analise o programa a seguir, escrito em Linguagem C, e assinale a alternativa que apresente as saídas corretas, considerando as entradas 6 e 14. #include <stdio.h> void main() { int vi, vf, x; printf("Inicio: "); scanf("%d", Questionário Unidade V Pergunta 1 0,1 em 0,1 pontos A função calcular () recebe por parâmetros 3 valores do tipo float, realiza um cálculo (potência) e retorna ao resultado. Assinale a alternativa que apresenta o resultado correto da operação. #include<stdio.h> #include<math.h> float calcular (float x, float y, float z) { return (pow(x,2)+(y+z)); } void main() { printf("Resultado: %.2f \n", calcular(2,3,4)); printf("\n \n"); } Resposta Selecionada: d. Resultado: 11.00 Respostas: a. Resultado: 8.00 b. Resultado: 9.00 c. Resultado: 10.00 d. Resultado: 11.00 e. Resultado: 12.00 Feedback da resposta: Resposta: D Comentário: a função calcular() recebe três valores do tipo float e retorna o quadrado do 1º + a soma dos outros dois números. Na função main(), o comando printf() se encarrega de receber o retorno da função e imprimir o resultado na tela (saída de dados). Pergunta 2 0,1 em 0,1 pontos Analise o programa e assinale a alternativa que apresenta a saída correta considerando a entrada “Universidade Paulista”. Resposta Selecionada: c. 3 – a, 2 – e, 3 – i, 0 – o, 1 – u Respostas: a. 2 – a, 3 – e, 3 – i, 0 – o, 1 – u b. 3 – a, 2 – e, 3 – i, 0 – o, 0 – u c. 3 – a, 2 – e, 3 – i, 0 – o, 1 – u d. 4 – a, 2 – e, 2 – i, 0 – o, 1 – u e. 3 – a, 2 – e, 3 – i, 1 – o, 0 – u Feedback da resposta: Resposta: C Comentário: o programa recebe do usuário (teclado) uma mensagem e imprime quantas letras A, E, I, O, U há nessa mensagem, considerando minúsculas e maiúsculas. Pergunta 3 0,1 em 0,1 pontos Analise o programa escrito em Linguagem C e assinale a alternativa que representa os elementos contidos na diagonal principal da matriz: #include <stdio.h> void main(){ int lin, col, cont = 0, mat[4][4]; for (lin=0; lin<=3; lin++) { for (col=0; col<=3;col++) { mat[lin][col] = cont++; } } printf("Matriz \n"); for (lin=0; lin<=3; lin++) { for (col=0; col<=3; col++) printf("%d \t", mat[lin][col]); printf("\n \n"); } printf("\n \n Diagonal principal \n \n"); for (lin=0; lin<=3; lin++) { printf("%d ", mat[lin][lin]); } printf("\n \n"); } Resposta Selecionada: d. 0 5 10 15 Respostas: a. 1 2 3 4 b. 0 1 2 3 c. 2 4 6 8 d. 0 5 10 15 e. 0 3 6 9 Feedback da resposta: Resposta: D Comentário: o programa utiliza a primeira estrutura de repetição aninhada para preencher a matriz utilizando o contador “cont” e, na sequência, imprime a diagonal da matriz, isto é, os elementos na matriz em que a linha é igual à coluna. Pergunta 4 0,1 em 0,1 pontos Considere o código escrito em Linguagem C e, por meio de um teste de mesa, assinale a alternativa que corresponda à saída do programa: #include<stdio.h> void main() { int vet[10], x, y=0; for(x=0; x<=9; x++) { vet[x]=y+2; y=y+2; } for(x=0; x<=9; x++) printf("%d ", vet[x]); printf("\n \n"); } Resposta Selecionada: d. 2 4 6 8 10 12 14 16 18 20. Respostas: a. 0 1 2 3 4 5 6 7 8 9. b. 1 3 5 7 9 11 13 15 17 19 21. c. 4 8 12 16 20 24 28 32 36. d. 2 4 6 8 10 12 14 16 18 20. e. 0 4 8 12 16 20 24 28 32. Feedback da resposta: Resposta: D Comentário: o programa cria um vetor de 10 posições e o preenche com os números pares de 2 a 20, apresentando o conteúdo do vetor como saída. Pergunta 5 0,1 em 0,1 pontos Considere o programa a seguir escrito em Linguagem C, possui uma função verificavogal(char M) que recebe um caractere por parâmetro e informa se ele é uma vogal ou uma consoante. Para que o programa execute corretamente sua tarefa, é preciso adicionar os códigos nas linhas 6 e 8, respectivamente. Assinale a alternativa que apresente os comandos corretos para completar o programa: Resposta Selecionada: e. return(1); return(0); Respostas: a. return(0); return(1); b. return(true); return(false); c. return(vogal); return(consoante); d. exit(0); exit(1); e. return(1); return(0); Feedback da resposta: Resposta: E Comentário: a função verificavogal() recebe um caractere por parâmetro, realiza um teste relacional e retorna um número inteiro. Para a linha 6, o retorno do valor 1 indica uma vogal; e na linha 8, o retorno do valor 0 indica uma consoante. Pergunta 6 0,1 em 0,1 pontos Considere o programa escrito em Linguagem C. O usuário digita um texto como entrada e o apresenta como saída excluído as vogais. Para que o programa execute corretamente e atinja o seu objetivo, será necessário preencher as linhas 8 e 11, respectivamente. Assinale a alternativa que apresente os comandos de forma adequada a especificação do programa: Resposta Selecionada: b. tam = strlen(cadeia); if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 'i' && cadeia[x] != 'o' && cadeia[x] != 'u' ) Respostas: a. tam = cadeia; if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 'i' && cadeia[x] != 'o' && cadeia[x] != 'u' ) b. tam = strlen(cadeia); if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 'i' && cadeia[x] != 'o' && cadeia[x] != 'u' ) c. tam = strlen(); if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 'i' && cadeia[x] != 'o' && cadeia[x] != 'u' ) d. tam = strlen(cadeia); if (cadeia[x] == 'a' && cadeia[x] == 'e' && cadeia[x] == 'i' && cadeia[x] == 'o' && cadeia[x] == 'u' ) e. tam = strlen(cadeia); if (cadeia[x] != 'a' || cadeia[x] != 'e' || cadeia[x] != 'i' || cadeia[x] != 'o' || cadeia[x] != 'u' ) Feedback da resposta: Resposta: B Comentário: a função strlen() – linha 8 retorna o tamanho do texto (cadeia). Por outro lado, a linha 11 possui uma estrutura condicional para verificar cada um dos caracteres, ignorando as vogais. Pergunta 7 0,1 em 0,1 pontos O programa a seguir escrito em Linguagem C solicita ao usuário o cadastro de 5 produtos, imprimindo-os na sequência por meio dos campos “código” e o “nome da cada produto”. O programa também permite a consulta do preço de um produto tendo como entrada o código dele. Para que o programa execute e faça corretamente sua função, é preciso adicionar os comandos corretos nas linhas 19 e 26, respectivamente. Assinale a alternativa que corresponda aos comandos corretos para a execução do programa. Resposta Selecionada: b. scanf("%d %s %f", &produtos[i].codigo, produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo == codigo_digitado) Respostas: a. scanf("%d %s %f", produtos[i].codigo, produtos[i].nome, produtos[i].preco); if (produtos[i].codigo == codigo_digitado) { b. scanf("%d %s %f", &produtos[i].codigo, produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo == codigo_digitado) c. scanf("%d %c %f",&produtos[i].codigo, produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo = codigo_digitado) { d. scanf("%s %s %s", &produtos[i].codigo,produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo == codigo_digitado) { e. scanf("%d %s %f",&produtos[i].codigo, &produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo!= codigo_digitado) { Feedback da resposta: Resposta: B Comentário: o programa permite o cadastro de 5 produtos por meio de uma estrutura ( struct) – linhas 17 a 19, imprimindo- os na sequência. O programa também permite a consulta do preço de um produto tendo como entrada o código dele – linhas 26 a 28. Pergunta 8 0,1 em 0,1 pontos O programa a seguir possui uma estrutura ( struct) para cadastrar o nome, a altura, o peso e o sexo de algumas pessoas. Com os dados cadastrados, o programa localiza um determinado registro por meio do campo NOME e imprime o seu IMC. Para que o programa execute corretamente sua tarefa, selecione a alternativa que melhor se enquadre nas linhas 15 e 25. Resposta Selecionada: a. Pessoa pessoas[QUANTIDADE_DE_PESSOAS]; if (strcmp (pessoas[i].nome, nomeloc)==0){ Respostas: a. Pessoa pessoas[QUANTIDADE_DE_PESSOAS]; if (strcmp (pessoas[i].nome, nomeloc)==0){ b. Pessoa[QUANTIDADE_DE_PESSOAS]; if (strcmp (pessoas[i].nome, nomeloc)==0){ c. pessoas[3]; if (strcomp (pessoas[i].nome, nomeloc)==0){ d. Pessoa pessoas[QUANTIDADE_DE_PESSOAS]; if (strcmp (pessoas[i].nome, nomeloc)!=0){ e. pessoas[QUANTIDADE_DE_PESSOAS]; if (pessoas[i].nome && nomeloc)==0){ Feedback da resposta: Resposta: A Comentário: o programa declara um vetor (pessoas) – linha 15, de tamanho 3 (quantidade de pessoas) e do tipo Pessoa; na linha 25 realiza a comparação entre o nome solicitado para localização com os nomes cadastrados no vetor. Pergunta 9 0,1 em 0,1 pontos O programa a seguir preenche uma matriz inteira de 4 x 4 e imprime todos os elementos, exceto aqueles da diagonal principal. Para que o programa execute corretamente sua tarefa, devemos preencher as linhas 11, 13 e 15, respectivamente. Assinale a alternativa que possua os comandos adequados para que o programa execute de forma correta. Resposta Selecionada: a. d) for (lin=0; lin<=3; lin++) for (col=0; col<=3; col++) if (lin != col) Respostas: a. d) for (lin=0; lin<=3; lin++) for (col=0; col<=3; col++) if (lin != col) b. for (lin=0; lin<=4;lin++) for (col=0; col<=4; col++) if (lin == col) c. for (lin=0; lin<=3;lin++) for (col=0; col<=3; col++) if (lin == col) d. for (lin=0; lin<3;lin++) for (col=0; col<3; col++) if (lin != col) e. for (lin=1; lin<=4; lin++) for (col=1; col<=4; col++) if (lin != col) Feedback da resposta: Resposta: A Comentário: o programa preenche a matriz “mat” com os valores de “cont” e, na sequência, apenas os elementos em que a linha e a coluna são diferentes. Sendo os índices diferentes, os elementos na diagonal principal não serão impressos. Pergunta 10 0,1 em 0,1 pontos O programa escrito em Linguagem C possui uma estrutura de repetição para solicitar ao usuário 8 números inteiros e preencher o vetor “vet” por meio do comando scanf() – linha 8. Em seguida, o programa solicita ao usuário que digite um número, pesquisando se o mesmo se encontra no vetor. Se o número existir, o programa imprimirá a posição do vetor em que o número se encontra e, caso não exista, a mensagem “Este número não existe” será impressa ao usuário. Para que o programa execute corretamente sua tarefa, será necessário preencher as linhas 13 e 16, respectivamente. Assinale a alternativa que melhor atenda as especificações do programa: Resposta Selecionada: b. for(x=0; x<8; x++) printf("\n O número %d esta na posição %d: ", num, x); Respostas: a. for(x=0;x<=8;x++) printf("\n O número %d esta na posição %d: ", num, x); b. for(x=0; x<8; x++) printf("\n O número %d esta na posição %d: ", num, x); c. for(x=0; x<8; x++) printf("\n O número %d esta na posição %d: ", x, num); d. for(x=1; x<8; x++) printf("\n O número %d esta na posição %d: ", num, x); e. for(x=0; x<num; x++) printf("\n O número %d esta na posição %d: ", num, x); Feedback da resposta: Resposta: B Comentário: a linha 13 – for(x=0; x<8; x++) – deve percorrer o vetor inteiro, isto é, da posição 0 (inicial) até a última posição do vetor (índice 7). A linha 16 imprime em qual posição do vetor (posição controlada por “x”) o número (“num”) foi inserido no vetor. Questionário VI • Pergunta 1 0,1 em 0,1 pontos A função troca() recebe dois ponteiros e faz a troca dos valores entre duas variáveis, porém esse código possui um erro. Assinale a alternativa que corresponda ao erro nesta função: void troca (int *i, int *j) { int *temp; *temp = *i; *i = *j; *j = *temp; } Resposta Selecionada: a. As variáveis "i" e “j” não precisavam ser um ponteiro. Respostas: a. As variáveis "i" e “j” não precisavam ser um ponteiro. b. A variável “i” deveria ser um contador. c. A variável “j” deveria acumular o valor de “i”. d. A variável "temp" não precisava ser um ponteiro. e. Não existe nenhum erro na função. Feedback da resposta: Resposta: A Comentário: a variável "temp" não precisava ser um ponteiro, já que apenas precisa armazenar um valor inteiro, sem precisar apontar para algum lugar. O código correto seria: void troca (int *i, int *j) { int temp; temp = *i; *i = *j; *j = temp; } • Pergunta 2 0,1 em 0,1 pontos Analise a função caracteres() e identifique a alternativa que melhor descreve a tarefa executada por ela. Faça um teste manual para compreender a lógica do programa. char * caracteres(char *s1, char *s2) { int i, j, w, n = 0, encontrado; char *s3; for (i = 0; s1[i] != '\0'; i++) { for (j = 0; s2[j] != '\0'; j++) { if (s1[i] == s2[j]) { n++; break; } } } s3 = malloc((n + 1) * sizeof(char)); n = 0; for (i = 0; s1[i] != '\0'; i++) { for (j = 0; s2[j] != '\0'; j++) { if (s1[i] == s2[j]) { encontrado = 0; for (w = 0; w < n; w++) { if (s3[w] == s1[i]) { encontrado = 1; break; } } if (encontrado == 0) { s3[n] = s1[i]; n++; break; } } } } s3[n] = '\0'; return s3; } Resposta Selecionada: c. Recebe por parâmetro duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todos os caracteres que aparecem em s1 e em s2. Respostas: a. Recebe por parâmetro duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todas as vogais que aparecem em s1 e em s2. b. Recebe por parâmetro duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todas as consoantes que aparecem em s1 e em s2. c. Recebe por parâmetro duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todos os caracteres que aparecem em s1 e em s2. d. Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que é a maior cadeia entre s1 e em s2. e. Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que é a menor cadeia entre s1 e em s2. Feedback da resposta: Resposta: C Comentário: a função recebe por parâmetro duas cadeias s1 e s2 (ponteiros para char) e retorna uma nova cadeia s3 (ponteiro para char), concatenando as duas cadeias em uma só, ou seja, juntando todos os caracteres de s1 e de s2 em s3. • Pergunta 3 0,1 em 0,1 pontos Analise o programa escrito em Linguagem C que possui uma função incr_vetor() que recebe um ponteiro para um inteiro e um inteiro. Assinale a alternativa que apresenta a saída correta do programa: #include <stdio.h> void incr_vetor (int *v , int tam) { int i; for (i = 0; i < tam; i++) v[i]++; } void main () { int a[ ] = {1, 3, 5}; incr_vetor(a, 3); printf("%d %d %d\n", a[0], a[1], a[2]); } Resposta Selecionada: a. 2 4 6. Respostas: a. 2 4 6. b. 0 1 2. c. 1 2 3. d. 1 3 5. e. 3 6 9. Feedback da resposta: Resposta: A Comentário: o programa possui uma função incr_vetor(int *v , int tam ) que recebe um ponteiro para um inteiro e um inteiro, tendo como saída do programa os valores 2 4 6, pois os elementos do vetor serão incrementados dentro da função. • Pergunta 4 0,1 em 0,1 pontos Ao declarar um vetor, para dimensioná-lo, é necessário saber de antemão quantos elementos deveriam compô-lo. Temos de prever o número máximo de elementos no vetor durante o processo da codificação. Com base nesses dados, avalie as afirmações seguintes: I. O predimensionamento dovetor é um fator que limita a programação. II. Podemos superdimensionar o vetor, pois nunca estamos sujeitos a ter falta de memória. III. Podemos reservar a memória, isto é, solicitar ao programa que aloque dinamicamente um espaço na memória durante sua execução. É correto apenas o que se afirma em: Resposta Selecionada: e. I e III, apenas. Respostas: a. I, apenas. b. II, apenas. c. III, apenas. d. I e II, apenas. e. I e III, apenas. Feedback da resposta: Resposta: E Comentário: visando a resolver o problema de “prever” o número máximo de elementos em um vetor, uma solução seria superdimensionar o seu tamanho para tentar contornar essa falta de elementos livres durante a execução do programa. Porém, isso acarreta desperdício de memória, o que é inaceitável em diversas aplicações, principalmente nos aplicativos portáteis, em que sempre estamos sujeitos a ter falta de memória. • Pergunta 5 0,1 em 0,1 pontos Considere o programa a seguir escrito em Linguagem C que deve receber uma string de caracteres e uma letra. Para isso, o programa possui uma função que devolve um vetor de inteiros contendo as posições (índices no vetor da string) em que a letra foi encontrada e um inteiro contendo o tamanho do vetor criado (total de letras iguais encontradas). Para que o programa execute corretamente a sua função, é preciso adicionar comandos nas linhas 11 e 25, respectivamente. Assinale a alternativa que apresenta corretamente esses comandos: Resposta Selecionada: b. indices = (int *) malloc(n* sizeof(int)); indices = acha_caractere(frase, 'a', &n); Respostas: a. indices = (int) malloc(n sizeof(int)); indices = acha_caractere(frase, 'a', &n); b. indices = (int *) malloc(n* sizeof(int)); indices = acha_caractere(frase, 'a', &n); c. indices = (int *) malloc(n* sizeof(int)); indices = acha_caractere(frase, 'a', n); d. indices = (int *) malloc(n* sizeof(int)); indices = acha_caractere(frase, 'a', *n); e. indices = (int ) malloc(n sizeof(int)); indices = acha_caractere(frase, 'a', n); Feedback da resposta: Resposta: B Comentário: o programa possui uma função – linhas 4 a 20. Porém, na linha 11 é preciso alocar memória para os índices e na linha 25 chamar a função acha_caractere(), passando as informações necessárias (frase, 'a', &n) por parâmetro, retornando os índices – linha 19. • Pergunta 6 0,1 em 0,1 pontos O programa a seguir tem como objetivo calcular o fatorial de um número n. Considere as entradas 0, 1 e 5 e assinale a alternativa que apresenta corretamente a saída para cada uma das entradas. #include <stdio.h> int f1(int n) { if (n == 0) return (1); else return(n * f1(n-1)); } void main(){ int a, b; printf("Digite um valor inteiro:"); scanf("%d", &a); b = f1(a); printf("%d \n", b); } Resposta Selecionada: e. 1, 1, 120. Respostas: a. 0, 1, 5. b. 1, 2, 3. c. 5, 10, 15. d. 10, 20, 120. e. 1, 1, 120. Feedback da resposta: Resposta: E Comentário: o programa executa a função f1() de forma recursiva retornando com o resultado quando o n foi igual a zero. Enquanto o valor de n for diferente de zero, a função é chamada de forma recursiva pelo código return(n * f1(n- 1)); • Pergunta 7 0,1 em 0,1 pontos O programa a seguir tem como objetivo calcular o fatorial de um número n. Considere as entradas 0, 1 e 5 e assinale a alternativa que apresenta corretamente a saída para cada uma das entradas. #include <stdio.h> void f2(int n) { if (n == 0) printf("zero "); else { printf("%d ", n); f2(n-1); } } void main(){ int a; printf("Digite um valor inteiro:"); scanf("%d", &a); f2(a); } Resposta Selecionada: d. Zero; 1 Zero; 5 4 3 2 1 Zero Respostas: a. 0; 0 1; 0 1 2 3 4 5 b. 0; 1 0; 5 4 3 2 1 0 c. 1; 1 2; 1 2 3 4 5 d. Zero; 1 Zero; 5 4 3 2 1 Zero e. Zero; Zero 1; Zero 1 2 3 4 5 Feedback da resposta: Resposta: D Comentário: o programa executa a função f2() de forma recursiva retornando com o resultado quando o n foi igual a zero. Enquanto o valor de n for diferente de zero, a função é chamada de forma recursiva pelo código f2(n-1). • Pergunta 8 0,1 em 0,1 pontos O programa a seguir tem como objetivo calcular o fatorial de um número n. Considere as entradas 0, 1 e 5 e assinale a alternativa que apresenta corretamente a saída para cada uma das entradas. #include <stdio.h> int func (int n) { if (n == 0) return(0); return(n + func(n-1)); } void main(){ int a, b; printf("Digite um valor inteiro:"); scanf("%d", &a); b= func(a); printf ("%d \n", b); } Resposta Selecionada: a. 0, 1, 15. Respostas: a. 0, 1, 15. b. 0, 0, 3. c. 1, 1, 15. d. 1, 2, 3. e. 3, 2, 1. Feedback da resposta: Resposta: A Comentário: o programa executa a função func() de forma recursiva retornando com o resultado quando o n foi igual a zero. Enquanto o valor de n for diferente de zero, a função é chamada de forma recursiva pelo código return(n + func(n-1)). • Pergunta 9 0,1 em 0,1 pontos O programa a seguir tem como objetivo calcular o fatorial de um número n. Considere as entradas 0, 1 e 5 e assinale a alternativa que apresenta corretamente a saída para cada uma das entradas. #include <stdio.h> int func (int n) { if (n == 0) return(0); return(3*n + func(n-1)); } void main(){ int a, b; printf("Digite um valor inteiro:"); scanf("%d", &a); b= func(a); printf ("%d \n", b); } Resposta Selecionada: b. 0, 3, 45. Respostas: a. 0, 1, 15. b. 0, 3, 45. c. 1, 1, 15. d. 0, 3, 15. e. 1, 3, 9. Feedback da resposta: Resposta: B Comentário: o programa executa a função func() de forma recursiva retornando com o resultado quando o n foi igual a zero. Enquanto o valor de n for diferente de zero, a função é chamada de forma recursiva pelo código return(3*n + func(n-1)). • Pergunta 10 0,1 em 0,1 pontos O programa realiza comparações entre duas strings verificando qual das duas aparece primeiro no dicionário, porém há um erro neste código. Assinale a alternativa que apresenta o erro no programa a seguir: #include <stdio.h> #include <string.h> void main() { char *a, *b; *a = "abacate"; *b = "uva"; if (strcmp(a, b) < 0 ) printf ("%s vem antes de %s no dicionário \n", a, b); else printf ("%s vem depois de %s no dicionário \n", a, b); } Resposta Selecionada: c. As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de valores. Respostas: a. O teste da condicional nunca pode ser menor que 0. b. Estão faltando as chaves para identificar os blocos na condicional. c. As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de valores. d. As variáveis “a” e “b” deveriam ser declaradas como string e não char. e. O programa não possui erro. Feedback da resposta: Resposta: C Comentário: as variáveis “a” e “b” não precisaria ser ponteiros na atribuição de valores, tendo dessa forma um erro de sintaxe. Uma solução desse problema seria: #include <stdio.h> #include <string.h> void main() { char *a, *b; a = "abacate"; b = "uva"; if (strcmp(a,b) < 0 ) printf ("%s vem antes de %s no dicionário \n", a, b); else printf ("%s vem depois de %s no dicionário \n", a, b); } QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 1/14 Revisar envio do teste: QUESTIONÁRIO UNIDADE VIILINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO 6654-120_57501_R_20202_02 CONTEÚDO Usuário diego.azevedo9 @aluno.unip.br Curso LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO Teste QUESTIONÁRIO UNIDADE VII Iniciado 12/11/20 14:24 Enviado 12/11/20 17:45 Status Completada Resultado da tentativa 2 em 2 pontos Tempo decorrido 3 horas, 20 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários,Perguntas respondidas incorretamente Pergunta 1 Resposta Selecionada: a. Considerando a função de inserção de um nó em uma estrutura de dados “Lista Ligada”, escrita em Linguagem C, é correto a�rmar que: No* insere (No* lista, int num) { No* novo_no = (No*) malloc (sizeof(No)); novo_no.info = num; novo_no.proximo = lista; return novo_no; } A função irá retornar um endereço que conterá um tipo No. UNIP EAD BIBLIOTECAS MURAL DO ALUNO TUTORIAISCONTEÚDOS ACADÊMICOS 0,2 em 0,2 pontos http://company.blackboard.com/ https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_115304_1 https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_115304_1&content_id=_1545451_1&mode=reset https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_10_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_27_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_47_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_29_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_25_1 https://ava.ead.unip.br/webapps/login/?action=logout 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 2/14 Respostas: a. b. c. d. e. Feedback da resposta: A função irá retornar um endereço que conterá um tipo No. Não precisamos alocar um espaço na memória para criar um nó. Uma vez criado o novo nó, devemos liberar a memória para ter condições de receber os dados. A função retorna o endereço do nó criado sem precisar fazer a inserção. A função declara diretamente a estrutura do nó. Resposta: A Comentário: A função insere() recebe, por parâmetro, um ponteiro para a lista (No) e um inteiro através da variável num, retornando para a função um ponteiro (novo_no), ou seja, um endereço do tipo No. Pergunta 2 Resposta Selecionada: a. Respostas: a. b. c. Considere um determinado programa executando as seguintes operações, sequencialmente: I – Lê vários caracteres no teclado e cada caractere lido é colocado dentro de uma pilha. II – Esvazia a pilha e coloca cada elemento, um depois do outro, dentro de uma outra pilha. III – Esvazia a pilha e coloca cada elemento, um depois do outro, dentro de uma �la. IV – Esvazia a �la e imprime cada elemento, um depois do outro. Assumindo que foram inseridos os seguintes elementos: A B C D, assinale a alternativa que apresente os elementos impressos na ordem correta: A B C D. A B C D. A A B B. D C B A. 0,2 em 0,2 pontos 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 3/14 d. e. Feedback da resposta: C B A D. D A C B. Resposta: A Comentário: Analisando o teste de mesa, é possível observar todo o sequenciamento dos elementos, tanto na pilha quanto na �la, e o estado após a manipulação dos elementos. Pergunta 3 Resposta Selecionada: e. Respostas: a. b. Considere um determinado programa, executando as seguintes operações, sequencialmente: I – Lê vários caracteres no teclado e cada caractere lido é colocado dentro de uma pilha. II – Esvazia a pilha e coloca cada elemento, um depois do outro, dentro de uma �la. III – Esvazia a �la e coloca cada elemento, um depois do outro, dentro de uma outra pilha. IV – Esvazia a pilha e imprime cada elemento, um depois do outro. Assumindo que foram inseridos os seguintes elementos: w x y z, assinale a alternativa que apresente os elementos impressos na ordem correta: w x y z. w x x z. z y x w. 0,2 em 0,2 pontos 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 4/14 c. d. e. Feedback da resposta: x y w z. w w z z. w x y z. Resposta: E Comentário: Analisando o teste de mesa, é possível observar todo o sequenciamento dos elementos, tanto na pilha quanto na �la e o estado após a manipulação dos elementos. Pergunta 4 Na estrutura de dados do tipo Fila, os acessos aos elementos seguem uma regra �xa. Nessa estrutura, o primeiro elemento que entra é o primeiro que sai ( First-In-First-Out – FIFO). A ideia fundamental da �la é que só é possível inserir um novo elemento no �nal da �la e só é possível retirar o elemento que está no início da �la, e para isso são de�nidos os seguintes comandos: • retira (p): Retira um elemento no início da �la. • insere (p, n): Insere um elemento no �m da �la. Considerando uma estrutura de dados tipo Fila “f”, inicialmente vazia, será executada a seguinte sequência de comandos: insere(f, 10); insere(f, 20); 0,2 em 0,2 pontos 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 5/14 Resposta Selecionada: c. Respostas: a. b. c. d. e. Feedback da resposta: insere(f, 30); insere(f, 40); printf(“Primeiro elemento: %d \n”, retira(f)); printf(“Segundo elemento: %d \n”, retira(f)); insere(f, 50); insere(f, 60); printf(“Terceiro elemento: %d \n”, retira(f)); Após a execução dos comandos acima, assinale a alternativa que apresenta o elemento no início da �la e qual é o valor da soma de todos os elementos restantes nesta �la, respectivamente: 40 e 150. 10 e 50. 30 e 100. 40 e 150. 30 e 180. 40 e 60. Resposta: C Comentário: Analisando o teste de mesa, linha a linha, é possível veri�car a sequência dos comandos entra e sai de acordo com a sequência previamente de�nida. A última linha apresenta o elemento 40 como sendo o primeiro elemento da �la e o número 150 representando a soma de todos os elementos restantes na �la. 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 6/14 Pergunta 5 Resposta Selecionada: b. Respostas: a. b. c. d. e. Feedback da Na estrutura de dados do tipo Fila, os acessos aos elementos seguem uma regra �xa. Essa estrutura, o primeiro elemento que entra, é o primeiro que sai ( First-In-First-Out – FIFO). A ideia fundamental da �la é que só é possível inserir um novo elemento no �nal da �la e só é possível retirar o elemento que está no início da �la, e para isso são de�nidos os seguintes comandos: • retira (p): Retira um elemento no início da �la. • insere (p, n): Insere um elemento no �m da �la. Considerando uma estrutura de dados tipo Fila “f”, inicialmente vazia, será executada a seguinte sequência de comandos: insere(f, 12); insere(f, 8); printf(“Primeiro elemento: %d\n”, retira(f)); insere(f, 3); insere(f, 4); printf(“Segundo elemento: %d\n”, retira(f)); insere(f, 9); insere(f, 6); Após a execução dos comandos acima, assinale a alternativa que apresenta o elemento no início da �la e qual é o valor da soma de todos os elementos restantes nesta �la, respectivamente: 3 e 22. 6 e 7. 3 e 22. 3 e 19. 12 e 42. 6 e 15. Resposta: B Comentário: Analisando o teste de mesa, linha a linha, é possível veri�car a sequência dos comandos entra e sai de acordo 0,2 em 0,2 pontos 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 7/14 resposta: com a sequência previamente de�nida. A última linha apresenta o elemento3 como sendo o primeiro elemento da �la e o número 22 representando a soma de todos os elementos restantes na �la. Pergunta 6 Na estrutura de dados do tipo Fila, os acessos aos elementos seguem uma regra �xa. Nessa estrutura, o primeiro elemento que entra é o primeiro que sai ( First-In-First-Out – FIFO). A ideia fundamental da �la é que só é possível inserir um novo elemento no �nal da �la e só é possível retirar o elemento que está no início da �la e, para isso, são de�nidos os seguintes comandos: • retira (p): Retira um elemento no início da �la. • insere (p, n): Insere um elemento no �m da �la. Considerando uma estrutura de dados tipo Fila “f”, inicialmente vazia, será executada a seguinte sequência de comandos: insere(f, 1); printf(“Primeiro elemento: %d\n”, retira(f)); insere(f, 2); insere(f, 3); printf(“Segundo elemento: %d\n”, retira(f)); insere(f, 4); insere(f, 5); insere(f, 6); 0,2 em 0,2 pontos 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 8/14 Resposta Selecionada: e. Respostas: a. b. c. d. e. Feedback da resposta: Após a execução dos comandos acima, assinale a alternativa que apresenta o elemento no início da �la e qual é o valor da soma de todos os elementos restantes nesta �la, respectivamente: 3 e 18. 6 e 7. 3 e 22. 3 e 19. 6 e 15. 3 e 18. Resposta: E Comentário: Analisando o teste de mesa, linha a linha, é possível veri�car a sequência dos comandos entra e sai, de acordo com a sequência previamente de�nida. A última linha apresenta o elemento 3 como sendo o primeiro elemento da �la e o número 18 representando a soma de todos os elementos restantes na �la. Pergunta 7 Uma estrutura de dados do tipo Pilha possui uma regra de inserção dos elementos, em que o último que entra na sequência é o primeiro a sair ( Last-In-First-Out – LIFO) e para a manipulação desses dados, são de�nidos dois comandos básicos: 0,2 em 0,2 pontos 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 9/14 Resposta Selecionada: b. Respostas: a. b. c. d. e. Feedback da resposta: • POP (p): Retira o elemento no topo da pilha. • PUSH (p, n): Insere um número “n” em uma estrutura de dados do tipo pilha “p”. Considerando uma estrutura de dados tipo Pilha “p”, inicialmente vazia, serão executados os seguintes comandos: PUSH (p, 10) PUSH (p, 3) PUSH (p, 5) PUSH (p, 6) POP (p) POP (p) PUSH (p, 12) PUSH (p, 1) POP (p) Após a execução da sequência dos comandos acima, assinale a alternativa que apresenta o elemento do TOPO da Pilha e qual é o valor da soma de todos os elementos restantes nesta pilha, respectivamente. 12 e 25. 1 e 10. 12 e 25. 1 e 22. 12 e 15. 10 e 13. Resposta: B Comentário: Analisando o teste de mesa, coluna a coluna, é possível veri�car a sequência dos comandos pop() e push() de acordo com a sequência previamente de�nida. A última coluna apresenta o elemento 12 como sendo o TOPO da pilha e o 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 10/14 número 25 representando a soma de todos os elementos na pilha nesta mesma coluna. Pergunta 8 Uma estrutura de dados do tipo Pilha possui uma regra de inserção dos elementos, em que o último que entra na sequência é o primeiro a sair ( Last-In-First-Out – LIFO) e para a manipulação desses dados, são de�nidos dois comandos básicos: • POP(p): Retira o elemento no topo da pilha. • PUSH(p, n): Insere um número “n” em uma estrutura de dados do tipo pilha “p”. Considerando uma estrutura de dados tipo pilha “p”, inicialmente vazia, serão executados os seguintes comandos: PUSH (p, 8) PUSH (p, 2) POP (p) PUSH (p, 1) PUSH (p, 4) PUSH (p, 6) 0,2 em 0,2 pontos 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 11/14 Resposta Selecionada: d. Respostas: a. b. c. d. e. Feedback da resposta: POP (p) Após a execução da sequência dos comandos acima, assinale a alternativa que apresenta o elemento do TOPO da Pilha e qual é o valor da soma de todos os elementos restantes nesta pilha, respectivamente. 4 e 13. 4 e 15. 8 e 13. 6 e 19. 4 e 13. 8 e 19. Resposta: D Comentário: Analisando o teste de mesa, coluna a coluna, é possível veri�car a sequência dos comandos pop e push de acordo com a sequência previamente de�nida. A última coluna apresenta o elemento 4 como sendo o TOPO da pilha e o número 13 representando a soma de todos os elementos na pilha nesta mesma coluna. Pergunta 9 0,2 em 0,2 pontos 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 12/14 Resposta Selecionada: a. Respostas: a. b. c. d. e. Feedback da resposta: Uma estrutura de dados do tipo Pilha possui uma regra de inserção dos elementos, em que o último que entra na sequência é o primeiro a sair ( Last-In-First-Out – LIFO) e, para a manipulação desses dados, são de�nidos dois comandos básicos: • POP(p): Retira o elemento no topo da pilha. • PUSH(p, n): Insere um número “n” em uma estrutura de dados do tipo pilha “p”. Considerando uma estrutura de dados tipo pilha “p”, inicialmente vazia, serão executados os seguintes comandos: PUSH (p, 6) POP (p) PUSH (p,12) PUSH (p, 11) PUSH (p,5) PUSH (p,4) POP (p) Após a execução da sequência dos comandos acima, assinale a alternativa que apresenta o elemento do TOPO da Pilha e qual é o valor da soma de todos os elementos restantes nesta pilha, respectivamente. 5 e 28. 5 e 28. 6 e 16. 6 e 17. 4 e 32. 12 e 19. Resposta: A Comentário: Analisando o teste de mesa, coluna a coluna, é possível veri�car a sequência dos comandos pop e push de acordo com a sequência previamente de�nida. A última coluna apresenta o elemento 5 como sendo o TOPO da pilha e o 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 13/14 número 28 representando a soma de todos os elementos na pilha nesta mesma coluna. Pergunta 10 Resposta Selecionada: b. Respostas: a. b. c. d. e. Uma lista ligada é um conjunto linear de nós conectados de forma unidirecional. Cada nó é composto por um conjunto de dados e um ponteiro indicando o endereço do elemento seguinte. Na manipulação de listas, precisamos de três operações fundamentais. Assinale a alternativa que corresponda com essas operações: Inserção, busca e remoção. Insert, function e delete. Inserção, busca e remoção. String, nó e delete. Nó, ponteiro e lista. Função, memória e criação. 0,2 em 0,2 pontos 12/11/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE VII – 6654-... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_51586374_1&course_id=_115304_1&content_id=_1545743_1&outcome_id=_34562568_1&outcome_definition_id=_1604443_1 14/14 Quinta-feira, 12 de Novembro de 2020 18h07min38s GMT-03:00 Feedback da resposta: Resposta: B Comentário: O conjunto de funções que manipulam um determinado dado também é conhecido como Tipo Abstrato de Dados (TAD). Assim, as operações que fazem um conjunto de nós funcionarem dentro de um certo padrão (inserção, busca,
Compartilhar