Kezdőoldal » Számítástechnika » Programozás » Valaki eltudná nekem magyarázn...

Valaki eltudná nekem magyarázni hogy hogyan mukodik ez a lazarusz program és mire jo a fugvényben az exp és az ln ?

Figyelt kérdés

program szamhatvany;

var a,b:real;

function hatv(x,y:real):real;

begin

hatv:=exp(y*ln(x))

end;

begin

Writeln ('Add meg a hatvyt es a kitevojet szokozel!:');

readln(a,b);

writeln('A hatvany eredmenye!:',hatv(a,b):10:2);

readln;

end.



#Pascal #Lazarus #informatika8osztály #informatica
2021. márc. 10. 14:53
 1/3 anonim ***** válasza:

Kicsit beformáztam meg átszerveztem:

[link]


1. itt indul a program, a program neve

3. definiálod a "hatv" függvényt. Két valós szám bemeneti paramétere van és egy számot ad vissza.

5. kiszámolja és visszaadja az x**y értékét. Hatványozás azonosságaiból jön, hogy ezt ki tudod számolni ilyen módon, azaz x**y = e**(y*ln(x))

8. itt indul a főprogram

9. definiálsz 2 változót, ebbe fogod beolvasni a hatványt és a kitevőt.

11. üzenet

12. beolvasás

13. üzenet + eredmény kiírása

14. várakozás enter-re

15. vége

2021. márc. 10. 15:22
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Nem lazarusz hanem Lazarus (nevét a betániai Lázárról kapta, akit Jézus feltámasztott: [link] ) - ami a fejlesztőkörnyezet ( [link] ), nem maga a nyelv, ami a Pascal ( [link] ).


A hatványozás kérdéskörére:

"Tetszőleges pozitív valós alapra és valós kitevőre az ln természetes logaritmus segítségével a következőképp írható fel a hatvány:

a ^ x ("a az x-ediken") = (e^ln(a))^x = e ^ (x * ln(a)) = exp(x * ln(x))"

[link]

ahol:

* a: az alap

* x: a kitevő

* ^: a hatványozás jele

* e: az Euler-féle szám: [link]

* ln(): természetes logaritmus: [link] illetve [link]

* exp(): exponenciális függvény: [link] illetve [link]

2021. márc. 10. 15:37
Hasznos számodra ez a válasz?
 3/3 tabaki ***** válasza:

Igen, azt érdemes tisztázni, hogy ez egyelőre egy egyszerű pascal program, amit akár a Free Pascal konzolos szerkesztőjébe is bepötyöghetnél. A Lazarus a Free Pascalra épülő és azt alaposan kibővítő objektumorientált rendszer, amelynek az erényeiből most még csak a szerkesztőfelület kényelmét aknázod ki. A többiek minden lényegeset elmondtak, én már csak egy-két apróságot fűznék hozzá.

A függvényével megegyező nevű függvényváltozó a pascal hagyományos megoldása, de a program elejére írt {$mode objfpc} direktívával működik helyette az általánosan használható Result változó is

Itt a függvény egyetlen utasítássorának végéről azért hiányozhat a pontosvessző, mert az end; végén lévő is lezárja. Az efféle speciális helyzettől eltekintve viszont mindig ki kell tenni.

A kiíratáskor alkalmazott Hatv(a, b):10:2 formula végén lévő számok a kiírás mezőszélességeit jelentik. Az első tízes azt, hogy legalább tíz karaktert használ a teljes szám kiírásakor. Ha rövidebb, szóközöket ír elé, nagyobb esetén teljes hosszában kiírja. A második kettes a tizedesjegyek számát határozza meg, ez viszont levágja a fölösleges számjegyeket. De ez csak a kiírásra vonatkozik, magát a kiírandó értéket nem kerekíti. Ez ebben a programban nem látszik, mert közvetlenül íratod ki Hatv(a, b) értékét, de megteheted, hogy először beolvasod egy változóba, és annak az értékét írogatod ki különböző hosszúságokban:

[link]

Futtatáskor láthatod, hogy a rövidebb kiírás nem változtatott h eredeti értékén.

2021. márc. 10. 22:37
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!