400 likes | 613 Views
Programlama (Hatırlamalar). Yard . Doç.Dr . Cihad DEMİRLİ Sunu İçeriği Kaynağı: Vatansever, F. (2010). Algoritma Geliştirme ve Programlamaya Giriş, (7. Baskı), Seçkin Yayıncılık, Ankara. Program nedir?.
E N D
Programlama(Hatırlamalar) Yard.Doç.Dr. Cihad DEMİRLİ Sunu İçeriği Kaynağı: Vatansever, F. (2010). Algoritma Geliştirme ve Programlamaya Giriş, (7. Baskı), Seçkin Yayıncılık, Ankara
Program nedir? • İşlenecek değerler ve kullanılacak çözüm yöntemleri; bilgisayara, insan tarafından program ile bildirilir. • İnsanla bilgisayar arasındaki iletişim aracıdır.
Bilgisayar Program İnsan Veri Sonuç Program nedir? Program; giriş değerlerini kullanarak istenilen çıkış değerlerinin elde edilebilmesi için bilgisayara iletilen komutlar dizisidir.
İşlemler • Programlar ile gerçekleştirilen işlemler üç gruba ayrılır: • Matematiksel (aritmetik) işlemler • Karşılaştırma (karar) işlemler • Mantıksal (lojik) işlemler
Karşılaştırma İşlemleri • Matematiksel işlemlerin yanı sıra karar modelleri de söz konusudur. • Bu nedenle kararlara ilişkin bazı operatörler kullanılmaktadır.
Mantıksal İşlemler • Aritmetik ve karşılaştırma işlemlerinin sonuçlarını alabilen bilgisayar, temel mantık işlemlerini de yerine getirebilir. • Bunlar; VE, VEYA, DEĞİL
Program Yazma Adımları • İş/problem iyice irdelenir. • Programlamaya en uygun (en az komutla, en kısa sürede, en doğru-hassas sonuç) çözüm yolu seçilir/belirlenir. • Programın algoritması hazırlanır veya akış diyagramı çizilir. • Algoritma veya akış diyagramı, programcının bildiği veya tercih ettiği bir programlama diliyle kodlanarak program oluşturulur.
Algoritma ve Akış Diyagramı • Algoritma, bilgisayardaki bir işlemin/işlemlerin gerçekleştirilmesinde izlenecek adımlar dizisine denir. • Algoritmanın özel geometrik şekillerle çizilmiş hali de “akış diyagramı” olarak adlandırılır.
Algoritma (Ardışık Çarpma Örnek) Klavyeden girilen N sayısının faktöriyelini hesaplayan programın algoritmasını yazınız. • Başla • N sayısını gir • Faktoriyel=1 • S=0 • Eğer S>N-1 ise git 9 • S=S+1 • Faktoriyel=Faktoriyel*S • Git 5 • Yaz Fak • Dur
Akış Diyagramı Kullanılan Şekiller Başla / Dur Başla ve Dur işaretleri standarttır. İşlemler bu iki şekil arasında açıklanır. Başla Dur
Akış Diyagramı Kullanılan Şekiller Veri girişi Dışarıdan veri girişini temsil eder. Şeklin içine klavyeden girilecek değerin aktarılacağı değişken(ler)in ismi yazılır. Birden fazla değişken ismi girilmesi istendiğinde değişkenler virgül ile ayrıştırılır (örn. A,B,C) Veri
Akış Diyagramı Kullanılan Şekiller İşlem Programın çalışması sırasında yapılacak işlemler yazılır. İşlem cümleleri şekil içerisine aynen yazılır. Birden fazla işlem aralarına virgül konarak yazılabilir. İşlem
Akış Diyagramı Kullanılan Şekiller Döngü Döngü değişkeni= başlangıç değeri, bitiş değeri, adım Belirli işlem bloklarının ardışık değerlerle ve bazı koşullar sağlayıncaya kadar tekrarlanması için kullanılır. i=1,N,1 İşlem
Akış Diyagramı Kullanılan Şekiller Döngü (Artan) Başlangıç değeri, bitiş değerinden küçüktür ve adım değeri (+) pozitiftir. I = 1,20,3
Akış Diyagramı Kullanılan Şekiller Döngü (Azalan) Başlangıç değeri, bitiş değerinden büyüktür ve adım değeri (-) negatiftir. j = 30,4,-2
Akış Diyagramı Kullanılan Şekiller Döngü (İç içe) İç döngü i=1,N,1 j=1,N,1 İşlem Dış döngü
Akış Diyagramı Kullanılan Şekiller Karar (Karşılaştırma) arar verme (kontrol etme, karşılaştırma yapma) işlemlerini temsil eder. Koşul Koşul E İşlem 1 H İşlem 2
Akış Diyagramı Kullanılan Şekiller Yazdır/Çıktı Ekrana veya yazıcıya bilgi/veri yazdırmak için kullanılır. Yazdır
Akış Diyagramı Kullanılan Şekiller Bağlantı Farklı yerlere dallanan işlem akışlarını toplamak Akış diyagramı bir sayfaya sığdırılamadığında diğer sayfadaki akış diyagramı ile bağlantı kurmak Parça parça çizilen akış diyagramları arasında bağlantı yapmak
Akış Diyagramı Kullanılan Şekiller İşlem akış yönleri İşlem akışının hangi yönde olduğunu göstermek amacıyla kullanılırlar.
Akış Diyagramı Bir Örnek Başla T=0 I=1,2,1 T=5 J=1,3,1 T=T+I*J T Dur
Algoritma/Akış diyagramı Avantajları • Program yazmayı kolaylaştırır. • Hatalı kodlama oranını azaltır. • Program yazımı için geçen süreyi kısaltır. • İşlem akışını bir şekilde gösterdiğinden program kontrolünü kolaylaştırır. • Sonradan yapılacak düzenlemelerde kolaylıklar sağlar.
Sayısal veriler • Sayısal ağırlığı (değeri) olan verilerdir. • 10 veya 16 tabanında ya da üstel biçimde aktarılabilir. • Sayının hangi tabanda olduğunu belirtmek için sayının önüne belirli simgeler/karakterler yazılır.
Alfasayısal veriler • Herhangi sayısal ağırlığı (değeri) olmayan verilerdir. • Harfler, kelimeler, cümleler ve simgeler yer alır.
Sayısal veri tipleri Tamsayı veri tipleri
Sayısal veri tipleri Ondalıklı sayı veri tipleri
Sayısal veri tipleri Tip sıfatları
Alfasayısal veri tipleri Alfasayısal veriler dizi şeklinde de kullanılabilirler
Tip Dönüşümü • Bilinçsiz tip dönüşümü • Küçük büyük • Büyük küçük • İsteğe bağlı tip dönüşümü (dönüştürülecek_tip)değişken_ya_da_sabit [ToString() metodu ve System.Convert sınıfı kullanımı]
Tip Dönüşümü checked {} kontrol mekanizması unchecked {}
Operatörler (?) • Önceden tanımlanmış matematiksel ya da mantıksal işlemleri yapmak için kullanılan özel karakterler topluluğudur. • Bir, iki ya da daha fazla karakterden oluşurlar. • Operatörler operandlara ihtiyaç duyalar • (Örn. ++ operatörü bir a operandına ihtiyaç duyar ++a gibi…)
Operatörlerin Sınıflandırılması (Yapılarına göre) • Unary (tek operand) (),[],++(ön ekli),--(ön ekli),(son ekli)++,(son ekli)--,+,-,!,,new,checked,unchecked,typeof,sizeof • Binary (iki operand) *,/,%,+,-,<,>,<=,>=,as,is,<<,>>,==,!=,&,^,&&,=,*=,/=,%=,+=,-=,<<=,>>=,&=,^= • Ternary (üç operand) ?:
Operatörlerin Sınıflandırılması (İşlevlerine göre) • Aritmetik • +,-,*,/,%,++,-- • Karşılaştırma • <,>,<=,>=,==,!=,as,is • Mantıksal • ||,&&,! • Bitsel • |,&,,^,<<,>> • Atama ve İşlemli Atama • =,*=,/=,%=,+=,-=,<<=,>>=,&=,^= • Özel Amaçlı • ?:,(),[],+,-,&,*,.,new,checked,unchecked,typeof,sizeof