Matematik Komutları (Ders-13)

Java programlama dili hakkında yardım, sorun ve paylaşımlar.
Cevapla
Kullanıcı avatarı
UnreaL
Fast Friend
Fast Friend
Mesajlar: 207
Kayıt: 24-12-2005 17:26

Matematik Komutları (Ders-13)

Mesaj gönderen UnreaL »

Programlar matematiğin bir dalı olan algoritmalar üzerine kuruludur. Matematiği kötü olup da iyi yazılımcı olabilen kişi yoktur. Eğer matematik üzerine daha önce fazla düşmemişseniz, belki program yaparken matematiği sevebilir ve içinizde kalmış gizli bir yeteneğinizi keşfedebilirsiniz.

Ondalık Sayıları Tam Sayılara Çevirme Şekilleri

JavaScript'te bir sürü matematik komutu var ve bu kodların başına math. ön komutu konur. Hemen başlasak iyi olur. İlk kodumuz ondalık sayıları en yakın tam sayıya yuvarlamaya yarayan round() komutu. Uygulamada kullanım şeklini görüyoruz:

Kod: Tümünü seç

<html>
<head>
<title>Yuvarlama</title>
</head>
<body>

<script language="JavaScript">
var i = 6.232, j= 43.534, k=17.4999999
document.write(i + " sayısını yuvarlarsak: " + Math.round(i) + "<br>")
document.write(j + " sayısını yuvarlarsak: " + Math.round(j) + "<br>")
document.write(k + " sayısını yuvarlarsak: " + Math.round(k) + "<br>")
</script>

</body>
</html> 
Benzer bir kod olan ceil()'e (Türkçesi: tavan) bakalım. Bu komutla ondalık sayılar en yakında ve daha büyük olan tamsayıya eşitlenir; tamsayılar için değişen birşey olmaz. round kodunda ise ondalık sayı kendisinden düşük tamsayılara da eşitlenebiliyordu, aradaki fark bu.

Kod: Tümünü seç

<html>
<head>
<title>Tamamlama</title>
</head>
<body>

<script language="JavaScript">
var i = 6.232, j= 43.534, k=17.4999999
document.write(i + " sayısını tamamlarsak: " + Math.ceil(i) + "<br>")
document.write(j + " sayısını tamamlarsak: " + Math.ceil(j) + "<br>")
document.write(k + " sayısını tamamlarsak: " + Math.ceil(k) + "<br>")
</script>

</body>
</html> 
Yukarıdaki iki uygulamayı karşılaştırırsanız round() ile ceil() komutları arasındaki farkı görürsünüz. Şimdi bu iki koda benzeyen diğer koda geçiyorum: floor() (Türkçesi: taban). Ondalık sayıyı en yakındaki ve daha küçük olan tamsayıya çevirir. Yani bu kodu kullanarak ondalık sayının ondalıklı kısmını atıyoruz.

Kod: Tümünü seç

<html>
<head>
<title>Ondalık kısmı atma</title>
</head>
<body>

<script language="JavaScript">
var i = 6.232, j= 43.534, k=17.4999999
document.write(i + " sayısının ondalık kısmını atarsak: " + Math.floor(i) + "<br>")
document.write(j + " sayısının ondalık kısmını atarsak: " + Math.floor(j) + "<br>")
document.write(k + " sayısının ondalık kısmını atarsak: " + Math.floor(k) + "<br>")
</script>

</body>
</html> 
Maksimum ve Minimum Değerleri Bulma

Şimdi istatistiksel kodlara geçelim. İki sayıdan büyük olanını belirlemek için max() matematik kodundan yararlanırız. Hadi yararlanalım:

Kod: Tümünü seç

<html>
<head>
<title>Büyüğü seç</title>
</head>
<body>

<script language="JavaScript">
document.write(Math.max(46, 95))
</script>

</body>
</html> 
max() kodunun karşıtı min() kodudur, iki sayı arasından büyük olanı belirler.

Kod: Tümünü seç

<html>
<head>
<title>Küçüğü seç</title>
</head>
<body>

<script language="JavaScript">
document.write(Math.min(46, 95))
</script>

</body>
</html> 
Karekök Alma

Bir sayının karekökünü almak istersek sqrt() matematik kökünden yararlanabiliriz.

Kod: Tümünü seç

<html>
<head>
<title>Karekök</title>
</head>
<body>

<script language="JavaScript">
var i = 6.232, j= 43.534, k=17.4999999
document.write(i + " sayısının karekökü: " + Math.sqrt(i) + "<br>")
document.write(j + " sayısının karekökü: " + Math.sqrt(j) + "<br>")
document.write(k + " sayısının karekökü: " + Math.sqrt(k) + "<br>")
</script>

</body>
</html> 
Biraz bu uygulama üzerinde duralım. Uygulama sonucunda sayıların karekökleri noktadan sonra 15 rakamlı halde veriliyor. Mesela biz noktadan sonra sadece iki sayı olmasını istiyoruz. Nasıl yaparız? Bunun için ayrı bir koda ihtiyacımız yok, basit bir mantıkla hallederiz. Önce sayıları 100'le çarparız (üçlü ondalık isteseydik 1000'le çarpardık) sonra bu sayıları yuvarlar ve yine 100'e bölerdik. İşte sonuç:

Kod: Tümünü seç

<html>
<head>
<title>İki Ondalıklı Karekök</title>
</head>
<body>

<script language="JavaScript">
var i = 6.232, j= 43.534, k=17.4999999
var a, b, c
document.write(i + " sayısının karekökü: " + Math.sqrt(i) + "<br>")
document.write(j + " sayısının karekökü: " + Math.sqrt(j) + "<br>")
document.write(k + " sayısının karekökü: " + Math.sqrt(k) + "<br><br>")
a = Math.round(Math.sqrt(i) * 100) / 100
b = Math.round(Math.sqrt(j) * 100) / 100
c = Math.round(Math.sqrt(k) * 100) / 100
document.write(i + " sayısının iki ondalıklı karekökü: " + a + "<br>")
document.write(j + " sayısının iki ondalıklı karekökü: " + b + "<br>")
document.write(k + " sayısının iki ondalıklı karekökü: " + c + "<br>")
</script>

</body>
</html> 
Uygulamamızın sonucunda ikiondalıklı 2.50 ve 6.60 sayıları, tek ondalıklı 2.5 ve 6.6 halinde görünürler. (İstersek koşul deyimleriyle bunu da engelleriz ama uğraşmayalım şimdi.)

Mutlak Değer Alma

Sayıların mutlak değerini elde etmek için abs() kodunu kullanırız. Kullanalım:

Kod: Tümünü seç

<html>
<head>
<title>Mutlak Değer</title>
</head>
<body>

<script language="JavaScript">
var i = -6.232, j= 43.534, k=-17.4999999
document.write(i + " sayısının mutlak değeri: " + Math.abs(i) + "<br>")
document.write(j + " sayısının mutlak değeri: " + Math.abs(j) + "<br>")
document.write(k + " sayısının mutlak değeri: " + Math.abs(k) + "<br>")
</script>

</body>
</html> 
Trigonometrik İşlemler

Aşağıda trigonometrik işlemler yapan matematik kodlarını listeledim. Sayfa uzamasın diye örnek çözmüyorum, aynı şekilde Math. uzantılı kullanılırlar.

cos() : Sayının kosinüsünü gösterir. (radyal değerler kullanın) Math.cos(3.141592653589793)

sin() : Sayının sinüsünü gösterir. Math.sin(3.141592653589793/2)

tan() : Sayının tanjantını gösterir. Math.tan(3.141592653589793/4)

acos() : Sayının arkkosinüsünü gösterir. (radyal değerler verir.) Math.acos(0.5)

asin() : Sayının arksinüsünü gösterir. Math.asin(0.25)

atan() : Sayının arktanjantını gösterir. Math.atan(1)

Değişkenlere Rasgele Sayı Değeri Atama

Şimdi çok geniş alanlarda kullanılabilen bir kod öğreneceğiz: random(). Bu kod rasgele bir sayı verir. Aşağıdaki uygulamaya bakalım.

Kod: Tümünü seç

<html>
<head>
<title>Rasgele Sayı</title>
<script language="JavaScript">
function rasgele()
{
var i = Math.random()
sayfa = window.open("","yeni_sayfa", "toolbar=0,location=0,directories=0, status=0, menubar=0,scrollbars=0,resizable=1, copyhistory=0,width=280, height=300, left=200, screenX=200, top=100, screenY=100")
sayfa.document.write(i + "<br>")
}
</script>
</head>
<body>

<form>
<input type="button" value="Rasgele Sayı" onclick="rasgele()">
</form>

</body>
</html> 
Uygulamamızdaki düğmeye 40 defa falan basın ve sonuç penceresindeki rasgele sayıları inceleyin. Şöyleyebileceklerimiz: Bu sayıların hepsi ondalık tabanda bulunuyor. İki basamaklı rasgele tamsayılar elde etmek istersek ne yaparız? Cevap: Sayıyı 100 ile çarpar ve yuvarlarız:

Kod: Tümünü seç

<html>
<head>
<title>Rasgele İki Basamaklı Sayılar</title>
<script language="JavaScript">
function rasgele()
{
var i = Math.random()
sayfa = window.open("","yeni_sayfa", "toolbar=0,location=0,directories=0, status=0, menubar=0,scrollbars=0,resizable=1, copyhistory=0,width=280, height=300, left=200, screenX=200, top=100, screenY=100")
sayfa.document.write(Math.round(i * 100) + "<br>")
}
</script>
</head>
<body>

<form>
<input type="button" value="Rasgele Sayı" onclick="rasgele()">
</form>

</body>
</html> 
Düğmeye defalarca basarsanız, uygulamanızın doğru olup, olmadığı hakkında fikir edinebilirsiniz.



Volkan Derinbay'a tşkler.
Cevapla
  • Benzer Konular
    Cevaplar
    Görüntüleme
    Son mesaj

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir