/i/Yazılım

Umuyoruz ki geleceğin yazılımcıları bu altinciden çıkacak!
    başlık yok! burası bom boş!
  1. 26.
    0
    up up up
    ···
  2. 27.
    +1

    degiskenler (variables)


    degiskenler, bizim programin icinde kullandigimiz her turlu deger veya mantigi temsil edebilirler.

    var a = 3; //sayi (integer) olabilirler
    var b = "3"; //yazi (string) olabilirler
    var c = true; //bir hukmun dogru veya yanlis oldugunu belirleyebilirler

    sizin de daha kolay deneyebilmeniz icin javascript ile devam edecegim. javascript de diger diller gibi programciligin temel prensiplerini icinde barindirir. simdi f12 ye basip console yazan kisma su kodlari yazin (her satirdan sonra enter'a basin);

    var a = 3;
    var b = "3";
    a+a;

    console size 6 degerini verecektir. simdi diger degiskene bakalim.

    b+b;

    burada ise console size 33 degerini verecektir. bunun sebebi iki degiskenin tipinin ayri olmasidir. degisken a bir sayi oldugu icin onunla matematiksel islemleri yapabilirsiniz ama b degerinin cevresindeki " ler sayesinde bir yazi oldugu icin bilgisayar sadece iki yaziyi yanyana getirecektir ve size yine " ile cevrelenmis sekilde "33" degerini verecektir.
    ···
  3. 28.
    0
    Hiim karigibk
    ···
  4. 29.
    0
    Rez devam et iyi gidiyor
    ···
  5. 30.
    0
    isler yogun oldugu icin fazla yazamiyorum ama giderek daha derinlere inicem.

    simdi degiskenleri onceki bolumde bazen anlattik. degiskenlerin bir ismi var, bir tipi var bir de degeri. mesela aliyi degisken olarak dusunurseniz adi ali, tipi insan ve degeri de kendisidir. degiskenlerin degerini ve bazi dillerde tipini degistirebilir, sonra onu baska bir isime de kopyalayabilirsiniz. soyle bakalim, yine aciyoruz f12 ile console u ve her satiri yazip entera basiyoruz.

    var a = "inci";
    var b = a;
    b;

    burada gordugunuz gibi son satirda b bize a'nin degerini verdi, cunku biz b nin a ya esit oldugunu soyledik ama oyle kalmak zorunda degil. tekrar acalim console lari;

    var a = "inci";
    var b = a;
    b;
    b = 3;
    b;
    a;

    gordugunuz gibi ilk olusturdugumuzda degeri a ya esit olan b nin degerini degistirdik ama a nin degeri ayni kaldi. istesek onu da degistirebilirdik.
    ···
  6. 31.
    0
    degiskenlerden devam edelim. yukarda verdigim orneklere biraz aciklama getirmek istiyorum. yukaridaki orneklerde "var" kelimesini kullandik, bunun sebebi sudur. bir degiskenin degerini atamadan once olusturmamiz lazim. bunu da kullandigimiz dil javascript oldugu icin var ile yapiyoruz. daha sonra da ilk degerini veriyoruz. istersek once degiskeni olusturup sonra degerini de verebiliriz. acalim console u f12 ile;

    var a;
    a = "foo";
    a;

    gordugunuz gibi a nin degeri olusturulduktan sonra belirlendi. degiskeni var ile olusturmadan deger atarsak hata verir. bu var def vs gibi baska dillerde baska kelimeler ile olusturulabilir ama temel mantigi aynidir.

    degiskenlerin degerini atarken mutlaka kendimiz belirlemek zorunda degiliz. bu degeri bilgisayara da hesaplatabiliriz ki ilerde genelde bu degerleri bilgisayar hesaplayacak. bu arada a ve b degiskenleri hala hafizada saklandigi icin, yeni isimler verelim. acalim f12 ile console lari:

    var c = 3;
    var d = c+1;
    d;
    c = c-1;
    c;
    d;

    gordugunuz gibi d nin degeri 4 olarak belirlendi ve daha sonra yaptigimiz islemle c nin degeri 2 oldu. su onemli noktayi unutmayalim, d nin degerini atarken c yi kullandik, daha sonra c nin degerini degistirdik fakat d nin degeri degismedi. cunku degiskenin degeri atandigi anda hesaplandi. eger d nin degerinin her zaman c nin degerinden bir fazla olmasini istersek bunun icin degeri bir mantik tanimlayarak atamaliyiz. bu is icin de fonksiyonlari kullanmamiz gerekir. simdi ayni ornegi basit bir fonksiyonla yapicam, yarin da fonksiyonlar konusuna giricez. acalim simdi console u f12 ile:

    var e = 5;
    function yeniDeger(deger){
    return deger+1;
    }
    var f = yeniDeger(e);
    f;
    e = e-1;
    f;

    e nin degeri basta 5 olarak atandi ama f nin degerini bir mantik belirleyerek atadik. dogal olarak f nin degerini her istedigimizde bilgisayar f nin degerini yeniden hesaplayacaktir. o yuzden f nin degeri once 6 e nin degeri 5 ken e nin degerini bir eksiltip f yi tekrar istedigimizde f nin degeri de bir eksilip 5 oldu. simdi bir sonraki bolumde fonksiyonlari anlaticam. simdi kullandigim function(deger) kismina kafa yormayin. hepsini anlaticam.
    ···
  7. 32.
    0
    reserved. güzel anlatım
    ···
  8. 33.
    0
    Rezervasyon
    ···
  9. 34.
    0
    rezervasyon
    ···
  10. 35.
    0
    bilgisayara komut verdiğin dili bilgisayar nerden biliyor. o dili de mi programlamayla öğretiyorlar.
    ···
    1. 1.
      0
      guzel bir soru. direk bilgisayarin islemcisi uzerinde calisan diller vardir. mesela MASM, assembly, machine code. bunlara low level programming languages denir. bizim kullandigimiz diller sonucta yazdigimiz kodu islemcinin okuyabildigi dile cevirir. ayrica islemler tamamen byte degerleri uzerinden gerceklesir. yani yazi da olsa, rakam da olsa boolean (true false) da olsa islemcide hepsi byte olarak okunur yazilir.
      ···
      1. 1.
        0
        güzel cevap, teşekkürler. yazılımı hiç bilmeyen biri için hangi kaynağı önerirsin. kitap ya da site olabilir. ama hiç bir şey bilmiyor.
        ···
      2. 2.
        0
        google playda bi uygulama vardı c# öğreten
        ···
  11. 36.
    0
    reserve
    ···
  12. 37.
    0
    hocam çok iyi devam et
    ···
  13. 38.
    0
    =

    functions (fonksiyonlar)


    evet simdi fonksiyonlara bir giris yapalim. fonksiyonlar mantiksal parcalari tanimlar. javascriptte fonksiyonlari tanimlamak icin iki yontem vardir. tipki degiskenler gibi tanimlandiktan sonra hafizada kalirlar ve ihtiyaciniz oldugu zaman kullanirsiniz. tipki degiskeni tanimlamak icin var kelimesini kullandigimiz gibi, fonksiyonu tanimlamak icin de function kelimesini kullaniriz. acalim simdi f12 ile consolu. artik fonksiyonlara gectigimiz icin console u cok satirli haline getirirsek daha rahat olur. aslinda fonksiyon tek satirda da yazilabilir ama okunabilirlik acisindan cok satirli olmasi daha rahattir. evet console a iki ayri yontemle iki fonksiyon tanimlayalim ve calistiralim.

    function kopek(){
    alert("hav");
    }

    var kedi = function(){
    alert("miyav");
    }

    kopek();
    kedi();

    birincisinde fonksiyona isim vererek tanimladik, ikincisinde de fonksiyonu kedi degiskenine deger olarak atadik. degiskenlere fonksiyonu bir deger olarak atayabildigimizi daha once anlatmistik. gordugunuz gibi iki fonksiyon da calisti, kopek fonksiyonu hav dedi, kedi fonksiyonu da miyav dedi. aslinda kopek'de fonksiyonu dogal haliyle tanimladik, kedi fonksiyonunda da anonymous denen sekilde

    bu arada onemli biseye degineyim tekrar "yazi" eger bir yaziyi " isaretleri ile cevrelerseniz, bilgisayar onun bir yazi oldugunu anlar. eger cevrelemezseniz onun bir degisken oldugunu zanneder ve o degisken tanimli olmadigi icin hata verir. gordugunuz gibi bir fonksiyon su parcalardan olusur;
    ···
  14. 39.
    0
    hay amk boyle isin yazdigimin beste biri cikti, gerisi kesilmis. yarin devam ediyoruz gencler bu amk sitesini boyle abidik gubidik yazan arkadas da takip etsin bu yazi dizisini.
    ···
  15. 40.
    0
    Bu adam bu isi biliyor
    ···
  16. 41.
    0
    o marka sütten yoksa diğerini aldırmak için if else kullan abi
    ···
  17. 42.
    0
    Rezerved okunur
    ···
  18. 43.
    0
    function selamVer(isim){
    alert("selam "+isim);
    };

    function: fonksiyonu olusturmak icin kullaniyoruz
    selamVer: fonksiyonun ismi
    (): fonksiyonda kullanilan parametrelerin virgulle ayrilarak kondugu bolum
    {}: fonksiyonun calistirmasi gereken mantigi tanimladigimiz bolum

    fonksiyon tanimlandiktan sonra (); kullanarak o fonksiyonu tekrar tekrar calistirabiliriz;

    function inci(){
    alert("inci");
    };

    inci();

    bu sekilde tanimladigimiz programlari calistiriyoruz.

    fonksiyonlar programciligin en onemli temelidir, hatta bir program ic ice gecmis fonksiyonlardan olusur bile diyebiliriz. ayrica karmagib bir fonksiyonu daha ufak fonksiyonlara ayirip birbirinin icinde de kullanabiliriz. simdi acalim yine console lari ve su satirlari yazalim;

    function cik(){
    alert("cik cik");
    }

    function kus(){
    cik();
    }
    kus();

    burada cik isimli fonksiyonu kus isimlli fonksiyonun icinde cagirdik. daha onceki bolumde bir degiskenin degerini return sozcugunu kullanarak fonksiyonla atamistik. fonksiyonlar bir islem, bir mantigi calistirdigi gibi bazi degerleri de geri verebilirler ayni zamanda degiskenlerin degerini de degistirebilir. ama degiskenlerin degeri de bir fonksiyon olabilir. simdi her ikisine de bakalim. acin bakim console u f12 ile;

    function sesVer(){
    return "do";
    }
    var x = sesVer();
    console.log(x);

    gordugunuz gibi fonksiyonun verdigi degeri bir degiskene atadik yani degiskenin degerini simdi return kullanmadan ayni isi yapalim. dikkat edin, islem yapacagimiz degiskeni fonksiyondan once tanimlamamiz lazim. aciyoruz consolelari:

    var x = "re";
    function degistir(){
    x = "mi";
    }

    console.log(x);

    spora gidiyorum, donuste devam edelim gencler. bugun fonksiyonlar konusunu iyibi isleyelim, temelimiz saglam olsun ondan sonra if else while for gibi statement lere giricez.
    ···
  19. 44.
    0
    fonksiyonlara devam edelim.

    bir degisken fonksiyonun geri verdigi degere de esit olabilir fonksiyonun kendisine de. bunu daha once anlatmistim ama bir kere de pratikte uygulayalim. acin abicim console lari;

    function horoz(){
    return "u uru uuu";
    }
    var a = horoz();
    var b = horoz;

    console.log(typeof a);
    console.log(typeof b);

    console.log(a);
    console.log(b());

    ikisi de u uru uuuu degerini yazdirdi console a ama dikkat ederseniz ilk ornekte horoz fonksiyonunu calistirdik ve degerini a degiskenine atadik. ikinci ornekte ise fonksiyonun kendisini b degiskenine deger olarak atadik. dogal olarak birinci degiskeni yazdirinca fonksiyonun verdigi degeri yazdirdi ama b degiskeni fonksiyonun kendisine esit oldugu icin yazdirmadan once calistirmamiz gerekti. iki degiskenin d tipini yazdirdigimizda birinin tipinin yazi yani string digerinin tipinin ise function yani fonksiyon oldugunu gorduk. typeof bir degiskenin tipini gosterir ve javascriptte tanimlanmamis degiskenlerde bile hata vermez, sadece tanimlanmadigini belirtir. o yuzden bir degiskenin tanimli olup olmadigini test etmek icin uygundur.

    tekrar edelim, bir fonksiyonu tanimladiktan sonra calistirmak icin ismini yazdiktan sonra (); parantezleri kullanmamiz gerekiyor. simdi size bu parantezlerinislevlerini anlatayim.

    bildiginiz uzere fonksiyonlar bir mantigin tanimlanmasina yarar. bu mantigi calistirirken tanimli olan degerleri kullanabildigi gibi, bu parantezlerin icinde verilen degerleri kullanarak da bu mantigi calistirabilir. simdi bunu bi ornekle gorelim ve yasinizi hesaplayan bir fonksiyon yazalim. acin bakim console lari cocuklar;

    function kacyasindasin(dogumyili){
    return (2017-dogumyili);
    }

    var yasim = kacyasindasin(1979);
    console.log(yasim);

    var liselininyasi = kacyasindasin(2004);
    console.log(liselininyasi);

    gordugunuz gibi tanimladigimiz fonksiyon kendisine verilen degere gore tanimladigimiz mantigi calistiriyor ve verdigimiz parametreye (dogumyili) gore bize bir deger veriyor. fonksiyonlar sinirsiz sayida parametreyi kabul edebilir ve tanimladiginiz mantigi bu parametreye gore uygular. bunun sonucunda size return ile bir deger verebildigi gibi sadece bi islem de yapabilir (ornegin yasinizi hesaplayip veritabanina yazar ama size bisey vermez).
    ···