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:
- Permita inserir 3 pacientes na fila (nome e CPF).
- Remova o primeiro paciente da fila para atendimento.
- 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