/ / Exponentiation dans le langage de programmation Pascal: trucs et astuces

Exponentiation dans le langage de programmation Pascal: trucs et astuces

Il y a un grand nombre de languesprogrammation, et Pascal prend parmi eux pas la dernière place. Et si vous envisagez de vous engager sérieusement dans une programmation future, vous devriez commencer à vous familiariser avec ce monde en étudiant ce langage, car il est plus simple en termes de perception et, surtout, le programme est absolument gratuit.

Dans cet article, nous aborderons un problème si difficile,comme exponentiation. Pascal, hélas, ne nous fournit pas d'opérateur distinct pour résoudre ce problème, contrairement à d'autres langages de programmation. Il faut donc ici, comme on dit, se débarrasser des moyens improvisés, recourir à des cycles et à des opérateurs mathématiques - c'est ici que nous pouvons donner libre cours à notre imagination. Considérons plusieurs méthodes pour résoudre ce problème.

Donnons-nous la tâche la plus simple, où un certain nombre doit être porté au degré positif. Supposons que le nombre un nous soulevons à 4 degrés. Ici, nous effectuons une opération mathématique simple: b: = a * a * a * a.

Texte du programme
Dans la prochaine étape, nous compliquerons la tâche et compileronsUn programme universel qui permettra d’élever n'importe quel nombre à tout degré positif. Il est possible d'utiliser n'importe quel cycle, mais nous considérerons une méthode plus simple utilisant une boucle avec un compteur. Dans l'image de gauche, vous pouvez voir le texte intégral de notre programme, il y a aussi une explication des opérations effectuées. Par ailleurs, il convient de noter que le nombre un il n'est pas nécessaire de spécifier Entier, mais vous pouvez, disons, Réel, ce qui augmentera le degré de nombre fractionnaire.

Les exemples précédents nous permettent de construire des nombresuniquement dans les puissances entières positives. Mais il y a des problèmes où il est nécessaire d'élever le nombre à une puissance fractionnaire. Lors de l'écriture d'un tel programme, nous avons besoin de connaître les propriétés des logarithmes. En particulier: unb= eb dans un. A partir de là, le fragment nécessaire de notre programme aura la forme suivante: r: = exp (b * ln (a)). Mais ici nous sommes confrontés au fait que celal'opérateur ne travaille pas avec des nombres zéro et négatifs. Pour que notre programme exécute une exponentiation, vous devez spécifier la condition: Si b = 0 Alors r: = 1 Sinon r: = exp (b * ln (a)). Mais à quoi ressemble l’exponentiation pour un nombre négatif?

Texte du programme

Pascal nous fait réfléchir à nouveau. Ici, nous devons effectuer cette opération avec le module de notre numéro et prendre les données avec un résultat négatif. Ensuite, vérifiez l'uniformité du degré: si notre degré était pair, alors nous prenons le module du résultat. Dans ce cas, notre programme ressemblera à: r: = (- 1) * exp (b * ln (abs (a))); Si Round (b / 2) = b / 2 Alors r: = abs (r). La condition vérifie ici si le diplôme est pair ou non.

En conséquence, nous arrivons à un modèle plus universel.notre programme qui fonctionnera avec n'importe quel nombre. C'est-à-dire que nous devons maintenant intégrer tout ce qui précède en un. Dans l'image à droite, vous pouvez voir le texte complet de notre programme terminé. Faites attention au type de données spécifié. Contrairement au premier programme, il est utilisé ici. Réelparce que nous travaillons déjà avec des nombres, pas seulement des entiers. Nous avons donc pleinement réfléchi à l’augmentation du nombre réel. Il ne reste plus qu'à examiner une question.

Texte du programme
Se tournant vers lui, il convient de noter que lorsquerésoudre ce problème nécessite des connaissances suffisamment approfondies en programmation. C'est une augmentation de la puissance d'un nombre complexe. Ici, vous pouvez essayer différentes solutions, par exemple la formule de Moivre, mais il est difficile de traduire le nombre complexe en forme trigonométrique. Il existe une solution à ce problème en spécifiant la procédure permettant de multiplier deux nombres complexes et un cycle simple avec un compteur, c'est-à-dire Répétez cette procédure un nombre égal de fois. Dans l'exemple fourni, vous pouvez traiter plus en détail du texte de ce programme.

Lisez plus: