Exponenciación en el lenguaje de programación Pascal: consejos y trucos
Hay una gran cantidad de idiomasprogramación, y Pascal toma entre ellos no el último lugar. Y si vas a participar seriamente en la programación en el futuro, debes comenzar a familiarizarte con este mundo con el estudio de este idioma, ya que es más simple en la percepción y, lo que es más importante, el programa es totalmente gratuito.
En este artículo, discutiremos un problema tan difícil,como exponenciación. Pascal, por desgracia, no nos proporciona un operador separado para resolver este problema, a diferencia de otros lenguajes de programación. Entonces aquí es necesario, como dicen, deshacerse de los medios improvisados, recurriendo a ciclos y operadores matemáticos: es aquí donde podemos dar rienda suelta a nuestra imaginación. Consideremos varios métodos para resolver este problema.
Déjennos tener la tarea más simple, donde un cierto número debe elevarse a todo el grado positivo. Supongamos que el número un levantamos en 4 grados. Aquí realizamos una operación matemática simple: b: = a * a * a * a.
Los ejemplos anteriores nos permiten construir númerossolo en potencias enteras positivas Pero hay problemas donde es necesario elevar el número a una potencia fraccionaria. Al escribir un programa de este tipo, necesitamos conocimiento de las propiedades de los logaritmos. En particular: unb= eb ln a. Partiendo de esto, el fragmento necesario de nuestro programa tendrá la forma: r: = exp (b * ln (a)). Pero aquí nos enfrentamos con el hecho de que estoEl operador no trabaja con cero y con números negativos. Para que nuestro programa realice la exponenciación, debe especificar la condición: Si b = 0 Entonces r: = 1 R: = exp (b * ln (a)). Pero, ¿cómo se ve la exponenciación para un número negativo?
Pascal nos hace pensar otra vez. Aquí tenemos que realizar esta operación con el módulo de nuestro número y tomar los datos con un resultado negativo. Luego verifique la paridad del grado: si nuestro grado fue uniforme, entonces tomamos el módulo del resultado. En este caso, nuestro programa será: r: = (- 1) * exp (b * ln (abs (a))); Si es redondo (b / 2) = b / 2 Entonces r: = abs (r). La condición aquí verifica si el grado es parejo o no.
Como resultado, llegamos a un modelo más universal.Nuestro programa que funcionará con cualquier número. Es decir, ahora tenemos que integrar todo lo anterior en uno. En la imagen de la derecha puede ver el texto completo de nuestro programa terminado. Preste atención al tipo de datos especificado. A diferencia del primer programa, se usa aquí. Realporque Aquí ya estamos trabajando con cualquier número, no solo con números enteros. Por lo tanto, hemos considerado plenamente elevar el poder de los números reales. Queda por considerar una sola pregunta.