Escopo
- Desenvolver uma aplicação que permita que alguém desative o despertador após resolver uma equação de primeiro grau.
- Requisitos funcionais:
- Cadastrar a hora, dia e musica de despertar
- Configurar frequências de despertar, musicas e repetições
- Despertar segundo o horário solicitado mostrando a equação a ser resolvida
- Avaliar as duas respostas do usuário da equação solicitada
Dificuldades
- Quais as dificuldades encontradas no desenvolvimento dessa aplicação?
Algumas dificuldades encontradas foram:
Compreender como a função datetime funciona, por ser necessário separar suas informações em hora e minuto.
Encontrar uma ferramenta que permitisse que o despertador tocasse e pedisse a resolução da equação ao mesmo tempo. Conseguimos descobrir que threading seria necessário, porém seu funcionamento foi de difícil entendimento e complexa programação.
A função split também foi difícil de entender e de aplicar para que fosse feita a média do tempo gasto para a resolução da primeira equação.
Explicações
- split: A função split serve para quebrar uma string em pedaços menores, é justamente o contrário de concatenar. No nosso programa, foi necessário quebrar o texto que era escrito no arquivo de Dados para que os minutos fossem transformados em números inteiros para que a média fosse feita. Por exemplo, esse código foi usado para quebrar a string nos espaços que continha: aux = i.split(' ')
- b e s: b é uma variável que definimos como o horário que a pessoa respondeu a primeira equação menos o horário em que ela definiu para que o despertador tocasse. s foi uma variável em que definimos como o texto que seria escrito no arquivo de Dados saísse.
- winsound: módulo que fornece acesso à maquinaria de reprodução do som em windows.
- threading: Threads são fluxos de programas que executam em paralelo dentro de uma aplicação, uma ramificação de uma parte da aplicação que é executada de forma independente e escalonada independente do fluxo inicial da aplicação. No caso do nosso programa, o threading possibilitou que o relógio tocasse o beep e pedisse a resposta da equação ao mesmo tempo.
Próximos passos
- Descrever o que vocês fariam se houver uma evolução nessa aplicação
Desenvolver uma interface com possibilidade de escolha de dias da semana em que o despertador toca, sons diferentes a partir de mudanças na frequência e duração do beep ou a partir de uma biblioteca de padrões já definidos pelo programador, permitir a criação de um nome para o alarme.
Melhorar a organização do arquivo de dados com as médias.
Descobrir como fazer o despertador tocar antes que ele peça a primeira equação.
Participantes
- Ian Faria Paniago
- Maria Paula Carmargo Costa
- Natalia Marques Vieira