/ DERS NOTLARI
  1. Ders Notları
  2. C# Algoritma ve Programlamaya Giriş 2. Hafta

C# Algoritma ve Programlamaya Giriş 2. Hafta

Değişkenler

Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder.Tanımlanan her değişkene bilgisayarın bellek bölgesinde veri tipine göre bir alan ayrılır.Bellek bölgesine okuma ve yazma işlemleri ise değişken ismi üzerinden sağlanır.C# dilinde genel olarak değişken tanımlama işlemi aşağıdaki gibi yapılmaktadır. <veri türü> <değişken adı>

Değer atama işlemi için kullanılan operatörler

  • =
  • +=
  • -=
  • *=
  • /=

Değişken tanımlanırken değer atama işlemi yapılabilir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            int a = 20;

        }
    }
}

Yukarıdaki örnek ile değişken tanımlanırken bellekteki değer 20 olarak atanıyor.Değişken tanımlandıktan sonra program içerisinde herhangi bir satırda değer atama işlemi yapılabilir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            int a;
            a = 20;

        }
    }
}

Yukarıdaki örnek de ilk satırda değişken tanımlandıktan sonra ikinci satırda değişkene değer atanıyor.Virgül kullanılarak tek bir veri türü altında ve aynı satır içerisinde birden fazla değişken tanımlanabilir.

Örneğin aşağıdaki tanımlamada a, b, c değişkenleri integer türündedir.

1
int a, b, c;

Dikkat!!! C# dilinde bir değişkene değer atamadan onu kullanamayız. Böyle bir durumda derleme işlemi sırasında hata mesajı alırız. Bu nedenle dikkatli olmalı ve programımızda hata almamak için kullanılan değişkene değer ataması yaptığımızdan emin olmalıyız.Bu kural referans tipleri için de, değer tipleri için de geçerlidir.Örnek: aşağıdaki kod derlendiğinde hata alınacaktır!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            int a;
            Console.WriteLine(a);
            Console.ReadKey();

        }
    }
}

Dikkat!!! C# dilinde programlar açılan “{“ ve kapanan “}” parantezler içerisine yazılır.Bu açılan ve kapanan parantezler arasındaki alana blok denir.Tanımlanan yerel değişkenler sadece tanımlandıkları blok içerisinde erişilebilir.

1
2
3
4
5
6
{
    int a=10;
}
{
    Console.WriteLine(a);
}

Yukarıdaki örnekte birinci blokta tanımlanan a değişkeni sadece kendi bloğu içerisinde geçerlidir.Bir alt blokta a değişkeni tanımlı değildir bu nedenle program derlendiği zaman hata verecektir.

Değişken İsimlendirme Kuralları

  • Değişkenlerin isimleri alfabede bulunan karakterlerle ve ya _(alt çizgi) ile başlamalıdır.
  • Değişken isimleri 1, 2, 3 gibi nümerik bir karakter ile başlayamaz ama ilk karakterden sonra kullanılabilir.
  • Değişken isimleri arasında boşluk bırakılmaz. Birden fazla kelimeden oluşan bir değişken ismi kullanılacaksa ya birleşik yazılmalı yada _(alt çizgi) kullanılmalıdır.
  • Değişken isimleri ?, !, {, ] gibi karakterler içeremez.
  • Bazı programlama dilleri büyük küçük harf duyarlıdır. C# da büyük-küçük harf duyarlılığı bulunmaktadır. Büyük harf ve küçük harf ayrı algılanır. Yani sayı, Sayı ve SAYI alarak tanımlanan üç değişkende birbirinden farklıdır.
  • Programlama dili için kullanılmış anahtar kelimeler değişken ismi olarak kullanılamaz.
  • int int=10 (yanlış)

Veri Tipleri

  • Bilgisayarın hafızasında kapladıkları alan ve onlarla yapılacak işlemler birbirinden farklıdır.
  • C# dilinde ve diğer dillerde de önceden tanımlanmış veri saklamak için kullanılan birtakım veri türleri vardır.
  • Veri türlerinin önceden tanımlanmış olması ve bizim bu veri türlerini kullanarak değişken tanımlamamız bilgisayarın belleğini daha optimum kullanmamız ve bu değişkenlerle ne tür işlemlerin yapılabileceğini bilgisayarın bilmesi açısından önemlidir.

Değer Tipleri

  • sbyte: 8 bit işaretli tam sayı. -128 … 127
  • int: 32 bit işaretli tam sayı. -2.147.483.648 … 2.147.483.647
  • Double: 64 bit çift kayan sayı.
  • Bool: mantıksal ifade. True ya da False.
  • Char: karakteri temsil eder.
  • Ve diğerleri…

Referans Tipleri

  • String: Unicode karakterlerinden oluşan metin.
  • Veri tipleri, Referans tipleri ile değer tipleri olarak iki başlıkta incelenmektedir. Referans tipleri ile değer tipleri arasındaki temel fark;
  • Bellekte farklı bölgelerde tutulmalarıdır.

Sabitler

  • Program boyunca değerinin değişmeyeceğini düşündüğümüz veriler için kullanılan tanımlamadır.
  • Sabit bir veri tanımlamak için tanımlama satırında const anahtar kelimesi kullanılır.
  • Const olarak tanımlanmış değişkenlerin en büyük özelliği program içerisinde değiştirilememesi ve sabitin ana bellekte tutulacağı veri tipine yetecek kadar bir alan ayrılmasıdır.7
  • Sabitler tanımlanırken ilk değer atamasının yapılması zorunludur.

C# dilinde sabit tanımlama işlemi aşağıdaki şekilde yapılmaktadır. const <veri tipi> <değişken ad>

Algoritma Nedir?

Algoritma matematikte ve bilgisayar bilimlerinde kullanılan problem çözümünde uygulanacak işlemlerin maddeler halinde ya da şekiller yardımıyla sırası ile ifade edilmesidir.Algoritma ile bir problemin çözümü için yapılması gereken işlemler, gereken sırada, adım adım ve basit deyimlerle yazılır.Algoritma tasarlanırken öncelikle çözülecek probleme hakim olunmalı ve ihtiyaç duyulan tüm unsurları düşünerek en verimli çözümün elde edilmesine odaklanılmalıdır.Bir yere giderken kullanabileceğimiz iki farklı yol olabilir. Bu durumda en mantıklısı kısa ve kolay ulaşılabilir olan yolu seçmektir. Aynı durum algoritma içinde geçerlidir.Bir durumu çözebilen iki farklı algoritma olabilir. Bu durumda daha hızlı ve verimli çalışan algoritma tercih edilmelidir.

Günlük Hayattan Algoritma Örnekleri

Nescafe yapılışının algoritmik adımları?

  1. Algoritma tasarımına geçmeden önce ihtiyaçlarımızı düşünelim. İhtiyaçlar:
  2. Kettle
  3. Su
  4. Bardak
  5. Nescafe

Algoritma tasarım aşamasına geçelim;

  • Adım 1: Kettle’a su koy
  • Adım 2: Kettle’ı prize tak
  • Adım 3: Kaynayınca prizden çek
  • Adım 4: Suyu bardağa koy
  • Adım 5: Nescafe’yi bardağa koy
  • Adım 6: Karıştır.

Algoritmaların ifade edilmesinde;

  • akış diyagramları ya da
  • sözde kod adı verilen araçlar kullanılır.

Sözde Kod

Algoritmalar oluşturulurken ve aktarılırken kullanılan, günlük konuşma diline benzer bir anlatımdır.Sözde kod, program gibi derlenmez ve işlenmez.Her programcı kendi sözde kodunu geliştirebilir fakat bu sözde kodun diğer yazılımcılar tarafından da anlaşılır olması gerekir.

Örnek : İki sayıyı toplamak için kullanılan sözde kod:

  • Adım 1: Basla
  • Adım 2: Birinci sayıyı gir
  • Adım 3: İkinci sayısı gir
  • Adım 4: İki sayıyı topla
  • Adım 5: Toplam değeri yaz
  • Adım 6: Bitir.