Buscar

Avaliação Online 1_ MAI TADS 2 - Estrutura de Dados

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 12 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 12 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 12 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

Prévia do material em texto

01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 1/12
Avaliação Online 1 Resultados para Carolina Diniz
Santos
 As respostas corretas estarão disponíveis em 8 jun em 0:00.
Pontuação desta tentativa: 12 de 15
Enviado 1 jun em 22:05
Esta tentativa levou 49 minutos.
1,5 / 1,5 ptsPergunta 1
Analise o seguinte código escrito em linguagem C.
 
#include <stdio.h> 
#include <stdlib.h> 
int main () {
int i, sequencial[20], aleatorio[20];
for(i=0;i<=19;i++) { 
sequencial[i]=i; 
aleatorio[i]=rand(); 
}
}
Neste contexto, julgue as afirmações a seguir.
I – O laço de repetição for apresentará erro de execução,
pois seu índice se inicia e zero(0).
II – Os elementos dos vetores são impressos em tela.
III – O código inicializa dois vetores de 20 posições.
Está(ão) correta(s) a(s) afirmativa(s):
 I e II, somente. 
 I, somente. 
 I e III, somente. 
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 2/12
 II, somente. 
 III, somente. 
A afirmação I está incorreta, pois na linguagem C/C++ os
índices dos vetores começam em zero, assim, não ocorrerá
erro de execução no laço for. A afirmação II está incorreta, pois
o código apenas inicializa os vetores, não imprimindo-os em
tela. A terceira afirmação está correta, o código inicializa dois
vetores de vinte posições.
1,5 / 1,5 ptsPergunta 2
Em uma estrutura de dados, a organização dos elementos na
memória, embora importantíssima na implementação do conceito, é só
uma parte da estrutura, sendo tão importante quanto a forma de
armazenamento, é o modo como será feito o acesso aos dados ou o
algoritmo desenvolvido para isso. Na representação a seguir, é
mostrada uma matriz e, logo depois, o código de declaração e
impressão de uma célula da mesma. Observe com atenção o que é
apresentado para responder a essa questão:
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 3/12
Considerando a matriz preenchida, conforme demonstrado acima, e o
código de declaração e impressão apresentado (printf), utilize seus
conhecimentos acerca de matrizes e vetores para marcar qual das
afirmativas é a correta:
 
Será impresso o valor 8, pois está na primeira linha e na terceira
coluna.
 Será impresso o valor 2 na tela. 
 Serão impressos todos os valores da matriz. 
 
Não será impresso nenhum valor da matriz pois o índice de coluna 0
não existe.
 
Não será impresso nenhum valor da matriz pois o índice de linha 3 não
existe.
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 4/12
A alternativa "Não será impresso nenhum valor da matriz pois o
índice de linha 3 não existe." está correta, pois o índice 3 para
linhas dessa matriz não existe, para uma matriz de 3 linhas os
valores vão de 0 a 2 conforme explicação sobre como percorrer
matrizes, item 3.2 do livro-texto.
1,5 / 1,5 ptsPergunta 3
As estruturas de dados têm aplicação em diversas situações no
desenvolvimento de algoritmos, mas se mostram especialmente úteis
quando o problema envolve um maior volume de dados devido a sua
capacidade de organizá-los, possibilitando uma busca ou classificação
mais eficiente.
Sabendo que uma cidade deseja criar um sistema para armazenar a
idade de cada um de seus habitantes (somente a idade), que somam
1.000.000 de pessoas e que você ficou incumbido de criar o sistema 
que resolva essa situação, considerando as diferenças entre as
estruturas unidimensionais e multidimensionais para desenvolver esse
programa, qual estrutura de dados você escolheria: vetor ou matriz?
 Nenhuma das alternativas anteriores. 
 
Um vetor, pois é só um dado de entrada (idade) que será armazenado
por 1.000.000 de vezes (um para cada habitante).
 
Uma matriz, por aceitar dados de diferentes tipos em suas colunas
para o armazenamento das idades.
 
Um vetor, pois me permite armazenar informações de vários tipos
diferentes.
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 5/12
 
Uma matriz, devido ao alto número de registros que poderiam ser
divididos em linhas e colunas para o armazenamento.
Deve ser utilizado um vetor, pois embora sejam muitos dados
não existe a necessidade de separá-los em linhas e colunas,
como em uma matriz, pois é só um dado de entrada repetido
por 1000.000 vezes. Conforme o capítulo 3, no item 3.3 do
livro-texto da unidade I, as matrizes serão utilizadas onde não
for possível utilizar vetores para modelar o problema, o que não
é o caso nessa questão.
1,5 / 1,5 ptsPergunta 4
Vetores e matrizes são estruturas de dados muito utilizadas na
computação, sabe-se que as estruturas de dados têm, dentre suas
principais utilidades, o fato de agruparem dados que têm alguma
relação entre si. Nesse contexto, são colocadas para sua análise as 3
afirmativas abaixo sobre vetores e matrizes, faça uma leitura com
atenção e responda à pergunta que vem a seguir:
I – O vetor comporta mais de um tipo de valor, desde que estes valores
sejam declarados dentro dos colchetes. 
II – Uma matriz pode ser definida como um conjunto de variáveis do
mesmo tipo organizadas em mais de uma dimensão. 
III – Matrizes e vetores são estruturas completamente diferentes sendo
que a única relação entre as duas estruturas é que elas são
homogêneas, ou seja, só aceitam um tipo de dados.
Agora marque abaixo qual alternativa tem somente as afirmativas que
estão corretas sobre as estruturas de dados:
 Apenas a I é correta. 
 As afirmativas I e II são corretas. 
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 6/12
 As afirmativas I e III são corretas. 
 Apenas a II é correta. 
 Todas as afirmativas são corretas. 
Apenas a afirmação II está correta, ao analisar o conceito de
vetores no livro-texto dessa unidade (capítulo 2) e associá-la à
definição de matrizes (capítulo 3), percebe-se que matrizes e
vetores só diferem quanto ao número de dimensões e que são
definidos, conforme a afirmação. Essa mesma associação nos
leva a perceber que a afirmativa III é falsa; já a análise da
afirmativa I como falsa pode ser feita analisando somente a
definição de vetor, que é uma estrutura de dados homogênea
(um só tipo de dado).
1,5 / 1,5 ptsPergunta 5
Para responder a essa questão, observe o seguinte trecho de
código: 
 int *ptrX,*ptrY,x,y;
 x=18;
 y=5;
 ptrY=&y;
 ptrX=&x;
 *ptrX=*ptrY+x;
 ptrX=ptrY;
Qual valor estará na variável x ao terminar a execução?
 18 
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 7/12
 13 
 5 
 23 
 10 
O valor em X é 23, pois, através do operador indireto (*), a
soma de *ptrY (valor de y) com o valor da variável x (18 + 5 =
23) é armazenado em *ptrX (o valor é colocado indiretamente
na variável x).
1,5 / 1,5 ptsPergunta 6
Analise o case a seguir:
Luiz estava desenvolvendo o código de uma aplicação a fim de alocar
diretamente a memória. Passando um endereço para o ponteiro (sem
utilizar o operador new), indicou uma posição de memória aleatória,
sem conferir se ela já estava sendo utilizada por outra variável. O
código funcionou sem erros de compilação. Contudo, Luiz pode ter um
problema com isso.
Qual o possível problema no código desse programador?
 
Existir outra variável utilizando aquela parte da memória, causando
inconsistência de dados.
 
Um ponteiro que não aponta corretamente para um banco de dados
relacional.
01/06/2021Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 8/12
 
Alguma variável comum apontar para a variável “ponteiro”, gerando
erro.
 
Um ponteiro que não armazena um endereço de memória e sim um
valor float.
 
Se houver outra variável utilizando aquela área de memória, ela
deixará de existir no programa.
Alternativa “Existir outra variável utilizando aquela parte da
memória, causando inconsistência de dados.” correta, pois o
uso de ponteiros de forma desordenada pode levar à
inconsistência de dados, uma vez que eles podem utilizar uma
área de memória que já esteja ocupada sem ter sido pensado
para isso pelo programador.
1,5 / 1,5 ptsPergunta 7
Analise o código de programação abaixo:
 
 int *ptrX
 x=1;
 ptrX=&x;
 printf("%p", ptrX);
 
O que será impresso na saída do programa analisado?
 O valor da variável x, de forma indireta pelo ponteiro. 
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 9/12
 O valor da variável x de forma direta. 
 O identificador da variável x. 
 O endereço da variável ptrX. 
 O endereço da variável x. 
0 / 1,5 ptsPergunta 8IncorretaIncorreta
No código abaixo, responsável por esvaziar a lista, primeiro o ponteiro
início assume o endereço do próximo nodo na memória; depois, é
liberada a memória para o ponteiro aux e, em seguida, o aux assume o
endereço de início na memória.
 
 aux=inicio;
 while(aux!=NULL)
 {
 inicio=inicio->proximo;
 delete(aux);
 aux=inicio; 
 }
 
Caso o código seja modificado, conforme abaixo, o que acontecerá em
sua execução?
 
 aux=inicio;
 while(aux!=NULL)
 {
 inicio=inicio->proximo;
 aux=inicio;
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 10/12
 delete(aux); 
 }
Marque a alternativa correta:
 A lista será apagada fora da ordem de acesso. 
 
O encadeamento será perdido, pois o próximo nodo será apagado
antes que se saiba para quem ele está apontando.
 
O código funcionará normalmente, pois os comandos só foram
trocados de lugar.
 O ponteiro para o próximo nodo será apagado ao invés do nodo. 
 O vetor que comporta a lista será apagado. 
0 / 1,5 ptsPergunta 9IncorretaIncorreta
As listas são estruturas de dados que podem ser implementadas com
diversas variações referentes às suas características. Quanto às
alocações de memória, uma lista pode ser estática ou dinâmica; já
quanto ao tipo de dados, ela pode ser homogênea ou heterogênea e,
quanto à forma de utilizar seus campos, a lista pode ser ordenada ou
não ordenada. Cada forma de imlpementação tem suas características
quanto ao código e às aplicações. 
 
Com base no texto e nos conhecimentos que você tem sobre essa
estrutura, avalie as afirmativas abaixo sobre listas encadeadas:
 
I. Na lista simplesmente encadeada não ordenada, os itens podem ser
inseridos em qualquer lugar da lista.
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 11/12
II. Na lista simplemente encadeada ordenada, os itens podem ser
inseridos em qualquer lugar da lista, mas existe a opção de inseri-lo na
ordem correta.
III. Na lista encadeada, é necessário, entre outras coisas, a declaração
de uma struct e de ponteiros para a lista.
 
É correto o que se afirma em:
 II e III, apenas. 
 II, apenas. 
 I, apenas. 
 I e III, apenas. 
 I, II e III. 
1,5 / 1,5 ptsPergunta 10
É conhecido que as listas podem ter variações entre estática,
dinâmica, homogênea, heterogênea, ordenada ou não ordenada.
Sabe-se também que as características relativas aos tipos de dados e
à forma de alocação de memória podem ser identificadas por meio da
forma de declaração da lista, enquanto as características de
ordenação de uma lista só poderão ser identificadas com uma análise
das funções implementadas pelo algoritmo.
Observando a declaração do nodo a seguir, é possível identificar a
qual tipo de lista ele pertence.
 
struct nodo
{
 int idade;
 float altura;
01/06/2021 Carolina Diniz Santos, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26093/history?version=1 12/12
 char sexo;
 nodo *proximo;
};
 
Marque a alternativa que tenha as características corretas para a lista
declarada.
 Lista estática heterogênea. 
 Lista estática homogênea. 
 Lista duplamente encadeada dinâmica heterogênea. 
 Lista encadeada dinâmica heterogênea. 
 Lista encadeada dinâmica homogênea. 
Pontuação do teste: 12 de 15

Mais conteúdos dessa disciplina