Kezdőoldal » Számítástechnika » Programozás » Valaki segítene egy shell...

Valaki segítene egy shell script feladatban?

Figyelt kérdés

A feladat:

Írj programot, ami argumentumban megadott számnak kiszámolja az arcus sinusat illetve arccosinusat, Taylor sorbafejtéssel Harmadik argumentumban megadható legyen a sorbafejtésnél figyelembe vett tagok száma. Ez alapértelmezettként 3. Pl.:

$>szog arcsin 0.5 5

arcsin 30 fok = …


Fogalmam sincs, hogy kellene megcsinálni...


2011. dec. 3. 18:19
 1/2 anonim ***** válasza:

Gonosz leszek, mert a szkriptet nem írom le :)

De, leírom az alapötletet, és szerintem innen már gyerekjáték lesz.


1) Első lépésben fel kell írni az adott függvények Taylor-sorát. Ezt gondolom tudod, hogyan kell, de ha nem vagy elég biztos, akkor:

[link]

[link]


(Azért jó ez a wiki-lap, mert konkrétan rajta van az arcsin x és az arccos x, így nem kell vacakolnod a deriválgatással.)


2) Megnézed, mit ír pl. az arcsin x definíciójára:

sum(n=0; n<n_max; (2n)!/( 4^n*(n!)^2*(2n+1) ) * x^(2n+1))


Nos ezt kéne leprogramozni, pár ötlet:


3) Hozz létre egy változót, adj értékül neki 0-t (pl. szog_out=0). Ezt fogjuk később visszaadni, és ezt fogjuk a ciklus egyes lépéseiben változtatni (növelni).


4) Hozz létre egy for-ciklust, egy lépésszámláló (n=0), meg egy maximum lépésszám (n_max, ami a példában 5) segítségével.


Itt lehet olyan nüansznyi finomságokat megadni (mármint a ciklus előtt ellenőrizve, hogy van-e ilyen változó), hogy a default 3 legyen.


Ezután kell létrehozni, hogy a ciklus egyes lépése milyen parancsot hajtson végre.


5) Ehhez én használnék egy fact x segédfüggvényt, ami felszorozza i=1...x számokat egy for-ciklussal, és ennek eredményét (tehát x!-t) visszaadja.


6) Akkor most jön a neheze: le kell programozni a Taylor-sor n-edik elemét:


pl: arcsin x esetén (pszeudokóddal, vigyázz, shellben egy picit másképp van):


szog_out += fact(2*n)/(4^n*fact(n)^2*(2*n+1))*x^(2*n+1);


Ami kellhet, hogy a hatványozás operátora shell script esetén a dupla csillag (**), ezt jelöltem kúpos ékezettel (^).


7) Az arkusz koszinusz, az arccos x = pi/2 - arcsin x azonosság alapján után, tényleg egyszerű lesz.


Na, szerintem ebből már ki tudsz indulni. Ha elakadsz, vagy valami bug miatt nem akar működni (vagy bizonytalan vagy, hogy jól sikerült-e), írj ;)

2011. dec. 4. 23:22
Hasznos számodra ez a válasz?
 2/2 szigi29 válasza:

Miskolci Egyetem Szg.Architektúrák beadandó?

Fincsi. Én most ennek a sin/cos változatát csinálom.

2012. dec. 1. 20:53
Hasznos számodra ez a válasz?

Kapcsolódó 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!