23 Kasım 2016 Çarşamba

C Programlama Dili Dersi #2 | Değişken tanımlama ve Aritmetik Operatörler

    Önceki dersimizde ekrana yazı basmayı ve temel bilgileri öğrendik.Bu yazımızda daha yeni şeyler öğreneceğiz fakat daha kafamızın karışmaya başlayacağı yerlere gelmedik.




Bu Makale de Öğrenilecekler


 - Standart giriş/çıkış fonksiyonları
 - Değişken tanımlama
 - Aritmetik operatörler
 - Aritmetik operatörlerde işlem önceliği

    Hızlıca başlayalım dev-c++'ı açıyoruz. Dosya => Yeni => Kaynak Kodu dosyası yada proje açıyoruz(CTRL + N yeni kaynak kodu sayfası açmanın kısayoludur)

Değişken Nedir ? 

    Değişkenler veri tutuculardır ve sizin içerisine koyduğunuz verileri gerektiği yerde kullanmanıza yardımcı olur.Değişkenler boş bir kutu olarak düşünebilirsiniz.Boş bir kutuya 2 elma koyduğunuzu düşünün.Pazarda olduğunuzu hayal edin ve elma almak istiyorsunuz.Manava kutudakini ver diyorsunuz ve manav içerisinde 2 tane elma olduğunu söylüyor.Değişkenlerde ki de mantıkta bu biz bazı değerleri bir değişkenin içerisine koyuyoruz.İstediğimiz zaman da bu veriyi çekip kullanabiliyoruz.Belki biraz karışık oldu basit bir örnekle bunu sizlere göstereyim.

#include <stdio.h>

main(){
    int kutu = 2;
    printf("sayi %d",kutu );
   return0;
}

Şimdi kodu açıklayayım:
int sayi = int ingilizceden gelir integerin kısatlmasıdır bu da doğal sayı demektir."kutu" ibaresi de istediğimiz değişken ismidir yani programın herhangi bir yerine kutu yazarak 2 ifadesini çekebileceğiz.
%d = Bu doğal sayıların printf içerisinde kullanılmasını sağlar.Sona koyduğumuz değişkeni %d yerine koyar ve sizin 2 sayını kullanmanızı sağlar.

#include<stdio.h>
int main( void )
{
 int x;
 int y;
 int toplam;
 a = 15;
 b = 12;
 toplam = a + b;
 printf("a sayısı %d ve b sayısı %d, Toplamı %d.\n", x, y, toplam);
 return 0;
}
 
 
    Bu örnekte ise bir toplama işlemi yaptık fakat dikkat edilmesi gereken nokta bu değil.Printf'in içerisinde kullandığımız değişkenlere bakın birinci %d x demek ikinci %d y üçüncü %d toplam değişkenlerini çağırmaktadır ve bunların hepsinin sırayla yazılması gerekir.Eğer toplam değişkenini x ile yer değiştirir seniz ilk baştaki %d toplam değişkenini göstericektir.

    Bu arada int değişkenlerini tek tek değil de yan yana virgül ile ayırarakta tanımlayabiliriz.Basit bir örnek yaparak pekiştirmeyi sağlamak istiyorum.

#include <stdio.h>

main(){
 int saat;
 float ucret, toplam_ucret;
 char bas_harf;
 printf("Çalışanın baş harfini giriniz> ");
 scanf("%c",&bas_harf);
 printf("Çalışma saatini giriniz> ");
 scanf("%d",&saat);
 printf("Saat ücretini giriniz> ");
 scanf("%f",&ucret);
 toplam_ucret = saat * ucret;
 printf("%c başharfli çalışanın, alacağı ücret: %f\n",bas_harf,toplam_ucret);
 return 0;
   return0;
}

Buradaki kodumuzu sadece bakın ve anlamaya çalışın çünkü yavaşça açıklayacağım.

Kodu Açıklayalım
scanf (); = Bu girdi isteme komutudur.Bu komut ile bir sayı veya yazı türü şeyleri programı kullanacaktan isteyebilirsiniz.Fakat unutmamalıyız ki scanf yazdıktan sonra ilk boşluğa tırnak içerisinde değişkenin türünü belirlemeliyiz ve virgül koyduktan sonra "&" işaretini değişken adının başına koymalıyız.Çünkü genelde unutulan birşeydir "&" konulması.
%c = Bu char değişkenini çağırmak için vardır.Aynı doğal sayıları çağırmak için %d kullnamamız gibi
%f = Bu da float değişkenleri çağırmamız için.

   Programı anlatırsak; program bizden saat istemekte bu int değişkeni olarak tanımlandı çünkü saat doğalsayı olarak yazılabilir.Fakat ücreti ve ücret toplamını float olarak tanımladım.Ücret noktalı bir sayı olabilirdi.Fakat ücret toplamını da float yaptık sizce neden ?Aslında basit bir mantıkla çıkarabilirsiniz.Bir noktalı bir sayıyla doğalsayıyı çartığımızdan programın içinde çıktısı float olma ihtimali vardı ve int yapsaydık noktadan sonrasını göstermeyecekti.İşçimiz daha az maaş alabilirdi tabi.Bunu engellemek için float tanımladık."*" işareti ile çarpmamızı yapıp ücret toplamına aktardık ve hepsini ekrana bastık.İşte bu kadar basit küçük bir program.

Hadi şimdi öğrendiklerimizle basit bir ortalama hesaplama programı yazalım.

#include<stdio.h>
int main( void )
{
 float sayi1,sayi2,ortalama;
 printf("İki sayı giriniz> ");
 scanf("%f%f",&sayi1,&sayi2);
 ortalama = ( sayi1 + sayi2 ) / 2;
 printf("Ortalama sonucu: %f'dir",ortalama);
 return 0;
}

Bu bölümde zor birşey yok.Görüldüğü üzere iki sayı alıyoruz toplayıp ikiye bölüyoruz ve ekrana bastırıyoruz.Ama daha önce görmediğimiz bir şey var.Scanf içerisinde iki tane değişken var.Anlayacağınız üzere iki değişkeni ard arda almak için bu şekilde yapılmakta.

Aritmetik operatörler

Şimdi c dilinde hangi işaretler toplama çıkarma çarpma bölme ve modül onları görelim
( + ) : Artı

( - ) : Eksi

( / ) : Bölme

( * ) : Çarpma

( % ) : Modül 

 burada bilmediğimiz birşey varsa o da modüldür sanırsam.Modül bir sayıyı bir sayıya böler ve kalanını bir değişkene aktarır.Örneğin 8%3 = 2 dir.Bize 2 sayısını verir.İşlem önceliği ise şu şekildedir.İlk önce parantez içerisi sonra * / % şeklindedir.
 

    16 Kasım 2016 Çarşamba

    C Programlama Dili Dersi #1 | Merhaba Dünya

    Merhabalar, ben Emirhan Gümüş.İZU'de yazılım mühendisliği öğrencisiyim.Bu ders serisine başlama sebebim derslerin öğrenciler gözünden anlatılınca bir başka öğrencinin daha iyi anlayacağını düşündüğümden.Daha gereksiz açıklama yapmadan bugün öğrenceklerimize geçelim.

    Bu Makale de Öğrenilecekler
     - C Programlama diline temel giriş
     - Derleyicilere (compiler) dair açıklama
     - Program yazmak için gerekenler
     - Algoritma tanımı
     - Standart giriş/çıkış fonksiyonları...


    C Programlama

    Bilgisayar Programlama Nedir?

    - Bilgisayar çok basit düşündüğümüzde üç ana görevi yerine getiren bir makinedir. Girilen bilgiyi alır (INPUT), işler (PROCESSING) ve bu işlenmiş veriden bir sonuç (OUTPUT) çıkarır.Yazılım olmadan, donanım ne yapacağını bilemez.Sen şunu yap, sonra bulduğun sonucu şöyle şuraya ekle dememiz  gerekir.
    - Bilgisayarın anladığı tek dil, Makine Dilidir. Bu 16’lık (Hexadecimal) sistemden oluşan bir programlama tipidir.Bunun üzerinde Assembler Dili gelir.Ama bununla uğraşmanın bir mantığı yoktur.
    - C, orta seviye bir programlama dilidir. Bunun anlamı, hem yazması kolay, hemde üst seviye dillere göre daha çok erişim hakkınızın olduğudur. 

    Program yazmak için ne gerekir?

    - Program yazmak için hiçbirşeye ihtiyacınız yoktur.Basit bir notepad bile işinizi görebilir.Önemli olan programın derlenmesidir.Derlemeye "compile" derleyiciye ise "compiler" denir.Ben C için derleyici olarak Bloodshed Dev-C++ kullanıyorum.

    Algoritma Geliştirmek

    - C dilindeki kodları bilmek tabi ki işe yarar fakat algoritması ve mantığı olmadıktan sonra bildiğiniz hiç birşey işe yaramaz.Algoritmamızı nasıl geliştireceğizin bir cevabı genel manada yok.Her program için farklı bir mantık kullanmanız gerekmekte.
    - C kodları bütün dillerde çalışmaz fakat mantığını bir kere oturttunuz mu diğer diller için C'de yaptıklarınızı yapabilirsiniz.

    - Basit bir örnek yapalım.Diyelim ki bir markete gittiniz ve kasiyer yerine bir robot var.Onun düşünce sistemini yazalım :

    1)Ürünleri seç
    2)Parayı hesapla
    3)Parayı al
    4)Para üstünü hesapla
    5)Kalan parayı ver


    HELLO WORLD!

    - Hemen basit bir başlangıç yapalım.ilk başta klasik printf ve scanf komutları öğretilir.Biz de bu şekilde ilerleyip geleneği bozmayacağız.Bu iki komut en sık kullancağımız iki komuttur.


      Yukarıda ki Execute ye bastığımızda kod derlenicektir bize "Hello World Merhaba Dunya" çıktısını vericektir.Şimdi sıraylar neyin ne olduğunu açıklayalım;

    #include<stdio.h> = Bu bir kütüphanedir içinde belirli fonksiyonlar tanımlanmıştır printf scanf gibi.Bu kullanıma alışmak gerekmektedir.Bütün diller de karşımıza çıkar kütüphane eklemek.
    main( ) = Programdaki ana fonksiyondur.Program işleyişleri burada olmaktadır.
    printf( ) =  Tırnak içerisindeki ifadeyi ekrana yazmamıza yarar.
    return 0; = Programı sonlandırır ve 0 değerini geri yollar.
    Tırnak içersine \n komutunu koyarsanız bir alt satıra iner.
    Tırnak içerisinde tırnak kullanmak istersek gözükmesini istediğimiz tırnağın başına \ koymammız gerekmektedir.

    Kaynakça :
    http://www.cagataycebi.com/programming/c_programming/c_programming_1.html
    https://ckaynak.com/c-programla-dili-ile-ilk-program-merhaba-dunya-860

    12 Kasım 2016 Cumartesi

    Yazılım Mühendisliği Vizeleri Nasıl Geçti?


        Merhabalar tekrardan.Gereksiz aptal bir yazıma daha gelmenize şaşırdım açıkçası.Bugün hayatım da geçirdiğim ilk vize haftasının nasıl geçtiğini anlatacağım.Bilindiği üzere genelde vizeler %30 etkilemekte geçme notunu.Bunun veriği rahatlıkla gram çalışmadım açıkçası.Ne gerek vardı ki sanki geçsem yeterdi benim için.Ki geçtim muhtemelen bugün verdiğim son sınavın rahatlığıyla bunu söyleyebiliyorum açıkçası.
       
         Ben yazılım mühendisi öğrencisiyim bildiğiniz üzere ve aslında bizde zorunlu olan ve gereksiz 2 ders var.Türk dili ve İnkilap dersleri.Evet önemliler bir Türk gencinin unutmaması gereken bilmesi gereken birşey falan filan...Fakat bana zerre katkısı yok ki sadece kredi dolduruyor.Biz üniversitede bunu dersi uzaktan eğitimle aldık ki okulun sistemi hala oturmadığı için dersler bile yoktu.Yalandan dokuman verildi.Sonrasında sorular verildi.Sınavda da aynı şeyler çıktı.Aslında güzel olmadı diyemem.Zaten gerek olmadığını düşündüğüm bir dersleri böylece geçiştirdiler.Bu dersler kolaydı açıkçası.Fakat fizik neydi öyle aman ya rabbim dedim bana sınav kağını 10 dk geç vermelerine rağmen ilk ben çıktım 10 dk sürdü.Bu sınavdan geçemedim muhtemelen fakat birşey öğrendim ki ders çalışmak önemli son saniyeye bırakmıyacaksın.Mesela matematik 1 sınavında döktürdük adeta.Arkadaşlarla okulda kaldık 2 gün takılalım diye.4 saat toplamda çalıştık yada çalışmadık fakat o kadar verimli ve zevkli geçtiki soruyu veya konuyu bilen çıktı tahtaya anlattı.Belki de hocanın anlattığından iyi anlattık.(Ahmet Altundağ'a Selamlar...)Gerçekten kaliteli ve istediğini karşısındakine verebilen bir hoca fakat sınıf çok dolu olabiliyor.Geriye ne kaldıııı...

        Evet ingilizce ve yazılım mühendisliğine giriş.İngilizce güzel geçti zaten hali hazırda iyi bir ingilizcem var.Fakat yazılım mühendisliğine giriş sınavı açıkçası zordu yani hocamız bizi düşünüp soruları verdi fakat yok yani ezberelenicek türden birşey değildi.Ama benim hatam derste hoca anlatırken konu hakkında 1 satır birşey yazsam bile aklımda kalmaya yeterdi.NOT ALIN NOT.En önemli dersi unuttum Bilgisayar Programlama.Nasıl unuttum bu dersi ya.Açıkçası bu ders bana kolay geldi 10 soru test sordular.Basitti testler arkadaya kod yazmamızı istediler bizden 4 tane program istediler.Birincisi for döngüsü kullanıp sayı yazdırmaktı.İkincisi tek mi ? çift mi ? olduğunu anlayan fonksiyon yazın dediler ve ben bunu 30 dk düşündüm çünkü sınav inglilzceydi ve double and single yazıyordu.Benim aklıma direk değişken türü olan double geldi ve dona kaldım.Ama sonun da anladımda yazdım.Üçüncü a b c değişkenlerinden hangisi en büyük hangisi en küçük bulan bir program yazın dedi.Son olarak 10 kişilik bir sınıfın notlarını aldığın ortalamasını bulun ve en yüksek ve en düşük alan öğrencileri bulun dedi.Bize bunları kağıda dökmemizi istedi.Açıkçası yaptım hepsini fakat şöyle bir durum var ki "Ben kodunuzu pc ye yazarım orada açılmazsa puan alamazsınız" dedi hoca.Hocam nasıl yani ya siz yanlış kodu yazarsanız biz ne yapacağız.Umarım böyle birşey yapmaz ve gidişata puan verir yoksa hiç bilmeyenle aynı puanı alırım bir ";" yüzünden.

        Herneyse olan oldu ve bir vize haftası bitmişti.Genel olarak güzel geçti ya.Fizik bizi biraz üzse de.Öğrendiğimiz birşey oldu en azından artık derslere girmemiz gerektiği ve not tutmamız gerektiği.Siz siz olun not tutun yoksa sınavda ben bunu biliyordum ama notum yoktu diyip ağlıyorsunuz.Bugünlük benden bu kadar hadi kalın sağlıcakla.

    2 Kasım 2016 Çarşamba

    Şarkı Sözü Nasıl Yazılır ?

    Şarkı Sözü Yazmak
        Şarkı sözü yazmak kendince ağır birşeydir.Genel manada şiir yazanların çok güzel
    şarkı yazabileceği düşünülür.Evet, sonuç olarak güzel şiir yazanlar duyguları küçük sözcüklerin arasına çok rahat sıkıştırabilmekte.Fakat şiir yazabilmek şarkı yazabilmek için yeterli değil.Şiir müzikle birleşmeyen bağımsız birşey olduğu için istenildiği gibi hece ölçüsüne uygun yazılabilmekte.Gelgelelim şarkıda bu şekilde değil.Her istediğin sözcüğü şarkının içerisinde kullanamamaktasın.Bu sözcüklerin kendileri arasında bir bağlantısı olduğu gibi aynı zamanda müzikle ilgisi olmalıdır.Dediğim gibi her sözcük bestelenecek şekil de değildir.

        Ben genellikle şarkı yazarken oturup birşeyler karalayayım şeklinde yazmıyorum.İlk önce gitarımı elime alıyorum.Başlıyorum yavaştan çalmaya o sırada vücudumdaki duygular dışarı çıkmak istercesine ağzımı hareket ettiriyor ve bir şekilde birşeyler söylemeye başlıyorum.Genel manada o an yazmak istediğim şeyleri düşünüyorum.Bir buluşmaysa o günü düşünüyorum neler yapıldığını, nasıl hissettirdiğini, nerelere gidildiğini veya bir ayrılıksa günün nasıl bittiğini, neler düşündürdüğünü düşünüyorum.Gitar güzel bir ritmi yakaladıysa ve mırıldandıklarım uyuştuğunu düşünüyorsam sürekli aynı sözcüklerle devam ediyorum taki nakarat çıkana kadar yada gerçekten söylediğim şeyden tatmin olana kadar.Genelde önce nakarat bitiyor.Sonrası yavaş yavaş insanlara neresi daha iyi neresi kötü, uygun hissedilmeyen yerleri soruyorum.Çıkarılmalar yapılıyor ve eklemeler yapılıyor.Bu şekilde şarkı yazıyorum.Bence yapılması gereken budur.Çünkü müzik ve şarkıyı ayrı ayrı yazdığında düzenlemesinde sıkıntı çıkabiliyor ve bence söz üzerine beste yapmak ikisini birlikte yapmaktan daha zor.

        Kendi yazdığım bestelediğim şarkıyı örnek olarak bırakayım buraya.



       Bu da sadece başkasının yazdığı benim besteleyip söylediğim şarkı.


    Sizce hangisi daha iyi?Çekinmeden yorum yazabilirsiniz.İyi günler...

    22 Eylül 2012 Cumartesi

    Neden hala çok uyuyoruz?

        Her gün yaklaşık 8 saat uyuyoruz.(Ben hariç)Şu bir kaç yıl öncesine kadar herkes en iyi uykunun 8 saat olduğunu sanıyordu.Bilim adamları bile.Şimdi ise bizlere daha az uyumalıyız dendi.Fakat bu söylenilenlere kaç kişi uydu?

        Ben söyliyeyim.Aklını başına alanlar.Bu da az kişi demek oluyor.Atık sizlerin insanların daha az uyuması gerek daha çok çalışmalıyız.Kendimiz için...Hayat için...Yoksa bir bakmışsınız ölmüşüz.

    17 Eylül 2012 Pazartesi

    jQuery 1.Dersi

    Söylediğim gibi arkadaşlar sizler için dersler çekmeye başladım.Çok iyi değilim biliyorum.Fakat sizlere küçük eklentiler yazdırabilecek kadar bilgim var.Sitelerinizi daha dinamik bir hale getireceğiz el birliğiyle.İlk dersim vatana millete hayırlı olsun.


    15 Eylül 2012 Cumartesi

    Merhaba Dünya!

    Merhaba arkadaşlar bu benim ilk yazım aslında hala blogu neden kurduğum hakkında bir fikrim yok....Ama belki içimde kopan fırtınaları size anlatmak.Belkide bu fırtınalardan sonra bir ders çekip hep birlikte izlemek...Bilemiyorum...

    Sanırım anladım büyük ihtimalle artık kendimin bir şey olduğunu kendime kanıtlamak için böyle bir işe kalkışıyorum...Ama bu sizin yararınıza olur umarım dediğim gibi düşündüğüm şeylere göre sizlere öğretmek istediklerim var...

    Bu jQuery olur.Html olur.Css olur.Farketmez her türlü şeyi öğretmeye hazır olacağım.Şimdilik benden bu kadar.Belki kimse ilk yazıyı okumaz ama yinede yazayım dedim.Kedinize iyi bakın.....