29 Aralık 2013 Pazar

C Kaynakları Faydalı Linkler

C ve C++ Kullanıcıları Derneği
Boost C++ Kütüphanesi
C'de Sık Sorulan Soruların Yanıtları
www.codeguru.com
www.codeproject.com
Programcının Cenneti
C Programlama Wikipedia
Cplusplus.com
Hot Scripts (C & C++) 
Çağatay Cebi C Programlama
C ve Sistem Programcıları Derneği
C Programming Tutorial
CProgramming.com
C Programming Tutorial Beginners
C Programlama Notları
CondingUnit C Tutorials
Programming in C - UNIX System Calls and Subroutines using C
comp.lang.c Frequently Asked Questions
A collection of useful libraries written in C
The C Programming Language Standard
Microsoft C Language Reference
Online C/C++ Tutorials and Documentation
Tutorialspoint C Programming
learn-c.org
w3schools C Programming



C Programlama Diziler (Arrays)

C Programlama

Dizi (array) Nedir? 
Dizi, aynı tip verilerin birbiri arkasına tanımlanmasıdır. Dizi bir kümedir. Aynı tipte verilere tek bir isimle erişmek için kullanılır. Bir dizinin bütün elemanları bellekte peşpeşe saklanırlar. Diziler kullanılarak, aynı isimle birden fazla değişkene erişilebilir ve işlem yapılabilir. Diziler tek ya da çok boyutlu olarak tanımlanabilir ve dizi boyutu ihtiyaca göre ayarlanabilir.char, int, float ve double olarak tanımlanabilen dizilerde sadece aynı veri türünden değişken değerleri yer alabilir.

Dizileri tek boyutlu ve çok boyutlu olarak iki kısma ayırabiliriz. Tek boyutlu dizilere sayı dizilerini ve vektörleri örnek verebiliriz. Çok boyutlu dizilere ise matrisleri örnek verebiliriz..

Tek Boyutlu Diziler (one-dimensional array) : C Programlama Dilinde aynı veri tipinden olan değişkenler tek bir isim altında toplanarak tek boyutlu diziler oluşturulur. Aynı veri türünden ve farklı isimlere sahip çok fazla sayıda değişken tanımlamak yerine, dizi bildirimi yapıp tek isim kullanarak aynı sayıda değişken tanımlamak daha kolaydır.

Tek boyutlu dizilerin bildirimi için kullanılan genel yapı :  veritipi diziAdı [boyut];

Veri Tipi : Dizi elemanlarının tipini belirtir. dizi kaç elemandan oluşur ise oluşsun tipleri aynı olmak zorundadır.
Dizi Adı : Diziye programcının verecegi özerk ismi ifade eder.
Boyut : Dizilerin mutlaka bir boyutu olmak zorundadır. Dizi boyutları "[ ... ]" içeriğinde tanımlanır. 

Örnek :
// Örnek Dizi Tanımlama
// 100 elemanlı ve dizi adlı bir double dizisi
double dizi[100];

Örneğimizde 100 elemandan oluşan dizi adlı bir double dizisi oluşturuluyor. Köşeli parantezle içerisindeki 100 sayısı, dizimizin 100 elemanlı olduğunu ifade etmektedir. Tek bir köşeli parantez olduğu için dizimizin tek boyutlu bir dizi olduğunu söyleyebiliriz. 

Tek Boyutlu Dizilerde Atama : Bir dizinin tanımlaması yapıldıktan sonra, atama işlemcisini kullanarak bu diziye değerler atanabilir. C Programlama Dilinde de bir dizinin ilk elemanına 0 değeri ile erişim sağlanır.

Örnek :
int dizi[30];   // 30 elemanlı dizi isimli bir dizi oluşturur. //
dizi[0] = 15;   // Dizinin ilk elemanına 15 değerini atar. //
dizi[16] = 42;  // Dizinin 17. elemanına 42 değerini atar. //

25 Aralık 2013 Çarşamba

C Programlama Döngü Örnekleri 3

C Programlama

Klavyeden n adet sayı girilmektedir. Girilen sayılardan 5 den küçük olanların  adet ve toplamlarını  bulan programı for, do while, while ve if goto ile yazınız?
for

#include <stdio.h>
#include <conio.h>
main()
{
int n,s,x,t,a,kriter; a=t=0;
printf ("n sayiyi giriniz=");
scanf ("%d",&n);
for(s=0;s<n;s++)
{
printf("\n %d. x sayisini  giriniz:",s+1);
scanf("%d",&x);
if (x<5)
{
a++;
t+=x;
}
}
printf ("Adet=%d dir,Toplam=%d dir...",a,t);
getch();
}

while

#include <stdio.h>
#include <conio.h>
main()
{
int n,s,x,t,a,kriter; a=t=0;
printf ("n sayiyi giriniz=");
scanf ("%d",&n);
s=0;
while(s<n)
{
s++;
printf("\n %d. x sayisini  giriniz:",s+1);
scanf("%d",&x);
if (x<5)
a++;
t+=x;
}
printf ("Adet=%d dir,Toplam=%d dir...",a,t);
getch();
}

do while

#include <stdio.h>
#include <conio.h>
main()
{
int n,s,x,t,a,kriter; a=t=0;
printf ("n sayiyi giriniz=");
scanf ("%d",&n);
s=0;
do
{
s++;
printf("\n %d. x sayisini  giriniz:",s+1);
scanf("%d",&x);
if (x<5)
a++;
t+=x;
}
while (s<n);
printf ("Adet=%d dir,Toplam=%d dir...",a,t);
getch();
}

if goto

#include <stdio.h>
#include <conio.h>
main()
{
int n,s,x,t,a,kriter; a=t=0;
printf ("n sayiyi giriniz=");
scanf ("%d",&n);
s=0;
bayraktar:

{
s++;
printf("\n %d. x sayisini  giriniz:",s+1);
scanf("%d",&x);
if (x<5)
a++;
t+=x;
}  
if (s<n)goto bayraktar;
printf ("Adet=%d dir,Toplam=%d dir...",a,t);
getch();
}

C Programlama Döngü Örnekleri 2

C Programlama

Klavyeden girilen n adet sayının kareleri toplamını bulan bir programı for, do while, while ve if goto ile yazınız?
for

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

int main()
{
    int n,s,x,t,sonuc;
    t=0;
    printf("n sayisinin degerini giriniz: ");
    scanf("%d",&n);

    for (s=0; s<n;s++)
    {
        printf("%d x degerini giriniz:",s+1);
        scanf("%d",&x);
        sonuc=x*x;
        t=t+sonuc;
    }
    printf("Sonuc=%d",t);
    return 0;
}
while
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,s,x,t,sonuc;
    t=0;
    printf("n sayisinin degerini giriniz: ");
    scanf("%d",&n);
    s=0;
    while (s<n)
    {

        printf("%d x degerini giriniz:",s+1);
        scanf("%d",&x);
        s++;
        sonuc=x*x;
        t=t+sonuc;
    }
    printf("Sonuc=%d",t);
    return 0;
}
do while
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,s,x,t,sonuc;
    t=0;
    printf("n sayisinin degerini giriniz: ");
    scanf("%d",&n);
    s=0;

    do
    {
    printf("%d x degerini giriniz:",s+1);
    scanf("%d",&x);
    s++;
    sonuc=x*x;
    t=t+sonuc;
    }

    while (s<n);
    printf("Sonuc=%d",t);
    return 0;
}
if goto

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

int main()
{
    int n,s,x,t,sonuc;
    t=0;
    printf("n sayisinin degerini giriniz: ");
    scanf("%d",&n);
    s=0;
    bayraktar:

    {
    printf("%d x degerini giriniz:",s+1);
    scanf("%d",&x);
    s++;
    sonuc=x*x;
    t=t+sonuc;
    }

    if(s<n)goto bayraktar;
    printf("Sonuc=%d",t);
    return 0;
}

C Programlama Döngü Örnekleri 1

C Programlama

Klavyeden girilen bir sayının faktöriyelini bulan bir programı for, do while, while ve if goto ile yazınız?
for

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

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      for (s=1;s<=sayi;s++)
      {
          fakt*=s;
      }
      printf ("Sonuc=%d dir...",fakt);
      getch();
}
while
#include <stdio.h>
#include <conio.h>

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      s=1;
      while (s<=sayi)
{    
            fakt*=s;
            s++;     
}
printf ("Sonuc=%d dir...",fakt);
getch();
}
do while
#include <stdio.h>
#include <conio.h>

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      s=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      do
      {
      fakt*=s;
      s++; 
      }
      while (s<=sayi);
      printf ("Sonuc=%d dir...",fakt);
      getch();
}
if goto

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

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      s=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      bayraktar:
      {
      fakt*=s;
      s++; 
      }
      if (s<=sayi)goto bayraktar;
      printf ("Sonuc=%d dir...",fakt);
            
      getch();
}

23 Aralık 2013 Pazartesi

C Programlama Döngüler

C Programlama 
Döngüler : C Programlama Dilinde döngüler bir veya birden fazla işlem satırını programcı tarafından belirlenen sayılarda tekrarlı bir şekilde çalıştırmak için kullanılan ifadelerdir. C Programlama Dilinde, for, while ve do-while olmak üzere üç tip döngü vardır. Diğer programlama dillerinde olduğu gibi, bu deyimlerle istenildiği kadar iç-içe döngü yapısı kullanılabilir. 

for Döngüsü : Yazım şekli olarak for deyiminin üç bileşeni vardır. Birincisi ve üçüncüsü atama ifadesi ve fonksiyon çağrısı iken, ortadaki ikincisi karşılaştırma ifadesidir.

for Döngüsü Genel Yazım Biçimi : 
for (başlangıç ifadesi; koşul ifadesi; artırma ve azaltma ifadeleri;)
{
........
döngüdeki deyimler
........
}

Başlangıç İfadesi : Döngü içerisinde kullanılacak olan temel atama işlemlerini içerir.
Koşul İfadesi : Mantıksal ifadelerin bulunduğu kısımdır.
Artırma ve Azaltma İfadeleri : Döngü içerisinde kullanılacak sayaç değişkenlerinin değerlerinin değiştirildiği komutları içerir.

Yazım biçiminde gördüğünüz gibi bileşenler arasında (;) bulunması zorunludur. Örneğin karşılaştırma ifadesi yazılma ise koşulun her zaman pozitif olduğu kabul edilir ve  döngü koşulsuz tekrarlanır.

for (;;) 
{
....
}

ifadesinde sonsuz bir döngü oluşturmuş oluruz.

18 Aralık 2013 Çarşamba

C Programlama switch - case Yapısı

C Programlama 


switch - case Yapısı : Bu yapı bir değişkenin içeriğine bakarak, programın akışını bir çok seçenekten birine yönlendirir. case (durum) yapısından sonra değişkenin durumu belirlenir ve sonraki gelen satırlar işleme girer. Aksi söz konu olduğunda gerçekleştirilmesi istenen deyimler default deyiminden sonraki kısımda bildirilir. Kısaca yapının temel amacı  değişkenin değerine göre programın çalışmasına yön vermektir. Aynı işlem if else yapısı ilede uygulanabilsede daha kolay okunması nedeniyle programcılar tarafından tercih edilmektedir.

switch - case yazım biçimi  ve akış diyagramı :
switch( degisken ) {
 case sabit1:
  komut(lar)
  [break]
 case sabit2:
  komut(lar)
  [break]
 .
 .
 .
 case sabitN:
  komut(lar)
  [break]
 default:
  komut(lar);
} 

17 Aralık 2013 Salı

C Programlama Koşul ve if else Yapıları

C Programlama 

Koşullu (Conditional) İfadeler : C Programlama Dilinde tüm işlem satırlarını herhangi bir koşula bağlı olmaksızın çalıştırabiliriz fakat, bazı durumlarda belirli işlemler için istenen koşullar sağlandığında çalışması gerekebilecek satırların belirlenmesi gerekebilir. Bu koşulları devreye sokmaya yarayan program yapılarına "Program Kontrol Terimleri" adı verilir. Programlarınızda sizin tarafınızdan belirlenen koşullara bağlı olarak çalıştırmak istediğiniz işlem satır veya satırları olacaktır. Tanımlanan koşul sağlanmadığı zaman söz konusu işlem satır veya satırları programda hiç yer almamış gibi değerlendirilecek başka bir ifade ile hiç çalışmayacaklardır. Program aynı işlem satırı içinde yer alan koşul bölümünü değerlendirdiğinde sadece olumlu sonuç alırsa satırın geri kalanına işlem yapacak aksi takdirde bu satırları görmeden atlayacaktır. 

if, if-else Yapıları : Bu yapılar, koşullu işlem yapan kontrol yapılarıdırlar. if ve else tek bir karşılaştırma deyimi olup else kullanımı isteğe bağlıdır. Eğer bu koşul olumlu ise if den sonraki bölüm yürütülür ve else den sonraki bölüm atlanır. Koşul olumsuz ise if den sonraki satırlar atlanır ve eğer varsa, else den sonraki işlemler gerçekleştirilir. 

if yapısının genel biçimi: 
if(koşul)
{
........
işlem satırı; (ifade) ........
}
if ile başlayan komut satırında if'den sonra yer alan parantezler içindeki koşul doğru ise (koşul sonucu 0'dan farklı ise) aynı satırda if yapısından sonra yer alan işlem satırı çalışır. Eğer koşul yanlış ise (ifade sonucu 0'a eşit ise) if yapısından sonra yer alan işlem satırı devre dışı kalır. Programımız o işlem satırı hiç yazılmamış gibi bir sonraki işlem satırından çalışmaya devam eder.

Örnek  if kullanımı :
#include<stdio.h>
int main( void )
{
 int s1; //girilen sayimiz//
 printf("Lütfen bir tam sayı giriniz: ");
 scanf("%d",&s1);
 if( s1 > 100 )
  printf("Girilen sayı 100'den büyüktür\n");
 return 0;
}

Örnek programımızda klavyeden, bir tam sayı girilmesi istenmektedir. Ve bizde girilen sayı, 100'den büyükse koşulunu vererek ekrana "Girilen sayı 100'den büyüktür" yazdırmaktayız.

15 Aralık 2013 Pazar

C Programlama getchar(), putchar(), getche() ve getch() Fonksiyonları

C Programlama 


C Programlama Dilinde klavyeden girilen verileri okutmak için getchar(), putchar(), getche() ve getch() kütüphane fonksiyonlarından birini kullanabiliriz. Şimdi, bu fonksiyonları sıra ile incelemeye çalışalım.

getchar() ve putchar() Fonksiyonları : Klavye arabelleğini kullanan fonksiyonlardan biridir. Herhangi bir parametreye sahip değildir. Fonksiyon her çağrıldığında kullanıcıdan klavyeden girdiği ilk harfi alır ve geri döndürür. Klavye arabelleğini kullanan bir fonksiyon olması nedeniyle döndürme işleminden önce kullanıcıdan Enter tuşuna basmasını bekler. stdio.h isimli kütüphane dosyasında tanımlanmışlardır. putchar fonksiyonu ise, ekrana tek bir karakter yazar. putchar fonksiyonunun parametresi int bir değerdir, ancak bu değer fonksiyon tarafından unsigned char bir değere çevrilir. Eğer işlem başarılı olursa, putchar fonksiyonu parametre olarak verilen karakteri ekrana yazdırır.

Klavye Arabelleği Kavramı (Keyboard Buffer) : İşletim Sistemlerinde klavyeden yazılan harflerin depolandığı arabellektir. Kullanıcıdan metin girişi istendiğinde yazılan metin bu bellekte tutulur. enter tuşuna basılıncaya kadar programımız kullanıcı girişine tepki vermez. enter tuşuna basıldığında ise bellek boşaltılır. Biz klavyeden bir bilgi girdiğimizde aslında standart I/O dosyasına yazmış oluyoruz. yani bizim girdi ve çıktı olarak bildigimiz klavye, ekran aslında birer input ve output dosyalarını temsil etmektedir. C Programlama Dilinde bunları stdin dosyası ve stdout dosyası denir. stdin dosyasının varsayılan değeri klavye, stdout dosyası ise ekranı temsil eder. C Programlama Dili fonksiyonlarının büyük çoğunluğu bu şekilde çalışmaktadır.

Örnek getchar() ve putchar() Fonksiyonları
#include <stdio.h>

int main(int argc, char** argv)
{
    char karakter;
    //klavyeden bir karakter oku ve enter tusunu bekle//
    printf("bir karakter giriniz ve enter tusuna basiniz:");
    karakter=getchar();
    printf("girilen karakter:");
    //okunan karakteri ekrana yazdir//
    putchar (karakter);
    return 0;
}

C Programlama scanf() Fonksiyonu

C Programlama 

scanf() Fonksiyonu : Programların çalışma esnasında veri girişine ihtiyaç duyabilirler. Kullanıcıların girdiği verileri işleyip değerlendirmemize yarayan fonksiyonlarda giriş fonksiyonları adı verilir. Örneğin printf fonksiyonu nasıl verinin ekrana yazdırılmasını sağlayan bir çıkış fonksiyonu ise scanf de printf fonksiyonunuda bunun tam tersi olarak düşünebiliriz.

Resimde görüldüğü gibi scanf fonksiyonunun ilk parametresi bir karakter disidir. Bu parametre kullanıcıdan hangi veri girişlerinden kaç tane beklendiğini derleyiciye anlatır. %d ifadesi bizden bir tamsayı istendiğini belirtirken, %d %f %d ifadesi sırasıyla bir tamsayı, bir ondalık sayı ve bir tamsayı olmak üzere üç adet değer istendiğini ifade eder. scanf fonksiyonunun sonraki parametreleri ise değerlerin depolanacağı değişkenlerin bellek adresleri olmalıdır.

Örnek scanf Fonksiyonu 
#include <stdio.h>

int main(int argc, char** argv)
{
    int s1,s2;
    printf("2 adet sayi girisi yapiniz:");
    scanf("%d %d", &s1, &s2);
    printf("girilen sayilar:%d ve %d", s1,s2);
    return 0;
}
Programın Çıktısı

12 Aralık 2013 Perşembe

Eski Mısır Tarihi ve Uygarlığı

FELSEFE Ders Notları
Eski Mısır Tarihi ve Uygarlığı

Mısır Çoğrafyası
Nil Vadisinde gelişmiştir. Kuzeyde Delta Bölgesinden Güneyde Assuan'daki birinci çağlayana kadar uzanıyordu. Mısır, kuzeydeki aşağı Mısır (Nil Deltası) ve güneyde vadi boyunca uzanan yukarı Mısır olmak üzere iki ayrı bölümden meydana gelmektedir. Batı ve doğuda çöllerle, kuzeyde kıyıya paralel uzanan sıradağlarla ve güneyi çağlayanlarla çevrilidir.

Mısır Tarihi
Paleolitik (Eski Taş Çağı) Çağ'dan beri insanlar yaşamaktaydı. İklim daha nemli ve günümüz ekvator iklimine daha yakındı. Yeni Krallık döneminde yerleşmiş bir geleneğe göre İ.Ö 3000 yıllarında Menes adlı efsanevi kral  o zamana kaar ayrı krallıklar olduğu düşünülen Aşağı ve yukarı Mısır'ı birleştirmiştir. Menes'in gerçekten yaşadığı tartışmalıdır. Ülkenin birleşmesinden önceki döneme ait belgeler vardır. Güney Mısır'ın başkenti olduğu sanılan Hierakonpolis'te Kuzey Mısırlılarla savaşırken betinmlenmiş Akrep adlı bir kralı gösteren anıtlar bulunmuştur.

Erken Devir (İ.Ö 3000-2650) 1. ve 2. Sülaleler : Yukarı Mısır'daki Abidos, Aşağı Mısırdaki Memfis ve Orta Mısırdaki Tinis kentleri sülalelerin oturduğu kentlerdir. Erken devir sonlarında Mısır sınırları güneyde Birinci Çağlayan'a kadar uzanmıştır. Bu dönemde Mısır devlet yönetimi oluşturulmuş ve yüzyıllarca kullanılacak olan krallık modeli geliştirilmiştir. Ayrıca hiyerogli yazı bu dönemde geliştirilmiştir. Klasik Mısır sanatı ortaya çıkmıştır.

Eski Krallık (İ.Ö. 2650-2134) 3. ve 4. Sülaleler : 3. Sülalenin 2. kralı Cose (İ.ö 2630-2611)'in veziri İmhotep tarafından yapılan basamaklı piramit firavun mezarlarının ilk görkemli örneğidir. İmhotep aynı zamanda baş heykeltraşdı. Büyük saygı gören İmhotep Yunan-Roman döneminde de şifa dağıtan tanrı olarak tanınmıştır. 4.sülale firavunları Keops  (İ.Ö 2551-2528), Kefren (İ.Ö. 2520-2494) ve Mikerinos (İ.Ö. 2490-2472) Gize'de yaptırdıkları piramitler Mısır'ın meşhur anıtlarıdır. Sülalenin diğer firavunlarından Racedef (2528-2520) piramit yaptırmıştır. Sakkaradaki basamaklı piramidin karşısında Güneş Tanrısı RA için anıtsal bir tapınak yaptırmış ondan sonra gelen beş kralda bu tür tapınak ve piramitler  yaptırmaya devam etmişlerdir.Eski krallık zamanında topraklar güneyde aşağı Nubya Kuzeyde Sina yarımadasına kadar uzanıyordu.Ancak 6.sülalenin son firavunu II.Pepi döneminde bir gerileme dönemi yaşanmış 7. ve 8. sülaleler zamanında (İ.Ö. 2150-2134) başa geçen firavunlar otoriteyi kaybetmişlerdir.

11 Aralık 2013 Çarşamba

Eski Mezopotamya Tarihi ve Uygarlığı

FELSEFE Ders Notları
Eski Mezopotamya Tarihi ve Uygarlığı

Mezopotamya'nın Tarih Öncesi ve Çoğrafyası
Mezopotamya, Yunanca mesos ve potamos yani orta ırmak kelimelerinden gelmekte olan çoğrafi bir terimdir. Güneyde basra Körfezi ve Kuzeyde Toros Dağlarından, Doğu'da Zagros Dağları ve Batı'da Suriye Çölüne kadar uzanan alan için kullanılmaktadır.

Paleolitik Çağ'ın ekonomisinin avcılık ve toplayıcılıktan besin üretimi evresine geçişi, insanlık tarihinin en önemli aşamalarıdır. İ.Ö 10.000 yıllarında başlayan bu çağa, Beolitik Çağ, Yeni Taş Çağı yada Cilalı Taş Çağı gibi isimler verilir. İnsanoğlunun ilk köyleri kurmaya başladığı dönemdir. Kalıcı ilk konutlar bu dönemde yapılmışlardır. Daha sonra bunalrı üretim izledi ve buğday, arpa, bezelye ve mercimek tarımı yapıldı. Koyun, keçi, sığır, köpek ve domuz gibi hayvanlar evcilleştirildi.

Eski Mezopotamya Tarihi

Sümerler, Erken Hanedanlar Dönemi (İ.Ö 2900-2350) 
Sümerler güney Mezopotamya da her bir bir kralın yönetimindeki kent devletlerinde yaşadılar. Bu kentlerin hepsi merkezi bir tapınak etrafında kurulmuşlardı. Ve kentlerin çevreleri surlar ile çevriliydi. Surların dışında köyler bulunmaktaydı.  Urukagina, İ.Ö 2360'larda ilk yazılı reformları ile tanınır. Erken sülaleler döneminin son yıllarında Umma ile Lagaş şehirleri aralarında yer alan toprakların hakimiyeti için savaşmaya devam ediyorlardı. Bu dönemde Umma şehrinin başına geçen Lugalzaggezi Lagaş'ı yağmaladı. Uruk kralı oldu. Fakat Akkadların gelişi ile Lugalzaggezi Akkadlı Sargon'a İ.Ö. 2334'te yenildi. ve Mezopotamya'da üstünlük Akkadlara geçti.

Akkadlar (İ.Ö. 2350-2150)
Sami kökenli bir topluluktur. Sümerler döneminde Mezopotamyaya göçmüşlerdir. Sümer kültürünü benimsemişlerdir. Sümerler sonrası Mezopotamyada lider konumuna gelen Akkadlar daha sonra yine güçlü konuma ulaşak Sami kökenli Assur ve Babil halklarınada öncülük etmişlerdir. Akkadlar Sümerlerden farklı olarak kent devlerinden ziyade Evren veya Dünya Krallığı kavramını Mezopotamya'ya getirmişlerdir.

Akkad hanedanını kuran Kral 1.Sargon'dur. (İ.Ö. 2334 - 2279) Başkent olarak Agade kentini kuran Sargon kayıtlara göre 34 savaş yapmıştır. Doğuda Elam'a, kuzeyde Suriye, Lübnan ve Toroslar'a kadar yaptığı seferler onu ilk dünya hakimi yapmıştır.

Visual Studio 2010 Kurulumu

Microsoft Visual Studio, Microsoft tarafından geliştirilen bir tümleşik geliştirme ortamıdır (IDE). Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework ve Microsoft Silverlight tarafından desteklenen tüm platformlar için yönetilen kod ile birlikte yerel kod ve Windows Forms uygulamaları, web siteleri, web uygulamaları ve web servisleri ile birlikte konsol ve grafiksel kullanıcı arayüzü uygulamaları geliştirmek için kullanılır. 

Visual Studio IntelliSense ile birlikte code refactoring destekleyen bir kod editörü içerir. Entegre hata ayıklayıcı, hem kaynak-seviyesinde hem de makine-seviyesinde çalışır. Diğer yerleşik araçlar, GUI uygulamaları, web tasarımcısı, sınıf tasarımcısı ve veritabanı şema tasarımcısı yaratabilmek için bir form tasarımcısı içerir. 

Önemli özellikleri içinde görsellik ön plandadır. Genel olarak “sürükle bırak” mantığı ile çalışarak program yazmanızı kolaylaştırır. Bazı standart kodları bu şekilde sizin yerinize otomatik olarak yapar. Çalışma mantığı ise ister local, ister server, tekil veya çoğul çalışmaya olanak sağlamaktadır. 

Bu makalede Visual Studio 2010 Sürümleri hakkında genel bilgiler ve kurulumunun nasıl yapılacağını göreceğiz. 

Microsoft Visual Studio 2010 - 90 günlük deneme sürümlerini indirmek için  :
Download Visual Studio 2010 Professional Trial -  ISO (2.16 GB)
Download Visual Studio 2010 Premium Trial - ISO (2.24 GB)
Download Visual Studio 2010 Ultimate Trial - ISO (2.25 GB)

9 Aralık 2013 Pazartesi

Introducing Windows Server | E-Kitap

Windows Server 2012 Kitabı

Windows Server 2012 tanıtım kitabı ücretsiz olarak okurlarına sunuldu.
Kitabı hangi format'da indirmek isterseniz lütfen ilgili format'ın link'ine tıklayınız. 


PDF Windows Server 2012 PDF
EPUB Windows Server 2012 epub
Mobi Windows Server 2012 MOBI

Chapter 1
The business need for Windows Server 2012
The rationale behind cloud computing Making the transition
Technical requirements for successful cloud computing
Four ways Windows Server 2012 delivers value for cloud computing Foundation for building your private cloud

Chapter 2
Foundation for building your private cloud
A complete virtualization platform
Increase scalability and performance Business continuity for virtualized workloads

Chapter 3
Highly available, easy-to-manage multi-server platform
Continuous availability
Cost efficiency
Management efficiency

Chapter 4
Deploy web applications on premises and in the cloud
Scalable and elastic web platform
Support for open standards

Chapter 5
Enabling the modern workstyle
Access virtually anywhere, from any device
Full Windows experience
Enhanced security and compliance

To read more about the latest news on Windows Server 2012 and to download the release candidate, go here.

Kaynak : http://blogs.msdn.com/b/microsoft_pr...rver-2012.aspx

8 Aralık 2013 Pazar

HTML Form Elemanları

HTML Dersleri
HTML Form Elemanları

HTML Formlarını en kısa şekilde açıklamak gerekirse; kullanıcının klavye ile girdiği bilgileri işlemek için kullanılır. 

Kullanıcı form içeriğine bilgilerini girip gönder butonuna tıkladığında bilgiler sunucu taraflı çalışan bir sayfaya gönderilir ve bu sayfada işlenir. Sunucu taraflı çalışan sayfa form elemanları vasıtasıyla aldığı bilgilerle çeşitli işlemler yapabilir ve kullanıcıya mesaj dönebilir.

Form elemanları ile çalışabilmemiz için öncelikle <form> etiketini tanıyalım.

<form>: Form kontrollerini oluşturan etiketleri içine alarak kullanıcının veri girişi yapmasını sağlayan yapıyı sunmaktadır. Bu yapı içinde klavye veya fare ile kontrol edilebilen metin giriş kutuları, listeler, seçim kutuları, düğmeler ve diğer kontroller eklenebilir. <form> etiketi içinde sunucuya veri gönderecek bütün etiketlerin/elementlerin name özellikleri tanımlanmalıdır. 

Form elemanları <form>..</form> etiketleri arasına yazılır.

HTML Form Kullanımı
<form>
  <input>
</form>

HTML Formları - <input> (giriş) Elementi: En çok kullanılan form etiketidir. <input> elementi kullanıcı bilgilerini seçmek için kullanılır. Kapatılmaz. <input> elementi içerisinde kullanılan type ifadesiyle girdi türü belirlenir. 

<input> Kullanım Örneği ve Metin Alanları (textbox)
<form>
Adınız: 
<input type="text" name="isim"> 
Soyadınız: 
<input type="text" name="soyad">
</form>

Örnek Gösterimi
Adınız: Soyadınız:

Örnekte kullandığımız <INPUT type=text> etiketi, tek satırlık metin giriş kontrolü (textbox) oluşturulmasını sağlar.  Metin alanları (textbox) bir kullanıcının metin içine girebileceği bir tek satırlık giriş alanı tanımlar. Bir çok tarayıcı metin alanları için varsayılan olarak 20 karakterlik alan bırakmaktadır. "size="  parametresi ile gösterilecek karakter miktarına göre genişliğini belirtebilirsiniz.

Seçenek Butonları (Radio Buttons)
Kullanıcının bir çok seçenek içinden sadece bir tanesini seçebilmesini istediğiniz zaman Seçenek Butonları (Radio Buttons) kullanılır.

<input> Kullanım Örneği ve Seçenek Butonları (Radio Buttons)
<form>
<input type="radio" name="Renk" value="siyah"> Siyah
<input type="radio" name="Renk" value="beyaz"> Beyaz
</form>
Örnek Gösterimi
Siyah Beyaz
  
Kontrol Kutucukları (Checkboxes)
<input type = "checkbox"> Sunulan seçeneklerden istenildiği kadar seçilmesini sağlar.

<input> Kullanım Örneği ve Kontrol Kutucukları (Checkboxes)
<form>
Bir bisikletim var:
<input type="checkbox" name="Tasit" value="Bisiklet">
<br>
Bir arabam var: 
<input type="checkbox" name="Tasit" value="Araba">
<br>
Bir kamyonum var: 
<input type="checkbox" name="Tasit" value="Kamyon">
</form>
Örnek Gösterimi
Bir bisikletim var:
Bir arabam var:
Bir kamyonum var:  

Şifreli Metin Alanı (password textbox)
<input type=password> etiketi, girilen karakterlerin maskelenerek gösterilmediği tek satırlık bir metin giriş kontrolü (password textbox) oluşturulmasını sağlar. 

<input> Kullanım Örneği ve Şifreli Metin Alanı (password textbox) 
<form>
Şifrenizi Giriniz:
<input type="password" name="Sifre">
</form>
Örnek Gösterimi
Şifrenizi Giriniz:

Formlarda "Action" Parametresi ve Gönder (Submit) Butonu 
 <input type=submit> etiketi, kullanıcının formu göndermesini sağlayan bir düğme (button) kontrolü oluşturulmasını sağlar. Action parametresinde ise bilgilerin hangi dosyaya gönderileceği belirtilir. Bilgilerin gönderildiği dosya, genellikle gelen bilgilerle ilgili ne tür işlem yapılacağı hakkında bilgiler içerir.

<input> Kullanım Örneği ve Formlarda "Action" Parametresi ve Gönder (Submit) Buton
<form name="input" action="fomrornek/action_submit.php"
method="get" target="_blank">
Kullanıcı Adı: 
<input type="text" name="kullanici">
<input type="submit" value="Gönder">
</form>

Kullanıcı, submit butonuna tıkladığında veriler, method özelliği ile belirtilen yöntemle bu adrese gönderilir. form.method özelliği, form verilerinin sunucuya gönderilme yöntemini belirtir. HTML form verileri "get" "post" olmak üzere iki şekilde sunucuya gönderilebilir. "get" yönteminde form verileri isim-değer çifti olarak action özelliği ile belirtilen adrese sorgu olarak eklenip sunucuya gönderilir. "post" yönteminde ise veriler, HTTP isteği (HTTP Request) içinde bir veri paketi olarak gönderilir. "post" yöntemi ile sunucuya gönderilebilecek veri miktarı hakkında teorik olarak bir limit yoktur.  

Form Etiketleri

Form Parametreleri
Örnek E-posta Gönderim Formu
<html>
<body>
<b>Örnek E-posta Gönderim Formu</b>
<form action="MAILTO:leucjo@gmail.com" method="post" enctype="text/plain">
Adınız:<br>
<input type="text" name="ad" value="İsminizi Giriniz"><br>
E-Posta:<br>
<input type="text" name="posta" value="E-Posta Adresiniz"><br>
Mesaj:<br>
<input type="text" name="mesaj" value="Mesajınız" size="50"><br><br>
<input type="submit" value="Gönder">
<input type="reset" value="Temizle">
</form>
</body>
</html>

Örnek Gösterimi

 

HTML Bloklar

HTML Dersleri
HTML Bloklar

HTML etiketleri, sayfadaki yerleşimlerine göre satır içi ve blok seviyesi olmak üzere 2 gruba ayrılırlar. HTML sayfalarımızı kodlarken iki seviye arasındaki farkları bilmek faydalı olacaktır.

Blok (blocks) Seviyesi Elementler :  Bu gruptaki HTML elementleri eklendikleri zaman yeni bir satıra yerleşirler ve bulundukları yerin tamamı kadar genişliğe sahip olurlar. Blok seviyesi elemanlar, satır seviyesi elemanların aksine %100 genişliğe sahip olurlar. Örnek: <h1>, <p>, <ul>, <table>

Satır İçi (inline) Elementler : Bu elementler blok seviyesi gibi yeni bir satır başlatmazlar. Satır içi elemanlardan sonra gelenler, yeni bir satır yerine bu elemanın yanında görüntülenirler. Örneğin linkler (a) , resimler (img) ve metin biçimlendirme etiketlerinden bazıları (strong, b, td ve em) bu gruba girerler. Bu elemanlar kendisini oluşturan içerik kadar bir alan kaplarlar. 

<div> elementi : İsteğe bağlı verilerin gösterilmesi için yapısal ve görsel bir blok oluşturulmasını sağlar. <div> bir blok oluşturduğu için bir metnin içinde kullanılması durumunda ilgili metni kesecektir <div> elementi ilk anda herhangi bir görsel özelliğe sahip olmadığı için style veya css özelliklerinin ayrıca belirtilmesi gerekir.  

HTML Kullanımı
<p>Bu paragrafta DIV elementi içinde <div>HTML Satırlar ve Bloklar</div> kelimesi kullanılmıştır.</p>

HTML Görünümü
Bu paragrafta DIV elementi içinde
HTML Satırlar ve Bloklar
kelimesi kullanılmıştır.

<span> elementi : İsteğe bağlı verilerin gösterilmesi için yapısal ve görsel bir katman oluşturulmasını sağlayan elementdir. <span>, <div> elementinden farklı olarak bir satır içi (inline) element olduğu için metnin içinde kullanılması durumunda ilgili metni kesmez .<span> elementi ilk anda herhangi bir görsel özelliğe sahip olmadığı için style veya css özelliklerinin ayrıca belirtilmesi gerekir. CSS ile birlikte kullanıldığında, <span> metin parçalarına stil ayarlamak için kullanılabilir.

HTML Kullanımı
<p>HTML Satırlar ve Bloklar= <span style="font-style:italic; color:navy;">HTML Satırlar ve Bloklar</span></p>

HTML Görünümü
HTML Satırlar ve Bloklar= HTML Satırlar ve Bloklar 

HTML elementlerinin satır seviyesi mi yoksa blok seviyesi mi oldukları display adındaki css özelliği ile kontrol edilebilir. Satır seviyesi elemanların display özelliği varsayılan olarak inline, blok seviyesi elemanlarının display özelliği de varsayılan olarak block değerine sahiptir.

7 Aralık 2013 Cumartesi

Excel’de COUNTIF | EĞERSAY Fonksiyonu

Excel'de COUNTIF Fonksiyonunun (Türkçe Office için karşılığı EĞERSAY) işlevi, bir aralıkta yer alan ve belirttiğiniz tek bir ölçüte uyan hücrelerin sayısını sayar. Belirli bir harfle başlayan tüm hücreleri veya belirttiğiniz bir sayıdan daha küçük ya da daha büyük sayılar içeren tüm hücreleri sayabilirsiniz. Yani bizim belirleyeceğimiz hücrelerdeki değerlerin kontrolünü yaparak yine bizim belirlediğimiz kriteri taşıyan kaç tane hücre olduğu sonucunu almamızı sağlar. 

Örnek : 45 den küçük not alan öğrenci sayısı bulmak ve kriter belirlemek
Örneğimizde Adı "A" ile başlayan öğrenci sayısını bulmak isteseydik COUNTIF(B2:C12;"a*") formülünü yazmamız gerekirdi. Adında "A" harfi geçen kişi sayısını bulmak isteseydik COUNTIF(B2:C12;"*a*") şeklinde yazmamız gerekirdi.

Örneğimizde geçen ve kalan öğrencilerin sayısını belirlemek istediğimizde geçme şartı 45 verirsek eğer öğrenci 45 ve üstünde almışsa geçecek, 45’nin altında bir not almışsa kalacaktır ve COUNTIF fonksiyonu ile geçen/kalan sayıları verilecektir.

C Programlama printf() Fonksiyonu

C Programlama 

printf() Fonksiyonu : Standart C kütüphanesinin bir parçası olan printf() C Programlama Dili'nin genel amaçlı çıktı alma fonksiyonudur. <stdio.h> kütüphanesinde kullanılan en önemli elemanlardır. Ekrana istediğimiz verileri yazmak içim kullanılan bir fonksiyondur. printf() fonksiyonu karakter dizisinden oluşan tek bir değeri veya farklı değişken ve sabitlerden oluşan birden fazla değeri ekrana yazdırmak için kullanılabilir. 

printf() fonksiyonunu kullanırken yazdırmak istediğimiz değeri daha düzgün göstermek maksatlı bazı yardımcı komutlar (Kontrol karakterleri) vardır.


\n
yeni satıra geç
\b
geri alma
\r
satırbaşı
\t
1 (tab) ileri hareket
\f
sayfa ilerletme
\v
dikey durak
\a
beep sesi çıkart
\'
tek tırnak
\"
çift tırnak
\?
soru işareti
\\
ters slash
\ddd
sekizli kodu ddd (1, 2 veya 3 adet sekizli rakam)
\xhh
onaltılı kodu hh (herhangi bir sayıda onaltılı rakam)
 

C Programlama Veri Tipleri

C Programlama 

C Veri Tipleri (Data Types)
Önceki derslerde C Programlama Dilin'de tanımladığımız her bir değişkenin bir tipi olması gerektiğini öğrenmiştik. 


Temel Veri Tipleri (Primary Data Type )
  • char : karakter
  • int : tamsayılar
  • float : ondalıklı gerçek sayı (6.basamağa kadar hassasiyet)
  • double : ondalıklı gerçek sayı (10. basamağa kadar hassasiyet)
  • void : boş veri tipi
C Programlama Dilin'de temel veri tiplerinin yanı sıra birde özel veri tipleri bulunmaktadır.

Özel Veri Tipleri (Secondary Data Type)
  • array : dizi
  • pointer : işaretci
  • structure : veri yapısı
  • enum : sıralanmış değerler
  • union: farklı tür ve boyutlardaki veriler
Temel Veri Tipleri (Primary Data Type ) 

CHAR Veri Tipi : Karakter değişkenlerini tutmak için tasarlanmış veri tipidir. char veri tipinde değişkenler  bellekte 1 byte alan kaplamaktadırlar. char veri tipi karakter değişkenlerini saklamasına rağmen sayısal bir veri tipidir. Çünkü C Programlama Dilinde her karakterin sayısal bir karşılığı vardır.En basit anlatımla karakterlerin sayısal karşılıkları American Standart Kodlaması olarak bilinen ASCII (American Standart Code for Information Interchange) tablosudur. ASCII kodlama tablosu sadece C diline özgü değil bütün programlama dillerinde karakterlerin sayısal karşılığını tutmak için kullanılmaktadır.
Table of ASCII Characters
ASCII Tablosu
ASCII tablosunda 72 sayısının H karakterine 104 sayısınında h karakterine karşılık geldiğini görmekteyiz. Örneğin char ornekch = 'H' ifadesinde ornekch isimli karakter değişkene ASCII tablosunda H harfinin karşılığı 40 sayısını atamaktadır. Yazmış olduğumuz kod parçasında görüldüğü gibi karakter değeri tek tırnak işaretleri arasındadır. Aynı şekilde  chat ornekch = '72' yazım şekliylede ornekch isimli karakter değişkene atama yapabiliriz. char tipindeki değişkenlerin ASCII karşılığını printf fonksiyonuyla yazdırmak istediğimizde %c niteleyicisini kullanmalıyız.
printf("ornekch degiskeninin karakter degeri:%c\n",ornekch);

3 Aralık 2013 Salı

HTML Listeler

HTML Dersleri
HTML Listelerle Çalışmak

Bir HTML belgesinde bir Sırasız liste nasıl oluşturulur ?

<ul> ve <li> etiketleri : Her liste elemanının çember (circle), disk (disc) veya kare (square) tipi madde imi ile gösterildiği sırasız listeler oluşturmamızı sağlar. <ul>'in açılımı "Unordered List" 'tir. "Unordered List" Sırasız Liste anlamına gelmektedir. HTML'de metinlerimizi veya cümlelerimizi maddeler halinde yazmak için <ul> ve <li>  etiketlerini kullanırız. Her liste <ul> etiketi ile her liste öğeside <li> etiketi ile başlar. Liste öğeleri genellikle küçük siyah daireler ile işaretlenmiştir. 

Sırasız Liste (Unordered List) HTML Örneği :
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>
            Sayfamızın Başlığı Buraya Yazılacak
        </title>
    </head>
    <body>

        <p> Sırasız Liste Örneği : Kırtasiye İhtiyaçları</p>
        
        <ul>
            <li> Kurşun Kalem </li>
            <li> Silgi </li>
            <li> Kalemtraş</li>
        </ul>
        
    </body>
</html>

WinDirStat ile Disk Kullanım İstatistiği

Açık kaynak kodlu ve ücretsiz olarak dağıtılan WinDirStat disk kullanım istatistik gösterme aracıdır. 
Herhangi bir disk bölümünüzde veya sürücünüzün içerisindeki klasörlerde dosyaların ne kadar yer tuttuğunu görsel olarak gösterebilen tüm işlem ağacını okuyarak hangi uygulamaların Windows Explorer üzerinde işlem yaptığını ve ne kadar işlem gördüklerini grafiksel tablolar ile verebilen küçük bir yazılım.

İndirme sayfası için tıklayın

Windows Server 2012 Ürün ve Sürüm Karşılaştırma Tablosu

Windows Server 2012 ailesi sürümleri arasındaki özellik farkları için referans alabileceğiniz bir karşılaştırma tablosuna aşağıdaki bağlantı üzerinden erişebilirsiniz. 

http://www.microsoft.com/en-us/download/details.aspx?id=38809

1 Aralık 2013 Pazar

C Programlama Değişkenler

C Programlama 

Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına ihtiyacı vardır. İşte değişkenler bu bellek adreslerine verilen isimlerdir. Kısaca değişkenler bellekte bilginin saklandığı hücreler verilmiş sembolik adlardır. Her değişkenin tuttuğu değerin nasıl bir veri olduğunu gösteren bir tipi vardır. C dilinde temelde birkaç tane değişken tipi vardır. 

C gibi yüksek seviyeli programlama dilleri programcıyı bellek adreslerinin karmaşasından kurtararak değişkenler aracılığıyla bellek alanlarına takma isimler vermemize olanak tanırlar. Bu sayede hexadecimal olarak bilinen 16'lık sayı tabanında tutulan bellek adreslerini bilme zorunluluğumuz ortadan kalkar ve kodlama süresince ihtiyaç duyulan bellek alanlarına kendi adlandırdığımız isimlerle erişebilme kolaylığına sahip oluruz.

Değişken isimleri verirken bazı kurallara uymak gereklidir.
  • Değişken adları en fazla 32 karakterden oluşabilir. 
  • 32 karakterden uzun değişken adları ilk 32 karakteri değerlendirilir. 
  • Geriye kalan karakterler işleme tabi tutulmaz.
  • Değişken adları ingiliz alfabesinde bulunan karakterler (A-Z) veya (a-z) yada rakamlar (0-9) ile yazılmalıdır. 
  • Türkçe karakterler, özel karakter veya boşluk karakteri kullanılamaz.
  • Değişken adları herhangi bir rakam ile başlayamaz. 
  • İlk karakter bir harf olamalıdır. Sonrakiler rakamlardan oluşabilir. 
  • Daha önce  değişken adı olarak kullanılmış bir isim prg içerisinde başka bir değişkene verilemez.
  • C dili büyük ve küçük harf ayrımı olan bir dildir. sayi, Sayi ve SAYI kelimeleri 3 farklı değişkene isim olarak verilebilir.
  • ANSI C 'nin anahtar kelimeleri (key words) değişken ismi olarak kullanılamaz.

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü