Diferenças entre edições de "Radiciação"

5 051 bytes removidos ,  12h41min de 18 de abril de 2018
Remoção de afirmações e algoritmo não apoiados por fontes confiáveis (pesquisa original?); Ver também: Especial:PermaLink/35156806
m (Adicionei um parágrafo na primeira parte e coloquei o artigo sobre raiz quadrada no ver também. Nos próximos dias pretendo unificar os dois artigos.)
(Remoção de afirmações e algoritmo não apoiados por fontes confiáveis (pesquisa original?); Ver também: Especial:PermaLink/35156806)
== Exemplos ==
* <math>\sqrt{9}=\sqrt[2]{3}^{2}=3</math>
* <math display="block">\sqrt[3]{1}=1</math>
 
== Propriedades ==
 
[[Imagem:Radiciação.gif]]
 
ao colocarmos 4:8= 0.5
 
== Algoritmo de extração de raiz qualquer ==
Podemos extrair raízes quaisquer, inclusive quadradas, através de um método bastante semelhante ao exposto acima.
 
Tomemos como exemplo a extração da raiz quinta de 123.456.789.
 
Devemos proceder conforme os seguintes passos:
 
1) Separamos os algarismos do radicando em grupos de 5 algarismos a partir da direita.
 
Exemplo: 1234.56789 (ficaram dois grupos: um de 4 algarismos que é o primeiro grupo e um de 5 algarismos que é o segundo grupo).
 
2) Da esquerda para a direita, tomamos o primeiro grupo que é o composto por 4 algarismos e determinamos por tentativa e erro qual o algarismo de 1 a 9 que elevado à quinta potência resulta em um valor igual ou inferior ao valor desse grupo.
 
Exemplo: 5 ^ 5 = 3.125 é maior que 1234. 4 ^ 5 = 1224 é menor, portanto, este é o primeiro dígito de nossa raiz.
 
3) Juntamos agora, ao primeiro grupo, o grupo seguinte, composto por 5 algarismos.
 
Exemplo: 123.456.789
 
4) Procuraremos agora um algarismo de 0 a 9 que colocado à direita do primeiro dígito da raiz já calculado resulte num valor que elevado à quinta potência, resulte num valor igual ou imediatamente inferior ao valor formado por ambos os grupos.
 
Exemplo: 42 ^ 5 = 130.691.232 é maior que 123.456.789. 41 ^ 5 = 115.856.201 é menor que 123.456.789, portanto, este é o próximo algarismo da raiz.
 
5) Caso queiramos continuar a radiciação, basta irmos adicionando grupos de 5 zeros à direita do radicando e concatenando-os aos grupos anteriores para determinarmos os próximos algarismos da raiz.
 
Exemplo: 12.345.678.900.000
 
6) Procuraremos agora, um algarismo de 0 a 9 que colocado à direita dos algarismos anteriores da raiz, forme um valor que elevado à quinta potência resulte num valor igual ou imediatamente inferior ao valor do radicando acima.
 
Exemplo: 416 ^ 5 = 12.458.525.720.576 é maior que 12.345.678.900.000. 415 ^ 5 = 12.309.502.009.375 é menor que 12.345.678.900.000. Portanto, esse é o próximo algarismo da raiz.
 
Se quisermos continuar, é só adicionarmos mais um grupo de 5 zeros ao radicando e repetir a operação.
 
Observe que após inserirmos o primeiro grupo de 5 zeros, fez-se necessária a presença de uma vírgula para separarmos as casas decimais mas não a utilizamos na conta.
 
Portanto o resultado até agora é 41,6.
 
O mesmo processo funciona para qualquer radiciação de qualquer índice: 2, 3, 4, 5, 10.000, etc.
 
Basta atentarmos para o fato de que o tamanho dos grupos serão de 2, 3, 4, 5, 10.000, etc., conforme o índice da radiciação.
 
Este método é adaptado do método sanduíche expresso conforme abaixo:
 
41,5 ^ 5 <= 123.456.789 <= 41,6 ^ 5
 
Espero que utilizem este método intensivamente pois o mesmo é o mais simples que existe.
 
Somente a título de informação o algoritmo de raiz quadrada explicado acima por imagens é baseado no método da expansão polinomial.
 
Àqueles que conhecem VBA no EXCEL e desejam implementar o algoritmo acima numa função em VBA, eis o código que implementei numa planilha EXCEL:
 
Public Function RootNth(ByVal radicand As Double, ByVal degree As Long, Optional ByRef remainder As Double = 0) As Double
Dim countDigits As Long, digit As Long, potency As Double, minDigit As Long
Dim maxDigit As Long, partialRadicand As String, totalRadicand As String
Dim partialRemainder As String, radicandDigit As String
 
radicand = Int(radicand)
degree = Abs(degree)
RootNth = 0
partialRadicand = ""
totalRadicand = CStr(radicand)
countDigits = Len(totalRadicand) Mod degree
countDigits = IIf(countDigits = 0, degree, countDigits)
Do While totalRadicand <> ""
radicandDigit = Left(totalRadicand, countDigits)
partialRadicand = partialRadicand + radicandDigit
totalRadicand = Mid(totalRadicand, countDigits + 1)
countDigits = degree
If RootNth = 0 Then
minDigit = 0
maxDigit = 9
Do While minDigit <= maxDigit
digit = Int((minDigit + maxDigit) / 2)
potency = (RootNth * 10 + digit) ^ degree
If potency = Val(partialRadicand) Then
maxDigit = digit
Exit Do
End If
If potency < Val(partialRadicand) Then
minDigit = digit + 1
Else
maxDigit = digit - 1
End If
Loop
Else
partialRemainder = CStr(remainder) + radicandDigit
maxDigit = Int(Val(partialRemainder) / (degree * 10 ^ (degree - 1) * RootNth ^ (degree - 1)))
If maxDigit > 9 Then
maxDigit = 9
End If
If (RootNth * 10 + maxDigit) ^ degree > Val(partialRadicand) Then
maxDigit = maxDigit - 1
End If
End If
RootNth = RootNth * 10 + maxDigit
remainder = Val(partialRadicand) - RootNth ^ degree
Loop
 
End Function
 
 
== Notas ==