Como criar um modelo de Matemática básica em C ++

Com um modelo matemático, geralmente é necessário o acesso a uma riqueza de cálculos, mas só pode utilizar um ou dois desses cálculos ao mesmo tempo. Por exemplo, se alguém está calculando sua hipoteca, ele ou ela não precisa saber o cálculo amortização. No entanto, a pessoa pode precisar o cálculo de amortização quando se trabalha com o próximo cliente.

Em suma, os cálculos todos têm um propósito e você precisa de todos eles, mas você não precisa de todos eles ao mesmo tempo. Por causa da maneira como você usa modelos matemáticos, eles funcionam melhor como uma série de modelos de função. o MathTemplate mostra como exemplo para criar uma série de funções.

#incluir #incluir usando namespace std-templateÁrea T (altura T, comprimento T) {height retorno * comprimento-} const PI dupla = 4.0 * atan (1,0) -templateT circleArea (raio T) {double resultado, resultado = PI * raio * raio - // Esta versão trunca o value.return (T) result-} templateT TriangleArea (base T, altura T) {double resultado para os resultados = base * height * 0.5-retorno (T) result-} int main () {cout lt; lt; "4 x 4" Áreas: lt; lt; endl-cout lt; lt; "Quadrado: " lt; lt; Área(4, 4) lt; lt; endl-cout lt; lt; "Circle:" lt; lt; circleArea(2) lt; lt; endl-cout lt; lt; "Triangle" lt; lt; TriangleArea(4, 4) lt; lt; endl-cout lt; lt; "Usando um valor de pi de:" lt; lt; PI lt; lt; endl-retorno 0-}

Os cálculos podem consistir de qualquer cálculo matemático - o ponto do exemplo é que a utilização de funções faz cada um dos cálculos discreta, fácil de usar e fácil de administrar. Quando você executar este exemplo, você vê o seguinte resultado:

4 X 4 Áreas: Quadrado: 16Circle: 12Triangle: 8Using um valor de pi de 3,14159:

Observe que circleArea(2) utiliza a metade do valor dos outros cálculos como entrada. Isso é porque você calcular a área de um círculo usando a equação pi x r2.

Para consistência, você pode mudar a equação círculo de ler como este:

Raio = raio / 2-result = PI * raio * radius-

Dividindo a entrada por 2, essencialmente mudando o diâmetro a um raio, significa que você poderia chamar a equação usando o mesmo número que todos os outros cálculos de área: circleArea(4). Qualquer abordagem que você escolher, você precisa documentar como o modelo funciona, para que outros desenvolvedores sabem como usá-lo.

Você também deve observar que os cálculos círculo e do triângulo de realizar um pouco de tipo de coerção para garantir que o usuário obtém os resultados esperados de volta, modificando o Retorna declaração de ler retorno (T) result-. As conversões de tipo são necessários para manter seus modelos de gerar mensagens de aviso. É importante notar que o método utilizado no exemplo trunca o resultado quando o molde retorna um int.

menu