Prévia do material em texto
UNIVESP – ESTRUTURA DE DADOS – 2 SEMANA
QUIZZ VIDEOAULA 4 – CLASSES
PERGUNTA 1
1. Na Programação Orientada a Objetos, a classe é a unidade básica de modularização do código, permitindo
agrupar atributos estáticos e comportamento dinâmico em uma cápsula. Sobre classes e objetos, assinale a alternativa
correta:
Em C++, uma classe costuma ser escrita dentro de um arquivo de extensão ".h" e um objeto costuma ser escrito em
um arquivo de mesmo nome daquele que tem extensão ".h", mas agora a extensão passa a ser ".cpp".
Em programação orientada a objetos, a visão lógica pode ser facilmente separada da visão de implementação e da
visão de aplicação, dado que a classe é responsável pela visão de implementação e o objeto é responsável pela
visão lógica e pela visão de aplicação.
Orientação a objetos facilita a implementação de Estruturas de Dados, pois permite que os objetos representem as
estruturas e as classes representem os dados.
Objetos são modelos do mundo real que podem ser agrupados para gerar as classes. Daí a importância da
modelagem orientada a objetos, para conseguir agrupar objetos em classes que realmente fazem sentido.
A complexidade exigida para realização de uma tarefa fica escondida dentro da classe, o que garante o isolamento,
que ocorre quando alterações ficam restritas à classe e não afetam o sistema como um todo.
Pergunta 1
0 em 0 pontos
Na Programação Orientada a Objetos, a classe é a unidade básica de modularização do código, permitindo
agrupar atributos estáticos e comportamento dinâmico em uma cápsula. Sobre classes e objetos, assinale a
alternativa correta:
Resposta
Selecionada:
A complexidade exigida para realização de uma tarefa fica escondida dentro da classe, o que
garante o isolamento, que ocorre quando alterações ficam restritas à classe e não afetam o
sistema como um todo.
Respostas: Em C++, uma classe costuma ser escrita dentro de um arquivo de extensão ".h" e um objeto
costuma ser escrito em um arquivo de mesmo nome daquele que tem extensão ".h", mas
agora a extensão passa a ser ".cpp".
Em programação orientada a objetos, a visão lógica pode ser facilmente separada da visão de
implementação e da visão de aplicação, dado que a classe é responsável pela visão de
implementação e o objeto é responsável pela visão lógica e pela visão de aplicação.
Orientação a objetos facilita a implementação de Estruturas de Dados, pois permite que os
objetos representem as estruturas e as classes representem os dados.
Objetos são modelos do mundo real que podem ser agrupados para gerar as classes. Daí a
importância da modelagem orientada a objetos, para conseguir agrupar objetos em classes
que realmente fazem sentido.
A complexidade exigida para realização de uma tarefa fica escondida dentro da classe, o que
garante o isolamento, que ocorre quando alterações ficam restritas à classe e não afetam o
sistema como um todo.
Comentário da
resposta:
Você acertou! Essa é a alternativa correta. Uma classe encapsula dentro de si mesma a
complexidade de uma tarefa. Assim, quando desejamos modificar uma implementação, as
modificações ficam isoladas dentro da classe e não afetam o restante do sistema se a
interface pública da classe é preservada.
QUIZZ DA VIDEOAULA 5 – PILHA (VETORES)
PERGUNTA 1
1. Assinale a alternativa que melhor explica o funcionamento da estrutura de dados do tipo pilha.
Supondo que acabamos de inserir na pilha o último elemento E, a próxima remoção retira E da estrutura de dados.
Se, após isso, a pilha ficar vazia, novas remoções não poderão ser feitas.
Em uma pilha, um novo elemento só poderá ser inserido se a ela estiver vazia.
Em uma pilha, a inserção de um novo elemento N deve ser feita acima do último elemento inserido E. Nesse caso,
garantimos que N será removido da pilha logo após E.
Antes de retirar um elemento da pilha, devemos verificar se ela está cheia. Caso contrário, o elemento não pode ser
retirado.
As operações em uma pilha devem ocorrer no topo para garantir o comportamento de que o primeiro a entrar deve
ser o primeiro a sair.
Pergunta 1
0 em 0 pontos
Assinale a alternativa que melhor explica o funcionamento da estrutura de dados do tipo pilha.
Resposta
Selecionada:
Supondo que acabamos de inserir na pilha o último elemento E, a próxima remoção
retira E da estrutura de dados. Se, após isso, a pilha ficar vazia, novas remoções não
poderão ser feitas.
Respostas:
Supondo que acabamos de inserir na pilha o último elemento E, a próxima remoção
retira E da estrutura de dados. Se, após isso, a pilha ficar vazia, novas remoções não
poderão ser feitas.
Em uma pilha, um novo elemento só poderá ser inserido se a ela estiver vazia.
Em uma pilha, a inserção de um novo elemento N deve ser feita acima do último elemento
inserido E. Nesse caso, garantimos que N será removido da pilha logo após E.
Antes de retirar um elemento da pilha, devemos verificar se ela está cheia. Caso contrário, o
elemento não pode ser retirado.
As operações em uma pilha devem ocorrer no topo para garantir o comportamento de que
o primeiro a entrar deve ser o primeiro a sair.
Comentário
da resposta:
Você entendeu corretamente o funcionamento de uma pilha. O último elemento a entrar
deve ser o primeiro a sair. Além disso, o primeiro elemento a entrar deve ser o último a sair. É
sempre interessante fazer algumas verificações na estrutura para garantir que não
tentaremos inserir um elemento na pilha cheia e que não removeremos um elemento
da pilha vazia.
QUIZZ VIDEO AULA 6 – FILA (VETORES)
PERGUNTA 1
1. Filas podem ser implementadas usando vetores para armazenar os elementos. Sobre essa implementação,
assinale a alternativa correta:
O elemento que está atrás na fila deverá ficar na última posição do vetor.
A implementação exigirá a presença de no mínimo duas variáveis inteiras, uma para indicar o início da fila e outra
para indicar o elemento que está atrás da fila.
As inserções serão implementadas em tempo constante, mas as remoções exigirão deslocamento de elementos
para ocupar o espaço que ficou vago, não sendo possível implementar em tempo constante.
A fila ocupa o final do vetor com inserções e desocupa o início do vetor com remoções. Isso gera um desperdício de
memória e até mesmo um problema de a fila ficar cheia, mesmo tendo espaço no vetor, um problema impossível
de resolver com essa implementação.
O elemento que está na frente da fila deverá ficar na primeira posição do vetor.
Pergunta 1
0 em 0 pontos
Filas podem ser implementadas usando vetores para armazenar os elementos. Sobre essa implementação,
assinale a alternativa correta:
Resposta
Selecionada:
A implementação exigirá a presença de no mínimo duas variáveis inteiras, uma para indicar o
início da fila e outra para indicar o elemento que está atrás da fila.
Respostas: O elemento que está atrás na fila deverá ficar na última posição do vetor.
A implementação exigirá a presença de no mínimo duas variáveis inteiras, uma para indicar o
início da fila e outra para indicar o elemento que está atrás da fila.
As inserções serão implementadas em tempo constante, mas as remoções exigirão
deslocamento de elementos para ocupar o espaço que ficou vago, não sendo possível
implementar em tempo constante.
A fila ocupa o final do vetor com inserções e desocupa o início do vetor com remoções. Isso
gera um desperdício de memória e até mesmo um problema de a fila ficar cheia, mesmo
tendo espaço no vetor, um problema impossível de resolver com essa implementação.
O elemento que está na frente da fila deverá ficar na primeira posição do vetor.
Comentário da
resposta:
Você acertou! Essa é a alternativa correta. Em uma implementação de fila, precisamos
manter oíndice do elemento que está na frente da fila e do elemento que está atrás da fila.
Isso exigirá no mínimo duas variáveis do tipo inteiro.
ATIVIDADE AVALIATIVA
PERGUNTA 1
1. Uma vez que o TAD foi determinado, a próxima ação necessária é organizar a estrutura de representações, ou seja,
a ____________, na qual haverá as _____________ dos dados que foram definidas. Sua estrutura será formada por vários
___________ ou até mesmo estruturas complexas, formadas por vários campos primitivos.
Preencha as lacunas escolhendo a alternativa CORRETA.
a. informação; ações; campos abstratos
b. estrutura de dados; ações; campos abstratos
c. estrutura de dados; operações; campos primitivos
d. estrutura de dados; ações; campos primitivos
e. informação; operações; campos abstratos
Comentário da
resposta:
JUSTIFICATIVA
Na primeira lacuna, a expressão é “estrutura de dados”, pois o primeiro passo a ser
realizado no TAD é criar a estrutura dos dados e verificar os dados que serão
necessários. Na segunda lacuna, o correto é “operações”, porque, ao criar a estrutura
de dados, é necessário também verificar quais são as operações que essa estrutura irá
realizar. Na terceira coluna, a expressão é “campos primitivos”, visto que os tipos
abstratos de dados são formados por campos primitivos ou dados primitivos, como
inteiro, real, caractere ou lógico.
PERGUNTA 2
1. Os Tipos Abstratos de Dados (TAD) existem nas linguagens de programação para a criação de tipos de dados que
não foram previstos na criação dessa linguagem. São tipos de dados criados no próprio desenvolvimento de alguma
aplicação para resolver uma necessidade específica. Os Tipos Abstratos de Dados (_________) são estruturas de dados que
representam os ____________ que não foram desenvolvidos no núcleo das(os) _______________ e que, normalmente,
são utilizados para alguma necessidade específica no desenvolvimento de aplicações.
Preencha as lacunas escolhendo a alternativa CORRETA.
a. TAD; tipos de dados; softwares
b. DAT; tipos de dados; empresas
c. TAD; tipos de comandos; linguagens de programação
d. DAT; tipos de comandos; linguagens de programação
e. TAD; tipos de dados; linguagens de programação
Comentário da
resposta:
JUSTIFICATIVA
Na primeira lacuna, o correto é “TAD”, pois é a abreviação de Tipos Abstratos de Dados.
Na segunda lacuna, a expressão é “tipos de dados”, porque é apresentado que nos
TAD existe a abstração nos tipos de dados.
Na terceira lacuna, a expressão é “linguagens de programação”, visto que existem
tipos de dados, e não foi previsto o tipo nas linguagens de programação, com isso é
possível criar Tipos Abstratos de Dados (TAD).
PERGUNTA 3
1. Sobre o código a seguir que envolve operações matemáticas básicas, assinale a alternativa correta após a execução
do código.
// main function
int main()
{
// Array to store 5 numbers
double T[5];
double sum; // to store sum
double avg; // to store result
// take input values
cout << "Enter five numbers: ";
for (int loop = 0; loop < 5; ++loop )
{
cin >> T[loop ];
}
// calculate sum value
sum = 0;
for (int loop = 0; loop < 5; ++loop )
{
sum += T[loop ];
}
// calculate average value
avg = sum/5;
// display result
cout << "Sum = " << sum << endl;
cout << "Average = " << avg << endl;
return 0;
}
Suponha que o usurário tenha entrado com os valores 1, 2, 2, 2, 1.
a. loop = 8
T=1.6
b. sum = 8
avg = 1.6
c. Sum = 8
Average = 1.6
d. loop = 8
T=4
e. loop = 1.6
T=8
Comentário da resposta:
Após a execução do código a saída é
Sum = 8
Average = 1.6
JUSTIFICATIVA
O programa executa a soma e a média dos 5 valores inseridos pelo usuário. Os nomes Sum e Average são
definidos no cout.
PERGUNTA 4
1. Pilhas são listas nas quais o acesso somente pode ser feito em uma das extremidades, denominada topo da pilha.
Todas as consultas, alterações, inclusões e remoções de nodos podem ser realizadas somente sobre um nodo, que está na
extremidade considerada o topo da pilha.
EDELWEISS, N.; GALANTE, R. Estruturas de dados. Porto Alegre: Bookman, 2014. 18 v.
Fonte: Elaborada pelo autor
Com relação às características de Last In, First Out (LIFO) de uma pilha, assinale a alternativa CORRETA.
a. O número 32 é o último dado a entrar e o primeiro a sair
b. O número 32 é o primeiro dado a entrar e o primeiro a sair
c. O número 34 é o último dado a entrar e o primeiro a sair
d. O número 32 é o último dado a entrar e o último a sair
e. O número 34 é o primeiro dado a entrar e o primeiro a sair
Comentário da
resposta:
JUSTIFICATIVA
A resposta correta é o número 32, pois, com a estrutura de uma pilha, é o LIFO, que
sempre é o último a entrar e o primeiro a sair, e como o último que entrou na fila foi o
número 32, o primeiro a sair será ele mesmo.
PERGUNTA 5
1. Uma pilha é uma estrutura bastante útil, principalmente quando precisamos garantir alinhamento de componentes
em processos.
Sobre as pilhas, analise as afirmativas a seguir.
I. São usadas para a chamada de funções na execução de programas.
II. Realizam a análise de sintaxe de linguagens de programação.
III. Fazem a verificação de alinhamento de parênteses em strings.
Está correto o que se afirma em:
a. I, II e III.
b. II, apenas.
c. I e III, apenas.
d. I, apenas.
e. II e III, apenas.
Comentário da
resposta:
JUSTIFICATIVA
Uma pilha pode ser usada para a chamada de funções na execução de programas, realizar a
análise de sintaxe de linguagens de programação e fazer a verificação de alinhamento de
parênteses em strings. Ou seja, todas as afirmativas estão corretas, pois, em regra, para que o
código seja processado corretamente, os parênteses precisam iniciar e finalizar a string. Essas
estruturas também permitem a análise da sintaxe de linguagens, que nada mais são que as
regras da linguagem de programação, para que, no ato de compilação, o programa seja
executado corretamente. A fim de a execução de um programa ser bem-sucedida, as funções
devem ser realizadas corretamente, e, nesse sentido, as pilhas armazenam seus endereços e
parâmetros.
PERGUNTA 6
1. Pilhas são listas que só podem ser acessadas de uma extremidade, chamada extremidade superior da pilha. Todas
as solicitações, alterações, adições e exclusões de nós só podem ser feitas no nó considerado como o topo da pilha.
Sobre a característica da estrutura linear da pilha em estrutura de dados, avalie se são (V) verdadeiras ou (F) falsas as
afirmativas a seguir.
I. ( ) O primeiro dado a entrar na estrutura tem que ser o último a sair.
II. ( ) O primeiro dado a entrar na estrutura tem que ser o primeiro a sair.
III. ( ) O último dado a entrar tem que ser o último a sair.
IV. ( ) O último dado a entrar tem que ser o primeiro a sair.
Assinale a alternativa que apresenta a sequência CORRETA.
a. V - F - V - F
b. F - F - V - V
c. F - V - V - F
d. V - F - F - V
e. V - V - F - F
Comentário da
resposta:
JUSTIFICATIVA
A afirmativa I é verdadeira, pois uma das características da pilha é que o primeiro dado
a entrar vai ser sempre o último a sair. Exemplo: em uma pilha de prato, o primeiro prato
colocado é o último a sair.
A afirmativa II é falsa, porque uma das características da pilha é que o primeiro dado a
entrar vai ser sempre o último a sair. Exemplo: em uma pilha de prato, o primeiro prato
colocado é o último a sair.
A afirmativa III é falsa, visto que uma das características da pilha é que o último dado a
entrar vai ser sempre o primeiroa sair. Exemplo: em uma pilha de prato, o último prato
colocado é o primeiro a sair.
A afirmativa IV é verdadeira, porque uma das características da pilha é que o último
dado a entrar vai ser sempre o primeiro a sair. Exemplo: em uma pilha de prato, o
último prato colocado é o primeiro a sair.