programlama (hatırlamalar)
DESCRIPTION
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?. - PowerPoint PPT PresentationTRANSCRIPT
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
2
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.
3
Program nedir?
Program; giriş değerlerini kullanarak istenilen çıkış
değerlerinin elde edilebilmesi için bilgisayara iletilen komutlar
dizisidir.
VeriBilgisayar
Program
İnsan
Sonuç
4
İşlemlerProgramlar 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
5
Matematiksel İşlemler
İşlem Matematik Bilgisayar
Toplama a + b a + b
Çıkarma a - b a - b
Çarpma a . b a * b
Bölme a ÷ b a / b
Üs alma ab a ^ b
6
Matematiksel İşlem Öncelik Sıraları
İşlem öncelik sıraları
Sıra İşlem Bilgisayar dili
1 Parantezler ((……))
2 Üs alma a^b
3 Çarpma ve bölme a*b ve a/b
4 Toplama ve çıkarma a+b ve a-b
7
Karşılaştırma İşlemleriMatematiksel işlemlerin yanı sıra
karar modelleri de söz konusudur.
Bu nedenle kararlara ilişkin bazı operatörler kullanılmaktadır.
8
Karşılaştırma İşlemleri
İşlem Sembolü Anlamı
= Eşittir
<> Eşit değildir
> Büyüktür
< Küçüktür
>= veya => Büyük eşittir
<= veya =< Küçük eşittir
9
Mantıksal İşlemlerAritmetik 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
10
Mantıksal İşlemler
Mantıksal İşlem
Komut Matematiksel Sembol
VE AND .
VEYA OR +
DEĞİL NOT ‘
Program Yazma Adımları1. İş/problem iyice irdelenir.2. Programlamaya en uygun (en az komutla,
en kısa sürede, en doğru-hassas sonuç) çözüm yolu seçilir/belirlenir.
3. Programın algoritması hazırlanır veya akış diyagramı çizilir.
4. Algoritma veya akış diyagramı, programcının bildiği veya tercih ettiği bir programlama diliyle kodlanarak program oluşturulur.
11
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.
12
13
Algoritma (Ardışık Çarpma Örnek)
Klavyeden girilen N sayısının faktöriyelini hesaplayan programın algoritmasını yazınız.
1. Başla
2. N sayısını gir
3. Faktoriyel=1
4. S=0
5. Eğer S>N-1 ise git 9
6. S=S+1
7. Faktoriyel=Faktoriyel*S
8. Git 5
9. Yaz Fak
10. 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
i=1,N,1
İşlem
Belirli işlem bloklarının
ardışık değerlerle ve bazı koşullar sağlayıncaya
kadar tekrarlanması için kullanılır.
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)
i=1,N,1
İşlemj=1,N,
1
İç döngü
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 İşlem 1
İşlem 2
E
H
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*JT
Dur
26
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.
Programlamada Veri Tipleri
VERİ
Sayısal
Sayısal verilerSayı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.
Taban C++
10 (decimal) -
16 (hexadecimal) 0xsayı veya 0Xsayı
Üstel eüs veya Eüs
Alfasayısal verilerHerhangi sayısal ağırlığı (değeri)
olmayan verilerdir.Harfler, kelimeler, cümleler ve
simgeler yer alır.
Sayısal veri/bilgi Alfasayısal veri/bilgi
2010 İstanbul
-222 C
1.78 :
326 “1978”
Sayısal veri tipleri
Tamsayı veri tipleri
Veri tipi En küçük En büyük Kapladığı alan (byte)
byte 0 255 1
sbyte -128 127 1
short -32768 32767 2
int -2147483648 2147483647
4
long -2147483648 2147483647
4
Sayısal veri tipleri
Ondalıklı sayı veri tipleri
Veri tipi En küçük En büyük
Kapladığı alan (byte)
Duyarlılık (hane)
float 3,4.10-38 3,4.1038 4 7
double 1,7.10-308 1,7.1030
8
8 15
Sayısal veri tipleri
Tip sıfatları
Veri tipi En küçük En büyük Kapladığı alan (byte)
Unsigned short
0 65535 2
Unsigned int 0 4294967295 4
Unsigned long 0 4294967295 4
Long double 1,7.10-308 1,7.10308 8
Tip sıfatı Anlamı
Signed İşaretli
Unsigned İşaretsiz
Short Kısa
Long Uzun
Alfasayısal veri tipleri
Alfasayısal veriler dizi şeklinde de kullanılabilirler
Veri tipi Tanımlama
char char değişken [n]
string string değişken
Veri tipi Kapladığı alan
Kapasite/duyarlılık
decimal 8 byte Finansal bilgi (28 hane)
bool 1 byte true / false
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ü
Tip Dönüşebileceği tipler
sbyte short, int, float, long, double, decimal
byte short, ushort, int, unit,long, ulong,float,double,decimal
short int,long,float,double,decimal
ushort int,unit,long,ulong,float,double,decimal
int long,float,double,decimal
unit long,ulong,float,double,decimal
long,ulong float,double,decimal
char ushort,int,unit,long,ulong,float,double,decimal
float double
Tip Dönüşümü
Tip Dönüşemeyeceği tipler
bool decimal, double
herhangi bir tip char
float herhangi bir tip (double hariç)
decimal herhangi bir tip
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
devam edecek…