28 Ocak 2016 Perşembe

JavaScript Giriş

JavaScript, Bredan Eich tarafından geliştirilmiş bir programlama dilidir. Geliştirilme tarihi 1995 yılıdır. JavaScript'in kullanım alanı HTML ve CSS ile oluşturulmuş içerik ve tasarıma etkileşim ve esneklik kazandırmaktır. Yani C, JAVA gibi programlama dilleri gibi bir programlama dili değildir. Üstelik JAVA programlama dili ile asla karıştırılmamalıdır. Çünkü aynı şey değillerdir. JavaScript  için script dili demek daha doğru olur hatta. JavaScript dili derlenmez, yorumlanır. Yorumlama işlemi ise Browser yani tarayıcıda gerçekleşir.

Çalışma Ortamı

Dersleri işlerken kullanılacak olan NotePad++ editörüdür. İnternet üzerinden ücretsiz indirebilirsiniz. 
Devamını Oku »

25 Ocak 2016 Pazartesi

C++ Döngüler

C++ programlamanın en önemli temel konularından biri döngüler konusudur. Bu nedenle yazıyı dikkatle okumanızı ve uygulamanızı şiddetle öneriyorum.

Bir örnek ile konuya giriş yapalım. Bu örnekte bizden 8 defa kodekran yazısının yazılması istensin. Döngü konusunu bilmeyenler genellikle aşağıdaki kod yapısını oluşturacaklardır.

#include <iostream>

using namespace std;

int main(){
 
    cout << "kodekran" << endl;
    cout << "kodekran" << endl;
    cout << "kodekran" << endl;
    cout << "kodekran" << endl;
    cout << "kodekran" << endl;
    cout << "kodekran" << endl;
    cout << "kodekran" << endl;
    cout << "kodekran" << endl;
 
    return 0;
 
    }

Bu şekilde yazdık ancak bu yöntem pek mantıklı bir yöntem değil. Bizden 8 değil 800 tane yazmamız istense bu iş amele işi olur. Yani böyle yazmaya değmez. Bu yüzden bu işi daha kolay bir yöntem olan döngülerle yapmalıyız.

Peki döngülerin kullanım mantığı nedir? Yazdığımız komutlarla belli şartlar vererek oluşturduğumuz döngünün istedimiz sayı değerinde dönmesini sağlıyoruz.

Kullanabileceğimiz 3 tane döngü türümüz var.

1. for döngüsü
2. while döngüsü
3. do-while döngüsü

for döngüsü

Bilmemiz gereken en önemli döngü türü for döngüsüdür. Programlama yaparken zaten çokça kullanılacaktır döngüler. Yukarıda yaptığımız örneği şimdi for döngüsü ile yapalım.

#include <iostream>

using namespace std;

int main(){
 
    for(int i=0; i<8 ;i++){
            cout << "kodekran" << endl;
            }
               
    return 0;
 
    }


Bu döngüyü çalıştırdığımızda konsol ekranına 8 defa kodekran yazısı yazılacaktır. Eğer örnek yeterli olmadıysa daha iyi anlamak için for döngü yapısını inceleyelim.


sayac : bu bölümde bir değişken tanımlanır ve başlangıç değeri verilir. Genellikle int i=0 standartla kullanılır ancak bu kullanım zorunlu değildir. Döngü içerisinde sadece 1 kere çalışır.

koşul ve sayac -/+ : Sayaç içindeki değerimiz eğer koşul ifadesini doğruluyorsa döngü çalışmaya devam eder. Daha sonra ise sayac+/- bölümünde azaltılır ve arttırlırsa sayacımız içindeki tekrar koşul kısmında sorgulanır, koşul sağlanıyorsa döngü devam eder, sağlanmıyorsa döngü biter.

While Döngüsü

While döngüsü, forr döngüsüne göre daha basit bir kod yapısına sahiptir.

Diğer örneklerde yaptığımız gibi bu örnekte de 8 defa kodekran yazısını yazdıralım.

#include <iostream>
using namespace std;

int main(){
    int n=0;
 
    while(){
            cout << "kodekran" << endl;
            n++;
            }
         
    return 0;      
    }


Sonuç olarak 8 defa kodekran yazısı ekrana yazdırılacaktır.

Do-While Döngüsü => yakında eklenecektir...

Devamını Oku »

24 Ocak 2016 Pazar

C++ IP Gösterici

Bilgisayarınızın ip adresi ve diğer ağ bilgilerini öğrenmek için aşağıdaki kodu kullanın.

#include<stdlib.h>

int main()
{
   system("C:\\Windows\\System32\\ipconfig");
   system("pause");
   return 0;
}
Devamını Oku »

C++ Yıldız ile Üçgen Yapısı Oluşturma

Aşağıdaki şekli oluşturabilmek için resmin altındaki kodu kullanın.


#include <iostream>
#include <clocale>
using namespace std;

int main(){
    setlocale(LC_ALL,"");
    int yukseklik;
 
    cout << "Üçgen yüksekliği : ";
    cin >> yukseklik;
    cout << endl;
 
    int sayac,bosluk,yildiz;
 
    for(sayac=1;sayac<=yukseklik;sayac++){
           for(bosluk=yukseklik-sayac;bosluk>=1;bosluk--){
                 cout << " ";
           }
           for(yildiz=1;yildiz<=(sayac*2)-1;yildiz++){
                 cout << "*";
           }            
           cout << endl;                    
                                       
    }
    cout << endl;
    system("pause");
    return 0;
    }

Devamını Oku »

19 Ocak 2016 Salı

C++ Derslerine Giriş

Eğer sizde C++ öğrenmek amaçlı bu bloga geldiyseniz hoş geldiniz. Burada dersleri takip ederek kolayca C++ öğrenebilirsiniz. Elbette ki sizin azminiz ve sürekliliğiniz sayesinde olacaktır bu öğrenme işi.

Şunu bilmenizi isterim her ne kadar diğer sitelerde yazarlar bu alanda tecrübeli olsalar, ben değilim. Yani buradaki amacım öğrenirken, diğer insanlara da öğretmektir. Hem yazılı hem de video anlatımlarıyla bir öğretici kaynak oluşturmak. Bol bol pratik yaparak bu işin altından beraber kalkacağız.

C++ programlama dilini öğrenirken zorunluluk hissi ile değil hobi olarak öğrenmeye çalışın. Zorunluluk hissi, çalışma isteğini düşürür bunu da belirtelim. Bu dersler ayrıca programlama derslerinde de yardımcı kaynak olacaktır. Yani umarız öyle olur.

Ders Anlatım Şekli

Ders anlatım olarak iki yöntem kullanılacak. Bunlardan biri;

1. Yazılı Anlatım
2. Video Anlatım

Kısaca bu anlatım biçimlerini açıklayalım.

Yazılı Anlatım : Konu hakkında öğretici bilgiler ve örnek kodlarla blog içerisinde bulunacak  yazılı kaynaklardır.

Video Anlatım : Konuyu görsel bir yolla sesli anlatım sayesinde kullanılacak anlatım türüdür. Video anlatımlarına YouTube kanalımıza tıklayarak ulaşabilirsiniz.


Umarım bu yolda sonuna kadar gidebiliriz. 2. DERS için Tıkla.
Devamını Oku »

14 Aralık 2015 Pazartesi

text-decoration ve Özellikleri

text-decoration ile yazı metni üzerinde çizme, görünüm değişikliği yapılır.

Özellikleri

underline ile yazı metininin altına çizgi koyulur.

none ile yazı metni üzerine bir çizgi konmaz.

overline ile yazı metninin üstüne çizgi koyulur.

blink ile yazı metni yanıp sönen bir görünüme kavuşur.

line-through ile yazı metninin üstü çizilir.


Örnek Kullanım

#div{
        text-decoration:blink;
}
Devamını Oku »

Text-Transform ve Özellikleri

Yazı metinleri içerisinde harf dönüşümleri yapılmada kullanılır. Harf dönüşümlerinden kastım küçük harfi büyük harf yapmak. Bu komutun 3 özel tipi vardır.

uppercase

Uppercase ile yazı metni içerindeki tüm harfler büyük harf olur.

lowercase

Lowercase ile yazı metni içerisindeki tüm harfler küçük harf olur.

capitalize

Capitalize yazı metni içerisindeki kelimelerin yalnızca baş harfleri büyük olur.


Örnek Kullanım

#div{
       text-transform:lowercase;
}
Devamını Oku »

Yazılara Gölge Efekti Text-Shadow

Yazılara bir CSS özelliği olan Text-Shadow ile gölge verebiliriz. İngilizce kelime olan shadow, gölge anlamına gelmektedir. Örneklerle özelliği anlamaya çalışalım.

#div {
text-shadow: 2px 3px 4px #CCC;
}

Burada pixel değeri verilen her bölgenin belli bir işlevi vardır. Karışmaması için 2px, 3px ve 4px değerlerini sırasıyla verdim. Kod yapısını inceleyelim.

2px değeri ile gölgenin yazıya göre x ekseni boyunca uzaklığı verilmiş oldu. 1. Değer

3px değeri ile gölgenin yazıya göre y ekseni boyunca uzaklığı verilmiş oldu. 2. Değer

4px değeri ise gölgenin blur yani bulanıklık ayarlamasında kullanıldı. 3. Değer

#CCC ile gölgeye renk verildi. 4. Değer
Devamını Oku »

Basit C++ Örnekleri 1.Kısım

Aşağıdaki iki örnek yeni başlayanlar için iyi bir pratik olacaktır. Örneklerin anlaşılması zaten kolay.
Örnekler içerisinde for ve if-else yapılarını iyi anlamak önemli. :)

İki Sayının Toplamı

#include <iostream>
using namespace std;

int main(){
    int sayi1, sayi2, toplam;
 
    cout << "1. Sayıyı Gir: ";
    cin >> sayi1;
    cout << "2. Sayıyı Gir: ";
    cin >> sayi2;
 
    toplam = sayi1 + sayi2;
    cout << "Toplam Sonucu =" << toplam;
    return 0;
    }


For Döngüsü ve İf-Else Örneği

#include <iostream>
using namespace std;

int main(){
    for(int i=1;i<=10;i++){
            cout << i << "Merhaba Dünya" << endl;
            if(i==5){
                     cout << "Selam Mars" << endl;
                     }else{
                           cout << endl;
                           }
            }
    return 0;
    }


Yazı
Devamını Oku »

13 Aralık 2015 Pazar

CSS'i HTML Dosyasına Ekleme

CSS'i HTML dosya içerisine eklemenin birçok yöntemi var. Bu yöntemleri öğrenelim.

1. Dosya Çağırma

HTML dosya içerisinde ayrıca oluşturduğumuz .css uzantılı dosyayı çağırma yöntemidir.

Aşağıdaki örnek kodda olduğu gibi dosya çağırma yapılır.

<link rel="stylesheet" type="text/css" href="style.css"/>

Kullanılması önerilen bir yöntemdir.

2. HTML İçine Kod Ekleme

<style> etiketi kullanılarak ekleme yapılan yöntemdir. CSS kodlarınızı <style> etiketleri arasına yapıştırarak ekleme yapılır.

Örnek yapı.

<style type="text/css"> css kodu </style>

Kullanılması pek önerilmez. Bu yöntem sayfa boyutunu arttırır ve hızda yavaşlamaya sebep olur.

3. @import Yöntemi

Dosya ekleme yönteminin bir diğer versiyonudur. Eğer ayrıntılı olarak bakarsak aralarında belli farlar var ancak yapılan iş aynı. İlerideki yazılarda daha ayrıntılı bir yazıyla bu yöntemi inceleyeceğiz.

Örnek kod yapısı.

@import "style.css";


Kullanılan bu yöntemler HTML dosyası içerisinde head etiketleri arasında uygulanır.<head>...</head>
Devamını Oku »

11 Aralık 2015 Cuma

C++ TypeDef

TypeDef, programlama yaparken kolaylık sağlayacak özellik taşıyor. TypeDef sayesinde veri türlerini kendi isteğimize göre adlandırabiliriz.

Örnek verecek olursak int veri türünü main fonksiyonu içinde tamsayi ismi şeklinde kullanabiliriz.

TypeDef kullanımını kod içerisinde görelim.

#include <iostream>

using namespace std;

typedef int tamsayi;

int main(){
           
           tamsayi x=9;
           cout << x;
           return 0;  
             
                }


TypeDef tanımlarken dikkat edilmesi gerekenlerden bir tanesi kod içerisinde kullandığınız değişkenlerle aynı isimde olmamasıdır. Eğer aynı olursa program çalışmaz ve hata verir.


Bize sağladığı avantaj nedir?

Bize sağladığı avantajalar, zaman kazandırması, anlaşılabilirlik, sadelik özelliklerini oluşturabildiğimiz bir kod yapısı yazabiliriz.


Devamını Oku »

10 Aralık 2015 Perşembe

C++ Console App Rengini Değiştirme

Bilindiği üzere C++ console ekranı siyah bir arkaplan rengine sahip bunu değiştirmek için aşağıdaki bilgileri dikkatle okuyunuz.

C++ ile geliştirilen console uygulamalarını renklendirmek için C++ kütüphanesi olan <windows.h> kütüphanesi kod içerisine dahil edilir.

<windows.h> kütüphanesi console rengini değiştirmek için gerekli kodları içinde bulunduran bir kütüphanedir.

Gerekli kütüphane dahil edildikten sonra main fonksiyonu içerisine rengi değiştirmek için gerekli fonksiyon kullanılır.

Kullanıcağımız bu fonksiyon system("color renkkodu"); komutudur.

Burada değiştirmemiz gereken tek şey mavi renkle yazılmış yere istediğimiz rengin kodunu eklemek.

Kullanılabilecek 16 tane renk var. Aşağıda görüldüğü gibi.

0 = Siyah
1 = Mavi
2 = Yeşil
3 = Deniz Mavisi
4 = Kırmızı
5 = Mor
6 = Sarı
7 = Beyaz
8 = Gri
9 = Açık Mavi
A = Açık Yeşil
B = Açık Deniz Mavisi
C = Açık Kırmızı
D = Açık Mor
E = Açık Sarı
F = Parlak Beyaz

Şimdi uygulamalı olarak nasıl yapılacağına bakalım.

Console Yazı Rengini Değiştirme

Aşağıda bir console uygulaması görülmektedir. Bu console şu an klasik bir renk görünümüne sahiptir. Yazı renginin beyaz yerine deniz mavisi rengi olmasını istiyorum ve alttaki kodu main fonsiyonu içerisine şekildeki gibi yazıyorum.



#include <iostream>
#include<windows.h>
using namespace std;

int main(){

    system("color 3");

}


Bu işlemi yaptıktan sonra yazı rengimiz şekildeki gibi deniz mavisi rengine sahip olacaktır.



Console Arkaplan Rengini Değiştirme

Bu kez yazı rengi yerine arkplan rengini değiştirelim. Ancak burada işler biraz değişiyor. Ekleyeceğimiz renk kodunun sağına bir 0 eklememiz gerekiyor. Örnek olarak ben arkaplan rengini deniz mavisi yapmak istiyorum ve aşağıdaki gibi bir kodu main fonksiyonu içerisine yazıyorum.

#include <iostream>
#include<windows.h>
using namespace std;

int main(){

    system("color 30");

}

Artık arkaplan rengimiz şekilde görüldüğü gibi değişti.




Herhangi bir sorunuz veya sorununuz olursa aşağıdaki yorum kısmından yazabilirsiniz.
Devamını Oku »

9 Aralık 2015 Çarşamba

PHP Çerezler ( Cookie )

PHP ile çerezler oluşturarak site kullanıcıları hakkında bilgiler toplanabilir. Örneğin kullanıcı şifrenizin hatırlanması tarzında uygulamalar. Büyük şirketlerin kullanıcıların ilgi alanlarına göre reklam gösterimi yapması.

Cookie Oluşturma

Çerez oluşturmak için setcookie() fonksiyonu kullanılır. Aşağıda örnek bir çerez (cookie) oluşturalım.

<?php
setcookie("mesaj","merhaba millet!");
?>


Yukarıda bir cookie oluşturduk. Ancak zaman parametresi girmedik. Bu yüzden çerez ziyaretçinin tarayıcısını kapattığı an silinecektir. Belli bir süre boyunca durması sağlamak istiyorsak 3. bir zaman parametresi girmeliyiz.

<?php
setcookie("mesaj","merhaba millet!",time() + 7200);
?>


Çerezimizin ömrünü 2 saat olacak şekilde ayarladık. Kullandığımız zaman birimi ise saniyedir. Bu süre tamamlandıktan sonra çerez silinecektir.

Cookie Gösterimi

Oluşturulan çerezi görmek için ekrana yazdırabiliriz.

<?php
setcookie("mesaj","merhaba millet!",time() + 7200);
echo $_COOKİE['mesaj'];
?>


"çift tırnak ve ' tek tırnak arasında buradaki kullanım için fark eden bir şey yoktur.


Cookie Silme İşlemi

Oluşturulan çerezi silmek için aşağıdaki işlemi yapmamız yeterlidir.

<?php
setcookie("mesaj","merhaba millet!",time() - 7200);
?>


Farkettiyseniz burada - işaretli zaman değeri kullanıldı. Buradaki amaç önceden verdiğimiz süreyi tamamlanmış olarak göstererek çerezi silmek.

Cookie Değer Değiştirme

Oluşturulan çerezin sahip olduğu değeri değiştirmek aşağıdaki gibi bir tanımlama yapabiliriz.

<?php
setcookie("mesaj","merhaba millet!");
setcookie("mesaj","hoşçakalın millet!");

echo $_SETCOOKİE["mesaj"];
?>

Kod çalıştığında ekranda hoşçakalın millet! yazısı yazacaktır. Burada önemli nokta eski çerez değerinden sonra tanımlanmasıdır.

Cookie Tanım Sorgulaması

Cookie tanımlanmış mı tanımlanmamış mı anlamak içinde isset() fonksiyonu kullanılır.

<?php 

echo isset($_COOKİE["mesaj"]);

?>

Eğer çerez varsa ekranda 1 değeri görülür, Tanımlanmamışsa ekrana bir şey gelmez. Şimdi sorgulama işlemini biraz daha karışık hale getirelim. if else yapısını kullanalım.

<?php

if(isset($_COOKIE["mesaj"])){

echo "Çerez Tanımlanmış.";

}else{

echo "Çerez Tanımlanmamış.";

}

Devamını Oku »

8 Aralık 2015 Salı

PHP Sabit Tanımlama

PHP'de değişmeyen veriler için bu tanımlamayı kullanbiliriz. Değişkenlere benzerliği olsada kullanımı farklıdır. Sabit tanımlama yapmamızın amacını şu şekilde anlatabiliriz. Örneğin bir işlemde birden çok kez pi sayısı kullanılacak. Bildiğiniz üzere pi sayısı bir sabit sayıdır. Bu sayı değerini her işlem için tanımlamak yerine sadece bir sabit tanımlaması yaparak işi daha kolay bir hale getirebiliriz.

Sabit tanımlama kullanılırken $ dolar işareti kullanılmaz. define( ) fonksiyonu ile tanımlama yapabiliriz.

<?php
define( 'slogan' , 'bir program dramı' );
echo slogan;
?>

Bu kodu çalıştırdığımızda ekranda bir program dramı yazısı çıkacaktır.

Sabit Kullanıldığını Anlama

Eğer uzun bir php kodu yazdıysanız kafanız karışabilir. Bu arada bir değişken tanımladınız ancak kodlar çalışmadı ve hata verdi. Demek ki tanımladığınız değişken ya hatalı ya da o isimde bir sabit tanımladınız. Bunu anlamanın yolu ise aşağıdaki gibidir.

<?php
define( 'pi', 3.14 );
echo defined('pi');
?>

Ekranda 1 yazısı çıkıyorsa sabit olarak tanımladığınız anlamına geliyor. Eğer tanımlamnmadıysa ekranda hiçbir şey yazmaz.



Devamını Oku »

PHP Değişkenler

PHP değişkenleri hakkında kısa bilgiler içeren bir not hazırladım. Değişken kavramını programlamayı bilen birisi anlamakta zorlanmayacaktır. Eğer programlama hakkında bilginiz yoksa bu sayfada bahsedilenler hakkında hiç bir fikriniz olmayacaktır. O yüzden daha ayrıntılı kaynaklara başvurmanızı öneririm.

PHP komutlarında neredeyse her zaman bitti anlamına gelen (;) noktalı virgül işareti kullanılır. Bu işareti kullanmazsanız kodlarınız hata verecektir.

PHP Değişken Yazım Kuralları

PHP değişkenleri tanımlanırken başına dolar işareti konur.($degiskenadi)

Kullanılan değişken isimleri Türkçe ve özel karakterlerden oluşamaz. ( _  karakteri hariç.)

Değişken isimleri bir sayı değeri ile başlayamaz. ($1adi yanlış kullanımdır. $adi1 doğru kullanım)

Büyük harf, küçük harf ayrımı vardır. $degisken ile $Degisken aynı şey değildir.

Değişkene Değer Atama

Tanımlanan bir değişkene değer atamak için eşittir (=) ifadesi kullanılır. $degisken="Merhaba Millet!";

Değişkene sayısal değer atandığında tırnak içine almanıza gerek yoktur. Ancak tırnak içine aldığınızda yazı değeri olarak görünecektir. İki kullanım arasında fark vardır. 

Aynı isimde 2 tane değişken tanımlamak

Eğer iki tane aynı isimde değişken tanımlarsanız en sonda bulunan değişken dikkate alınacaktır.

<?php
$degisken="Elma";
$degisken="Armut";

echo $degisken;
?>

Kod çalıştırıldığında ekranda sadece armut yazısı çıkacaktır.

Devamını Oku »

5 Aralık 2015 Cumartesi

Acemi Yazılımcı Olmak

Evet ben acemi bir yazılımcıyım. Öyle hızlı bir şekilde kod yazan, canı sıkıldığında hack yapabilen, hoşlandığı hoşlanmadığı insanların profiline girip bakabilen, yüzbinlerce indirmesi olan uygulamalar yazan bir insan değilim. Olsam da zaten insanların özel hayatı beni ilgilendirmez, özel hayata saygımız sonsuzdur. Ama bir şeyler öğrenmeye çalışan, öğrendiklerini bu blogta paylaşan acemi ya da çaylak denebilecek bir yazılımcıyım. Merakımın yazılım işlerine nasıl sardığını bilmiyorum. Ama küçükken bir web sitesi nasıl yapılır diye araştırdığımı hatırlarım. Hatta program yapma programı gibi aramalar yaparak visual studio adlı programa ulaştığımda çok mutlu olmuştum. Ama sonuç hep hüsrandı. Çünkü programlama hakkında bir nane bilmiyordum. Neyse işte gel zaman git zaman derken, web site arayüzleri kodlamasını kendime yetecek kadar öğrendim. Aslında öğrendiklerim çölde kum tanesi ama olsun. Kendi web sayfalarımı yapabilir hale geldim. HTML, CSS falan yetiyordu bana. Lise yılların sonunda üniversite sınavı diye bela çıktı karşıma.  Burada pek ayrıntıya girmeyeceğim çünkü o günler benim için iyi değildi. Bir şekilde kendimi biraz vere vere sınava çalıştım. İlk başlarda İstanbul'da kimya mühendisliğine giderim diye pek çalışmamıştım. Neden kimya mühendisliği derseniz hedefim olmadığı için derim. Bilgisayar mühendisliğini önceleri isterdim ama nedense o aralar pek bir aydınlanma olmadı bende bu bölüme karşı. Neyse ygs denen sınavda iyi bir sıralama yaptım. Tabi çalışmayınca lys beni biraz aşağı sürükledi. Üstüne birde okul puanı düşürdü. Ben dedim artık kimya mühendisliğine gitmek gözüktü bize. Ama yakın çevrem ve arkadaşlarım bu konuda beni desteklemediler. Dediler "oğlum ne yapacan o bölümde kafayı mı yedin  sen?". Buraları pek uzatmayacağım. Sonra bana aydınlanma oldu ve bilgisayar mühendisliği bölümlerine tercih yaptım. Şimdi bilgisayar mühendisliği bölümünde okumaktayım. Okulun ismini vermek istemiyorum. İfşa olmamam lazım :o. Şimdi ne yaptığımdan bahsedeyim.

Bu aralar okul falan uğraşıyoruz işte. C++ ile programlamaya giriş yaptık. Öğreniyoruz gibi bakalım. Ama sinir olmadım değil bu programlama dili olayına. Benim hayalim direk C öğrenmekti. Şimdi bazıları diyecek aralarında fark yok. Evet yok ama ben yinede C öğrenmek istiyordum. Yani en azından C ile programlamanın mantığını iyice kavramak istiyordum. C programlama dilinin beni kendine çekmesinin sebebi işletim sistemlerinin C dili yazılmasından dolayıdır. Yoksa programlama dilleri arasında ayrım yapmam. Zaten şu anki hedefim olabildiğince iyi bir şekilde fazladan programlama dili öğrenmek. Çok klasik oldu ama öyle.Pişman değilim bilgisayar mühendisliğini yazdığıma hatta iyi ki kimyayı yazmamışım. Laf aramızda kimyadan neftret ederim.

Dün biraz kodlama çalışayım derken kendimi Marvel kahramanlarının hayatını didiklemekteyken buldum. Nedeni nedir bilinmez ama bu kahraman karakterlerin derinleme hikayesi beni çok etkiler ve araştırasım gelir. Konu yine saptı.Dediğim gibi bu aralar C++ ve Java üzerinde yoğunlaşmaya çalışıyorum. Java geliştirme ortamını dün tam olarak oluşturdum. Artık kendimi geliştirmenin vaktidir. Java hakkında kaynaklardan araştırmalar ve video anlatımlardan yararlanmayı düşünüyorum. C++ ise hem okul hemde kendi araştırmalarımın katkılarıyla ilerleyecek umarım.

Yazılımcı Olmak

Bu konuyla artık daha çok ilgili olduğum için birazcık fikrim de var. Yazılımcı olmak eğer iyi olmak istiyorsak sürekli çalışmayı gerektiriyor. Kötü olmak zaten zor değil. Öğrendiğim kadarıyla bir iyi C programcısı olmanın bedeli 5 yıl. Türkiye'nin en iyi programcısı olduğu söylenen kişi söylüyor bunu. İsmini şu an hatırlamıyorum. Ya işte..! Bu demek değil ki herkes olamaz. Ama benim düşünceme göre öyle herkes iyi bir yazılımcı olamaz. İyi olmak emek ister, zaman ister. Size nasıl iyi yazılımcı olunur gibi şeyleri anlatmam için ilk önce benim yazılımcı olmam gerek. Ancak ben daha tam yazılımcı olmadığım için sizlere de bu konuda fikirler veremem. Belki bu fikirler ilerleyen zamanlarda oluşur.

Şimdilik bu kadarı kafi öğrendikçe yazdığım yazılar bu blogta olacak. Arada sırada böyle kişisel yazılarda görülebilir.
Devamını Oku »

25 Kasım 2015 Çarşamba

C++ std Kullanımı

C++ programlama dili ile programlama yaparken, kod başında using namespace std; kodunu kullanmazsak. Kullanmak istediğimiz bazı komutların başına std komutunu eklememiz gerekir. Bunun için ise aşağıdaki örnek kodu inceleyebilirsiniz.

Örnek Kod

#include <iostream>

int main()
{
std::cout << "Ilk Program\n";

system("PAUSE");
return 0;
}
Devamını Oku »

C++ Açıklama Satırı Ekleme

Programlama yaparken kodların yanına açıklama eklemek önemli bir durumdur. Açıklama ekleyerek neyin ne olduğunu anlamada açıklık getirilmiş olur. Eğer bir firmada yazılımcı olarak çalışıyorsanız kodların yanına açıklama eklemek sizden sonra gelenler için zorluk çıkartmaz. Aynı şekilde önceden yazdığınız kodlara tekrar baktığınız bazı şeyleri hatırlatmada açıklama satırları önemlidir.

Kod içerisinde açıklama satırları oluşturmak için // ve  /*...*/ kullanılır. // tek satırlık açıklamalar için kullanılır. /* */ ise iki veya daha fazla satırdan oluşan açıklamalar için kullanılır. Örnek kod yapısını inceleyerek daha iyi anlayabilirsiniz.

Örnek Kod

// Tek satırlık açıklama
#include <iostream>
using namespace std;

int main()
{
// Tek satırlık açıklama
cout << "Merhaba Millet!\n";

/*
İki veya daha fazla
satırdan oluşan
açıklama
*/

system("pause");
return /* Burayada açıklama yazılabilir */ 0;
}


Devamını Oku »

C++ Ekrana Yazı Yazdırma

C++ ile console uygulamasında ekrana yazı yazdırmak için cout komutu kullanılır. Aşağıdaki örnek koda bakabilirsiniz. Cout komutunu kullanmak için using namespace std; kodu eklenmelidir.

Örnek kod

#include <iostream>
using namespace std;

int main()
{
cout << "Merhaba Millet!\n";

system("pause");
return 0;
}
Devamını Oku »

24 Kasım 2015 Salı

C++ Matris Toplama İşlemi

C++ ile matrislerin toplamının veren bir program yaptık. Program 3x3 matrislerin toplama işlemini yapmakta. Kullandığımız döngü ise for döngüsü. For döngülerini iç içe bir şekilde 4 defa kullandık. Bir diğer önemli konu ise diziler. 3 tane dizi tanımladık. Bunlar birinci matrisin bir[3][3], ikinci matrisin iki[3][3] ve toplam sonucu veren matrisin sonuc[3][3] dizi değişkenleridir. Diziler hakkında olan yazımıza gitmek için tıklayın.(Şu an aktif değil)

Programın Kodu

#include <iostream>

using namespace std;

int main(){
    int bir[3][3], iki[3][3], sonuc[3][3];
 
    for(int i=0;i<3;i++){
            for(int j=0;j<3;j++){
                    cout << "Birinci Matris [" << i+1 << "][" << j+1 << "] =";
                    cin >> bir[i][j];
                    }
            }
            cout << endl;
    for(int i=0;i<3;i++){
            for(int j=0;j<3;j++){
                    cout << "İkinci Matris [" << i+1 << "][" << j+1 << "] =";
                    cin>> iki[i][j];
                    }
            }
            cout << endl;
    for(int i=0;i<3;i++){
            for(int j=0;j<3;j++){
                    sonuc[i][j]=bir[i][j]+iki[i][j];                
                    }
            }
            cout << "Matrislerin toplam:\n\n";
    for(int i=0;i<3;i++){
            for(int j=0;j<3;j++){
                    cout <<sonuc[i][j]<<"    ";
                    }
                    cout << endl<<endl;
            }      
            system("pause");
            return 0;            
    }

Programın ekran görüntüsü




Devamını Oku »

C++ Faktoriyel Hesaplama

C++ programlama dili ile faktoriyel hesaplama programı yapmak için döngüleri kullanmamız gerek. Bu döngülerden bir tanesi while diğeri ise for döngüsü. İkisiyle de ayrı ayrı kodlar aşağıda. Tek farkları birinin while döngüsü diğerinin for döngüsü ile yapılmış olması. Ancak ortak olan bir durum var. Eğer dikkat ederseniz her iki program kodlarında da faktoriyel değişkenini 1 sayısına eşitledik. Bunun sebebi çarpmada 1 elemanının etkisiz eleman olmasıdır. 1 yerine 0 değerini atasaydık hesap sonucumuz hep 0 çıkacaktı. Burası dikkat edilmesi gereken bir husus. Aşağıdaki kodları inceleyebilirsiniz.

While döngüsü ile oluşturulmuş program kodu

#include <iostream>

using namespace std;

int main(){
    int sayi;
    long int faktoriyel=1;
    cout << "Faktoriyeli alinacak sayi..:";
    cin >> sayi;
    while(sayi>=1){
                   faktoriyel *= sayi;
                   sayi--;
                   }
                   cout << "Faktoriyel sonucu..:" << faktoriyel << endl;
    system("pause");
    return 0;
    }


For döngüsü ile oluşturulmuş program kodu

#include <iostream>
using namespace std;
int main(){
    int sayi;
    int faktoriyel=1;
 
    cout << "Faktoriyeli alinacak sayi...:";
    cin >> sayi;
 
    for(int i=0;i<sayi;sayi--){
            faktoriyel=faktoriyel*sayi;
         
            }
            cout << "Faktoriyel sonucu...:" << faktoriyel << endl;
            system("pause");
            return 0;
    }



Devamını Oku »

22 Kasım 2015 Pazar

C++ Kelimeyi Tersten Yazdırma

C++ programlama dili ile dizileri ve for döngüsünü kullanarak nasıl kelimeyi tersten yazdırılır onu görelim.

Programda yazdıracağım kelime yazilimabi. İlk önce düz bir şekilde kelimenin yazdırılmasını yapalım.

Kelimenin düz hali ile yazdırılmasını sağlayan programın kodları.

#include <iostream>

using namespace std;

int main(){
    char harf[10]={'y','a','z','i','l','i','m','a','b','i'};
 
    for(int i=0;i<10;i++){
             cout << harf[i];
             }

    cout << endl;
    system("pause");
    return 0;
    }


Programın çalıştırıldığında ekran görüntüsü şu şekilde.


Şimdi ise bu kelimeyi ters yazdıralım. Aşağıdaki kodlarda olduğu gibi.

#include <iostream>

using namespace std;

int main(){
    char harf[10]={'y','a','z','i','l','i','m','a','b','i'};
 
    for(int i=9;i>=0;i--){
             cout << harf[i];
             }

    cout << endl;
    system("pause");
    return 0;
    }


Programı çalıştırdığımızda kelimeyi ters bir şekilde yazdığını görürüz.




Devamını Oku »

C++ Switch-Case Yapısı

Switch-case yapısı bir kontrol yapısıdır. Bu yapıyı programlama yaparken seçenek oluşturmada ve menüde kullanılır. Kullanımı gayet basit bir yapıdır. Aynı zamanda if-else yapısı ile birçok yönden benzerlik göstermektedir. Ancak switch-case yapısının kullanılması gerekiyorsa if-else yapısını kullanmak işimizi kolaylaştırmaz. Şimdi bu yapıyı kod olarak inceleyelim.

switch-case


Yukarıdaki resimde görüldüğü üzere kod yapısı bu şekilde. İstediğimiz sayıda case kullanabiliriz. Default ise if-else kontrol yapısındaki else ile benzetilebilir. Eğer kulanıcı yanlış bir değer girerse, program default kısmındaki bölümü çalıştıracak.

Şimdi örnek olarak bir program yazalım. Ben daha önceden yazdığım için kodları aşağıdan görebilirsiniz. Pratik olması için kodları yazmanız önerilir. Programda kullanıcı hafta içi günlerden herhangi birisini seçerek önündeki numarayı seçenek kısmına giriyor ve o güne dahi bilgi alıyor.

#include <iostream>

using namespace std;

int main()
{
    int secenek;
    cout << "1- Pazartesi"<<endl;
    cout << "2- Sali"<<endl;
    cout << "3- Carsamba"<<endl;
    cout << "4- Persembe"<<endl;
    cout << "5- Cuma"<<endl;
    cout << "Secenek giriniz:";
    cin >> secenek;
 
    switch(secenek){
    case 1:
         cout << "Matematik dersi var."<<endl;
         break;
    case 2:
         cout << "Fizik deneyi odevi var."<<endl;
         break;
    case 3:
         cout << "Sinemaya Gidilecek."<<endl;
         break;
    case 4:
         cout << "Vize sinavi var"<<endl;
         break;
    case 5:
         cout << "Programlama odevi var."<<endl;
         break;
    default:
            cout << "Yanlis secenek girdiniz."<<endl;                                    
    }
    system("pause");
    return 0;
}


Kod içerisinde kullandığımız break komutunu kullanmazsak seçtğimiz seçenekten sonraki case değerlerinide program ekranda çalıştırır. Bu yüzden break komutunu kullanmamız gereklidir.

Yukarıdaki kodları çalıştırdığımızda açılan programın ekran görüntüsü.

switch-case

Görüldüğü üzere program şekildeki gibi çalıştı. Sorun veya sorunuz olursa aşağıdaki yorum kısmından belirtebilirsiniz.
Devamını Oku »

21 Kasım 2015 Cumartesi

C Dili ile Ekrana Yazı Yazdırma

C dili ile programlamayı öğrenirken öncelikle basit bir program yazılır. Bu program, çoğu yazılımcının ilk programı olan Hello World! programıdır. Bu programda amacımız ekrana nasıl yazı yazdırılır onu öğrenmek. Elbette ki ben İngilizce yerine Türkçe bir kelimeyi ekrana yazdırmak istiyorum. Ne yazacağımız önemi yok buradaki amaç zaten komutları öğrenmek.

C programlama dilinin genel yapısını bildiğinizi varsayarak aşağıdaki kod sayesinde ekrana yazı yazdırabiliriz.

#include <stdio.h>

int main()
{
    printf("Merhaba Millet!");
 
    return 0;

}


Printf komutu ile gördüğünüz gibi ekrana yazı yazı yazdırabiliriz. Programın ekran görünütüsü aşağıda verilmiştir.


Devamını Oku »

19 Kasım 2015 Perşembe

C++ setw() Fonksiyonu

C++ programlamasının önemli bir fonksiyonu olan setw() fonksiyonunun ne işe yaradığını görelim. Setw() fonksiyonu programlama görüntüsünde önemli etkenlere sahiptir. Tab boşluk ile yapılamayan bazı görünümler setw() ile kolayca yapılabilir. İlk önce setw() ile alakalı bir örnek yapalım. Örnekte ilk başta setw() kullanmadan yazılan programın önizlemesine bakalım. Daha sonra ise setw() kullanarak yazılan programın önizlemesine bakalım. Bu sayede setw() fonksiyonunun özelliğini daha net anlayabiliriz.

İlk önce örnek bir program yazalım.

#include <iostream>
using namespace std;
int main()
{
int x,y,top,carp,cik,bol;
cout << "x sayisini gir..:";
cin >> x;
cout << "y sayisini gir..:";
cin >> y;

top=x+y;
carp=x*y;
cik=x-y;
bol=x/y;

cout << endl <<"X degeri" << "Y degeri" << "Sonuc" << endl;
cout << x << " + " << y << " = " << top << endl;
cout << x << " - " << y << " = " << cik << endl;
cout << x << " * " << y << " = " << carp << endl;
cout << x << " / " << y << " = " << bol << endl;

system("pause");
return 0;
}

Yukarıdaki yazdığımız program, kullanıcının istediği iki sayıyı girerek toplam, fark, çarpım ve bölüm sonuçlarını ekranda gösterir. Programı çalıştırdığımızda ise karşımıza şöyle bir görüntü çıkar.


Karşımıza çıkan bu görüntü karışık ve hoş bir görüntü vermemekte. Ancak setw() fonksiyonunu kullanarak daha düzenli ve iyi bir görüntü oluşturabiliriz. Setw() fonksiyonunu kullanabilmemiz için ilk önce gerekli kütüphaneyi programa dahil etmeliyiz. Aşağıdaki bulunan kodu programa yazarak kütüphanemizi dahil edebiliriz.

#include <iomanip>

Aşağıdaki kodlar yazdığımız programın setw() eklenmiş halidir.. Setw kullanımı ise aşağıdeki kodu inceleyerek anlayabiliriz.

#include <iostream>
#include <iomanip>

using namespace std;

int main()
    {
          int x,y,top,carp,cik,bol;
          cout << "x sayisini gir..:";
          cin >> x;
          cout << "y sayisini gir..:";
          cin >> y;
       
          top=x+y;
          carp=x*y;
          cik=x-y;
          bol=x/y;
       
          cout << endl <<"X degeri"<<setw(20) << "Y degeri"<<setw(10) << "Sonuc" << endl;
          cout << x <<setw(10)<< " + " <<setw(10)<< y << " = " <<setw(10)<< top << endl;
          cout << x <<setw(10)<< " - " <<setw(10)<< y << " = " <<setw(10)<< cik << endl;
          cout << x <<setw(10)<< " * " <<setw(10)<< y << " = " <<setw(10)<< carp << endl;
          cout << x <<setw(10)<< " / " <<setw(10)<< y << " = " <<setw(10)<< bol << endl;
       
          system("pause");
          return 0;
    }

Programın çalıştırdığımızda ise aşağıdaki görüntüyü elde ederiz.


Herhangi bir sorunuz veya sorununuz olursa aşağıdan yorum atarak veya iletişim bölümünden mesaj atarsanız yardımcı olmaya çalışırım.
Devamını Oku »

16 Kasım 2015 Pazartesi

C++ Derleyicileri - Ekrana Yazı Yazdırma

C++ Editörleri

C++ programlama dili için birçok derleyici programı internet üzerinden bulabilirsiniz. Eğer küçük boyutlu bir program istiyorsanız Dev-C++ veya CodeBlocks programlarını kullanabilirsiniz. Bu programlar ücretsiz olmakla beraber Dev-C++ başlangıç seviyesi için kolay ve uygun bir programdır. CodeBlocks programı ise kullana kullana öğrenebileceğiniz türden bir program. Daha profesyonel program kullanmak isteyenler için Microsoft ürünü olan Visual Studio önerilir. Bu progrmın ücretli ve ücretsiz versiyonlarını sitesinden bulabilirsiniz. Derslerde yazacağımız kodlar console uygulama üzerinde çalışacaktır.

C++ İlk Uygulama : Ekrana Yazı Yazdırmak

C++ dili ile programlama yaparken belli bir yapı vardır. Bu yapı aşağıda gösterilen kod yapısıdır. Bu kod yapısını her C++ dili ile program yazmaya başlarken yazacaksınız. O yüzden şimdiden bu yapıyı yazmaya alışın.

#include <iostream>
using namespace std;
int main()
{

// program kodları bu bölüme gelecek

return 0;
}

#include <iostream>

#include bir önişlemci komutudur. Bu komut sayesinde programın çalışmasını sağlayan kütüphaneleri program içine dahil ediyoruz. İnclude, Türkçe anlamı ile dahil et anlamına gelmektedir. Önişlemci komutlara önümüzdeki dersler değineceğiz. <iostream> ise bir C++ kütüphanesi. İçerisinde koutların karşılığı bulunmaktadır. input output stream yani temel giriş çıkış kütüphanesidir. Bu kütüphaneyi kullanmamız şarttır. Aksi halde önemli kodları çalıştıramayız. 

using namespace std;

Bu komut bir aduzaydır. Bu komut sayesinde C++ içerisindeki hayati değer taşıyan komutları çalıştırabiliyoruz. Örneğin ekrana yazı yazdırma, veri girme gibi.

int main() {}

Bu yapıya programın ana fonksiyonu denir. Program yazarken kullanmak  zorunludur. Programın işlevsel yeri bu kısım içerisindedir. int yapısı bir tam sayı değişkenidir. Yazının değişkenler konusu kısmında göreceğiz. Burada önemli olan Main fonksiyonunun kendisidir. () ifadesi fonksiyonlarda kullanılması zorunlu ifadedir. {} içerisinde programın çalışan kodları bulunuz ve aynı şekilde bulunması zorunludur. Aksi halde program hata verir.

return 0;

Programın kararlı bir şekilde sonlandığı anlamına gelen komuttur.

İlk uygulamayı yapalım. Merhaba Yazılımcı diye ekrana yazı yazdıran bir program yazalım. Aşağıda kod örneği görülmektedir.

#include iostream>
using namespace std;
int main()
{

cout << "Merhaba Yazilimci";

system("pause");
return 0;
}

Programı çalıştırdığımızda Console uygulaması şeklinde bir program açılacak ve Merhaba Yazilimci yazısını göreceğiz. I yerine i yazmamın sebebi programın Türkçe karakterleri çalıştırmayacağından dolayı yazmamdır. İleride nasıl Türkçe karakter yazdırabileceğimizi göreceğiz. Şimdi kullandığımız komutları inceleyelim.

cout << " ";

Bu komut sayesinde ekrana yazı yazdırabiliriz. Bu arada şunu belirtelim her komut sonunda mutlaka noktalı virgül işareti(;) kullanılmalı aksi halde komutlar çalışmaz, hata verir.

system("pause");

Bu komutu kullanmamızın sebebi çalışan programın ekranda kalmasını sağlamak. Eğer bu komutu kullanmasaydık program cout komutunu yerine getirdikten sonra return 0; komutuna ulaşacak ve program kapanacaktı. Bu olay çok kısa bir süre içinde gerçekleşecekti. Bizde programın nasıl çalıştığını görebilmek için bu komutu kullanıyoruz.

C++ İfadeleri

İfadeler Kullanım Amacı
\n Bu ifade sayesinde yazı içerisinde alt satıra geçme işlemi uygulanabilir.
\t Yazılar arasında bir tab boşluk bırakır.
\a Kullanıldığı program içinde bip uyarı sesi verdirilebilir.
\r İmleci yazdığımız metnin soluna konumlandırır.
\" Yazı içerisinde " ifadesini yazmak için kullanılır.
\\ Yazı içerisinde \ ifadesini yazmak için kullanılır.

C++ İfadelerinin örnek kullanımları

cout << "Merhaba\nYazilimci";

Bu komut sayesinde Merhaba yazısı ilk satırda yazarken Yazilimci yazısı ikinci satırda yer alacaktır.

cout << "Merhaba\tYazilimci";

Bu şekilde yazarsak Merhaba ve Yazilimci yazıları arasında bir tab boşluk olacaktır.


Ders burada sonlanıyor. Bir diğer derste görüşmek üzere.
Devamını Oku »

C++ Programlamaya Giriş

Programlamaya Giriş

Programlama yapmak, belli bir soruna bir çözüm getirmek içindir. Çözülmesi gereken problem , yazılan bilgisayar yazılımı ile çözüme kavuşur. Programlama yaparken belli adımlara göre ilerlenir.

-  İlk önce problem belirlenir.
-  Bu problem hakkında veriler toplanır.
-  Problemin çözümü için algoritma yazılır.
-  Algoritma , programlama diline çevrilir ve aktarılır.
-  Programlama bittikten sonra program test edilir.
-  Eğer program çalışmazsa tekrar algoritma yazılır.

Buraya kadar her şey tamam. Peki algoritma nedir? 

Algoritma Nedir?

Algoritma hakkında detaylı yazıya buradaki linkten ulaşabilirsiniz. Ancak kısaca açıklamak gerekirse algoritma, bir problemin çözümü için mantıksal bir sıraya göre adım adım yazarak çözüm elde etme yöntemidir.

Algoritma Özellikleri

- Basit bir dille yazılır.
- Kısa ve öz olmalıdır. Gereksiz özellik bulundurmamalıdır.
- Belli bir sonu olmalıdır.
- Kesin olmalıdır. Belirsizlik durumu olmamalıdır.

Örnek Algoritmalar

1. Örnek : İki sayının değerinin toplamını bulan programın algoritmasını yazınız.

1.Adım: Programı çalıştır.
2.Adım: x sayısını oku.
3.Adım: y sayısını oku.
4.Adım: Toplama işlemini yap. t = x + y
5.Adım: Sonucu(t) ekrana yaz.
6.Adım: Programı sonlandır.

2. Örnek : Bilgisayara girilen iki sayı eşit değilse, sayılar biribiri ile çarpılsın. Sayılar eşitse toplansın.

1.Adım: Programı çalıştır.
2.Adım: x sayısını oku.
3.Adım: y sayısını oku.
4.Adım: Eğer x eşittir y top =x + y değilse carp = x*y
5.Adım: Sonucu ekrana yaz.
6.Adım: Programı sonlandır.

C++ Programlama Dili

C++ programlama dili, Bell laboratuvarlarında Bjorne Stroustup tarafından geliştirilmiştir. Programlama dilinin kullanım alanı C'yi içine alan genel kullanımlar içindir. C++ isminden önce ilk ismi C With Classes yani sınıflarla C olan programlama dilinin isimi daha sonra C++ ismi ile değiştirilmiştir. C diline nazaran daha kolay bir programlama dilidir C++. Çıkış tarihi 1983'tür.

C+ programlama dili, düşük ve hızlı seviyelerde programların yazılması için çok kullanılan bir dildir. C programlama diline bir çok özellik getirmiştir. C++ programlama dilinin en önemli özelliklerinden bir tanesi ise nesne yönelimli bir programlama dili olmasıdır.Kalıtımı, sınıfları ve çok biçimliliği destekler. İçerisinde C programlama komutları kullanılabilir.


Bu yazıda sadece teorik programlama ve  C++ programlama dili hakkında teorik bilgiler verdik. İkinci derste C++ editöleri, ekrana yazı yazdırma ve değişkenlere değineceğiz. İkinci derse gitmek için tıkla.

Devamını Oku »