/ / Exponenciación en el lenguaje de programación Pascal: consejos y trucos

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.

Texto del programa
En el siguiente paso, complicaremos la tarea y compilaremosUn programa universal que erigirá cualquier número a cualquier grado positivo completo. Hay una oportunidad de usar cualquier ciclo, pero consideraremos un método más simple usando un ciclo con un contador. En la imagen de la izquierda puede ver el texto completo de nuestro programa, también hay una explicación de las operaciones realizadas. Por cierto, debe tenerse en cuenta que el número un no es necesario especificar Entero, pero puedes, por ejemplo, Real, que elevará el grado de número fraccionario.

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?

Texto del programa

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.

Texto del programa
En cuanto a él, cabe señalar que cuandoResolver este problema requiere un conocimiento suficientemente profundo en programación. Esto es un aumento a la potencia de un número complejo. Aquí puede intentar utilizar diferentes soluciones, por ejemplo, la fórmula de Moivre, pero existen dificultades para traducir el número complejo en forma trigonométrica. Existe una solución a este problema al especificar el procedimiento para multiplicar dos números complejos y un ciclo simple con un contador, es decir, repita este procedimiento un número igual de veces. En el ejemplo proporcionado, puede tratar con más detalle el texto de este programa.

Leer más: