Escopo


  • Desenvolver uma aplicação que permita que alguém desative o despertador após resolver uma equação de primeiro grau.
    • Requisitos funcionais:
  1. Cadastrar a hora, dia e musica de despertar
  2. Configurar frequências de despertar, musicas e repetições
  3. Despertar segundo o horário solicitado mostrando a equação a ser resolvida
  4. 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