26 Şubat 2013 Salı

PHP kelime / cümle uzunluğu bulma

Leave a Comment
PHP'de bir kelimenin veya cümlenin kaç karakterden oluştuğunu bulmak için strlen() fonksiyonunu kullanıyoruz.

$kelime = "bilgisayar"; şeklinde bir değişken tanımlıyorum.

$uzunluk = strlen($kelime) komutuyla uzunluk değişkenine kelimemizin uzunluğunu atıyorum.

echo komutu ile uzunluk adlı değişkeni ekrana yazdırıyorum ve ekrana 10 geliyor.



Yukarıdaki örnekte kelimenin uzunluğunu buldum. Herhangi bir cümlenin uzunluğunu bulurken de aynı işlemleri yapıyorum. Fonksiyon bırakılan her boşluğu bir karakter olarak sayıyor.

Örneğin strlen() fonksiyonu "bilgisayar mühendisliği" stringinin uzunluğunu

10 karakter (bilgisayar) + 1 karakter (boşluk) + 12 karakter (mühendisliği) = 23 şeklinde buluyor.


Read More

25 Şubat 2013 Pazartesi

C# ArrayList nedir? Nasıl kullanılır?

Leave a Comment


ArrayList, normal diziler gibi veri gruplarını saklamak için kullanılan nesnedir. Değer atanması ve işlenmesi bakımından oldukça kullanışlıdır.

ArrayList <Dizi Adı>;

Diziler gibi indis yapısını kullanır. Ekleme, silme, sıralama, ters çevirme işlemlerde özel yordamlar içerir. Çalışma anında araya eleman ekleme veya aradan eleman silme gibi özellikler tercih edilmesindeki en önemli nedenlerdendir.

En çok kullanılan yordamları Add() - Ekleme, Remove() - Silme ve Sort() - Sıralama yordamlarıdır.

Aşağıdaki ArrayList örneğini incelerseniz ArrayList mantığını kavrayabilirsiniz.

Dosyamıza System.Collections sınıfını eklemem gerekiyor.

ArrayList dizi = new ArrayList(); komutu ile dizi adında bir ArrayList oluşturuyorum.

dizi.Add("İstanbul");
dizi.Add("Paris");
dizi.Add("Tokyo");

şeklinde üç eleman ekliyorum.

for (int i = 0; i < dizi.Count; i++)
            {
                Console.WriteLine(dizi[i]);
            }



For döngüsü ile dizinin elemanlarını ekrana yazdırıyorum.

Kodun tamamı

static void Main(string[] args)
        {
            ArrayList dizi = new ArrayList();

            dizi.Add("İstanbul");
            dizi.Add("Paris");
            dizi.Add("Tokyo");

            for (int i = 0; i < dizi.Count; i++)
            {
                Console.WriteLine(dizi[i]);
            }

            Console.ReadKey();
}
Read More

21 Şubat 2013 Perşembe

PHP date() fonksiyonu

Leave a Comment


 PHP'de tarih ve saat işlemleri nasıl yapılır? Bu yazıda date() ve mktime() fonksiyonlarının nasıl kullanıldığını anlatmaya çalışacağım.

PHP'de tarih işlemleri date() fonksiyonu ile yapılıyor.

d -> Gün

m -> Ay

Y -> Yıl

olarak kullanılıyor. Örneğin <?php echo date("Y"); ?> kodunu çalıştırırsak ekrana yılı yazdırırız.

Gün/Ay/Yıl gibi bir tarih yazdırmak için echo date("d/m/Y"); kodunu kullanırız. / yerin . veya - işaretlerini de koyabiliriz.

Bir sonraki günü bulma


<?php
$yarin = mktime(0,0,0,date("m"),date("d")+1,date("Y"));
echo "Yarın ".date("d/m/Y", $yarin);
?>


Read More

C - Pointerlar

Leave a Comment

Pointer kullanımı


Bir programın icrası sırasında, program tarafından kullanılmakta olan tüm bilgiler (datalar) ve program kodları (fonksiyonlar) bellekte uygun lokasyonlara yerleştirilir. Bu lokasyonlardaki bilgilere ya da rutinlere ulaşmak için, değişken veya fonksiyonların isimlerinden yararlanılır. Lokasyondaki bilgilere veya program kodlarına ulaşabilmek için farklı bir yöntem daha kullanılabilir. Bu yöntem pointer kullanımıdır. Yöntemdeki temel prensip ulaşılacak lokasyon için, bu lokasyona karşılık gelen isim yerine, lokasyonun adresinin kullanılmasıdır.

C dilinin çok önemli bir parçası olan pointer kullanımı, programların etkinliğini ve süratini arttırır.

Pointer kullanımının getirdiği avantajlar :

- Bütün bellek alanlarına ulaşabilme.

- Fonksiyonlar arası değer transferi.

- Programlar arası değer transferi.

- Sistem komut satırından parametre okumak.

- Değer transferlerinde kolaylıklar.

- Fonksiyonların yönlendirilmesi.

- Fonksiyonların parametre gibi transfer edilmesi.

- Dinamik değişken alanı kullanımı.

- Boş bellekten yararlanma.

- Diziler üzerinde geliştirilmiş operasyonlar.

- Stringler üzerinde geliştirilmiş opersayonlar.

- Hız ve bellek kazancı.
Read More

19 Şubat 2013 Salı

HTML renk kodu bulma programı

Leave a Comment
İnternette gezerken bu programla karşılaştım. Web tasarımı ile ilgilenen arkadaşların işine yarayacağını düşündüm. Kurulum gerektirmeyen programın boyutu sadece 8,03 KB. Programı buradan indirebilirsiniz.

Programın görünümü


Read More

(Project Euler) 2.Problem - Fibonacci serisi - C - C# - PHP

Leave a Comment


Project Euler'in 2.problemi Fibonacci serisi ile ilgili. Ben de bu yazıda 1 ve 2 ile başlayarak Fibonacci serisinin ilk 10 elemanını bulacağım.

C, C# ve PHP ile yazdığım kodları paylaşacağım ancak ilk önce algoritmaya biraz göz atalım.

1 ve 2 ile başlayacağız. Bu durumda

1.eleman -> 1
2.eleman -> 2
3.eleman -> 1 + 2 = 3
4.eleman -> 2 + 3 = 5
5.eleman -> 3 + 5 = 8
6.eleman -> 5 + 8 = 13
7.eleman -> 8 + 13 = 21
8.eleman -> 13 + 21 = 34
9.eleman -> 21 + 34 = 55
10.eleman -> 34 + 55 = 89

Bir dizi oluşturuyorum. Dizimin adı dizi olsun. dizi[0] = 1 ve dizi[1] = 2 yapıyorum.

2'den başlayarak bir for döngüsü oluşturuyorum.

for(i=2;i<10;i++)
{
     dizi[i] = dizi[i-1] + dizi [i-2];
}

şeklinde işlemleri yaptırıyorum.

PHP KODU

<?php
$dizi = Array();
$dizi[0] = 1;
$dizi[1] = 2;

for($i=2;$i<10;$i++)
{
    $dizi[$i] = $dizi[$i-1] + $dizi[$i-2];
}

for($i=0;$i<10;$i++)
{
    echo $i+1 . ".eleman = " .$dizi[$i] . "<br />";
}
?>

 
C KODU

#include<stdio.h>
#include<conio.h>

main()
{
   int i;
   int dizi[10];
  
   dizi[0] = 1;
   dizi[1] = 2;
  
   for(i=2;i<10;i++)
   {
      dizi[i] = dizi[i-1] + dizi[i-2];                
   }     
  
   for(i=0;i<10;i++)
   {
      printf("%d.eleman = %d\n",i+1,dizi[i]);               
   }
  
   getch();
}


C# KODU

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace fibonacci
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dizi = new int[10];

            dizi[0] = 1;
            dizi[1] = 2;

            for (int i = 2; i < 10; i++)
            {
                dizi[i] = dizi[i - 1] + dizi[i - 2];
            }

            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(i+1 + ".eleman = " + dizi[i]);
            }

            Console.ReadKey();
        }
    }
}
Read More

jQuery Hide - Show (Göster - Gizle)

1 comment


jQuery efektlerinden Hide ve Show'u anlatacağım. HTML elementlerini gizleyip göstermeye yarayan komutların kullanımı oldukça basit.

Bir HTML dosyası oluşturalım.

İlk olarak <head> </head> etiketleri arasında jquery dosyamı ekliyorum.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>

 
Body kısmında

<p>Gösterilecek yazı.</p>
<button id="goster">Göster</button>
<button id="gizle">Gizle</button>


kodlarını ekliyorum. Ardından tekrar head kısmına gelip

<script type="text/javascript">
$(document).ready(function(){
  $("#gizle").click(function(){
    $("p").hide();
  });
  $("#goster").click(function(){
    $("p").show();
  });
});
</script>

 
kodunu ekliyorum. Burada dikkat etmeniz gereken nokta yukarıda jquery dosyasını eklerken kullandığımız <script> kodları arasına kod eklememek. Yeni bir <script> tagı açıp kodlarımı onun içine ekliyorum.

Böylece Gizle butonuna bastığımızda yazı gizleniyor, Göster butonuna bastığımızda ise yazı tekrar gösteriliyor.

Kodun tamamı :

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
  $("#gizle").click(function(){
    $("p").hide();
  });
  $("#goster").click(function(){
    $("p").show();
  });
});
</script>
</head>
<body>
<p>Gösterilecek yazı.</p>
<button id="gizle">Gizle</button>
<button id="goster">Göster</button>
</body>
</html>
Read More

18 Şubat 2013 Pazartesi

C Switch - Case ile menü yapımı

Leave a Comment
C programlama dilinde Switch - Case kullanarak menü yapacağım. Menü aşağıdaki gibi olacak.

1 - Ekle
2 - Guncelle
3 - Sil

İlk olarak printf ile menüyü ekrana yazdırıyorum.

printf("1 - Ekle\n2 - Guncelle\n3 - Sil");


Şimdi geldik seçim kısmına. Kullanıcı 1'e basarsa ekleme, 2'ye basarsa güncelleme, 3'e basarsa silme fonksiyonu çalışacak.

int secim; şeklinde bir değişken tanımlıyorum.

scanf("%d",&secim); komutu ile kullanıcının seçimini öğreniyorum.

switch(secim)
    {
       case 1 : ekle(); break;  
       case 2 : guncelle(); break;
       case 3 : sil(); break;
       default : printf("Gecersiz secim"); break; 
    }


komutuyla da kullanıcının istediği fonksiyonu çalıştırıyorum.

 Kodun tamamı :

#include<conio.h>
#include<stdio.h>
#include<stdlib.h>

ekle()
{
    system("cls");
    printf("Ekleme fonksiyonu calisti."); 
}

guncelle()
{
    system("cls");
    printf("Guncelleme fonksiyonu calisti.");  
}

sil()
{
    system("cls");
    printf("Silme fonksiyonu calisti.");   
}

main(){
    int secim;
   
    printf("1 - Ekle\n2 - Guncelle\n3 - Sil\n\n");
   
    scanf("%d",&secim);
   
    switch(secim)
    {
       case 1 : ekle(); break;  
       case 2 : guncelle(); break;
       case 3 : sil(); break;
       default : printf("Gecersiz secim"); break; 
    }
   
    getch();      
}

Read More

jQuery nedir? jQuery giriş.

Leave a Comment


jQuery; hızlı, küçük ve zengin özelliklere sahip JavaScript kütüphanesidir. HTML sayfalarında animasyonlar, olay idare (event handling) eklemeye yarayan jQuery, günümüz tarayıcılarında sorunsuz çalışmaktadır.

jQuery kullanan bazı siteler :



jQuery indir :


Buraya tıklayarak jQuery indirebilirsiniz.

Sayfaya nasıl eklenir ?


1) Kendi dosyamızdan ekleme

<head>
<script src="jquery-1.8.3.min.js"></script>
</head>


2) Google üzerinden ekleme

<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
</head>


3) Microsoft CDN üzerinden ekleme

<head>
<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js">
</script>
</head>
Read More

Camel Harflendirme (Camel Case)

Leave a Comment


Değişken isimlerinin ilk sözcüğünün küçük harfle, sonraki sözcüklerinün ise büyük harfle başladığı yazım biçimidir.

Örnek :

buBirDegiskendir
Read More

Pascal Harflendirme (Pascal Case)

Leave a Comment


Değişken isminde kullanılan sözcükler büyük harfle başlar, küçük harfle devam eder.
Read More

Macarca Yazım (Hungarian Notation)

Leave a Comment

Charles Simonyi


1981 yılında Microsoft'ta yazılım geliştirici olarak işe başlayan ve Word, Excel gibi programların yaratıcısı olan Charles Simonyi adlı mühendisin, programlamayı kolaylaştırmak için geliştirdiği bir biçimdir.
Read More

13 Şubat 2013 Çarşamba

Lightbox nedir? Nasıl kullanılır?

Leave a Comment


Lightbox; web sayfalarındaki resimleri görüntülemek için kullanılan basit ve kullanışlı bir uygulamadır.
Read More

7 Şubat 2013 Perşembe

DOM Hiyerarşisi

Leave a Comment
DOM (Document Object Model)

Platform ve dilden bağımsız, dökümanların yapısal bir grup olarak temsilini sağlayarak, programların ve script kodlarının dokümanların içeriğine, yapısına ve biçim özelliklerine erişimini ve kullanımını sağlayan bir arabirimdir.

HTML DOM API, HTML sayfalarının/dokümanlarının hiyerarşik düzende nesnel gösterimini sağlayan bir arabirimdir. Bu bölüm, HTML DOM metodlarının ve özelliklerinin JavaScript ile kullanımını içermektedir.

Read More

6 Şubat 2013 Çarşamba

C - Matris Toplama

Leave a Comment
Elimizde 4x3 tipinde iki matris olsun



İşlemini yapıyorum.

İki tane [4][3] boyutunda dizi oluşturuyorum. İçerisine değerleri giriyorum. Aynı boyutta bir dizi daha oluşturuyorum ve for döngüleri içerisinde iki diziyi toplayarak toplamları üçüncü diziye atıyorum.

#include<conio.h>
#include<stdio.h>

main(){
      int matris1[4][3] = {{3,5,8},{2,5,4},{1,1,5},{6,9,7}};
      int matris2[4][3] = {{6,6,2},{9,12,3},{7,3,15},{2,1,9}};  
      int toplam[4][3];
      
      int i,j;
     
      for(i=0;i<4;i++)
      {
         for(j=0;j<3;j++)
         {
            toplam[i][j] = matris1[i][j] + matris2[i][j];          
         }               
      }
     
      for(i=0;i<4;i++)
      {
         for(j=0;j<3;j++)
         {
            printf("%d    ",toplam[i][j]);        
         }        
        
         printf("\n\n");      
      }
     
      getch();
}


Toplam aşağıdaki gibi bulunuyor.

Read More

5 Şubat 2013 Salı

(Project Euler) Problem 1 Çözüm - 3 ve 5'in katları

Leave a Comment


Project Euler'de sorulan soru aşağıda. 1'den 1000'e kadar 3'e ve/veya 5'e bölünen sayıları ve kaç tane olduklarını bulacağım.

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.

İkinci else if'te k'yı azaltmamın sebebi 3'e ve 5'e bölünen sayıları 2 kere saymasını engellemek. Örneğin 15 hem 3'e hem 5'e bölünür. Bir kere sayması için if şartını koydum.

#include<stdio.h>
#include<conio.h>

main(){
    int i,k=0;
   
    for(i=1;i<=1000;i++)
    {
       if(i%3==0)
       {
          printf("%d  ",i);  
          k++;      
       }  
      
       else if(i%5==0)
       {
          printf("%d  ",i);    
          k++;
       }    
      
       else if((i%3==0)&&(i%5==0))   
       {
          k--;    
       }      
      
       else
       {
          continue;   
       }
    }
   
    printf("\n\n\n3 ve 5'in kati olan %d sayi var",k);
   
    getch();
}



Read More

3 Şubat 2013 Pazar

Mantık Kapıları (NAND - NOR - XOR - XNOR)

Leave a Comment

1 ) VEDEĞİL (NAND) Kapısı

Gösterimi


Devre çizimindeki gösterimi


Doğruluk çizelgesi


2 ) VEYADEĞİL (NOR) Kapısı

Gösterimi


Devre çizimindeki gösterimi




 Doğruluk çizelgesi


3 ) ÖZELVEYA (XOR) Kapısı

Gösterimi


Devre çizimindeki gösterimi



 Doğruluk çizelgesi


4 ) ÖZELVEYADEĞİL (XNOR) Kapısı

Gösterimi


Devre çizimindeki gösterimi



 Doğruluk çizelgesi






Read More

Boole Cebri - Mantık Kapıları (AND - OR - NOT)

Leave a Comment

Mantıksal kapıların temel elemanları VE, VEYA ve DEĞİL kapılarıdır, bu kapılar özel devre sembolleri ile gösterilirler. Diğer tüm kapılar bu kapılardan türetilmiştir.

1 ) Ve (And) Kapısı

Gösterimi


Devre çizimindeki gösterimi


Doğruluk Çizelgesi


2 ) Veya (Or) Kapısı

Gösterimi


Devre çizimindeki gösterimi


Doğruluk çizelgesi


3 ) Değil (Not - Inverter) Kapısı

Gösterimi


Devre çizimindeki gösterimi

Doğruluk çizelgesi

 






Read More

Eşlik Biti - Çift Eşlik - Tek Eşlik

1 comment
Eşlik Biti (Parity Bit) : İkili gösterimdeki bir sayıda 1'lerin toplamının her zaman çift ya da her zaman tek olmasını sağlayacak şekilde sözcüğe eklenen bit.

Çift Eşlik (Even Parity) : Eşlik biti de dahil olmak üzere bir karakterin içerisindeki 1 bitlerinin sayısının çift olması.

Tek Eşlik (Odd Parity) : Eşlik biti de dahil olmak üzere bir karakterin içerisindeki 1 bitlerinin sayısının tek olması.


Eşlik bitinin uygulama alanlarından birisi de 7 bitlik ASCII kodlarıdır.

Avatantajları :


Yalnızca bir bit kullanarak hata kontrolü yapması. Ancak bu kontroller çok güvenli değildir.

Dezavantajları :


İletilen sayıda iki bit birden bozulmaya uğrarsa tespit edemez.

Gürültülü bir iletişim ortamında bu yöntemle verinin iletilmesi çok uzun zaman alabilir veya hiç iletilemeyebilir.


Read More

2 Şubat 2013 Cumartesi

C# Veri Türleri Arası Dönüşüm

Leave a Comment


Veri türleri arasında dönüştürme işlemleri daha çok sayısal veri türlerinde kullanılır. .NET Framework iki çeşit dönüşümü destekler.

1) Bilinçsiz Dönüşüm (implicit type conersion) : Derleyinicin bir değişkenin türünü değişkenin değerinde herhangi bir değişme olmadan başka bir türe dönüştürmesi.

2) Bilinçli Dönüşüm (explicit type conversion) : Derleyici desteklemese de programcının dönüştürme operatör veya yordamlarını kullanarak bilinçli olarak iki türü birbirine dönüştürmesidir.

Bilinçsiz Dönüştürme


Hangi veri türü hangi veri türlerine bilinçsiz dönüşebilir


byte -> byte, short, int, long, decimal, float, double

short -> short, int, long, decimal, float, double

int -> int, long, decimal, float, double

long -> long, decimal, float, double

decimal -> decimal, float, double

float -> float, double

double -> double

char -> char, string


Bilinçli Dönüştürme


System.Convert fonksiyonları


Convert.ToBoolean (boolean)

Conver.ToByte (byte)

Convert.ToChar (char)

Convert.ToDateTime (date)

Convert.ToDouble (double)

Convert.ToDecimal (decimal)

Convert.ToInt32 (integer)

Convert.ToInt64 (long)

Convert.ToSingle (single)

Convert.ToString (string)
Read More

PHP sınıf ve nesne tanımlama

Leave a Comment


PHP  object oriented (nesneye yönelik) bir dildir. Nesnelerle (object) ve sınıflarla (class) çalışma imkanı sunar.

PHP'de class oluşturma

Futbolcu adında bir sınıf oluşturalım.

class Futbolcu { }

Sınıfımızın içinde ad ve soyad değişkenleri olsun.

class Futbolcu
{
   public $ad = "Cristiano";
   public $soyad = "Ronaldo";
}

 
Şimdi bir nesne oluşturalım.

$nesne1 = new Futbolcu();

Nesne yardımıyla ekrana ad ve soyad yazdıralım.

echo  $nesne->ad . " " . $nesne->soyad;

Kodun tamamı

<?php
class Futbolcu
{
   public $ad = "Cristiano";
   public $soyad = "Ronaldo";
}

$nesne = new Futbolcu();

echo  $nesne->ad . " " . $nesne->soyad;
?>


Ekran çıktısı

Cristiano Ronaldo olur.
Read More

1 Şubat 2013 Cuma

C'de iki boyutlu diziler

Leave a Comment


Arkadaşlar bildiğiniz gibi C'de diziler int sayilar[5] şeklindeydi. İçerisinde 5 eleman bulundurabilen bir dizi oluşturuyorduk. Peki iki boyutlu diziler nasıl oluyor ?

int dizi[5][5] şeklinde iki boyutlu diziler oluşturabiliyoruz. İki boyutlu diziler matris uygulamalarında oldukça sık kullanılıyor. İleride matrislerle ilgili örnek de vereceğim.

Aşağıdaki gibi bir dizi oluşturuyoruz. Ve for döngüsü ile dizinin elemanlarını yazıdrıyoruz.

int sayilar[3][3] = {{1,2,3},{10,11,12},{20,21,22}};
Kodun tamamı

#include<conio.h>
#include<stdio.h>

main(){
    int sayilar[3][3] = {{1,2,3},{10,11,12},{20,21,22}};
   
    int i,j;
   
    for(i=0;i<3;i++)
    {
       for(j=0;j<3;j++)
       {
          printf("%d\n",sayilar[i][j]);               
       }               
      
       printf("\n\n");
    }
   
    getch();
}
Read More