Temel Programlama Algoritmaları(Programming Algorithm Fundamentals) #01 - Değişkenler(Variables)

in #utopian-io7 years ago (edited)

Programlamanın temelinde bazı standart prensipler vardır ve hangi programlama diline bakarsanız bakın bu temel prensipleri görürsünüz. Programlama dillerinde profesyonel manada farklı tasarım kalıpları (design pattern) olsada yine bu tasarım kalıpları içerisinde programlar aynı prensiplerle çalışırlar. Programlama dilleri arasındaki diğer bir fark ise söz dizimidir (syntax) temel programlama prensiplerine iyi hakim olabilir ve algoritma kurmayı öğrenirseniz herhangi bir dili çok kısa zamanda öğrenebilir ve kullanabilir hale gelirsiniz.

Bütün konuları bir iş yeri öreneği üzerinden anlatmaya çalışacağım. Faydalı olması dileği ile. :)

Bir iş yeri kurmayı planladığımızı düşünelim. Öncelikle yapacağımız şey neye ihtiyacımız olduğunu düşünmek olurdu sanırım. Mesela şöyle ihtiyaçlarımız olsun:

para
mekan
izin
2 büro elemanı
2 araç
İlk ihtiyaçlarımızı tanımladık. Aslında bunlar için kafamızda yerler açtık ve bunları ilerleyen zamanda kullanacağız. Şimdi kafamızda oluşturduğumuz bu ihtiyaçlar var fakat şimdilik sadece elimizde ne kadar para olduğunu bilebiliriz. O zaman karşılığını düşünüp aklımıza ne kadar paramız olduğunu yazalım.

30000 lira param var.
Şimdi bu yaptığımız işlemi programlama dillerindeki mantıkla eşleştirelim. Kurmak istediğimiz iş yeri, kodlamak istediğimiz yazılım. İhtiyaç listemizdeki her bir eleman yazılımımızda kullanacağımız "değişkenler". Ve son olarak hafızamız yerinede programımızı çalıştıran bilgisayarlar geçiyor.

Şu an size ne kadar para vardı dersem 30000 lira cevabını verirsiniz çünkü bunu aklınıza yazdınız ve ne zaman ihtiyaç duyarsam para dediğimde bu bilgiyi bana getirebilirsiniz. Bilgisayarlarda aynı bu şekilde oluşturduğumuz değişkenleri hafızalarına yazarlar ve ne zaman istersek istediğimiz bilginin karşılığını bize verirler. Fakat bilgisayarlar tuttukları verilerin tiplerinide yanlarında tutarlar örneğin para değişkenini sayı tipinde hafızasında tutar. Yaygın olarak programlama dillerinde şu tipte değişkenler olur:

Tam sayılar (integer)
Ondalık sayılar (float)
Yazılar (string)
Mantıksal (boolean)
Diziler (array)
Sözlükler (dictionary)
Programlama dillerini öğrenirken bu değişkenleri o dil için nasıl kullanacağınızı öğrenmek için örneğin şu şekilde google da arayabilirsiniz (ingilizce aramalarda daha çok kaynağa erişebilirsiniz):

Programlama Dili Adı + Değişken Tipi + kullanımı/usage
C# integer kullanımı/usage
Değişkenlerin hepsi programlama dillerinde bir isim ile tutulur bu isimler ingilizce karakterlerle yazılır. Şimdi bu değişken tiplerine örnekler verelim:
// tam sayılar (integer) tamSayi = 1000 tam_sayi = 2000 para = 30000 // ondalık sayılar (float) ondalikSayi = 564655.4 ondalik_sayi = 0.46548 // yazılar (string) // yazılar mutlaka tırnak işaretleri içerisinde yazılır // yazıların içerikleri türkçe karakterler içerebilir fakat farklı yazılım dillerinde türkçe karakterler için ön tanımlamalar yapmanız gerekebilir yaziTipi = "Merhaba Dünya" yazi_tipi = 'Yazılım Öğreniyorum' mekan = "Pazartesi Mahallesi Salı Sokak 13/1" // mantıksal (boolean) // mantıksal tip sadece iki değer alır bunlar true(doğru) ve false(yanlış)'tur. mantiksalTip = true mantiksalTip = false izin = false // diziler (array) // diziler yaygın olarak köşeli parantezler ile tanımlanırlar // içindeki elemanlar virgül ile ayrılır // içlerinde diğer değişken tiplerini barındırabilirler hatta dizi içerisinde başka diziler bile tanımlayabilirsiniz. diziTip = ["ali", "veli", 112, 54.1, [49, 50.8, "kamil"]] dizi_tip = ["ali", "veli", 112, 54.1, [49, 50.8, "kamil"]] buroElemanlari = ["Ali", "Veli"] //dizi elemanlarını bilgisayarlar 0 dan başlayarak sayılarla tutar ve şu şekilde erişilir. diziTip[0] elemanını sorgularsak bilgisayar bize şu cevabı verecektir. => "ali" dizi_tip[3] => 54.1 diziTip[4] => [49, 50.8, "kamil"] dizi_tip[4][2] => "kamil" //sözlükler (dictionary) // genelde kıvırcık parantez ile tanımlanırlar // içindeki elemanlar virgül ile ayrılır // bir anahtar kelime(key) ve buna karşılık bir değerden (value) oluşur // anahtar kelime ve değer arasında iki nokta üstüste kullanılır // key yine türkçe karakter içermemelidir sozlukTip = { "adi":"Ali", "soyadi":"Kamil", "yas":25 } sozluk_tip = { "adi":"Ali", "soyadi":"Kamil", "yas":25 } araclar = { "binek":"Mercedes S-Class", "pickup":"Mitsibushi L200" } //sözlük elemanlarına anahtar kelimeler ile erişilir iki türlü erişim yöntemi vardır programlama dillerine göre değişiklik gösterebilir //1. kullanım sozlukTip["adi"] => "Ali" sozlukTip["yas"] => 25 //2. kullanım sozlukTip.adi => "Ali" sozlukTip.yas => 25 Değişkenlerin genel olarak kullanımları bu şekildedir öğreneceğiniz yazılım dili için yukardaki örnekteki gibi arama yaparsanız söz dizimi(syntax) farklılıkları olsada bu şekilde bir kullanım görürsünüz. Örneklerimizde iş yeri fikrimizdeki değişkenlerimizinde değişkenlerini oluşturmuş olduk. -Temel Programlama Algoritmaları(Programming Algorithm Fundamentals) #Giriş(Introduction) GitHub: Temel Programlama Algoritmaları Posted on Utopian.io - Rewarding Open Source Contributors



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Hello,

Thanks for the contribution and welcome to Utopian.

We cannot accept it with the current rule set.

Reasons of rejection

  • Your post lacks original format. We expect good formatting here. Support your content with images and screenshots. For example, if you're talking about the objects in object oriented programming, you may visualize objects with simple diagrams. Also, you can improve the formatting by using the markdown better. If you need to list items, you should use bulleted or numbered lists. Here is a guide about using markdown.

  • With all my respect, content here is not enough to be featured on Utopian. I suggest you follow, "introduction-body-conclusion" structure better in your posts. You go into details with an example of modeling a Company. However, readers lose the focus to variable types and we don't hear about the company after that. At the end of the post, I -as a reader- should want to know, how we modeled the Company structure and how can I expand it into more functionality? What should I do if I hire a new employee? What should I do if I sell one the company cars? etc.

If you want to contribute via blog posts, I highly suggest you should have a look to accepted blog posts in the past and their content/format.

Thanks.

You can contact us on Discord.
[utopian-moderator]

Hey @emrebeyler, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!