Buscar

QUESTIONÁRIO UNIDADE VI

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

24/09/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE VI – 6654-...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_8332075_1&course_id=_23458_1&content_id=_366460_1&outcome… 1/9
 
Revisar envio do teste: QUESTIONÁRIO UNIDADE VI
LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO 6654-120_57501_D_20182 CONTEÚDO
Usuário rondinele.clemente @unipinterativa.edu.br
Curso LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO
Teste QUESTIONÁRIO UNIDADE VI
Iniciado 24/09/18 18:19
Enviado 24/09/18 18:21
Status Completada
Resultado da
tentativa
1 em 1 pontos  
Tempo decorrido 1 minuto
Resultados
exibidos
Todas as respostas, Respostas enviadas, Respostas corretas, Comentários, Perguntas
respondidas incorretamente
Pergunta 1
Resposta Selecionada: d. 
Respostas: a. 
b. 
c. 
d. 
e. 
Feedback
da
resposta:
A função abaixo (trecho de um programa) deveria trocar os valores entre duas variáveis,
mas possui um erro. 
  
void troca (int *i, int *j) 
{ 
       int *temp; 
       *temp = *i; 
       *i = *j; 
       *j = *temp; 
} 
  
A alternativa que identi�ca o erro é:
A variável "temp" não precisava 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 resposta correta é a alternativa D. 
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; 
}
CONTEÚDOS ACADÊMICOS BIBLIOTECAS MURAL DO ALUNO TUTORIAISUNIP EAD
0,1 em 0,1 pontos
rondinele.clemente @unipinterativa.ed...
24/09/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE VI – 6654-...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_8332075_1&course_id=_23458_1&content_id=_366460_1&outcome… 2/9
Pergunta 2
Resposta
Selecionada:
c.
Respostas: a.
b.
c.
d.
Analise a função caracteres e identi�que a alternativa que melhor descreve a tarefa
executada por ela.  
  
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; 
}
Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todos os
caracteres que aparecem em s1 e em s2.
Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todas as
vogais que aparecem em s1 e em s2.
Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todas as
consoantes que aparecem em s1 e em s2.
Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todos os
caracteres que aparecem em s1 e em s2.
0,1 em 0,1 pontos
24/09/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE VI – 6654-...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_8332075_1&course_id=_23458_1&content_id=_366460_1&outcome… 3/9
e.
Feedback da
resposta:
Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que é a maior cadeia
entre s1 e em s2.
Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que é a menor cadeia
entre s1 e em s2.
Resposta: A resposta correta é a alternativa C. 
A função lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém
todos os caracteres que aparecem em s1 e em s2.
Pergunta 3
Resposta Selecionada: a. 
Respostas: a. 
b. 
c. 
d. 
e. 
Feedback da
resposta:
Analise o programa abaixo e assinale a alternativa correta: 
  
#include <stdio.h> 
  
void incr_vetor (int *v , int tam) { 
       int i; 
       for (i = 0; i < tam; i++) 
       v[i]++; 
} 
  
int main () 
{ 
       int a[ ] = {1, 3, 5}; 
       incr_vetor(a, 3); 
       printf("%d %d %d\n", a[0], a[1], a[2]); 
       system("pause"); 
       return 0; 
} 
  
A saída do programa será:
2 4 6
2 4 6
0 1 2
1 2 3
1 3 5
3 6 9
Resposta: A resposta correta é a alternativa A. 
A saída do programa é 2 4 6, pois os elementos do vetor serão
incrementados dentro da função.
Pergunta 4
Ao declarar um vetor, para dimensioná-lo, é necessário saber de antemão quantos
0,1 em 0,1 pontos
0,1 em 0,1 pontos
24/09/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE VI – 6654-...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_8332075_1&course_id=_23458_1&content_id=_366460_1&outcome… 4/9
Resposta Selecionada: e. 
Respostas: a. 
b. 
c. 
d. 
e. 
Feedback
da
resposta:
elementos deveriam compô-lo. Temos de prever o número máximo de elementos no vetor
durante o processo da codi�cação. 
  
Com base nesses dados, avalie as a�rmações seguintes: 
  
I. O pré-dimensionamento do vetor é 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 a�rma em:
I e III, apenas
I, apenas
II, apenas
III, apenas
I e II, apenas
I e III, apenas
Resposta: A resposta correta é a alternativa E. 
Para o problema de prever o número máximo de elementos, uma solução
seria superdimensionar o vetor para tentar contornar essa falta de elementos
livres durante a execução do programa, mas isso acarreta um desperdício de
memória, o que é inaceitável em diversas aplicações, como aplicativos
portáteis, em que sempre estamos sujeitos a ter falta de memória.
Pergunta 5
Resposta Selecionada: c. 
Respostas: a. 
Dado o programa abaixo e considerando as entradas 0, 1 e 5; qual será a saída apresentada
para cada entrada respectivamente? 
  
#include <stdio.h> 
  
int f1(int n) 
{ 
       if (n == 0) 
                   return (1); 
       else 
                   return(n * f1(n-1)); 
} 
  
int main(){ 
       int a, b; 
       printf("Digite um valor inteiro:"); 
       scanf("%d", &a); 
       b = f1(a); 
       printf("%d \n", b); 
       system ("pause"); 
       return 0;            
}
1, 1, 120
0, 1, 5
0,1 em 0,1 pontos
24/09/2018 Revisar envio doteste: QUESTIONÁRIO UNIDADE VI – 6654-...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_8332075_1&course_id=_23458_1&content_id=_366460_1&outcome… 5/9
b. 
c. 
d. 
e. 
Feedback da
resposta:
1, 2, 3
1, 1, 120
10, 20, 120
5, 10, 15
Resposta: A resposta correta é a alternativa C. 
O programa executa a função f1 de forma recursiva e sua saída será
em n igual a 0.
Pergunta 6
Resposta Selecionada:
e. 
Respostas: a. 
b. 
c. 
d. 
e. 
Feedback da
resposta:
Dado o programa abaixo e considerando as entradas 0, 1 e 5; qual será a saída apresentada
para cada entrada respectivamente? 
  
#include <stdio.h> 
  
void f2(int n) 
{ 
       if (n == 0) 
                   printf("Zero "); 
       else 
       { 
                   printf("%d ",n); 
                   f2(n-1); 
       } 
} 
  
int main(){ 
       int a; 
       printf("Digite um valor inteiro:"); 
       scanf("%d", &a); 
       f2(a); 
       system ("pause"); 
       return 0;            
}
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; Zero 1; Zero 1 2 3 4 5
Zero; 1 Zero;  5 4 3 2 1 Zero 
  
  
 
Resposta: A resposta correta é a alternativa E.
0,1 em 0,1 pontos
24/09/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE VI – 6654-...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_8332075_1&course_id=_23458_1&content_id=_366460_1&outcome… 6/9
O programa executa a função f2 de forma recursiva e sua saída será
em n igual a 0.
Pergunta 7
Resposta Selecionada: a. 
Respostas: a. 
b. 
c. 
d. 
e. 
Feedback da
resposta:
Dado o programa abaixo e considerando as entradas 0, 1 e 5; qual será a saída apresentada
para cada entrada respectivamente? 
  
#include <stdio.h> 
  
int func (int n) 
{ 
       if (n == 0) 
                   return(0); 
       return(n + func(n-1)); 
} 
  
  
int main(){ 
       int a, b; 
       printf("Digite um valor inteiro:"); 
       scanf("%d", &a); 
       b= func(a); 
       printf ("%d \n", b); 
       system ("pause"); 
       return 0;            
}
0, 1, 15
0, 1, 15
0, 0, 3
1, 1, 15
1, 2, 3
3, 2, 1 
  
 
Resposta: A resposta correta é a alternativa A.
O programa executa a função func de forma recursiva e sua saída será
em n igual a 0.
Pergunta 8
0,1 em 0,1 pontos
0,1 em 0,1 pontos
24/09/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE VI – 6654-...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_8332075_1&course_id=_23458_1&content_id=_366460_1&outcome… 7/9
Resposta Selecionada: b. 
Respostas: a. 
b. 
c. 
d. 
e. 
Feedback da
resposta:
Dado o programa abaixo e considerando as entradas 0, 1 e 5; qual será a saída apresentada
para cada entrada respectivamente? 
  
#include <stdio.h> 
  
int func (int n) 
{ 
       if (n == 0) 
                   return(0); 
       return(3*n + func(n-1)); 
} 
  
  
int main(){ 
       int a, b; 
       printf("Digite um valor inteiro:"); 
       scanf("%d", &a); 
       b= func(a); 
       printf ("%d \n", b); 
       system ("pause"); 
       return 0;            
}
0, 3, 9
0, 1, 15
0, 3, 9
1, 1, 15
0, 3, 15
1, 3, 9 
  
 
Resposta: A resposta correta é a alternativa B.
O programa executa a função func de forma recursiva e sua saída será
em n igual a 0.
Pergunta 9
O programa abaixo deve receber uma string de caracteres e uma letra. Possuir uma função
que devolve um vetor de inteiros contendo as posições (índices no vetor da string) onde a
letra foi encontrada e um inteiro contendo o tamanho do vetor criado (total de letras iguais
encontradas). 
  
0,1 em 0,1 pontos
24/09/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE VI – 6654-...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_8332075_1&course_id=_23458_1&content_id=_366460_1&outcome… 8/9
Resposta Selecionada:
a. 
Respostas:
a. 
b. 
c. 
d. 
e. 
Feedback
da
resposta:
 
  
Para que o programa execute corretamente sua tarefa, devemos preencher a linha 11 e a
linha 25, respectivamente, conforme a alternativa:
indices = (int *) malloc(n* sizeof(int)); 
    indices = acha_caractere(frase, 'a', &n);
indices = (int *) malloc(n* sizeof(int)); 
    indices = acha_caractere(frase, 'a', &n);
indices = (int) malloc(n sizeof(int)); 
    indices = acha_caractere(frase, 'a', &n);
indices = (int *) malloc(n* sizeof(int)); 
    indices = acha_caractere(frase, 'a', n);
indices = (int *) malloc(n* sizeof(int)); 
    indices = acha_caractere(frase, 'a', *n);
indices = (int ) malloc(n sizeof(int)); 
    indices = acha_caractere(frase, 'a', n);
Resposta: A resposta correta é a alternativa A. 
Na linha 11 alocamos a memória para índices e na linha 25 chamamos a
função acha_caractere, passando as informações necessárias (frase, 'a', &n) e
recebendo o retorno de índices.
Pergunta 10
O programa abaixo deveria identi�car entre duas palavras qual vem antes no dicionário: 
  
#include <stdio.h> 
#include <string.h> 
  
int main() 
0,1 em 0,1 pontos
24/09/2018 Revisar envio do teste: QUESTIONÁRIO UNIDADE VI – 6654-...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_8332075_1&course_id=_23458_1&content_id=_366460_1&outcome… 9/9
Segunda-feira, 24 de Setembro de 2018 18h23min14s BRT
Resposta
Selecionada:
c.
Respostas: a. 
b. 
c.
d.
e. 
Feedback da
resposta:
{ 
       char *a, *b; 
       *a = "abacate"; 
       *b = "uva"; 
       if (strcmp(a,b) < 0 ) 
                   printf ("%s vem antes de %s no dicionário", a, b); 
       else 
                   printf ("%s vem depois de %s no dicionário", a, b); 
       printf("\n"); 
       system("pause"); 
       return 0; 
} 
  
A alternativa que identi�ca o erro é:
As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de
valores.
O teste da condicional nunca pode ser menor que 0.
Estão faltando as chaves para identi�car os blocos na condicional.
As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de
valores.
As variáveis “a” e “b” deveriam ser declaradas como string e não char.
O programa não possui erro.
Resposta:  A resposta correta é a alternativa C. 
As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de
valores. Funcionaria com a modi�cação abaixo: 
  
#include <stdio.h> 
#include <string.h> 
  
int main() 
{ 
       char *a, *b; 
       a = "abacate"; 
       b = "uva"; 
       if (strcmp(a,b) < 0 ) 
                   printf ("%s vem antes de %s no dicionário", a, b); 
       else 
                   printf ("%s vem depois de %s no dicionário", a, b); 
       printf("\n"); 
       system("pause"); 
       return 0; 
}
← OK

Continue navegando