Multiplicação de Frações em Código
Sobre a Matemática
1º caso – Multiplicação de uma fração por um número inteiro. Regra: para se multiplicar uma fração por um número inteiro, multiplica-se o numerador pelo número inteiro e dá-se ao produto o denominador da fração.
2º caso – Multiplicação de um número inteiro por uma fração. Regra: para se multiplicar um número inteiro por uma fração, multiplica-se o número inteiro pelo numerador da fração e dá-se ao produto o denominador da fração.
3º caso – Multiplicação de uma fração por outra fração. Regra: para se multiplicar uma fração por outra fraçõ, multiplicam-se os numeradores entre si e os denominadores entre si, e escreve-se o segundo produto abaixo do primeiro.
4° caso – Multiplicação de números mistos. Regra: para se multiplicar 2 números mistos, reduzem-se esses mistos a frações impróprias e procede-se como se fossem duas frações.
Sobre o Código
Na linguagem de programação Python,
from – é a palavra-chave usada para importar partes específicas de um módulo ou biblioteca.
fractions – é o nome do módulo da biblioteca padrão que permite trabalhar com frações exatas.
import – é a palavra-chave usada para trazer módulos, classes ou funções externas para o código atual.
Fraction() – é a classe do módulo fractions que cria objetos representando frações (numerador/denominador).
def – é a palavra-chave usada para definir uma função. Função, por sua vez, é um conjunto de instruções agrupadas sob um nome, que podem ser reutilizadas. Podem receber parâmetros (entradas) e retornar valores (saídas). Elas servem para organizar o código, evitar repetição e facilitar a manutenção.
* – é o operador de multiplicação.
return – é a palavra-chave que indica o valor que uma função deve devolver ao ser chamada.
.numerator – é o atributo da classe Fraction que retorna o numerador da fração.
.denominator – é o atributo da classe Fraction que retorna o denominador da fração.
print() – é a função embutida que exibe valores ou mensagens na tela.
# – é usado para criar comentários ao código, que são notas para se entender melhor o que o código faz.
Vamos ao código…
from fractions import Fraction
# 1º caso - fração × número inteiro
def fracao_por_inteiro(fracao, inteiro):
return Fraction(fracao.numerator * inteiro, fracao.denominator)
# 2º caso - número inteiro × fração
def inteiro_por_fracao(inteiro, fracao):
return Fraction(inteiro * fracao.numerator, fracao.denominator)| Código Python (.py) | O que faz |
| from fractions import Fraction | Importa a classe Fraction da biblioteca padrão fractions, que permite trabalhar com frações exatas em Python. |
| def fracao_por_inteiro(fracao, inteiro): | Define uma função para multiplicar uma fração por um número inteiro. |
| return Fraction(fracao.numerator * inteiro, fracao.denominator) | Multiplica o numerador da fração pelo inteiro e mantém o denominador. Retorna o resultado como uma nova fração. |
| def inteiro_por_fracao(inteiro, fracao): | Define uma função para multiplicar um número inteiro por uma fração. |
| return Fraction(inteiro * fracao.numerator, fracao.denominator) | Multiplica o inteiro pelo numerador da fração e mantém o denominador. Retorna o resultado como fração. |
# 3º caso - fração × fração
def fracao_por_fracao(fracao1, fracao2):
return fracao1 * fracao2
# 4º caso - multiplicação de números mistos
# Exemplo: número misto 2 1/3 → representado como inteiro + fração
def misto_para_fracao(inteiro, fracao):
return Fraction(inteiro * fracao.denominator + fracao.numerator, fracao.denominator)
def multiplicar_mistos(inteiro1, fracao1, inteiro2, fracao2):
f1 = misto_para_fracao(inteiro1, fracao1)
f2 = misto_para_fracao(inteiro2, fracao2)
return f1 * f2| Código Python (.py) | O que faz |
| def fracao_por_fracao(fracao1, fracao2): | Define uma função para multiplicar duas frações. |
| return fracao1 * fracao2 | Multiplica diretamente os objetos Fraction, que já sabem como multiplicar numerador e denominador corretamente. |
| def misto_para_fracao(inteiro, fracao): | Define uma função que transforma um número misto (parte inteira + fração) em uma fração imprópria. |
| return Fraction(inteiro * fracao.denominator + fracao.numerator, fracao.denominator) | Converte o número misto em fração imprópria: multiplica o inteiro pelo denominador e soma ao numerador. |
| def multiplicar_mistos(inteiro1, fracao1, inteiro2, fracao2): | Define uma função para multiplicar dois números mistos. |
| f1 = misto_para_fracao(inteiro1, fracao1) | Converte o primeiro número misto em fração imprópria. |
| f2 = misto_para_fracao(inteiro2, fracao2) | Converte o segundo número misto em fração imprópria. |
| return f1 * f2 | Multiplica as duas frações impróprias e retorna o resultado. |
# Exemplos de uso:
f1 = Fraction(2, 3) # 2/3
f2 = Fraction(3, 4) # 3/4
inteiro = 5
print("1º caso:", fracao_por_inteiro(f1, inteiro)) # (2/3) × 5
print("2º caso:", inteiro_por_fracao(inteiro, f1)) # 5 × (2/3)
print("3º caso:", fracao_por_fracao(f1, f2)) # (2/3) × (3/4)
print("4º caso:", multiplicar_mistos(2, Fraction(1, 3), 1, Fraction(1, 2))) # (2 1/3) × (1 1/2)| Código Python (.py) | O que faz |
| f1 = Fraction(2, 3) | Cria a fração 2/3. |
| f2 = Fraction(3, 4) | Cria a fração 3/4. |
| inteiro = 5 | Define o número inteiro 5. |
| print(“1º caso:”, fracao_por_inteiro(f1, inteiro)) | Exibe o resultado da multiplicação da fração 2/3 pelo inteiro 5. |
| print(“2º caso:”, inteiro_por_fracao(inteiro, f1)) | Exibe o resultado da multiplicação do inteiro 5 pela fração 2/3. |
| print(“3º caso:”, fracao_por_fracao(f1, f2)) | Exibe o resultado da multiplicação das frações 2/3 e 3/4. |
| print(“4º caso:”, multiplicar_mistos(2, Fraction(1, 3), 1, Fraction(1, 2))) | Exibe o resultado da multiplicação dos números mistos 2 1/3 e 1 1/2. |
Saída do código (valor de retorno)…
1º caso: 10/3
2º caso: 10/3
3º caso: 1/2
4º caso: 7/2
Fonte:
– Editora Didática Paulista. Ensino Didático 2000: Ensino Fundamental e Ensino Médio. Sorocaba: Editora Didática Paulista, [s.d.].
– Códigos e comentários gerados por Microsoft Copilot com revisão nossa.
– https://docs.python.org/pt-br/3/ [Documentação Oficial do Python]