Você está na página 1de 7

28/05/2019 Unicesumar - Ensino a Distância

ATIVIDADE 1 - ESTRUTURA DE DADOS I - 2019B1


Período:06/05/2019 08:00 a 31/05/2019 23:59 (Horário de Brasília)
Status:ABERTO
Nota máxima:0,50
Gabarito:Gabarito será liberado no dia 01/06/2019 00:00 (Horário de Brasília)
Nota obtida:

1ª QUESTÃO
Durante o desenvolvimento de um e-commerce, é solicitado que você crie uma estrutura de dados para
armazenar as informações de produtos que serão armazenados em um "carrinho de compras" do cliente.
Considere os seguintes requisitos para armazenar os dados:
- Deve-se armazenar o nome de cada item escolhido pelo cliente;
- Deve ser armazenado, além do nome do produto, a quantidade de cada produto;

Analise as estrutura de dados a seguir, e assinale qual é a melhor que deve ser implementada para
representar as informações de um produto.

ALTERNATIVAS
struct carrinho_de_compras{
char cliente[50];
char *produtos[50];
}
struct carrinho_de_compras{
char cliente[50];
char produtos [50][10];
}
struct carrinho_de_compras{
char cliente[50];
struct produto produtos[10];
}

struct produto{
char nome_produto[50];
int quantidade;
}

struct produto{
char nome_produto[50];
int carrinho_de_compras[50];
}

2ª QUESTÃO

1/7
28/05/2019 Unicesumar - Ensino a Distância

O conceito de variáveis é um dos mais importantes relacionados às linguagens de programação. As variáveis


armazenam dados e permitem a sua manipulação. Todos os programas precisam, em algum momento,
armazenar números ou dados inseridos pelo usuário. Esses dados são armazenados em variáveis e em C,
como em qualquer outra linguagem, essas variáveis devem ter um tipo.
 
OLIVEIRA, Pietro Martins de; PEREIRA, Rogério de Leon. Estruturas de Dados I. Maringá: Unicesumar, 2019
(adaptado).

A respeito das variáveis da linguagem de programação C, é correto afirmar:


I – Armazenam apenas uma informação de cada vez.
II – Podem mudar de valor durante a execução do programa tantas vezes quanto forem necessárias.
III – Têm tipos primitivos de dados bem definidos como inteiros, caracteres, números de ponto flutuante.

Com base no exposto, é correto o que se afirma em.


 

ALTERNATIVAS
I, apenas.

II, apenas.

III, apenas.

I e III, apenas.

I, II e III, apenas.

3ª QUESTÃO
Imagine um restaurante no qual, a todo momento, clientes deixam pratos sujos para serem lavados.
Geralmente, um ou mais garçons recolhem os pratos e os depositam na cozinha, cada prato em cima do
prato anterior, formando uma estrutura conhecida como pilha.
Sabendo que o conceito de pilha pode ser transportado para o contexto da análise de sistemas, leia as
afirmações a seguir a respeito desse tema:

I - Pilhas são um tipo especial de listas cuja regra segue os princípios FIFO.
II - De maneira geral, quando um novo elemento é adicionado à pilha, deve-se incrementar o valor de seu
topo.
III - A implementação de uma pilha estática dispensa o auxílio das estruturas conhecidas genericamente por
"Nós".

É correto o que se afirma em:


 

ALTERNATIVAS
I, apenas.

III, apenas.

I e II, apenas.

I e III apenas.

II e III, apenas.

4ª QUESTÃO

2/7
28/05/2019 Unicesumar - Ensino a Distância

Na informática, a pilha é uma estrutura onde os dados são inseridos e removidos no seu topo. São
estruturas conhecidas como Last In, First Out (LIFO), que pode ser traduzido por Último a Entrar, Primeiro a
Sair. Considere os estados (inicial e final) da pilha a seguir, na qual topo corresponde ao topo da pilha.

Considerando que a função empilha(n) é invocada toda vez que se quer inserir um novo elemento " n "
na pilha e, que a função desempilha() é invocada sempre que se quer remover um dado da pilha. Para
que a pilha inicial atinja o estado da pilha final, qual sequência de operações corretas?

ALTERNATIVAS
desempilha(3), desempilha(9), empilha(), empilha().

empilha(), empilha(), desempilha(8), desempilha(2).

empilha(2), empilha(8), desempilha(), desempilha().

desempilha(), desempilha(), empilha(4), empilha(7).

desempilha(), desempilha(), empilha(7), empilha(4).

5ª QUESTÃO

3/7
28/05/2019 Unicesumar - Ensino a Distância

Sempre que um elemento é retirado da fila, o primeiro elemento é retirado. E toda a fila deve "andar" uma
posição para frente. Para evitar o custo de mover todos os elementos, podemos implementar filas cíclicas,
que movem o índice de início para frente, ao invés de mover todos os elementos em direção ao início.
 
OLIVEIRA, Pietro Martins de; PEREIRA, Rogério de Leon. Estruturas de Dados I. Maringá: Unicesumar, 2019
(adaptado).

Dada uma fila definida sobre um vetor de 10 posições, com 3 elementos preenchidos, com índice de início =
7 e índice de fim = 10, avalie as afirmações a seguir.

I - Apesar da fila ter apenas 3 elementos, não se pode inserir mais, pois o índice de fim da lista já chegou ao
limite máximo do vetor.
II - Nesta fila, se o índice de início da fila for 7 e o índice de fim for 2, o sistema tem um erro, pois o fim é
menor que o início.
III - Em uma fila cíclica, quando o limite do vetor é atingido, mas não o número máximo de elementos, volta-
se ao início do vetor para inserir os próximos elementos a partir da posição 0.
IV - Se esta fila cíclica tiver índice de início igual a 7 e índice de fim igual a 2, então ela possui 5 elementos.
V - Em uma fila cíclica, se o índice de início for maior que o índice de fim, pode-se calcular o número de
elementos a partir da seguinte função matemática: fim + tamanho - inicio.

Assim sendo, é correto o que se afirma em:

ALTERNATIVAS
I, apenas.

I e III, apenas.

II, III e IV, apenas.

III, IV e V, apenas.

I, II, III, IV e V, apenas.

6ª QUESTÃO

4/7
28/05/2019 Unicesumar - Ensino a Distância

Na informática, a pilha é uma estrutura onde os dados são inseridos e removidos no seu topo. São
estruturas conhecidas como Last In, First Out (LIFO), que pode ser traduzido por Último a Entrar, Primeiro a
Sair.
Considere o código da função pilha_entrar() :

void pilha_entrar() {
if (pilha.fim == tamanho) {
printf("\nA pilha está cheia, impossível empilhar um novo elemento!\n\n");
system("pause");
}
else {
printf("\nDigite o valor a ser empilhado: ");
scanf("%d", &pilha.dados[pilha.fim]);
pilha.fim++;
}
}

Além disso, assuma que as seguintes variáveis estão preenchidas conforme o que se segue:

tamanho = 9
pilha.ini = 0
pilha.fim = 9
pilha.dados:

Qual será o resultado após a execução da função pilha_entrar() ?


 

ALTERNATIVAS
Será exibida a mensagem "A pilha está cheia, impossível empilhar um novo elemento!".

O novo elemento será inserido ao final da pilha e o valor de pilha.fim será alterado para 10.

O elemento será inserido ao início da pilha e o valor de pilha.fim permanecerá o mesmo, pois já está cheia.

O elemento será inserido ao final da pilha e o valor de pilha.fim permanecerá o mesmo, pois já está cheia.

O novo elemento será inserido ao final da pilha e o valor de pilha.fim não será alterado, pois já possui o valor
correspondente ao tamanho máximo do vetor.

7ª QUESTÃO
A maioria das linguagens de programação trazem estruturas prontas para armazenamento múltiplo em uma
única variável. Elas são classificadas em homogêneas, que armazenam um único tipo de informação, e
heterogêneas, que podem armazenar informações de tipos diferentes.

Dessa forma, analise a estrutura de dados a seguir.

struct Aluno {
int ra;
char nome[60];
char curso[30];
}

Assinale a afirmativa que corresponde com o tipo de estrutura presente no trecho de código.

5/7
28/05/2019 Unicesumar - Ensino a Distância

ALTERNATIVAS
A estrutura de dado Aluno é um vetor.

A estrutura de dado Aluno é uma matriz.

A estrutura de dado Aluno é uma matriz que contém dois elementos heterogêneos (nome e curso) e um elemento do
tipo inteiro.

A estrutura de dado Aluno é uma estrutura homogênea e contém dois elementos heterogêneos (nome e curso) e um
elemento do tipo inteiro.

A estrutura de dado Aluno é uma estrutura heterogênea e contém dois elementos homogêneos (nome e curso) e um
campo do tipo inteiro.

8ª QUESTÃO
Tanto a fila como a pilha são conjuntos ordenados de itens, porém ambas se diferenciam pelas regras de
entrada e saída. Na pilha a entrada e a saída de dados se dão pela mesma extremidade, chamada de topo
da pilha. Na fila a entrada e a saída ocorrem em lugares opostos: a entrada acontece no final da fila e a saída
no seu início.
 
OLIVEIRA, Pietro Martins de; PEREIRA, Rogério de Leon. Estruturas de Dados I. Maringá: Unicesumar, 2019
(adaptado).

A respeito de tais estruturas de dados, assinale a alternativa correta.

ALTERNATIVAS
A função de desempilhar retira da pilha sempre o último elemento, a não ser que um índice seja indicado por
parâmetro.

A função de desempilhar retira da pilha sempre o primeiro elemento, a não ser que um índice seja indicado por
parâmetro.

Pilhas são estruturas homogêneas, de acesso direto, onde podemos armazenar elementos de tipos diferentes, sem
uma ordem especificada.

Registros são estruturas de dados para armazenamento heterogêneo, que possuem os dados a serem armazenados
e um ponteiro para o próximo elemento.

As filas e pilhas podem armazenar dados do mesmo tipo, mudando apenas as regras para implementar suas
respectivas funções de inserção e remoção de elementos.

9ª QUESTÃO

6/7
28/05/2019 Unicesumar - Ensino a Distância

A Pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação. Antes de
entrar nas nuances técnicas sobre pilhas, vamos abstrair o seu conceito para uma situação real.
OLIVEIRA, Pietro Martins de; PEREIRA, Rogério de Leon. Estruturas de Dados I. Maringá: Unicesumar, 2019.

As funções de desempilhar e de empilhar são comumente chamadas de pop() e push(), respectivamente.


Considere a seguinte pilha de números inteiros.

PILHA:
INÍCIO -> 5, 2, 15, 3, 9, 8, 4, 12, 10, 7, 1, 11 <-TOPO

Sobre esta pilha, execute a seguinte sequência de operações:

pop(); pop(); pop(); push(6); push(13); pop(); push(14); pop(); pop();

Assinale o elemento que será o próximo a ser removido se for chamada a função pop() mais uma vez.

ALTERNATIVAS
7

10

12

10ª QUESTÃO
Muitas linguagens de programação apresentam estruturas especiais para armazenamento de múltiplos
valores em uma única variável. Essas estruturas são conhecidas como estruturas Homogêneas e
Heterogêneas. A respeito delas é correto afirmar:

ALTERNATIVAS
Estruturas Heterogêneas permitem a criação de identificadores distintos para armazenar dados de tipos iguais.

Estruturas Homogêneas permitem a criação de um único identificador para armazenar dados de tipos diferentes.

Estruturas Heterogêneas permitem a criação de um único identificador para armazenar dados de tipos diferentes,
em campos distintos.

Estruturas Heterogêneas permitem a criação de um único identificador para armazenar dados de tipos diferentes,
em um único campo.

Estruturas Homogêneas e Heterogêneas diferem apenas em seus nomes, que podem utilizar caracteres especiais ou
não, respectivamente.

7/7