webmaster
 
›
Cevapla
14-08-2011 13:27:30
 

Permütasyon Hesaplama | PHP

Merhaba arkadaşlar !



Şimdi sizlere nasıl resimdeki gibi PHP ile, form doldurulup gönder dedikten sonra permütasyon hesabı nasıl yapılacağını anlatacağım.

Öncelikle bir php dosyası oluşturuyoruz.Ben index adında oluşturdum.

Şimdi oluşturduğumuz php dosyasını açıp düzenlemeye başlıyoruz.

En basitinden sadece title meta'sı olan bir head kısmı oluşturuyoruz

Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Permütasyon Hesaplama | halukunal</title>

<style type="text/css">
.sorgula { background: url("./resim/sorgula.png") no-repeat scroll left top transparent; cursor: pointer;    border: 0px;    display: inline;    float: left;    height: 84px;    margin-left: 0;    text-indent: -9999px;    width: 213px; }
.sonuc { border:0; width:436px; float:left; font-size:22px; font-family: Arial; color:#096f03; margin:0 0 0 0; padding-left: 265px; }
.input { border:0; background: left -40px; width:205px; float:left; font-size:22px; font-family: MS Shell Dlg, Arial; color:#096f03; padding-left: 22px; padding-bottom: 14px;
</style>

</head>
Head kısmını oluşturduktan sonra form kısmını oluşturuyoruz

Kod:
<body>

<!-- form başladı -->

    <!-- logo başladı -->

<img src="./resim/logo.png"><br><br>

    <!-- logo başladı -->

<form method="POST" action="index.php?hesap=la">

<table border="0" width="701" cellspacing="0" cellpadding="0" id="asal" height="84">
    <tr>
        <td width="488" height="84" background="./resim/sorgu.png">

        <p align="center">

        <input class="input" type="text" onchange="if(isNaN(this.value)) alert('Sadece sayı girebilirsiniz!');" name="r" onfocus="this.value=''" value="r sayısı giriniz"><input class="input" type="text" onchange="if(isNaN(this.value)) alert('Sadece sayı girebilirsiniz!');" name="n" onfocus="this.value=''" value="n sayısı giriniz">
        
        </p>

        </td>

        <td width="213" height="84" ><input class="sorgula" type="submit" name="submit"></td>

    </tr>

</table>

</form>

<!-- form bitti -->
Form kısmını da oluşturduktan sonra php kısmına geçiyoruz.Kodların yanında ayrıntılı anlatım mevcut

PHP- Kodu:

<!-- hesapla basıldıktan sonra -->
<?php   //başlangıç tagımızı koyuyoruz.

if ($_GET['hesap'] == 'la') {    //eğer hesaplaya basılırsa alt taraftaki kodlar çalışsın istiyoruz -başlangıç

//burda php'ye ara veriyoruz çünkü arada html kodlar mevcut 
?> 

<br><table border="0" width="701" cellspacing="0" cellpadding="0" id="sonuc" height="84">    

    <tr>
        <td width="701" height="84" background="./resim/sonuc.png">

        <p class="sonuc" align="left">
        
<?  //php geri döndük

$elema=$_REQUEST['n']; //burada formdan gelecek olan eleman sayisini alıyoruz

$eleman=trim($elema);    //burada eleman sayisinin başında ve sonunda olabilecek boşlukları siliyoruz

$seci=$_REQUEST['r']; //burada formdan gelecek olan eleman sayisini alıyoruz

$secim=trim($seci);    //burada eleman sayisinin başında ve sonunda olabilecek boşlukları siliyoruz

if ($eleman>=21 or $secim>=21) { echo "20 den büyük sayı girmeyiniz" ; }  // 20den büyük sayı girilirse bu mesajı yazdır diyoruz çünkü sonuç çok büyük çıkıyor ve sığmıyor:)

elseif ($eleman=="n sayısı giriniz" or $secim=="r sayısı giriniz")  { echo "lütfen bir sayı giriniz" ; }  //boş gönderimleri engelledik

else {

$neksir=($eleman-$secim);  //permütasyon hesaplkama için gerekli olan n-r sayımızı hesapladık

$faktorn=1;

for (
$i=1;$i<=$eleman;$i++)    //for ile çarpılcak sayıları hesaplıyoruz

$faktorn=$faktorn*$i; }     //n faktoriyeli hesaplıyoruz

$faktorr=1;

for (
$i=1;$i<=$neksir;$i++)    //for ile çarpılcak sayıları hesaplıyoruz

$faktorr=$faktorr*$i; }     //n-r faktoriyeli hesaplıyoruz

echo ($faktorn/$faktorr);   //permütasyon sonucumuzu yazdırdık

echo "</p></td></tr></table>";  //bitirişleri yaptık

}

}   
//eğer hesapla basılırsa -bitiş

?>        

</body>

</html>
Ek özellikleri:
-Sayı girilmediği zaman hata mesajı verir


-Sistemi en az yoracak şekilde hazırlanmıştır

-Sorgulanacak sayıyı giriniz tıklayınca yazılar silinmektedir

-20den büyük sayılara sınır koyulmuştur.Çünkü çıkan sonuç çok büyük oluyor

-Sayıyı yazdıktan sonra ENTER basmak ya da SORGULA'ya basmak gerekmektedir

Bu kodların uygulanışını görebilirsiniz

Demodaki dosyalar indirmeniz için hazırlanmıştır.
Eklenmiş Dosya
Dosya tipi: rar permütasyon-ws.rar‎
(58,6 KB (Kilobyte), 11x kez indirilmiştir) permütasyon-ws.rar‎ indir, permütasyon-ws.rar‎ download, permütasyon-ws.rar‎ yükle.

Bir önceki yazı PHP Ziyaretçi Defteri Yapımı Video Ders hakkında bilgi vermektedir.

26-11-2011 15:01:11
 
teşekkürler

26-11-2011 16:44:15
 
bende permutasyon hesaplayan bir fonksiyon vereyim belki arkadaşlara yardımcı olur ham php olarak projesi yada ödevi olan arkadaşlar buyursunlar

PHP- Kodu:

<?php
$s
=permutasyon(4,4);

function 
permutasyon($n,$r){
    if (
$n<$r or $n<=or $r<=0){echo "Permutasyon Olusturulamadi.<br>Hata: 'n' degeri veya 'r' degeri 0 veya 0'nda kucuk sayi alamaz.";}
    else if(
$n>=$r){
    
$a=1;
    
$b=1;
    
$c=1;
    for(
$i=1;$i<=$n;$i++){
    
$a=$i*$a;}
    for(
$j=1;$j<=$r;$j++){
    
$b=$j*$b;}
    for(
$k=1;$k<=$n-$r;$k++){
    
$c=$k*$c;}
    echo 
$a/$c;
}    
}
?>
yada

PHP- Kodu:

<?php
$s
=permutasyon(5,4);
echo 
$s;

function 
permutasyon($n,$r){
    if (
$n<$r or $n<=or $r<=0){echo "Permutasyon Olusturulamadi.<br>Hata: 'n' degeri veya 'r' degeri 0 veya 0'nda kucuk sayi alamaz.";}
    else {
    return 
fakto($n)/fakto($n-$r);
    }
}
function 
fakto($b){
    
$c=1;
    for(
$a=1;$a<=$b;$a++)
    {
    
$c=$a*$c;
    }
    return 
$c;
}
?>

27-11-2011 08:10:42
 
İlginiz için teşekkürler.

Değişkenlerin karışmaması, akılda kalması ve yeni başlayanlara örnek olması için, ben kelime içeren değişkenler kullandım; siz tek harfli değişkenler kullanmışsınız. Sonuçta mantık aynı

27-11-2011 13:23:47
 
Alıntı:
İlginiz için teşekkürler.

Değişkenlerin karışmaması, akılda kalması ve yeni başlayanlara örnek olması için, ben kelime içeren değişkenler kullandım; siz tek harfli değişkenler kullanmışsınız. Sonuçta mantık aynı
ellerinize sağlık demekten başka birşey diyemeyeceğim dosyayı indirmemiştim fakat çok güzel bir şekilde çalışılmış konularınızı takip edeceğim.

Not: birşey dikatimi çekti php dersleri bölümündeki konuda anlatım yapılsaydı daha güzel olurdu hazır kod verilmişken hangi değişkenin ne yaptığını döngüler fln kısa bir anlatımla hiç bilmeyen birisi bile hiç yoktan birşey öğrenebilir yani biraz daha verimli olur. Sakın yanlış anlamayın çok güzel ve titiz bir çalışma tebrik ederim.

03-12-2011 18:44:00
 
ödevlerimi bununla yapacam

19-06-2012 17:20:28
 
hocam cok saolun bunun resimleri filan kücültük mü birazda bazı yerleri kseip kırpıp mobile uyarladıkmı sınavlar icin cok yararlı olur saolun

04-07-2012 03:43:54
 

Cevapla

"Permütasyon Hesaplama | PHP" konusu hakkında etiketler
ders dili hea hesabi hesapla hesaplama hesaplamasi hesaplanir hesaplanmasi hesaplayici htmli ile kisaca kod kodlari kodlarini kodu kolari kullanarak nasil nedir not olur online permitasyon permutasyi permutasyon php programlama sadece sayilarin sayisinin sifresi sorgu sorgusu txt wireless yapilir

PHP Ziyaretçi Defteri Yapımı Video Ders Önceki | Sonraki PHP'de Değişkenler




Saat: 07:03 - Webmaster Forumu - Rss - Arşiv
İletişim Bilgileri, Contact Us, Kullanım Sözleşmesi, Gizlilik