Prévia do material em texto
Revisar envio do teste: QUESTIONÁRIO UNIDADE VI LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO 6654-120_57501_R_E1_20222_01 CONTEÚDO Usuário eliezer.silva19 @aluno.unip.br Curso LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO Teste QUESTIONÁRIO UNIDADE VI Iniciado 02/11/22 20:13 Enviado 02/11/22 20:17 Status Completada Resultado da tentativa 1 em 1 pontos Tempo decorrido 3 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários, Perguntas respondidas incorretamente Pergunta 1 UNIP EAD BIBLIOTECAS MURAL DO ALUNO TUTORIAISCONTEÚDOS ACADÊMICOS 0,1 em 0,1 pontos http://company.blackboard.com/ https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_242766_1 https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_242766_1&content_id=_2951421_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 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: 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; } As variáveis "i" e “j” não precisavam ser um ponteiro. As variáveis "i" e “j” não precisavam ser um ponteiro. A variável “i” deveria ser um contador. A variável “j” deveria acumular o valor de “i”. A variável "temp" não precisava ser um ponteiro. Não existe nenhum erro na função. 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 Analise a função caracteres() e identi�que 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; } } } 0,1 em 0,1 pontos Resposta Selecionada: c. Respostas: a. 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 void incr_vetor (int *v , int tam) { int i; for (i = 0; i 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); } 1, 1, 120. 0, 1, 5. 1, 2, 3. 5, 10, 15. d. e. Comentário da resposta: 10, 20, 120. 1, 1, 120. 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 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 void f2(int n) { if (n == 0) printf("zero "); 0,1 em 0,1 pontos Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: else { printf("%d ", n); f2(n-1); } } void main(){ int a; printf("Digite um valor inteiro:"); scanf("%d", &a); f2(a); } Zero; 1 Zero; 5 4 3 2 1 Zero 0; 0 1; 0 1 2 3 4 5 0; 1 0; 5 4 3 2 1 0 1; 1 2; 1 2 3 4 5 Zero; 1 Zero; 5 4 3 2 1 Zero Zero; Zero 1; Zero 1 2 3 4 5 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 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 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); 0,1 em 0,1 pontos Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: printf ("%d \n", b); } 0, 1, 15. 0, 1, 15. 0, 0, 3. 1, 1, 15. 1, 2, 3. 3, 2, 1. 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 Resposta Selecionada: b. Respostas: a. b. c. 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 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); } 0, 3, 45. 0, 1, 15. 0, 3, 45. 1, 1, 15. d. e. Comentário da resposta: 0, 3, 15. 1, 3, 9. 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 O programa realiza comparações entre duas strings veri�cando 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 #include void main() { char *a, *b; 0,1 em 0,1 pontos Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: *a = "abacate"; *b = "uva"; if (strcmp(a, b) #include void main() { char *a, *b; a = "abacate"; b = "uva"; if (strcmp(a,b)