1. Fungsi trigonometri ing basa Jawa
Nalika kita sinau pembulatan angka sadurungé, kita kenal karo Math
kelas lan sawetara cara. Saiki kita bakal nliti kelas iki kanthi luwih rinci.
Minangka jeneng kasebut, Math
kelas kasebut ngemot metode kanggo operasi matematika sing paling kerep digunakake dening programer. Ing ngisor iki sing paling menarik:
Metode | Katrangan | |
---|---|---|
|
Ngasilake sinus sudut d , ing radian |
|
|
Ngasilake kosinus sudut d , ing radian |
|
|
Ngasilake tangen saka sudut d , ing radian |
|
|
Ngasilake arcsine | |
|
Ngasilake arccosine | |
|
Ngasilake arctangent | |
|
Ngasilake sinus hiperbolik | |
|
Ngasilake kosinus hiperbolik | |
|
Ngasilake tangen hiperbolik |
Ing , lan cara njupuk amba ditulis ing radians. Kanggo ngowahi sudut saka derajat dadi radian lan kosok balene, kelas kasebut nawakake rong cara khusus:Math.sin()
Math.cos()
Math.tan()
Math
Metode | Katrangan |
---|---|
|
Ngonversi sudut saka derajat menyang radian |
|
Ngonversi sudut saka radian dadi derajat |
Miturut cara, saliyane metode, Math
kelas uga duwe rong variabel konstan (bidang statis kelas):
pancet | Katrangan |
---|---|
|
Konstanta "Pi" padha karo3.141592653589793 |
|
Konstanta "E" padha karo2.718281828459045 |
Kabeh fungsi kasebut bisa migunani banget kanggo sampeyan yen sampeyan arep nulis game dhewe, nggarap grafis, utawa mung ngetung dawa dalan ing peta.
Contone, yen sampeyan pengin ngetung sin(45°)
, iki cara sampeyan nindakake:
Math.sin( Math.toRadians(45) )
Iki contone:
public class Main
{
public static int N = 10;
public static void drawValue(double y)
{
int value = (int) (y * N) + N;
for (int i = 0; i < 2 * N; i++)
{
char c = i == N ? '|': '.';
if (i == value)
c = '*';
System.out.print(c);
}
System.out.println();
}
public static void main(String[] args)
{
for (int i = 0; i < 10 * N; i++)
{
double x = i * 1.0 / N;
double y = Math.sin(x);
drawValue(y);
}
}
}
2. Fungsi aljabar ing basa Jawa
Ing sawetara kasus, matematika SMA cukup kanggo programmer: malah sinus lan cosinus arang banget ditemokake ing kode. Paling asring dibutuhake nalika nggarap game, peta utawa mesin game. 90% programer ora tau nemoni iki.
Nanging saliyane geometri, programer kadhangkala kudu nggunakake fungsi aljabar. Lan, mesthi, Math
kelas kasebut ngemot sing paling umum:
Metode | Katrangan |
---|---|
|
werna kuadrat sakaa |
|
ROOT kubik sakaa |
|
eksponensial:ab |
|
eksponensial (angka Euler diunggahake dadi daya):ea |
|
logaritma alam saka a :ln(a) |
|
logaritma basis-10 saka a :log10(a) |
|
logaritma alam saka x + 1 :ln(x + 1) |
|
ex-1 |
Yen sampeyan pengin kothak utawa kubus ROOT saka nomer, sqrt(a)
lan cbrt(a)
cara ana ing layanan sampeyan.
Root kuadrat bisa diitung kaya ing ngisor iki:
Math.sqrt(2)
Yen sampeyan pengin entuk oyod saka kekuwatan sing luwih dhuwur, banjur gunakake metode eksponensial: a
kanggo kekuwatan ¼
yaiku akar kaping papat, lsp.
Math.pow(2, 0.25)
Kanggo logaritma lan eksponen, ana metode log(a)
(logaritma alami) lan exp(x)
(eksponensial). Kanggo ngetung logaritma basis-10, kita duwe log10(a)
.
Yen sampeyan pengin logaritma nomer b
dadi basis a
, gunakake rumus prasaja iki:loga(b) = ln(b) / ln(a)
Cara sing migunani
Yen sampeyan nindakake petungan sing nglibatake nilai cilik saka x
, banjur rong fungsi pungkasan — log1p()
lan expm1()
— bisa migunani kanggo sampeyan.
Nalika nambahake variabel sing cilik banget lan gedhe banget double
, sampeyan bakal kerep nemokake yen nilai sing cilik banget mung diabaikan (dibuwang) minangka ora pati penting. Nyatane, iki bakal kedadeyan yen sampeyan nggunakake metode log()
lan exp()
. Kanggo ngatasi masalah iki, programer nggawe fungsi sing mung ngasilake "bagean penting cilik"
Tuladha:
Upaminipun sampeyan pengin ngetung logaritma alam saka 1 + x
, ngendi x
iku . Sampeyan ora bisa mung pass nomer iki kanggo cara, wiwit yen sampeyan nambah lan , sampeyan njaluk . iku nomer cilik sing bakal rampung dibuwak nalika nomer sing ditambahake.10-20
log()
1
10-20
1
10-20
Amarga matématika asring ngetung log()
angka sing cedhak karo 1
, programer teka karo cara kanggo ngatasi masalah iki: tinimbang ngirim nomer kasebut menyang metode kasebut, mung ngliwati prabédan saka 1
.
3. Minimal lan maksimal
Loro fungsi liyane migunani yaiku min(a, b)
lan max(a, b)
. Kaya sing wis sampeyan duga, sing pertama ngasilake minimal rong nomer:
Math.min(a, b)
Lan nomer loro ngasilake maksimal rong nomer:
Math.max(a, b)
Napa kita butuh fungsi kasebut nalika sampeyan bisa nulis if
utawa nggunakake operator ternary (a < b ? a: b)
?
Iku kabeh babagan maca kode. Kadhangkala kode sampeyan kakehan karo if
pernyataan lan sampeyan pengin nggunakake notasi sing luwih kompak. Ayo mbandhingake:
Kode | Katrangan |
---|---|
|
Nggunakake if-else statement (cara paling dawa kanggo nulis) |
|
Nggunakake operator ternary Cons: - kode gedhe banget - petungan dileksanakake kaping pindho |
|
Iki cara sing apik kanggo nulis, nanging rada keluwih |
|
Bener wae 🙂 |
4. Minimal lan maksimal sawetara nomer
Ana cara liyane sing apik kanggo nggunakake min()
lan max()
metode.
Kanggo ngetung minimal (utawa maksimum) sawetara nomer utawa variabel. Iku trep banget kanggo nelpon nested kanggo cara iki.
Mangkene carane nemokake minimal 3 nomer:
Math.min(a, Math.min(b, c))
Dadi apa? Iku super trep: ngetung minimal rong nomer, banjur bali minimal nomer iki lan nomer katelu.
Minimal papat nomer dijupuk kanthi cara sing padha:
Math.min(a, Math.min(b, Math.min(с, d)))
Sing jarene, kita bisa nulis rumus iki kanthi luwih cetha:
Math.min(Math.min(a, b), Math.min(c, d))
Kabeh padha dianggo kanggo max()
cara.
Nggunakake if-else
operator utawa operator ternary bakal nggawe potongan kode iki rada rumit. Nanging nggunakake min()
lan max()
cara mung sampurna.
GO TO FULL VERSION