Passo 4:

Na Clínica Vida+, os pacientes são atendidos na ordem em que chegam. Para isso, a secretária deseja organizar os atendimentos como uma fila, onde o primeiro que chega é o primeiro a ser atendido.
Construa um algoritmo em pseudocódigo que:
  1. Permita inserir 3 pacientes na fila (nome e CPF).
  2. Remova o primeiro paciente da fila para atendimento.
  3. Mostre quem ainda está na fila após o primeiro atendimento.

Passo 1

O enunciado pede para modelar o atendimento como uma fila (FIFO – first in, first out). Vamos precisar de três operações básicas em fila: criar a fila vazia, enfileirar (inserir) um paciente e desenfileirar (remover) o primeiro paciente. Em seguida, mostramos o que restou na fila.

Passo 2

Inicializamos a fila vazia e enfileiramos três pacientes, lendo nome e CPF de cada um. Isso garante que o primeiro a chegar estará no início da fila.

Passo 3

Desenfileiramos o primeiro paciente para atendimento, removendo-o da estrutura.

Passo 4

Percorremos a fila restante e exibimos os registros de nome e CPF de cada paciente que ainda aguarda atendimento.

Resposta

Algoritmo ClinicaVidaFila
Variáveis
 fila ← FilaCriar() // cria fila vazia
 paciente // registro com campos nome, cpf
 atendido // registro para paciente atendido

Início
 // 1. Inserir 3 pacientes
 Para i de 1 até 3 faça
 Escreva("Digite o nome do paciente ", i, ":")
 Leia(paciente.nome)
 Escreva("Digite o CPF do paciente ", i, ":")
 Leia(paciente.cpf)
 FilaEnfileirar(fila, paciente)
 FimPara

 // 2. Remover o primeiro paciente para atendimento
 atendido ← FilaDesenfileirar(fila)
 Escreva("Paciente atendido: ", atendido.nome, " CPF: ", atendido.cpf)

 // 3. Mostrar quem ainda está na fila
 Se FilaEstaVazia(fila) então
 Escreva("Não há mais pacientes na fila.")
 Senão
 Escreva("Pacientes ainda na fila:")
 Enquanto ¬FilaEstaVazia(fila) faça
 paciente ← FilaDesenfileirar(fila)
 Escreva(" - ", paciente.nome, " CPF: ", paciente.cpf)
 FimEnquanto
 FimSe
Fim

Exercícios relacionados