Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Sessenta Boaventura Maxarane 
 
 
 
Estrutura de Dados e Algoritmo 
 
Ano – 2º; Nível – 1 
 
 
Actividade: Tipos Abstratos de Dados (TAD) – Fila de Pacientes 
 
 
 
 
 
 
 
 
 
Universidade Pedagógica de Maputo 
Faculdade de Engenharia e tecnologia 
Maio de 2026 
 
 
Sessenta Boaventura Maxarane 
 
 
 
Estrutura de Dados e Algoritmo 
 
Ano – 2º; Nível – 1 
 
 
Actividade: Tipos Abstratos de Dados (TAD) – Fila de Pacientes 
 
 
 
Docente: Aurélio Armando Pires Ribeiro 
 
 
 
 
 
Universidade Pedagógica de Maputo 
Faculdade de Engenharia e tecnologia 
Maio de 2026 
1. Explique o que é um Tipo Abstrato de Dados (TAD) e apresente duas 
vantagens do seu uso. 
✓ Resposta: 
Um Tipo Abstrato de Dados (TAD) é um tipo de dado que implementa um objeto que 
tem um comportamento específico, relacionado com os seus valores e, principalmente, 
suas operações. O conceito da estrutura é separado da implementação subjacente, ou 
seja, o que importa é o que esse tipo faz, mas não como ele faz. 
✓ Justificar: 
TAD como um tipo que “implementa um objecto que tem um comportamento 
específico. O comportamento está relacionado com os seus valores e, principalmente, 
suas operações. E aí entra o conceito da estrutura, e ela é separada da implementação 
subjacente, ou seja, o que importa é o que esse tipo faz, mas não como esse tipo faz o 
que ele faz.” 
✓ Vantagem 
O uso do TAD, é para “simplificar operações em programação” e não haver 
preocupação com a implementação interna. Por exemplo, pode-se usar um TAD Pilha 
com suas operações (push, pop) independentemente de ela ter sido “implementada 
utilizando-se listas encadeadas, mas também podem ser implementadas usando arrays.” 
 
2. Defina o TAD FilaPacientes, indicando: 
a) A estrutura lógica 
✓ Responder 
A estrutura lógica de uma fila é linear e segue o princípio FIFO (First In, First Out), que 
significa “o primeiro a entrar é o primeiro a sair”. Os elementos são inseridos de um 
lado da lista, que é o final, e retirados do outro lado, que é o início. 
✓ Justificar: 
O texto explica que nas filas "a inserção e remoção dos itens segue um princípio 
diferente, o princípio FIFO, First In, First Out, significa “o primeiro a entrar é o 
primeiro a sair”. E que “os elementos também são inseridos de um lado da lista, que é 
o final, mas eles são retirados do outro lado da lista, que é o início da lista.” 
 
b) As operações básicas 
✓ Responder 
As operações básicas para inserir e remover itens são chamadas de enqueue e dequeue. 
Para consultar um elemento sem removê-lo, usa-se a operação peek. 
✓ Justificar: 
Enqueue para colocar na fila e dequeue para tirar da fila, e a operação peek retorna o 
elemento da fila sem remover, geralmente o primeiro elemento da fila. 
 
3. Considere a fila inicialmente vazia. Represente o estado da fila após a 
seguinte operação: Inserir Ana 
✓ Responder: 
A fila contém o elemento Ana. Ana está no início e no final da fila. [Início] Ana [Fim] 
✓ Justificar: 
Pode se adicionar mais dados, eles vão sempre entrar no final da fila, daí que é uma 
operação chamada enqueue. Sendo a fila inicialmente vazia, Ana é inserida no final, 
tornando-se também o primeiro elemento. 
4. Represente o estado da fila após: Inserir Carlos 
✓ Responder: 
Carlos é inserido no final da fila. A fila fica com Ana no início e Carlos no final. [Início] 
Ana, Carlos [Fim] 
✓ Justificar: 
De acordo com o texto, os dados “vão sempre entrar no final da fila”. 
5. Represente o estado da fila após: Inserir Beatriz 
✓ Responder: 
Beatriz é inserida no final da fila, atrás de Carlos. [Início] Ana, Carlos, Beatriz [Fim] 
✓ Justificar: 
Consistente com a regra de inserção no final da fila descrita no texto. 
 
6. Após a operação Atender um paciente, indique: 
a) Quem foi atendido 
Quem foi atendido: Ana. 
b) Como fica a fila 
Como fica a fila: Carlos passa a ser o início da fila, e Beatriz permanece no final. 
[Início] Carlos, Beatriz [Fim] 
✓ Justificar: 
Posso retirar um dado na operação dequeue, e nesse caso o dado é sempre retirado do 
início da fila. Como Ana era o primeiro elemento da fila e, portanto, o que entrou 
primeiro, ela é a atendida (retirada). 
 
7. Após a operação Ver próximo paciente, indique quem será atendido a seguir. 
O próximo paciente a ser atendido é Carlos. 
✓ Justificar: 
Esta operação corresponde ao “peek”, que o texto define como a operação que "retorna 
o elemento da fila sem remover, geralmente o primeiro elemento da fila". Após a saída 
de Ana, Carlos é o primeiro elemento da fila. 
 
8. Represente o estado da fila após: Inserir Daniel 
Daniel é inserido no final da fila. [Início] Carlos, Beatriz, Daniel [Fim] 
✓ Justificar: 
Fiel à regra de que os novos dados "vão sempre entrar no final da fila" com a operação 
enqueue. 
 
9. Após a operação Atender dois pacientes, indique: 
a) Quem foi atendido 
Quem foi atendido: Carlos e Beatriz. 
b) Como fica a fila 
Como fica a fila: Resta apenas Daniel na fila. Ele é o início e o fim. [Início] Daniel 
[Fim] 
✓ Justificar: 
Novamente, a remoção é feita “sempre do início da fila”. O primeiro atendimento retira 
Carlos. Após essa retirada, Beatriz torna-se o início da fila e é atendida em seguida. 
10. Liste todos os pacientes que foram atendidos durante a simulação. 
Ana, Carlos e Beatriz. 
✓ Justificar: 
Conforme as operações de remoção (atendimento) realizadas nas questões 6 e 9, que 
retiram sempre o elemento que está no início da fila. 
 
11. Indique qual paciente permaneceu na fila no final. 
Daniel. 
✓ Justificar: 
Após a inserção de Daniel e as duas operações de atendimento subsequentes, o estado 
final da fila, representado na questão 9, contém apenas o elemento Daniel. 
 
12. Apresente o pseudocódigo para o TAD FilaPacientes. 
Com base nas operações descritas no texto, o TAD FilaPacientes deve prover as 
seguintes operações: 
• enqueue(paciente): Insere um paciente no final da fila. 
• dequeue(): Remove e retorna o paciente do início da fila. 
• peek(): Retorna o paciente do início da fila sem removê-lo. 
• isEmpty(): Verifica se a fila está vazia (retorna verdadeiro ou falso). 
✓ Justificar: 
A “Enqueue para colocar na fila e dequeue para tirar da fila. A operação peek retorna o 
elemento da fila sem remover... E as operações isEmpty e isFull vão verificar se a fila 
está vazia ou cheia”. Um pseudocódigo deve traduzir essas operações para a lógica do 
TAD. 
 
13. Explique a diferença entre fila e pilha (stack). 
✓ Responder: 
A principal diferença está no princípio de funcionamento. A pilha é baseada no princípio 
LIFO (Last In, First Out), ou seja, “o último a entrar é o primeiro a sair”, com inserção 
e exclusão ocorrendo no topo. Já a fila é baseada no princípio FIFO (First In, First Out), 
ou seja, “o primeiro a entrar é o primeiro a sair”, com inserção no final e exclusão no 
início. 
✓ Justificar: 
As pilhas são baseadas em LIFO, as filas em FIFO. Nas pilhas, a inserção/exclusão 
ocorre na ponta que é o topo. Já na fila, a inserção/exclusão ocorre nos lados opostos da 
fila. 
 
14. Dê dois exemplos reais de aplicação de fila e dois de pilha. 
✓ Responder: 
Exemplos de aplicação de fila: 
1. Fila de impressão ou acesso a um disco. 
2. Controle de tickets, gerenciamento de filas (ex: hospital, para gerar uma senha 
de acesso). Exemplos de aplicação de pilha: 
3. Mecanismos para fazer/desfazer em aplicações (ex: processador de textos). 
4. Avaliação de expressão aritmética (algoritmos usados em calculadoras). 
✓ Justificar: 
Uma fila de impressão ou acesso a um disco, por exemplo, funciona assim; e “controle 
de tickets, gerenciamento de filas. Se você vai a um hospital, por exemplo, toca na 
maquininha ali logo na entrada do hospital para gerar uma senha de acesso, na 
verdade é um número dentro de uma fila”. Para pilhas:“mecanismos para 
fazer/desfazer em aplicações, por exemplo, lá no processador de textos” e “avaliação 
de expressão aritmética (os tipos de algoritmos que são usados em calculadoras”.

Mais conteúdos dessa disciplina