PROGRAMLAMA
2. Hafta
TEMEL KAVRAMLAR
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
1
Temel Kavramlar

Program

Basit olarak bilgisayar ile kullanıcı arasındaki iletişim aracıdır.

Giriş değerlerini kullanarak, çıkış değerlerinin elde edilmesi için
bilgisayara iletilen komutlar dizisidir.

Belirli bir görevi yerine getiren algoritmik ifadedir.

Yazılım

Bir yada birden fazla programın bir araya gelmesinden oluşur.

Programlama Dilleri

Programcı ile bilgisayar arasındaki iletişimi sağlayan bir araçtır
(komut kümesidir).
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
2
İŞLEMLER

Matematiksel (Aritmetik) İşlemler

Karşılaştırma (Karar) İşlemleri

Mantıksal (Lojik) İşlemler
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
3
MATEMATİKSEL İŞLEMLER

Matematiksel İşlemlerin Bilgisayar Dilindeki Karşılıkları
İş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
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
4
MATEMATİKSEL İŞLEMLER

Matematiksel İşlemlerde Öncelik Sıraları
Sıra
İşlem
Bilgisayar
1
Sayıların Negatifliği
-…
2
Parantezler
( ….. )
3
Matematiksel Fonksiyonlar
cos, sin, log, …
4
Üs alma
a ^ b, pow, …
5
Çarpma ve Bölme
a * b ve a/b
6
Toplama ve Çıkarma
a + b ve a - b
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
5
MATEMATİKSEL İŞLEMLER

Örnek:
 Matematiksel ifade :
x = a . b / c + d . ef - g

Bilgisayar ifadesi:
x = a *
2

b / c
+
3
4
d * e^f - g
2
1
5
Not: İşlem önceliklerine dikkat edilmez ise aynı gibi görünen
ifadeler, farklı sonuçlar verebilir.
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
6
KARŞILAŞTIRMA İŞLEMLERİ


Karşılaştırma İşlemlerinin Bilgisayar Dilindeki Karşılıkları
Sembol
Anlamı
= veya ==
Eşittir
<> Veya !=
Eşit Değildir
>
Büyüktür
<
Küçüktür
>= veya =>
Büyük eşittir
<= veya =<
Küçük eşittir
Örnek:
Eğer A > B ise Yaz “ A sayısı B’den büyüktür ”
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
7
KARŞILAŞTIRMA İŞLEMLERİ

Sayısal karşılaştırmalarda doğrudan değerler karşılaştırılır.
 Örnek: 25 > 15
“25 sayısı 15 ten büyüktür”

Karakter olarak karşılaştırmalarda ise karşılaştırma işlemine ilk
karakterlerden başlanılarak sıra ile karşılaştırılır.
 Örnek: a > c
“1. karakter alfabetik olarak daha önde”

Not: Karakter karşılaştırma işlemlerinde, karşılaştırma
karakterler arasında değil, karakterlerin ASCII kodları arasında
yapılır. Örneğin, A nın ASCII kod karşılığı 65 tir. a nın ise ASCII
kod karşılığı 97 tir. Büyük ve küçük harfler arasındaki ASCII kod
farkı ise 32’dir.
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
8
MANTIKSAL İŞLEMLER

Temel Mantıksal İşlem Karşılıkları
İşlem
VE
VEYA
DEĞİL
Doç.Dr. Murat ÇAKIROĞLU
Komut
AND
OR
NOT
Matematiksel Sembol
Anlamı
.
Koşulların hepsi
doğru ise sonuç
doğrudur
+
Koşullardan en az
biri doğru ise
sonuç doğrudur
’
PROGRAMLAMA
Sonuç koşulun
tersidir. 1 ise 0 dır
9
MANTIKSAL İŞLEMLER

Mantıksal İşlemlerde Öncelik Sıraları
Sıra
İşlem
Komut
1
Parantez İçindeki İşlemler
( ….. )
2
DEĞİL
NOT
3
VE
AND
4
VEYA
OR
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
10
PROGRAMLAMA
ALGORİTMA TASARIMI
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
11
Algoritma Nedir?

Algoritma

Gerçek hayattaki plan kelimesinin karşılığı olarak
düşünülebilir.

Bilgisayardaki bir işlemin/işlemlerin gerçekleştirilmesinde
izlenilecek adımlar dizisidir.

Bir problemin bilgisayar ortamında çözülecek biçimde adım
adım ortaya koyarak bir programlama dili ile kodlama sürecine
Algoritma Tasarımı denir.

Akış Diyagramı

Algoritmaların özel geometrik şekiller ile çizilmiş halidir.

Algoritma ya da akış diyagramının hazırlanması programlamanın
temelidir.
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
12
İyi Bir Algoritmada Neler Olmalıdır?





Etkinlik

Gereksiz tekrarlarda bulunmayan diğer algoritmalar içerisinde de
kullanılabilir olmalıdır.
Sonluluk

Her algoritmanın bir başlangıçtan oluşmalı, belirli işlem adımı içermeli
ve bir bitiş noktasına sahip olmalıdır. Kısır bir döngüye girmemelidir.
Kesinlik

İşlem sonucu kesin olmalı, her yeni çalıştırmada aynı sonucu
üretmelidir.
Giriş/Çıkış

Algoritma giriş (üzerinde işlem yapılacak değerler) ve çıkış (yapılan
işlemler neticesinde üretilen sonuç değerler) değerlerine sahip
olmalıdır.
Başarım/Performans

Amaç donanım gereksinimi (bellek kullanımı gibi), çalışma süresi gibi
performans kriterlerini dikkate alarak yüksek başarımlı programlar
yazmak olmalıdır.
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
13
Algoritmalar Kaç Farklı Şekilde İfade Edilir?

Algoritmanın metin olarak yazılması

Çözülecek problem, adım adım metin olarak yazılır.

Pseudo Code (Kaba Kod)

Algoritmanın sözde kodlarla yazılmasıdır.

Problemin çözüm adımları komut benzeri anlaşılır metinlerle ifade
edilir.

Yarı kod yarı metin olarak ta adlandırılır.

Akış Diyagramı

Problemin çözüm adımları geometrik şekiller ile ifade edilir.
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
14
Örnek Algoritma

Problem: Klavyeden girilen sayının karesini hesaplayarak ekrana yazdıran
programın algoritmasını yazınız?





Başla
Sayıyı (A) gir
Sayının karesini hesapla (Kare = A*A işlemini yap)
Sonucu (Kare) yaz
Dur
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
15
Örnek Pseudo Code

Problem: Klavyeden girilen sayının karesini hesaplayarak ekrana yazdıran
programın pseudo code’nu yazınız?





/* Kare alma programı */
Scanf(“ Sayıyı (A) : %d”, &A)
Kare=A*A
Printf (“Sonuç: %d”, Kare)
End
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
16
Örnek Akış Diyagramı

Problem: Klavyeden girilen sayının karesini hesaplayarak ekrana yazdıran
programın akış diyagramını çiziniz?
Başla
Sayı
Kare=Sayı*Sayı
Kare
Klavyeden Okuma
İşlem
Ekrana Yazdırma
Dur
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
17
Program Yazarken Nasıl Bir Yol İzlenmeli






Problem/işlem iyice irdelenir
Çözüm yolları ortaya konularak en uygun yol belirlenir

En az komut, en kısa işlem süresi, doğru sonuçlar
Çözüm yolunun (programın) algoritması ya da akış diyagramı hazırlanır
Algoritma ya da akış diyagramı, programcının bildiği/tercih ettiği bir
programlama diliyle kodlanır.
Program, kodlandığı editörde çalıştırılarak yazım hataları düzeltilir.
Program test edilir.

Bilinen giriş/çıkış değerleri ile

Farklı değerler ile
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
18
PROGRAMLAMA
ALGORİTMALARDA KULLANILAN TERİMLER
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
19
ALGORİTMALARDA KULLANILAN TERİMLER

Operatör


İşlemleri belirten yani veriler üzerinde işlem yapmayı özelliği
olan simgelerdir.
Örnek: +
Doç.Dr. Murat ÇAKIROĞLU
=
>
PROGRAMLAMA
20
ALGORİTMALARDA KULLANILAN TERİMLER

Tanımlayıcı

Programcı tarafından oluşturulan/verilen ve programdaki
değişkenleri, sabitleri, paragrafları, kayıt alanlarını, özel bilgi
tiplerini, alt programları vb. adlandırmak için kullanılan
kelimelerdir.

Tanımlayıcı, yerini tutacağı ifadeye çağrışım yapmalıdır.

Tanımlayıcı kelimeler oluşturulurken uyulması gereken kurallar






Doç.Dr. Murat ÇAKIROĞLU
İngiliz alfabesindeki A-Z veya a-z arası 26 harf kullanılabilir
0-9 arası rakamlar kullanılabilir
Simgelerden sadece alt çizgi ( _ ) kullanılabilir
Tanımlayıcı isimleri, harf veya alt çizgi ile başlayabilir
Rakam ile başlayamaz veya sadece rakamlardan oluşamaz
Kullanılan programlama dilinin komutu ya da saklı kelimelerinden olamaz
PROGRAMLAMA
21
ALGORİTMALARDA KULLANILAN TERİMLER

Değişken






Verilerin saklandığı bellek alanlarına verilen simgesel isimlerdir.
Programın
her
çalıştırılmasında,
farklı
değerler
alabilen/aktarılabilen bilgi/bellek alanlarıdır.
Bir programda birbirinden farklı kaç tane veri tutulacak ise o
kadar değişken tanımlanmalıdır.
Değişkenleri adlandırma, tamamen programcının isteğine bağlıdır.
Değişken adlandırmada tanımlayıcı isimlendirme kuralları
geçerlidir.
Değişken adının, yerini aldığı ifadeyi çağrışım yapması programın
anlaşılırlığı açısından önemlidir.

Örnek: Bir kişinin adını tutmak için Ad , telefonunu tutmak
için Tel
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
22
ALGORİTMALARDA KULLANILAN TERİMLER

Sabit



Programlardaki değeri değişmeyen ifadelere sabit denir.
Sabit adlandırmalarında da tanımlayıcı kuralları geçerlidir.
Sabitlere değer aktarma

Sayısal veriler doğrudan aktarılır.

Örnek: SabitKomutu pi = 3.14

Alfasayısal (karakter) veriler ise tek/çift tırnak içerisinde
aktarılır.

Örnek: SabitKomutu ilkharf = ‘A’

Örnek: SabitKomutu OkulAdi = “Sakarya”
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
23
ALGORİTMALARDA KULLANILAN TERİMLER

Aktarma



Bir bilgi alanına, veri yazma;
Bir ifadenin sonucunu başka bir değişkende gösterme vb.
görevlerde “aktarma = ” operatörü kullanılır.
Kullanım şekli;
Aktar

Sabit ya da
değişken
Doç.Dr. Murat ÇAKIROĞLU
değişken = ifade/işlem
Sayısal ya da
Alfasayısal
PROGRAMLAMA
Örnek:

Matematiksel ifade olarak

A= 2, B= 3

C=A+B
C=5

Alfasayısal ifade olarak

A= “Sak” , B= “arya”

C=A+B
C=Sakarya
24
ALGORİTMALARDA KULLANILAN TERİMLER

Sayaç ya da Sayıcı




Belirli sayıda yapılması istenen işlemleri takip etmek için;
İşlenen ya da üretilen değerlerin sayılması gerektiği durumlarda
kullanılır.
Örnek: Rasgele oluşturulmuş bir dizideki tek sayıların
tespitinde “tek sayıların adedini belirlemek için sayaç kullanılır.
Kullanım şekli;
Örnek:

Say= Say + 1

sayaç değişkeni = sayaç değişkeni ± adım
Sayacın Yeni Değeri
Doç.Dr. Murat ÇAKIROĞLU
Sayacın
Eski/Mevcut
Değeri
PROGRAMLAMA
Artma ya da
Azalma Miktarı
25
PROGRAMLAMA
ALGORİTMA TASARIMINDA
TEMEL YAPILAR
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
26
ALGORİTMALARDA KULLANILAN TEMEL YAPILAR

DÖNGÜ




Bazı işlemleri belirli sayıda tekrar etmede,
Belirli bir aralıktaki ardışık değerler ile işlem yapmada döngü
kullanılır.
Diğer bir deyişle, programdaki belirli işlem bloklarını, verilen
sayıda gerçekleştiren işlem akış çevrimlerine DÖNGÜ denir.
Örnek:

1’den 5’e kadar sayıların toplamı

Ard arda ekrana 4 defa SAKARYA yazdırma

1 ile 100 arasındaki çift sayıların ya da tek sayıların
toplamı
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
27
Döngü Oluşturma Kuralları




Döngü değişkenine başlangıç değeri verilir
Döngünün artma ya da azalma miktarı belirlenir
Döngünün bitiş değeri belirlenir
Eğer Döngü karar ifadeleriyle oluşturulduysa; döngü değişkeni, döngü
içinde adım miktarı kadar arttırılmalı/azaltılmalıdır.
Örnek: 1-10 arası tek sayıların toplamı hesaplayan programın algoritmasını çıkarınız?

Başla

T=0

J=1

Eğer J > 10 ise Git 8

T=T+J

J=J+2

Git 4

Yaz T

Dur
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
28
SIK KULLANILAN ARDIŞIK DÖNGÜ YAPILARI

Ardışık Toplama


Toplam değişkeni = Toplam değişkeni + Sayı
Ardışık Çarpma

Doç.Dr. Murat ÇAKIROĞLU
Çarpım değişkeni = Çarpım değişkeni * Sayı
PROGRAMLAMA
29
ÖZET

Algoritma Hazırlama Kuralları







Doç.Dr. Murat ÇAKIROĞLU
Yapılacak iş/çözülecek problem iyice irdelenir. Tüm ihtimaller gözden
geçirilir
En az komutla, en kısa sürede, en doğru-hassas sonuca ulaştıracak çözüm
yolu/yöntem belirlenir
Tanımlayıcı isimleri belirlenir
Algoritmada her işlem adımına bir numara verilir
Problem çözümü için gerekli olan veriler/işlenecek veriler girilir ya da
başka ortamlardan alınır
Yapılacak işlemler/kullanılacak yöntemler açık şekilde verilir
Bulunan sonuçlar görüntülenir ya da belirli ortamlarda saklanır
PROGRAMLAMA
30
ÖZET

Algoritmanın /Akış Diyagramının Avantajları





Doç.Dr. Murat ÇAKIROĞLU
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ı açık bir şekilde gösterdiğinden program kontrolünü
kolaylaştırır
Sonradan yapılacak düzenlemelerde kolaylıklar sağlar
PROGRAMLAMA
31
PROGRAMLAMA
AKIŞ DİYAGRAMLARI
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
32
Akış Diyagramı Nedir?

Akış Diyagramı

Algoritmaların özel geometrik şekiller ile çizilmiş halidir.

Akış diyagramındaki her geometrik şekil, yapılacak bir işi ya da
komutu gösterir.

Bir problem bilgisayar ortamında kodlanmadan önce algoritması
yazılabilir ya da akış diyagramı çizilebilir
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
33
Akış Diyagramında Kullanılan Şekiller Nelerdir?
Başla
Bilgi/Veri
Girişi
Dur
Karar/
Karşılaştırma
İşlem
DÖNGÜ
Bilgi/Veri
Yazma
Fonksiyon
(önceden tanımlı
işlem)
çağırma
Bağlantı
İşlem Akış Yönü
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
34
Örnek Akış Diyagramı

Problem: Klavyeden girilen sayının karesini hesaplayarak ekrana yazdıran
programın akış diyagramını çiziniz?
Başla
Sayı
Kare=Sayı*Sayı
Kare
Klavyeden Okuma
İşlem
Ekrana Yazdırma
Dur
Doç.Dr. Murat ÇAKIROĞLU
PROGRAMLAMA
35
Download

programlama