Olá tudo bem?
A estrutura do seu código está boa mas precisa de alguns ajustes .
A lógica sugere que o evento tem um horário de início e de término.
No entanto, você está atribuindo o mesmo valor (horario_evento()) tanto para o evento_inicio quanto para o evento_fim, o que não parece correto.
O nome da função horario_evento() sugere que ela pega o horário de um único evento.
No entanto, ao que parece, você precisa de dois horários distintos: início e fim do evento.
Talvez você precise de duas funções separadas, ou apenas um ajuste no código.
Você está verificando se o usuario_inicio é maior ou igual ao evento_inicio e o usuario_fim maior ou igual ao evento_fim.
Isso pode estar incorreto dependendo da lógica desejada.
A lógica para verificar presença normalmente envolve comparar se o período do usuário se sobrepõe ao evento.
O que é exatamente "Mensagem"? Deveria ser um texto ou algo mais específico?
Isso pode ser melhorado para refletir o tipo de mensagem que será enviada.
Estrutura corrigida:
inicio
// Pega dados de entrada
evento_inicio = horario_evento_inicio()
evento_fim = horario_evento_fim()
lista_de_usuario = obter_dados_usuario()
// Percorre usuários
para cada usuario em lista_de_usuario faça:
usuario_inicio = horario_usuario_inicio(usuario)
usuario_fim = horario_usuario_fim(usuario)
// Verifica presença
se (usuario_inicio <= evento_fim) e (usuario_fim >= evento_inicio) então:
// Enviar Mensagem
mensagem = "Você está presente no evento!"
enviar(mensagem)
fim_se
fim_para
fim
Explicações das mudanças:
- Agora, estou utilizando duas funções distintas -
horario_evento_inicio() e horario_evento_fim(), para capturar os horários de início e fim do evento separadamente. O mesmo foi feito para o usuário, com funções como horario_usuario_inicio() e horario_usuario_fim(). - A condição foi ajustada para verificar a sobreposição entre os horários do usuário e do evento. O evento será considerado "presente" para o usuário se o início do evento for antes do fim do usuário, e o fim do evento for depois do início do usuário. Ou seja, há uma sobreposição nos horários.
- A variável "Mensagem" foi substituída por uma string concreta,
"Você está presente no evento!", mas você pode personalizar a mensagem como desejar.
Confere ai e me avise.
Qualquer duvida só chamar.
Bons estudos.