Neste artigo iremos ver em uma aplicação Console como utilizar os principais operadores da matemática.
Este artigo é em homenagem ao meu amigo, aluno de Delphi e professor de matemática Rodrigo da Costa Miranda.


program Matematica;

{$APPTYPE CONSOLE}

uses
  SysUtils, Math;

var
  A, B: Double;
  C, D: Integer;
  PARAR: string;

begin
  try
    { TODO -oUser -cConsole Main : Insert code here }

    Writeln('===================================================================');
    Writeln('VAMOS TRABALHAR COM DOIS VALORES REAIS, QUE DENOMINARESMOS A E B');
    Writeln(''); //PULANDO UMA LINHA
    Writeln('INSIRA O VALOR DE A:');
    Readln(A);
    Writeln(''); //PULANDO UMA LINHA
    Writeln('INSIRA O VALOR DE B:');
    Readln(B);
    Writeln(''); //PULANDO UMA LINHA

    //TRABALHANDO COM O OPERADOR DE SOMA
    Writeln('O VALOR DE A + B E IGUAL A: ' + FloatToStr(A + B));
    Writeln(''); //PULANDO UMA LINHA

    //PARA O CASO DE STRINGS, O OPERADOR MATEMÁTICO "+" ATUA COMO CONCATENAÇÃO

    //TRABALHANDO COM O OPERADOR DE SUBTRAÇÃO
    Writeln('O VALOR DE A - B E IGUAL A: ' + FloatToStr(A - B));
    Writeln(''); //PULANDO UMA LINHA

    //TRABALHANDO COM O OPERADOR DE MULTIPLICAÇÃO
    Writeln('O VALOR DE A x B (A VEZES B) E IGUAL A: ' + FloatToStr(A * B));
    Writeln(''); //PULANDO UMA LINHA

    //TRABALHANDO COM O OPERADOR DE DIVISÃO
    Writeln('O VALOR DE A / B E IGUAL A: ' + FloatToStr(A / B));
    Writeln(''); //PULANDO UMA LINHA

    {NOTA 1: O OPERADOR "/" É UTILIZADO PARA DIVISÃO DE NÚMERO REAIS. QUANDO FORMOS
    FAZER UMA DIVISÃO DENTRE NÚMEROS INTEIROS PODEMOS UTILIZAR O OPERADOR "div".}

    Writeln('===================================================================');
    Writeln('VAMOS TRABALHAR COM DOIS VALORES INTEIROS, QUE DENOMINARESMOS C E D');
    Writeln(''); //PULANDO UMA LINHA
    Writeln('INSIRA O VALOR DE C:');
    Readln(C);
    Writeln(''); //PULANDO UMA LINHA
    Writeln('INSIRA O VALOR DE D:');
    Readln(D);
    Writeln(''); //PULANDO UMA LINHA

    //TRABALHANDO COM O OPERADOR DE DIVISÃO DE INTEIROS
    Writeln('O VALOR DE C / D E IGUAL A: ' + IntToStr(C div D));
    Writeln(''); //PULANDO UMA LINHA

    {NOTA 2: SE QUISERMOS SABER O RESTO DA DIVISÃO ENTRE DOIS NÚMEROS INTEIROS,
    BASTA UTILIZARMOS O OPERADOR "mod".}

    //TRABALHANDO COM O OPERADOR DE RESTO DE DIVISÃO DE INTEIROS
    Writeln('O VALOR DO RESTO DE C / D E IGUAL A: ' + IntToStr(C mod D));
    Writeln(''); //PULANDO UMA LINHA

    {AGORA VAMOS TRABALHAR COM OPERADORES EXPONENCIAIS E DE RADICIAÇÃO}

    //TRABALHANDO COM EXPONENCIAÇÃO

    //TRABALHANDO COM PONTENCIAÇÃO (FORMA 1)
    Writeln('O VALOR DE C ELEVADO A D E IGUAL A: ' + FloatToStr(exp(ln(C)*D)));
    Writeln(''); //PULANDO UMA LINHA

    //TRABALHANDO COM POTENCIAÇÃO D(FORMA 2)
    //PRECISA DELCARAR "Math" EM USES.
    Writeln('O VALOR DE C ELEVADO A D E IGUAL A: ' + FloatToStr(Power(C,D)));
    Writeln(''); //PULANDO UMA LINHA

    //TRABALHANDO COM EXPONENCIAÇÃO

    //TRABALHANDO COM RADICIAÇÃO (RAIZ QUADRADA)
    Writeln('O VALOR DA RAIZ QUADRADA DE C E: ' + FloatToStr(Sqrt(C)));
    Writeln(''); //PULANDO UMA LINHA
    Writeln('O VALOR DA RAIZ QUADRADA DE D E: ' + FloatToStr(Sqrt(D)));
    Writeln(''); //PULANDO UMA LINHA

    //TRABALHANDO COM RADICIAÇÃO DE POTÊNCIA MAIOR QUE 2
    Writeln('O VALOR DA RAIZ DE POTENCIA ' + IntToStr(C) + ' DE ' +
    IntToStr(D) + ' E IGUAL A ' + FloatToStr(exp(ln(D)/C)));
    Writeln(''); //PULANDO UMA LINHA

    Readln(PARAR);
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.