programlama (hatırlamalar)

40
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

Upload: medge-hendrix

Post on 31-Dec-2015

48 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Programlama (Hatırlamalar)

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

Page 2: Programlama (Hatırlamalar)

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.

Page 3: Programlama (Hatırlamalar)

3

Program nedir?

Program; giriş değerlerini kullanarak istenilen çıkış

değerlerinin elde edilebilmesi için bilgisayara iletilen komutlar

dizisidir.

VeriBilgisayar

Program

İnsan

Sonuç

Page 4: Programlama (Hatırlamalar)

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

Page 5: Programlama (Hatırlamalar)

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

Page 6: Programlama (Hatırlamalar)

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

Page 7: Programlama (Hatırlamalar)

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.

Page 8: Programlama (Hatırlamalar)

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

Page 9: Programlama (Hatırlamalar)

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

Page 10: Programlama (Hatırlamalar)

10

Mantıksal İşlemler

Mantıksal İşlem

Komut Matematiksel Sembol

VE AND .

VEYA OR +

DEĞİL NOT ‘

Page 11: Programlama (Hatırlamalar)

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

Page 12: Programlama (Hatırlamalar)

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

Page 13: Programlama (Hatırlamalar)

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

Page 14: Programlama (Hatırlamalar)

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

Page 15: Programlama (Hatırlamalar)

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

Page 16: Programlama (Hatırlamalar)

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

Page 17: Programlama (Hatırlamalar)

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.

Page 18: Programlama (Hatırlamalar)

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

Page 19: Programlama (Hatırlamalar)

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

Page 20: Programlama (Hatırlamalar)

Akış Diyagramı Kullanılan Şekiller

Döngü (İç içe)

i=1,N,1

İşlemj=1,N,

1

İç döngü

Dış döngü

Page 21: Programlama (Hatırlamalar)

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

Page 22: Programlama (Hatırlamalar)

Akış Diyagramı Kullanılan Şekiller

Yazdır/Çıktı

Ekrana veya yazıcıya bilgi/veri yazdırmak için kullanılır.

Yazdır

Page 23: Programlama (Hatırlamalar)

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

Page 24: Programlama (Hatırlamalar)

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.

Page 25: Programlama (Hatırlamalar)

Akış Diyagramı Bir Örnek

Başla

T=0

I=1,2,1 T=5

J=1,3,1 T=T+I*JT

Dur

Page 26: Programlama (Hatırlamalar)

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.

Page 27: Programlama (Hatırlamalar)

Programlamada Veri Tipleri

VERİ

Sayısal

Page 28: Programlama (Hatırlamalar)

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

Page 29: Programlama (Hatırlamalar)

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”

Page 30: Programlama (Hatırlamalar)

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

Page 31: Programlama (Hatırlamalar)

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

Page 32: Programlama (Hatırlamalar)

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

Page 33: Programlama (Hatırlamalar)

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

Page 34: Programlama (Hatırlamalar)

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ı]

Page 35: Programlama (Hatırlamalar)

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

Page 36: Programlama (Hatırlamalar)

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 {}

Page 37: Programlama (Hatırlamalar)

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…)

Page 38: Programlama (Hatırlamalar)

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)?:

Page 39: Programlama (Hatırlamalar)

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

Page 40: Programlama (Hatırlamalar)

devam edecek…