/ / Esponenziazione nel linguaggio di programmazione Pascal: suggerimenti e trucchi

Esponenziazione nel linguaggio di programmazione Pascal: suggerimenti e trucchi

C'è un enorme numero di lingueprogrammazione, e Pascal prende tra loro non l'ultimo posto. E se hai intenzione di impegnarti seriamente nella programmazione in futuro, dovresti iniziare a conoscere questo mondo con lo studio di questa lingua, poiché è più semplice nella percezione e, soprattutto, il programma è assolutamente gratuito.

In questo articolo, discuteremo di un problema così difficile,come esponenziazione. Pascal, purtroppo, non ci fornisce un operatore separato per risolvere questo problema, a differenza di altri linguaggi di programmazione. Quindi qui è necessario, come si dice, sbarazzarsi dei mezzi improvvisati, ricorrere ai cicli e agli operatori matematici - è qui che possiamo dare sfogo alla nostra immaginazione. Consideriamo diversi metodi per risolvere questo problema.

Supponiamo di avere un compito facile, in cui un certo numero deve essere sollevata al livello di tutto positiva. Supponiamo che il numero un alziamo in 4 gradi. Qui eseguiamo una semplice operazione matematica: b: = a * a * a * a.

Testo del programma
Nel passaggio successivo, complicheremo il compito e compileremoUn programma universale che erigerà qualsiasi numero a qualsiasi livello positivo. C'è un'opportunità di usare qualsiasi ciclo, ma considereremo un metodo più semplice usando un ciclo con un contatore. Nell'immagine a sinistra puoi vedere il testo completo del nostro programma, c'è anche una spiegazione delle operazioni eseguite. A proposito, va notato che il numero un non è necessario specificare integer, ma puoi, ad esempio, reale, che aumenterà il grado di numero frazionario.

Gli esempi precedenti ci permettono di costruire numerisolo in potenze di interi positivi. Ma ci sono problemi dove è necessario aumentare il numero a un potere frazionario. Quando scriviamo un programma del genere, abbiamo bisogno di conoscere le proprietà dei logaritmi. In particolare: unB= eb ln a. Procedendo da questo, il frammento necessario del nostro programma sarà simile a: r: = exp (b * ln (a)). Ma qui siamo di fronte al fatto che questol'operatore non funziona con numeri zero e negativi. Affinché il nostro programma esegua il potenziamento, è necessario specificare la condizione: Se b = 0 Quindi r: = 1 Else r: = exp (b * ln (a)). Ma che aspetto ha l'esponenziazione per un numero negativo?

Testo del programma

Pascal ci fa pensare di nuovo. Qui dobbiamo eseguire questa operazione con il modulo del nostro numero e prendere i dati con un risultato negativo. Quindi controlla l'uniformità del grado: se il nostro grado è pari, allora prendiamo il modulo dal risultato. In questo caso, il nostro programma sarà simile a: r: = (- 1) * exp (b * ln (abs (a))); Se Round (b / 2) = b / 2 Quindi r: = abs (r). La condizione qui controlla se il grado è pari o no.

Di conseguenza, arriviamo a un modello più universale.il nostro programma che funzionerà con qualsiasi numero. Cioè, ora dobbiamo integrare tutto quanto sopra in uno. Nell'immagine a destra puoi vedere il testo completo del nostro programma finito. Prestare attenzione al tipo di dati specificato. A differenza del primo programma, è usato qui. veroperché qui stiamo già lavorando con qualsiasi numero, non solo con numeri interi. Quindi, abbiamo pienamente considerato di aumentare il potere dei numeri reali. Resta da considerare solo una domanda.

Testo del programma
Rivolgendosi a lui, si dovrebbe notare che quandorisolvere questo problema richiede una conoscenza sufficientemente approfondita nella programmazione. Questo è un aumento della potenza di un numero complesso. Qui puoi provare a utilizzare diverse soluzioni, ad esempio la formula di Moivre, ma ci sono difficoltà nel tradurre il numero complesso in forma trigonometrica. C'è una soluzione a questo problema nello specificare la procedura per moltiplicare due numeri complessi e un ciclo semplice con un contatore, ad es. ripetere questa procedura un numero uguale di volte. Nell'esempio fornito, puoi trattare più dettagliatamente il testo di questo programma.

Leggi di più: