• 19-07-2007, 22:35:30
    #1
    Matematikten, özellikle matematikten birçok öğrenci hoşlanmaz. Bunlardan biri de benim. Ama programlama öğreneceksek ve ticaret ile uğraşacaksak matematiği sevmemiz gerekmekte. Aslında hayatımızda hiç yeri yokmuş gibi gözüken birçok matematik işlemi zamanla hayatımızın göbeğine yerleşmektedir.
    PHP'de matematik işlemleri yapmak oldukça basit bir şekile getirilmiş. Önceki konularda değişkenleri öğrenmiştik, şimdi bu değişkenlere atama yaparak matematiksel işlemlerde kullanacağız böylece değişkenleri de biraz daha iyi anlamış olacağız.
    En basit matematik kodumuzu aşağıdaki şekilde yazabiliriz
    <?
    echo(4+5);
    ?>
    Ekrana 4 + 5 'in sonucunu hesaplayarak yazacaktır, yani ekranda 9 sayısını görürüz bu kodu yazdığımız zaman. Temel matematiksel işlemlerini hepsini bu şekilde kullanabiliriz. Temel matematiksel işlemlemlerinden kastım toplama, çıkarma, bölme, çarpma ve mod almadır. Dört işlemi anladıkta mod alma neydi diyenler çıkabilir. Mod alma bir sayının bir sayıdan kalan sayıyı bulma işlemine denir.
    Örneğin :
    10 / 3 = 3 (Kalan 1)
    Bunu PHP'de Şu şekilde buluyoruz:
    <?
    echo(10%3);    // Ekrana 1 yazaar
    ?>
    Tamam da bu ne işimize yarayacak, öğrenmeye gerek yok gibi gelmesin. 4 işlemden son en çok kullanacağımız matematiksel işlem bu olacak. Örneğin her 3 arama sonucundan sonra reklam göstermek istersek bunu kullanacağız.
    Dört işlem fonksiyonları için basit bir örnek daha yapalım:
    <?
    echo("4 + 2 = ".(4+2)."<br>"); // Ekrana 4 + 2 = 6 yazıp, <br>'den dolayı alt satıra geçer
    echo("4 - 2 = ".(4-2)."<br>"); // Ekrana 4 - 2 = 2 yazıp, <br>'den dolayı alt satıra geçer
    echo("4 * 2 = ".(4*2)."<br>"); // Ekrana 4 * 2 = 8 yazıp, <br>'den dolayı alt satıra geçer
    echo("6 / 2 = ".(6/2)."<br>"); // Ekrana 6 / 2 = 3 yazıp, <br>'den dolayı alt satıra geçer
    echo("5 % 2 = ".(5 % 2)."<br>"); // Ekrana 5 % 2 = 1 yazıp, <br>'den dolayı alt satıra geçer
    ?>
    Sonuç aşağıdaki gibi olur
    Alıntı
    4 + 2 = 6
    4 - 2 = 2
    4 * 2 = 8
    6 / 2 = 3
    5 % 2 = 1
    Matematiksel işlemleri kullanırken () arasında kullanmamın sebebi yazı ile birlikte kullanırken bunun bir matematiksel işlem olduğunu PHP'nin anlayabilmesi. Bu işlemleri birbiri içinde kullanarak daha karışık 4 işlemlerde yapabiliriz.
    Örnek :
    (((4+2) * 10 ) / 2 ) -3
    Bu matematiksel işlemin sonucu 27'dir. Matematikte öncelikle parantez içerisindeki işlemler yapılır, sonra sırasıyla çarpma, bölme, toplama, çıkarma işlemleri yapılır.
    4+2 = 6
    6 * 10 = 60
    60 / 2 = 30
    30 - 3 = 27
    şeklinde PHP bu basit problemi çözecektir.
    Bu işlemin PHP kodu
    <?
    echo((((4+2) * 10 ) / 2 ) -3);  // Ekrana 27 yazar
    ?>
    Bu işlemleri değişkenler üzerinden yapmamız kullanımımızı daha da kolaylaştıracaktır.
    Örnek :
    <?
    $alacaklarimiz = 182;
    $borclarimiz = 87;
    $elimizde_kalan = $alacaklarimiz - $borclarimiz;
    echo("Alacaklarımız : $alacaklarimiz<br>Borçlarımız : $borclarimiz<br>Elimizde kalan Para : $elimizde_kalan");
    ?>
    PHP Kodumuzun Ekran çıktısı
    Alıntı
    Alacaklarımız : 182
    Borçlarımız : 87
    Elimizde kalan Para : 95
    Değişken kullanmamızın nedenleri önceki derslerimizde kafada soru işaretleri bırakmıştı. Şimdi değişkenleri kullanarak karmaşık bir formülde değerleri yerine yerleştireceğiz.
    <?
    // Dairenin Alanını ve Çevresini Buluyoruz.
    define("PI","3.14"); 
    $r = 3; // yarı çap
    $alan = PI * ($r * $r); // Pi r² Formülünden
    $cevre = 2 * PI * $r;  // 2 Pi r Formülünden
    echo("$r yarı çaplı dairemizin alanı $alan, yarıçapı $cevre 'dir<br>");
    $r = 7; // yarı çap
    $alan = PI * ($r * $r); // Pi r² Formülünden
    $cevre = 2 * PI * $r;  // 2 Pi r Formülünden
    echo("$r yarı çaplı dairemizin alanı $alan, yarıçapı $cevre 'dir<br>");
    $r = 9; // yarı çap
    $alan = PI * ($r * $r); // Pi r² Formülünden
    $cevre = 2 * PI * $r;  // 2 Pi r Formülünden
    echo("$r yarı çaplı dairemizin alanı $alan, yarıçapı $cevre 'dir<br>");
    ?>
    Ekran çıktısı :
    Alıntı
    3 yarı çaplı dairemizin alanı 28.26, yarıçapı 18.84 'dir
    7 yarı çaplı dairemizin alanı 153.86, yarıçapı 43.96 'dir
    9 yarı çaplı dairemizin alanı 254.34, yarıçapı 56.52 'dir
    Temel fonksiyonlar ile daha fazla kafa karıştırmadan diğer matematiksel fonksiyonlara geçelim. Üst alma, karekök, sinus gibi matematiksel işlemler için fonksiyonlar tanımlanmıştır. Hazırda bulunan bu fonksiyonları kullanacağız.
    Örneğin biraz önce r² işlemini hesaplayabilmek için $r * $r kullanmıştık, bunun yerine pow() fonksiyonunu kullanabilirdik.
    Örnek :
    <?
    $sayi = 5;
    $karesi = pow($sayi,2);
    echo("$sayi sayımızın karesi $karesi dir");
    ?>
    Ekran Çıktısı :
    Alıntı
    5 sayımızın karesi 25 dir
    İşlemleri yaparken ondalıklı sayılı sonuçlar elde edebiliriz, bunları bazen daha yuvarlak gözükmesini isteyebiliriz.
    Örnek :
    <? 
    echo("10 / 3 = ".floor(10/3));	// Aşağıdaki sayıya yuvarlar 
    echo("<br>");			// Alt satıra geç
    echo("10 / 3 = ".ceil(10/3));		// Yukarıdaki sayıya yuvarlar 
    echo("<br>");			// Alt satıra geç
    echo("10 / 3 = ".round(10/3));	// 5'den küçükleri aşağıya,büyükleri yukarıya yuvarlar 
    echo("<br>");			// Alt satıra geç
    echo("10 / 3 = ".round((10/3),2));	// Virgülden sonra kaç haneye göre yuvarlama yapacağını belirler 
    ?>
    Ekran Çıktısı :
    Alıntı
    10 / 3 = 3
    10 / 3 = 4
    10 / 3 = 3
    10 / 3 = 3.33
    Sık kullanacağımız bir diğer fonksiyon grubu ise en küçük ve en büyük sayıyı bulma fonksiyonlarıdır. min() en küçük sayıyı bulur, max() ise en büyük sayıyı bulur.
    Örnek :
    <?
    $sayi = array(33,12,49,93,71,473,3);  // array() fonksiyonu ileride Diziler konusunda anlatılacaktır.
    $en_buyuk = max($sayi);
    $en_kucuk = min($sayi);
    echo("En büyük sayımız : $en_buyuk <br>");
    echo("En küçük sayımız : $en_kucuk <br>");
    ?>
    Ekran Çıktısı :
    Alıntı
    En büyük sayımız : 473
    En küçük sayımız : 3
    Son olarak karekök bulmak için fonksiyonumuz hakkında bir örnek yapalım.
    <? 
    echo(sqrt(81));  // 81'in karekökü olan 9'u ekrana basacaktır.
    ?>
    Diğer matematiksel fonksiyonları da aşağıda yazıyorum, daha fazla matematik işlemi için onları da inceleyebilirsiniz.
    abs
    acos
    acosh
    asin
    asinh
    atan2
    atan
    atanh
    base_convert
    bindec
    cos
    cosh
    decbin
    dechex
    decoct
    deg2rad
    exp
    expm1
    fmod
    getrandmax
    hexdec
    hypot
    is_finite
    is_infinite
    is_nan
    lcg_value
    log10
    log1p
    log
    mt_getrandmax
    mt_rand
    mt_srand
    octdec
    pi
    rad2deg
    rand
    sin
    sinh
    sqrt
    srand
    tan
    tanh
  • 19-07-2007, 22:49:41
    #2
    Eposta Aktivasyonu Gerekmekte
    teşekkürler ejder abi yazıları sabırsızlıkla bekliyor dikkatle okuyorum
  • 19-07-2007, 22:54:27
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    eline sağlık ejder, benim gibi yeni yetme bir php'ci için güzel olmus bu dersler, diğerlerini de yeni gördüm. gerçi umduğumdan daha basitmis php (sıfırdan yazamıyorum ama olsun, baka baka yazması daha güzel), her geçen gün daha çok zevk alıyorum. saatlerce php.net'te anlamadığım kodlara bakmak harika bir duygu.
  • 19-07-2007, 22:57:16
    #4
    Eline Sağlık Hocam
  • 20-07-2007, 01:19:00
    #5
    Pro[Ge], ploop,andyou : teşekkürler..

    yazılar hakkında anlamadığınız yerleri mutlaka sorun, bilmemek ayıp değil öğrenmemek ayıp..
  • 20-07-2007, 02:08:50
    #6
    Abi merhabalar dersler için öncelikle teşekkürler.
    1.Sorum
    <form action="ejder.php" method="post" name="hesap">
    	  <input name="hesap1" type="text" id="hesap1" value="" size="">
    	  <input name="hesap2" type="text" id="hesap2" value="">
    	  <input type="submit" name="Submit" value="Hesapla">
    	</form>
    <? 
    echo ($_POST["hesap1"] * $_POST["hesap2"]);
    ?>
    hazırladığım formu altta php komutu ile okutuyorum,fakat formu php komutları içinde nasıl kullanabilirim.
    2.Sorum
    Yarı çap ile alanı hesaplar iken formda verdiğimiz değere göre hesaplamasını nasıl yapabiliriz.
    Teşekkürler.
  • 20-07-2007, 09:26:11
    #7
    Üyeliği durduruldu
    Alıntı
    <?
    echo("4 + 2 = ".(4+2)."<br>"); // Ekrana 4 + 2 = 6 yazıp, <br>'den dolayı alt satıra geçer
    echo("4 - 2 = ".(4-2)."<br>"); // Ekrana 4 - 2 = 2 yazıp, <br>'den dolayı alt satıra geçer
    echo("4 * 2 = ".(4*2)."<br>"); // Ekrana 4 * 2 = 8 yazıp, <br>'den dolayı alt satıra geçer
    echo("6 / 2 = ".(6/2)."<br>"); // Ekrana 6 / 2 = 3 yazıp, <br>'den dolayı alt satıra geçer
    echo("5 % 2 = ".(5 % 2)."<br>"); // Ekrana 5 % 2 = 1 yazıp, <br>'den dolayı alt satıra geçer
    ?>
    abi kafama takılan bir yer yukarısı nasıl oldu biraz daha açıklayabilir misin


    EjdeR adlı üyeden alıntı: mesajı görüntüle
    <? 
    echo("10 / 3 = ".floor(10/3));    // Yukarıdaki sayıya yuvarla 
    echo("<br>");            // Alt satıra geç
    echo("10 / 3 = ".ceil(10/3));        // Aşağıdaki sayıya yuvarlar 
    echo("<br>");            // Alt satıra geç
    echo("10 / 3 = ".round(10/3));    // 5'den küçükleri aşağıya,büyükleri yukarıya yuvarlar 
    echo("<br>");            // Alt satıra geç
    echo("10 / 3 = ".round((10/3),2));    // Virgülden sonra kaç haneye göre yuvarlama yapacağını belirler 
    ?>

    bir de abi burada round fonksiyonunu tam anlayamadım...

    şimdiden teşekkürler...
  • 20-07-2007, 10:17:13
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    oktay adlı üyeden alıntı: mesajı görüntüle
    Abi merhabalar dersler için öncelikle teşekkürler.
    1.Sorum
    <form action="ejder.php" method="post" name="hesap">
          <input name="hesap1" type="text" id="hesap1" value="" size="">
          <input name="hesap2" type="text" id="hesap2" value="">
          <input type="submit" name="Submit" value="Hesapla">
        </form>
    <? 
    echo ($_POST["hesap1"] * $_POST["hesap2"]);
    ?>
    hazırladığım formu altta php komutu ile okutuyorum,fakat formu php komutları içinde nasıl kullanabilirim.
    2.Sorum
    Yarı çap ile alanı hesaplar iken formda verdiğimiz değere göre hesaplamasını nasıl yapabiliriz.
    Teşekkürler.

    1-)
    $sayi1=$_POST["hesap1"];
    $sayi2=$_POST["hesap2"];

    Şeklinde Değişkenlere Atayarak İstediğin Yerde Kullanabilirsin.
  • 20-07-2007, 11:52:43
    #9
    Üyeliği durduruldu
    sorumu yanıtlayacak birisi var mı