C# - Calculando a enésima raiz de um número (para iniciantes)  

Neste artigo eu mostro como realizar cálculos usando a classe Math para calcular a enésima raiz de um número.

Para calcular a raiz enésima de um número podemos usar a fórmula :  raiz =  K1/N

A definição para a raiz enésima nos números reais é definida assim:

Seja a um número real e n um número natural não nulo. O número x é chamado raiz enésima de a se, e somente se, elevado ao expoente n, reproduz a : x ^ n = a

Vou a seguir mostrar como calcular a raiz enésima usando a linguagem C#.

Recursos usados:

Nota: Baixe e use a versão Community 2015 do VS ela é grátis e é equivalente a versão Professional.

Criando o projeto no VS Community

Abra o VS Community 2015 e clique em New Project;

Selecione a linguagem Visual C# e o template Windows Forms Application;

Informe o nome Raiz_Enesima e clique no botão OK;

No formulário form1.cs inclua a partir da ToolBox os seguintes controles:

Disponha os controles conforme o leiaute da figura a seguir:

Vamos definir a propriedade KeyPreview do formulário como True e a seguir no evento KeyDown do formulário definir o código abaixo que troca o ENTER pelo TAB:

        //Recebe ENTER e envia TAB no formulario (KeyPreview=True)
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                this.SelectNextControl(this.ActiveControl, !e.Shift, true, true, true);
            }
        }

Neste código a pressionar o ENTER seu funcionamento será equivalente ao TAB.

O código  !e.Shift indica que é para mudar para o próximo campo se pressionado ENTER, e ir para o campo anterior se pressionados SHIFT e ENTER simultaneamente (o mesmo funcionamento do SHIFT + TAB).

No evento KeyPress dos controles TextBox txtRadicando e txtIndice vamos incluir o código a seguir que permite somente valores numéricos:

        //so numeros no textbox
        private void txtRadicando_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }
        //so numeros no textbox
        private void txtIndice_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }

No evento KeyPress dos TextBox somente será permitido dígitos e a tecla BACKSPACE.

Agora no evento Click do botão btnCalcular digite o código abaixo que calcula o valor da raiz enésima:

        private void btnCalcular_Click(object sender, EventArgs e)
        {
            //valida o valor do radicando
            if(string.IsNullOrEmpty(txtRadicando.Text))
            {
                MessageBox.Show("Informe o valor do radicando");
                return;
            }
            else
            {
                lblRadicando.Text = txtRadicando.Text;
            }
            //valida o valor do indice
            if (string.IsNullOrEmpty(txtIndice.Text))
            {
                MessageBox.Show("Informe o valor do índice");
                return;
            }
            else
            {
                lblIndice.Text = txtIndice.Text;
            }
            //calcula a raiz enesima
            try
            {
                radicando = double.Parse(txtRadicando.Text);
                indice = double.Parse(txtIndice.Text);
                resultado = Math.Pow(radicando, 1 / indice);
                txtresultado.Text = resultado.ToString();
            }
            catch(Exception ex)
            {
                MessageBox.Show("Erro :" + ex.Message);
            }
       }

O código é bem simples e usa os seguintes conceitos básicos:

Estamos convertendo o valor string para double usando double.Parse(string). Outra opção seria usar Convert.ToDouble(string). A diferença de desempenho é pequena.

O cálculo esta sendo feito usando a classe Math e seu método estático Pow() : Math.Pow(radicando, indice) que retorna o valor de uma expressão base elevada a uma potência especificada.

Para mais detalhes veja o artigo  :  C# - A classe Math - Macoratti.net

Agora é só alegria...

Executando o projeto e realizando um cálculo teremos o seguinte resultado :

Fique a vontade para alterar o projeto e incrementar novas funcionalidades.

Pegue o projeto completo aqui:   Raiz_Enesima.zip

Segui a paz com todos, e a santificação, sem a qual ninguém verá o Senhor;
Hebreus 12:14

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti