sexta-feira, 7 de agosto de 2020

(Série) Controle financeiro com Python: Listando operações

Estou trabalhando numa forma diferente de acompanhar os investimentos, ao invés de usar uma planilha financeira, usando o Python.

Melhor forma de estudar programação é ter um problema para resolver.

1o Passo: Registrar as operações:

Utilizei um arquivo texto, para organizar os dados das operações no formato Comma Separated Values (.csv), ou seja, valores separados por vírgulas.

A vantagem disso é ter dados acessíveis por qualquer programa, incluindo as planilhas de cálculo eletrônicas.

Como exemplo, utilizei dois ativos e algumas operações fictícias para testar o programa. Lembrando que tudo aqui não é nem recomendação de compra ou venda. Simplesmente peguei dois exemplos de menor volatilidade do primeiro artigo que achei na rede.

Vou utilizar TAEE11 e CGAS5. Vou coletar os preços em alguns dias e simular operações de compra e venda para registrar no arquivo de operações.

Vou considerar a compra ou venda de uma cota padrão de cada, em dias diversos, com os preços do dia verificados no Google.


Vou subir o arquivo para uma pasta pública no github.

O notebook, em desenvolvimento, pode ser visto, copiado e editado, a partir do link: https://bit.ly/31wwgRe.


Nesta versão, já ordenei as operações por data e criei uma coluna com o valor total de cada operação.


A versão atual está assim:

Na próxima versão, adiciono as primeiras verificações nos tipos de operações.

quarta-feira, 29 de julho de 2020

Algoritmo para solução de equação quadrática

No blog sobre a vida do estudante de exatas, e minha visão como professor, escrevi sobre a solução de equações do 2o grau com o método da Fórmula de Bhaskara.

Segue um algoritmo que também ajuda na solução deste mesmo problema.

Você pode usar para conferir exercícios, e estudar, ou para acelerar na resolução de outros problemas onde encontrar as raízes de uma equação do 2o grau é necessária.


A seguir, um vídeo com o exemplo que utilizei no outro artigo, resolvendo com calculadora científica e, agora, com o Python, no colab.

sexta-feira, 24 de julho de 2020

Controle de estoque

Fez a feira esta semana? Mora perto ou longe do mercado?

Se tem uma coisa importante na mecânica do dia a dia, é a administração de recursos alimentícios.



Alocar recursos financeiros destinados à feira, mesmo que faça semanal ou mensal, ou até por demanda, como já fiz. Morar perto de supermercado tem essa vantagem.

Minha prima morava tão perto de um que chamava de dispensa fora de casa.

Uma atividade interessante, que utilizei até em curso de programação, é criar um controle de estoque simples, que faça previsão de quando precisará comprar novamente algum produto.





Com algumas linhas, fiz um no qual você pode adicionar o nome do produto, quantidade atual e taxa de consumo mensal, para obter uma tabela com esses dados, mais a previsão, em semanas, do fim do seu estoque.

Você pode acessar o programa em Python, disponível no collab, pelo link a seguir:

Simulador do controle de estoque

Como é um programa simples, muitas coisas ainda podem ser adicionadas, como: armazenar o resultado em arquivo, gráfico do consumo dos produtos (estimado), ajuda no cálculo do consumo mensal, entre outras coisas que podem surgir.

Para uma rápida demonstração do programa, você pode optar ver o vídeo a seguir:


O que achou?

sexta-feira, 3 de julho de 2020

Razões da vida

Razão, proporção, escala, porcentagem, tantos nomes em uma operação matemática: A divisão.

Entender um modelo matemático é muito importante, e para usá-lo você precisa saber interpretar o resultado das suas operações.

Vamos explorar uma expressão matemática simples, baseada em uma divisão, e dar algumas interpretações possíveis.

Dividindo 2 por 8.


O número 2 é a parte inteira, o todo.


O número 2 foi dividido em 8 partes.

Se 2 fosse um tamanho, 0,25 é o tamanho de cada parte resultante da divisão.

Como 2 é o total, 0,25 também pode representar 0,25 x 1 = 0,25 x 100/100 = 25% do total.
Perceba que % é o mesmo que /100 (dividido por 100).

Se 2 fosse dividido por 2, 1 seria 100% do total.


Desconto

Fui lanchar um salgado, que custava R$ 8,00, mas estava com R$ 2,00 de desconto, qual foi o desconto realizado em porcentagem do valor total?

2/8 = 0,25 = 25%


Proporção

Existem 8 pessoas numa turma. Dessa turma, 2 pessoas não gostam de matemática, portanto:



2/8 = 25% dessa turma não sabe o que está fazendo aqui.





E a simulação?

https://colab.research.google.com/drive/1koLUJTp7TDm5T2RVMtQhza5-74le_mVy?usp=sharing

Você vai poder ver como calcular o seguinte exemplo:


Se tiver dúvidas, na execução.. veja no post Programação colaborativa em Python, onde explico sobre a plataforma.


Para ver o programa em funcionamento, o vídeo a seguir faz uma rápida demonstração:


quarta-feira, 1 de julho de 2020

Esperando na fila

Se você não tem saudades de ficar numa fila, aguardando seu atendimento, eu entendo. Também não sinto.

Mas, uma vez, tive que aguardar atendimento para atualização do documento de habilitação e percebi uma certa constância no som que anunciava o próximo a ser recebido.

No ensino médio, a gente aprende um dos mais clássicos fenômenos da física, que foi o modelo utilizado na postagem sobre planejamento de viagem.

O Movimento Retilíneo e Uniforme, conhecido pelos íntimos como MRU, não serve apenas para explicar movimento, também é um modelo facilmente ajustado em eventos temporais quando a mudança de estado do evento acontece de forma constante. A taxa em que o evento muda podemos chamar de velocidade. No cálculo, isso é uma derivada primeira da posição no tempo.

Resumindo, acredito que já tenha visto a seguinte expressão matemática:


Maldosamente lembrada como sorvete, esta expressão representa a função de posição (dada por X) em qualquer instante (dado por t) conhecendo sua posição de partida (dada por Xo) e sua velocidade (dada por V) desde que seja esta constante.

Prefiro a forma de função, mas você pode utilizar da forma que achar mais conveniente.

E a fila?


Bem, na fila a gente também pode utilizar X para dizer nossa posição, ou o número da ficha do nosso atendimento.

Xo será o último número chamado, que está sento atendido no momento em que você faz a verificação, e V a taxa de chamadas por segundo, ou minuto, dependendo da unidade de tempo que você queira utilizar. (por segundo talvez não faça sentido numa fila, e por hora talvez você não queira nem esperar)

Vou utilizar o tempo em minutos. De modo que minha função vai ficar:


Se você quer saber o tempo, precisa de todas as outras informações. Além disso, vai preferir utilizar a função da seguinte forma:


E é essa que vai para o algoritmo.

Sabendo, sua ficha, a ficha atual e a taxa de atendimento, rapidamente você pode calcular, ou melhor, ter uma estimativa razoável, considerando que a taxa de atendimento seja constante, de quanto tempo deve esperar até chegar sua vez de ser atendido.

Nessa fila superdivertida, utilizei a calculadora e o cronômetro para estimar a taxa de atendimento e fazer a previsão, mas vamos utilizar o Python por aqui. E sim, seria possível programar pelo celular.

https://colab.research.google.com/drive/1r12-RgJ-A1TlGMz8oWbpRrA9SrFgpbmk?usp=sharing

O link leva para o colab, onde você pode alterar o código se prefeir.

Um exemplo pode ser visto na imagem seguinte:


É isso! Até breve!

terça-feira, 30 de junho de 2020

Programação colaborativa

Passei direto para a aplicação e não falei da ferramenta que utilizo.

O Colaboratory, é um ambiente de programação para Python na nuvem.

Você pode escrever seus programas nesta linguagem de forma bastante organizada, com vários recursos já disponíveis e sem precisar instalar nada no seu computador. Faz tudo no navegador. Precisa de acesso à internet, claro.


Precisa de uma conta no google, e saber programar para aplicar ou utilizá-lo como ambiente de aprendizado.

Cada arquivo é chamado de Notebook (caderno), com extensão de arquivo ipynb, de Interactive Python Notebook, no qual você irá desenvolver seu projeto.


Bastante organizado, você pode desenvolver seu algoritmo em blocos, a fim de executá-los separadamente, na fase de desenvolvimento.


Segue um pequeno exemplo, de como é possível importar uma biblioteca de funções matemáticas e utilizá-la diretamente no seu notebook.


Para executar um programa feito nesta plataforma, basta apertar SHIFT ENTER em cada bloco de comando, ou no menu Ambiente de execução > Executar tudo.

segunda-feira, 29 de junho de 2020

Vou viajar amanhã e não posso me atrasar!

Certa vez precisei ir a uma cidade próxima, por questões de trabalho, e tinha uma hora específica para chegar no local da missão.


A fim de evitar imprevistos, tinha definido por chegar com 30 minutos de antecedência. Mantendo a viagem com 80 km/h, como média, ia garantir uma viagem mais tranquila.
Caso o trânsito estivesse livre, com uma velocidade média maior, poderia chegar mais cedo.

Fiz tudo na mão mesmo, mas o algoritmo é simples, e implementar no python foi tranquilo.

O Google possui um ambiente de programação compartilhada bem interessante, o https://colab.research.google.com/. Com o link a seguir, e uma conta ativa, você pode executar o programa e, inclusive, copiar para o seu Drive para alterar as definições.


Se tiver alguma dificuldade, por postar como comentário.

A que horas precisa sair?
https://colab.research.google.com/drive/1-T975i_MuGL9NAnflgwfCof77XIEu_2U?usp=sharing

(Série) Controle financeiro com Python: Listando operações

Estou trabalhando numa forma diferente de acompanhar os investimentos , ao invés de usar uma planilha financeira, usando o Python . Melhor f...