Buscar

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 6 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 6 páginas

Prévia do material em texto

08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6080047/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 1/6
Local: Sala 1 - Sala de Aula / Andar / Polo Niterói - Região Oceânica / POLO REGIÃO OCEÂNICA 
Acadêmico: EAD-IL10301-20204A
Aluno: MARCO ANTONIO LIMA DE CASTRO 
Avaliação: A2-
Matrícula: 20191301364 
Data: 12 de Dezembro de 2020 - 08:00 Finalizado
Correto Incorreto Anulada  Discursiva  Objetiva Total: 10,00/10,00
1  Código: 35698 - Enunciado: As árvores são estruturas de dados que apresentam nós, tecnicamente denominados vértices, que podem estar ligados a
outros nós por meio de uma linha de ligação, tecnicamente denominada aresta. Existem diversas formas de representar graficamente a estrutura de dados
árvore. Nesse contexto, analise a figura a seguir e identifique o tipo de representação. 
 a) Representação hierárquica.
 b) Representação por parênteses aninhados.
 c) Representação por indentação.
 d) Representação por vetor de dados.
 e) Representação por inclusão.
Alternativa marcada:
d) Representação por vetor de dados.
Justificativa: Resposta correta: Representação por vetor de dados. 
Distratores: Representação por indentação. Errada, pois não apresenta a estrutura na forma indentada.Representação hierárquica. Errada, pois não
apresenta a estrutura em forma de árvore.Representação por parênteses aninhados. Errada, pois não apresenta a estrutura na forma de
pareamento.Representação por inclusão. Errada, pois a estrutura não está na forma de diagrama de Venn.
1,00/ 1,00
2  Código: 35707 - Enunciado: "As pilhas são uma lista na qual é aplicada a disciplina de acesso antagônica denominada LIFO. Os processos de inclusão e
remoção de elementos na pilha são tecnicamente denominados empilhar e desempilhar."(Fonte: BOENTE, A. Aprendendo a programar em linguagem C: do
básico ao avançado. Rio de Janeiro: Brasport, 2003). 
Nesse contexto, analise as afirmações a seguir e assinale a correta.
 a) Na pilha, o primeiro elemento a entrar sempre será o último elemento a removido, caracterizando o que tecnicamente chamamos de FIFO.
 b) Na estrutura de dados pilha, tanto a inserção como a remoção de elementos ocorrem pela base da pilha.
 c) A técnica utilizada na estrutura de dados pilha afirma que o primeiro elemento a entrar será o primeiro elemento a sair.
 d) Os elementos de uma pilha são ligados por uma linha denominada aresta.
 e) O processo de inserção de elementos na pilha é denominado, tecnicamente, de push, e o processo de remoção de elementos da pilha é
denominado, tecnicamente, pop.
Alternativa marcada:
e) O processo de inserção de elementos na pilha é denominado, tecnicamente, de push, e o processo de remoção de elementos da pilha é denominado,
tecnicamente, pop.
1,00/ 1,00
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6080047/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 2/6
Justificativa: Resposta correta: O processo de inserção de elementos na pilha é denominado, tecnicamente, de push, e o processo de remoção de
elementos da pilha é denominado, tecnicamente, pop.Push e pop são termos técnicos usados na estrutura de dados pilha e referem-se aos processos de
empilhamento e desempilhamento, respectivamente.  
Distratores:Na pilha, o primeiro elemento a entrar sempre será o último elemento a removido, caracterizando o que tecnicamente chamamos de FIFO.
Errada, pois a técnica seria LIFO.A técnica utilizada na estrutura de dados pilha afirma que o primeiro elemento a entrar será o primeiro elemento a sair.
Errada, pois FIFO refere-se à estrutura de dados fila.Os elementos de uma pilha são ligados por uma linha denominada aresta. Errada, pois as arestas são
linhas que ligam os vértices da estrutura de dados árvore.Na estrutura de dados pilha, tanto a inserção como a remoção de elementos ocorrem pela base
da pilha. Errada, pois a inserção e a remoção de elementos sempre ocorrem no topo da pilha, e não em sua base.
3  Código: 35701 - Enunciado: Existem diversas formas de representar graficamente a estrutura de dados árvore que, na verdade, é uma estrutura de dados
que apresenta em sua composição dois elementos básicos, os vértices e as arestas.Nesse contexto, analise a representação gráfica a seguir e indique o tipo
correspondente. 
 a) Representação hierárquica.
 b) Representação por vetor de dados.
 c) Representação por indentação.
 d) Representação por inclusão.
 e) Representação por parênteses aninhados.
Alternativa marcada:
c) Representação por indentação.
Justificativa: Resposta correta: Representação por indentação. Não apresenta a estrutura na forma de estrutura indentada. 
Distratores: Representação hierárquica. Errada, pois não apresenta a estrutura em forma de árvore.Representação por vetor de dados. Errada, pois a árvore
é apresentada de forma vetorizada.Representação por parênteses aninhados. Errada, pois não apresenta a estrutura na forma de
pareamento.Representação por inclusão. Errada, pois a estrutura não está na forma de diagrama de Venn.
1,00/ 1,00
4  Código: 35791 - Enunciado: O trecho de código de programa em linguagem C descrito a seguir descreve operações com a estrutura de dados lista
simplesmente encadeada. Nesse contexto, analise o código-fonte e marque a alternativa que corresponda à operação de inclusão de elementos no início
da lista.void main( ) {            setlocale(LC_ALL, "portuguese"); 
            ListaSimplesEnc minhaLista;            int valor, op, valorAlt; 
            criarLista(&minhaLista); 
            printf("Escolha uma opção:\n"); 
            while (1) {                        printf("\n(1) Inserir elemento no início da Lista\n");                        printf("(2) Inserir elemento em ordem (verifique se a lista está
ordenada)\n");                        printf("(3) Remover elemento no início da Lista\n");                        printf("(4) Remover elemento específico da Lista\n");                     
  printf("(5) Mostrar Lista\n");                        printf("(6) Apagar todos os elementos da Lista\n");                        printf("(7) Alterar elemento da Lista\n");                     
  printf("(0) Sair\n");                        printf(" ? ");                        scanf("%d", &op); 
                        system("cls");                        switch (op) {                        case 1: // inserir elemento no inicio                                   printf("Valor? ");                                   scanf("%d",
&valor);                                   inserirIni(&minhaLista, valor);                                   break;                        case 2: // inserir elemento ordenado                                   printf("Valor? "); 
                                 scanf("%d", &valor);                                   inserirOrd(&minhaLista, valor);                                   break;                        case 3: // remover o primeiro                         
         removerIni(&minhaLista);                                   break;                        case 4: // remover determinado elemento                                   printf("Valor? ");                                 
1,50/ 1,50
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6080047/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 3/6
 scanf("%d", &valor);                                   removerEle(&minhaLista, valor);                                   break;                        case 5: // mostrar lista                                   if
(estaVazia(&minhaLista)) {                                               printf("Lista vazia\n");                                   }                                   else {                                             
 mostrarLista(&minhaLista);                                   }                                   break;                        case 6: // apagar todos os elementos da Lista                                 
 removerTudo(&minhaLista);break;                        case 7: // alterar um elemento                                   printf("Valor a ser alterado? ");                                 
 scanf("%d", &valor);                                   printf("Novo valor? ");                                   scanf("%d", &valorAlt);                                   alterarEle(&minhaLista, valor, valorAlt);         
                         break;                        case 0: // abandonar o programa                                   removerTudo(&minhaLista);                                    exit(0);                        default:                 
                 printf("Opção inexistente!\n");                        }            }} 
 a) void atento(ListaSimplesEnc *pList) {            Nodo *p;            printf("Lista: ");                        for (p = pList->prim; p != NULL; p = p->prox)             {                     
  printf("%d -> ", p->info);            }                        printf("NULL\n");}
 b) int atento(ListaSimplesEnc *pList) {// Atento aos comentários: elemento incluído com sucesso            return(pList->prim == NULL);}
 c) void atento(ListaSimplesEnc *pList, int v) {            Nodo *novo;            novo = (Nodo*)malloc(sizeof(Nodo)); 
            if (novo != NULL)             {                        novo->info = v;                        novo->prox = pList->prim;                        pList->prim = novo;            }            else             {                       
printf("Memória Insuficiente\n");            }}
 d) void atento(ListaSimplesEnc *pList, int v1, int v2) {            Nodo *pAtu, *pAnt; 
            pAnt = NULL;            pAtu = pList->prim; 
            while (pAtu != NULL && pAtu->info != v1)             {                        pAnt = pAtu;                        pAtu = pAtu->prox;            } 
            if (pAnt != NULL)             {                        if (pAtu != NULL)                         {                                   pAtu->info = v2;                        }                        else                         {                                 
 printf("Valor não encontrado\n");                        }            }            else             {                        printf("Lista Vazia\n");            }}
 e) void atento(ListaSimplesEnc *pList) {            Nodo *pAux = pList->prim; 
            if (pAux != NULL)             {                        pList->prim = pList->prim->prox;                        free(pAux);            }            else             {                        printf("Lista Vazia\n");            }}
Alternativa marcada:
c) void atento(ListaSimplesEnc *pList, int v) {            Nodo *novo;            novo = (Nodo*)malloc(sizeof(Nodo)); 
            if (novo != NULL)             {                        novo->info = v;                        novo->prox = pList->prim;                        pList->prim = novo;            }            else             {                       
printf("Memória Insuficiente\n");            }}
Justificativa: Resposta correta: void atento(ListaSimplesEnc *pList, int v) {            Nodo *novo;            novo = (Nodo*)malloc(sizeof(Nodo)); 
            if (novo != NULL)             {                        novo->info = v;                        novo->prox = pList->prim;                        pList->prim = novo;            }            else             {               
        printf("Memória Insuficiente\n");            }}Correta, pois refere-se à operação de inclusão de elementos em uma lista simplesmente encadeada. 
Distratores: void atento(ListaSimplesEnc *pList) {            Nodo *pAux = pList->prim; 
            if (pAux != NULL)             {                        pList->prim = pList->prim->prox;                        free(pAux);            }            else             {                        printf("Lista Vazia\n");   
        }}Errada, pois refere-se à rotina de remoção de elementos de uma lista simplesmente encadeada 
void atento(ListaSimplesEnc *pList) {            Nodo *p;            printf("Lista: ");                        for (p = pList->prim; p != NULL; p = p->prox)             {                       
printf("%d -> ", p->info);            }                        printf("NULL\n");}Errada, pois refere-se à rotina de  consulta de elementos de um a lista simplesmente
encadeada 
void atento(ListaSimplesEnc *pList, int v1, int v2) {            Nodo *pAtu, *pAnt; 
            pAnt = NULL;            pAtu = pList->prim; 
            while (pAtu != NULL && pAtu->info != v1)             {                        pAnt = pAtu;                        pAtu = pAtu->prox;            } 
            if (pAnt != NULL)             {                        if (pAtu != NULL)                         {                                   pAtu->info = v2;                        }                        else                         {                       
           printf("Valor não encontrado\n");                        }            }            else             {                        printf("Lista Vazia\n");            }}Errada, pois refere-se à rotina de
alteração de elementos de uma lista simplesmente encadeada. 
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6080047/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 4/6
int atento(ListaSimplesEnc *pList) {// Atento aos comentários: elemento incluído com sucesso            return(pList->prim == NULL);}Errada, pois refere-se à
rotina de teste para lista vazia, apenas.
5  Código: 35782 - Enunciado: No estudo da estrutura de dados árvore, uma operação comum é percorrer uma árvore binária, ou seja, percorrer a árvore
enumerando cada um de seus nós uma vez. Podemos simplesmente querer imprimir o conteúdo de cada nó ao enumerá-lo, ou podemos processá-lo de
alguma maneira. Seja qual for o caso, falamos em visitar cada nó à medida que ele é enumerado. Evidentemente, a ordem na qual os nós de uma lista
linear são visitados em um percurso é do primeiro para o último. Entretanto, não existe uma ordem "natural" para os nós de uma árvore. Sendo assim, são
usados diferentes ordenamentos de percurso em diferentes casos. São definidos três desses métodos de percurso. Em cada um desses métodos, não é
preciso fazer nada para percorrer uma árvore binária vazia. Todos os métodos são definidos recursivamente, de modo que percorrer uma árvore binária
envolve visitar a raiz e percorrer suas subárvores esquerda e direita. A única diferença entre os métodos é a ordem na qual essas três operações são
efetuadas, pré-ordem, em ordem e pós-ordem.(Tanenbaum, A. A.; Langsam, Y.; Augenstein, M. J. Estruturas de Dados Usando C. São Paulo: Makron Books,
1995.) 
Com base no texto apresentado, analise os elementos da tabela a seguir de forma a interpretá-los, identificando, por meio do percurso de pré-ordem, a
ordem de visita de cada elemento. 
(
 a) 45, 23, 69, 22, 36, 58, 97, 18, 52, 88, 99, 76.
 b) 18, 22, 23, 36, 45, 52, 58, 69, 76, 88, 97, 99.
 c) 18, 22, 36, 23, 52, 58, 76, 88, 99, 97, 69, 45.
 d) 23, 22, 36, 18, 69, 58, 52, 97, 88, 99, 76, 45.
 e) 45, 23, 22, 18, 36, 69, 58, 52, 97, 88, 76, 99.
Alternativa marcada:
e) 45, 23, 22, 18, 36, 69, 58, 52, 97, 88, 76, 99.
Justificativa: Resposta correta: 45, 23, 22, 18, 36, 69, 58, 52, 97, 88, 76, 99.Refere-se à saída do percurso pré-ordem (RED). 
Distratores:45, 23, 69, 22, 36, 58, 97, 18, 52, 88, 99, 76. Errada, pois se refere à saída do percurso para busca em largura (DFS).18, 22, 23, 36, 45, 52, 58, 69, 76,
88, 97, 99. Errada, pois se refere à saída do percurso em ordem (ERD).23, 22, 36, 18, 69, 58, 52, 97, 88, 99, 76, 45. Errada, pois existe erro no processamento
de saída, ao ser feita uma leitura na tentativa de um dos métodos aplicados (possivelmente o aluno confundiu o primeiro valor da esquerda com 23).18, 22,
36, 23, 52, 58, 76, 88, 99, 97, 69, 45. Errada, pois se refere à saída do percurso pós-ordem (EDR).
1,50/ 1,50
6  Código: 35694 - Enunciado: No que tange ao estudodas estruturas de dados, segundo Forbellone e Eberspacher (2005), a partir dos tipos de dados
primitivos, serão compostos os tipos de dados construídos, ora denominados estrutura de dados. Cada estrutura de dados tem um tipo peculiar de
organização e forma de manipulação dos dados, o que teoricamente constituirá certa estrutura de dados especificamente.(FORBELLONE, A. L. V.;
EBERSPACHER, H. F. Lógica de Programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson Prentice Hall, 2005.) 
Indique o tipo de estrutura de dados representada pela figura exposta a seguir: 
 a) Fila.
 b) Matriz.
 c) Ponteiro.
 d) Pilha.
 e) Lista.
1,00/ 1,00
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6080047/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 5/6
Alternativa marcada:
c) Ponteiro.
Justificativa: Resposta correta: Ponteiro.O conteúdo do endereço 188 refere-se ao endereço de memória 113, característica prima de ponteiros ou
apontadores. 
Distratores:Pilha. Errada, pois não mostra, em sua estrutura, base e topo, por onde são feitos os empilhamentos e desempilhamentos.Fila. Errada, pois não
apresenta uma estrutura sequencial de entrada de dados que expresse o método FIFO.Matriz. Errada, pois a estrutura apresenta apenas uma dimensão de
dados.Lista. Errada, pois não apresenta uma estrutura linear.
7  Código: 35790 - Enunciado: "De acordo com Mizrahi (2008), uma matriz nada mais é que uma coleção de variáveis do mesmo tipo que compartilham o
mesmo nome, caracterizando uma estrutura multidimensional." (Fonte: MIZRAHI, V. V. Treinamento em linguagem C. 2. ed. São Paulo: Pearson Education
do Brasil, 2008).  
Neste viés, analise o código de programa abaixo, e marque a alternativa correta acerca da saída produzida pelo programa, considerando, como dados de
entrada: 3, 6, 4, 2, 7, 5, 4, 8, 9. 
#include <stdio.h>void main (  ){     int          mat [3][3],          i, j;// Entrada de Dadosrealiza_entrada;// Saída de Informaçõesfor ( i=1; i<3; i++ )          for ( j=1; j<3; j++ ) 
              if ((i == j) && (mat[ i ][ j ] % 2) ==  0 )                     printf (“\n%d”, mat[ i ][ j ]);}
 a) 4, 5, 9.
 b) 4, 8.
 c) 4, 4.
 d) 3, 2, 4.
 e) 6, 7, 8.
Alternativa marcada:
a) 4, 5, 9.
Justificativa: Resposta correta: 4, 4.Imprime os números pares que estejam na diagonal principal.Veja: 
Todos os demais resultados estarão errados, conforme demonstrado na figura.
1,50/ 1,50
8  Código: 35785 - Enunciado: Tomando como base a tabela abaixo, analise seus elementos de forma a interpretá-los, buscando identificar sua ordem de
visita, a partir do percurso de busca em largura. Em seguida, marque a alternativa correta em relação à leitura realizada. 
 a) 23, 22, 36, 18, 69, 58, 52, 97, 88, 99, 76, 45.
 b) 45, 23, 22, 18, 36, 69, 58, 52, 97, 88, 76, 99.
 c) 45, 23, 69, 22, 36, 58, 97, 18, 52, 88, 99, 76.
 d) 18, 22, 36, 23, 52, 58, 76, 88, 99, 97, 69, 45.
 e) 18, 22, 23, 36, 45, 52, 58, 69, 76, 88, 97, 99.
Alternativa marcada:
c) 45, 23, 69, 22, 36, 58, 97, 18, 52, 88, 99, 76.
1,50/ 1,50
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6080047/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 6/6
Justificativa: Resposta correta: 45, 23, 69, 22, 36, 58, 97, 18, 52, 88, 99, 76. Saída do percurso para busca em largura (DFS)// Algoritmo Busca em
Larguravoid Largura(Arvbin p) { inicializa_fila();    ins_fila(p);    while (!fila_vazia())     { p = rem_fila();        if (p)        { Visite(p);           ins_fila(p->esq);          
ins_fila(p->dir);         }       }       finaliza_fila(); }  
Distratores: 
45, 23, 22, 18, 36, 69, 58, 52, 97, 88, 76, 99. Errada. Saída do percurso pré-ordem (RED).// Algoritmo Pré-Ordemvoid PreOrdem(Arvbin p) { if (p)    { Visite(p);    
 PreOrdem(p->esq);      PreOrdem(p->dir);      } }  
18, 22, 23, 36, 45, 52, 58, 69, 76, 88, 97, 99. Errada. Saída do percurso em ordem (ERD).// Algoritmo Em Ordemvoid EmOrdem(Arvbin p) { if (p)    {
EmOrdem(p->esq);       Visite(p);       EmOrdem(p->dir);      } } 
23, 22, 36, 18, 69, 58, 52, 97, 88, 99, 76, 45. Errada, pois há erro no processamento de saída, uma vez que não referencia nenhum dos métodos válidos
(confundiu-se o primeiro valor da esquerda com 23). 
18, 22, 36, 23, 52, 58, 76, 88, 99, 97, 69, 45. Errada. Saída do percurso pós-ordem (EDR).// Algoritmo Pós-Ordemvoid PosOrdem(Arvbin p) { if (p)    {
PosOrdem(p->esq);       PosOrdem(p->dir);       Visite(p);     } }

Mais conteúdos dessa disciplina