Informática, Programación
Exponenciación na linguaxe de programación de Pascal: consellos e trucos
Hai unha gran cantidade de linguaxes de programación, e Pascal leva entre eles non o último lugar. E se vai participar seriamente na programación no futuro, debería comezar a familiarizarse con este mundo co estudo desta lingua, xa que é máis sinxelo na percepción e, sobre todo, o programa é absolutamente gratuito.
Neste artigo, discutiremos un problema tan difícil como levantar ao poder. Pascal, por desgraza, non nos proporciona un operador por separado para resolver este problema, a diferenza doutros idiomas de programación. Así que aquí é necesario, como se di, desfacerse dos medios improvisados, recorrer a ciclos e operadores matemáticos; aquí podemos dar vento á nosa imaxinación. Consideremos varios métodos para resolver este problema.
Déixannos a tarefa máis sinxela, onde un determinado número debe elevarse a todo o grao positivo. Supoña que o número a é elevado á cuarta potencia. Aquí, realízase unha operación matemática simple: b: = a * a * a * a.
Os exemplos anteriores permítenos construír números só en poderes enteiros positivos. Pero hai problemas onde é necesario elevar o número a un poder fraccionario. Ao escribir un programa deste tipo, necesitamos coñecemento das propiedades dos logaritmos. En particular: a b = e b ln a . A partir disto, o fragmento necesario do noso programa terá a forma: r: = exp (b * ln (a)) . Pero aquí estamos ante o feito de que este operador non funciona con números cero e negativos. Para que o noso programa realice a exponenciación a 0, necesitamos especificar a condición: Se b = 0 Entón r: = 1 Else r: = exp (b * ln (a)). Pero como se ve a exponencial por un número negativo?
Pascal fainos pensar de novo. Aquí debemos realizar esta operación co módulo do noso número e coller os datos cun resultado negativo. A continuación, comprobe a paridade da titulación: se o noso grao era igual, entón tomamos o módulo do resultado. Neste caso o noso programa será: r: = (- 1) * exp (b * ln (abs (a))); Se Round (b / 2) = b / 2 Entón r: = abs (r). A condición aquí comproba se o grao é igual ou non.
Como resultado, chegamos a un modelo máis universal do noso programa, que funcionará con calquera número. Agora temos que unir todos os elementos anteriores nun único todo. Na imaxe da dereita podes ver o texto completo do noso programa rematado. Preste atención ao tipo de datos dado. A diferenza do primeiro programa, Real úsase aquí. Aquí xa estamos traballando con calquera número, non só con números enteiros. Así, consideramos completamente a exponenciación dos números reais . Queda por considerar só un problema.
Similar articles
Trending Now