Baseando-me no programa KBruch (um joguinho educativo do KDE que serve pra somar e subtrair duas frações) resolvi fazer uma função que calculasse MMC (pra dar o resultado do KBruch bem rápido! Hehehe). A função recebe dois argumentos: o número de termos e os termos (num vetor) e ficou bem simpes (e eu até comentei). Vejam mmc.c na seção de códigos-fonte. Depois eu fiquei pensando que eu não estou calculando MMC como as pessoas calculam, então depois vou desenvolver uma outra função que calcule o MMC como as pessoas geralmente fazem, tipo assim:
MMC como as pessoas fazem
- 4, 5 | 2
- 2, 5 | 2
- 1, 5 | 5
- 1, 1 | /
- 2 . 2 . 5 = 20
[update] Já criei esse programa agora: mmc-comum.c [/update]
Mas meu programa faz assim:
MMC pelo meu programa
- 4, 5 – qual o maior? 5.
- 5*2 é múltiplo de 4? Não.
- 5*3 é múltiplo de 4? Não.
- 5*4 é múltiplo de 4? Sim.
- MMC encontrado: 5*4=20.
Mas com dois termos é bem simples (tem uma função para dois termos no programa do KBruch). O legal é que a minha função funciona com o número de termos que eu quiser. Vou demonstrar como ela funciona para três termos.
MMC com três termos no meu programa
- 4, 5, 6 – qual é o maior? 6.
- 6*2 é múltiplo de 4? Sim. Segue. É múltiplo de 5? Não. Para.
- 6*3 é múltiplo de 4? Não. Para tudo.
- 6*4 é múltiplo de 4? Sim. Segue. É múltiplo de 5? Não. Para.
- …
- 6*10 é múltiplo de 4? Sim. Segue. É múltiplo de 5? Sim.
- MMC encontrado: 6*10=60.
Acho que fica mais simples de entender no método convencional mesmo…
Método convencional – MMC de três termos
- 4, 5, 6 | 2
- 2, 5, 3 | 2
- 1, 5, 3 | 3
- 1, 5, 1 | 5
- 1, 1, 1 | /
- 2 . 2 . 3 . 5 = 60
E por causa disso, desenvolvi um programa que calcula da forma tradicional o MMC. É uma função recursiva, que está disponível na seção de scripts com o nome de mmc-comum.c. Ele é bem didático e mostra todo o raciocínio e algumas observações, porém o seu custo é maior (é mais demorado) que o primeiro.
Bom, nas aulas de matemática, andei desenvolvendo uns scripts muito úteis pra não precisar ficar calculando muito. Fiz um que calcula juros compostos, mas não publiquei. O que eu publiquei foi o que você digita o rótulo e o valor de cada pedaço de um gráfico de setores e ele devolve o número de graus que cada um deve ter (é uma simples regra de três, mas mesmo assim fiz pra brincar mesmo). Está disponível na seção de scripts como grafico-setores.c.
Hmmm… Tirei um 5,8 em biologia numa prova sobre biomas (minha menor nota em três anos) :blink: e errei uma questão numa prova de física, justamente aquilo que eu tinha feito um programa, a força gravitacional. Eu esqueci de elevar a notação científica da distância ao quadrado e com isto, meu resultado na prova foi 1,27 . 10^22 ao invés de 1,27 . 10^32. Mas tudo bem…