Professional Documents
Culture Documents
PROGRAMLAMA
DERS-1
1
GİRİŞ
http://www.mathworks.com/
2
NOT SİSTEMİ
Ödev %40
Vize %40
Final 60%
3
DERS KONULARI
Hafta 1: Bilgisayar İle Problem Çözümü
Hafta 2: Algoritma ve algoritmik mantık. Akış şemaları ve
sembollerin tanıtımı
Hafta 3: Dallanma yapıları ve örnekler
Hafta 4: Döngü mantığı. İç içe döngüler. Örnekler
Hafta 5: MATLAB programlama diline giriş. MATLAB ile ilgili
bilinmesi gerekenler
Hafta 6: MATLAB fonksiyon dosyaları(MATLAB function files )
Hafta 7: Ara Sınav
Hafta 8: Giriş ve Çıkış İşlemleri(User-controlled Input and
Output)
Hafta 9: MATLABda döngüler ve döngü mantığı(Loops)
4
DERS KONULARI
5
BİLGİSAYAR NEDİR?
Bilgisayar, bir dizi komut kümesine göre verileri saklayabilen,
verileri getirip kullanıma sunabilen ve işleyebilen bir
elektronik cihazdır.
Bilgisayar donanım ve yazılımdan oluşmaktadır. Donanım
bilgisayarın elektronik parçalarıdır, yazılım ise program ve
verilerden oluşur.
Program bir dizi komut kümesi olarak tanımlanabilir.
6
BİLGİSAYAR BİRİMLERİ
Girdi(Input): Bilgisayara verilerin girişinin sağlandığı
birimlerdir. Örneğin klavye, fare, tarayıcı,kamera, mikrofon...
Depolama(Storage): Bellek(RAM-Geçici depolama)
Hard Disk, CD-ROM, DVD vb. (Kalıcı depolama)
İşleme(Processing): Mikroişlemci(CPU-Central Processing
Unit)-Bilgisayar parçalarını kontrol eder ve koordine eder.
Çıktı(Output): Bilgisayardan alınan verilerdir. Ekran, Yazıcı,
hoparlör
7
8
YAZILIM
Bir dizi program, prosedür, algoritma ve bunların
dokümantasyonu ile ilgili veri işleme sistemidir. Yazılım ile
bilgisayara neyi, nasıl yapacağını komutlarını iletmiş oluruz.
Bir çok yazılım çeşiti vardır.
İşletim Sistemi yazılımları
Uygulama yazılımları (İş, eğitim, iletişim, medya vb.)
9
PROGRAMLAMAYA NEDEN
GEREK DUYULUR?
Problemin elle çözülmesi çok uzun süre olması.
10
PROGRAMLAMA BECERİSİ
NE DEMEKTİR?
Bilgisayara belirli bir işlemi yaptırabilmektir.
11
PROGRAMLAMA DİLLERİ
Makina Dilleri
Assembly Dilleri
Yüksek Seviyeli Diller
12
COMPİLER(DERLEYİCİ) &
INTERPRETER (YORUMLAYICI)
Programlama dilleri derlenen ve yorumlanan olarak ikiye ayrılır.
Programcıların kodları yazarken 0-1 lerle makine dilinde yazması
zordur. Bu nedenle yüksek seviyeli diller derleyici veya
yorumlayıcı programlarla makine diline dönüştürülmektedir.
Yorumlanan bilgisayar programları ise yorumlayıcı adı verilen
yazılımlar ile satır satır makine koduna çevrilir ve işletilirler.
13
BİLGİSAYAR İLE PROBLEM
ÇÖZÜMÜ
1. Problem Analizi
2. Algoritma Geliştirilmesi
3. Akış Şeması(Flow Chart) ile Algoritmanın
İfadesi ve Sözde Kode (Pseudo Code)
4. Programlama Dili ile Algoritmanın Yazılıma
Dönüştürülmesi
5. Derleme ve Hataların Ayıklanması
6. Bakım ve Güncelleme
14
1.PROBLEM ANALİZİ
15
2. ALGORİTMA GELİŞTİRİLMESİ
16
ALGORİTMADA OLMASI GEREKEN ÖZELLİKLER
Algoritma geliştirme aşamasında, geliştirilen algoritmanın;
I. Problemin tanımlandığı tüm durumlar için çalışabilmesi
II. Basitleştirilmiş ve tüm kullanıcılar tarafından anlaşılır olması
III. İşlemler yapılma sırasına göre ve doğru mantıksal kurguda olması
gerekmektedir. Ancak bunlar yapıldığında problem istenilen ölçüde
çözüme kavuşmuş olacaktır.
IV. Etkin ve genel olma. Her hangi sorunun algoritması verilerin yalnız bir
veya birkaç değerine değil, tüm mümkün değerlerine uygulana bilmelidir.
V. Sonlu olma. Algoritma kesinlikle sonlu sayıda işlem içermeli ve bu
işlemlerin süresi de sonlu olmalıdır; algoritma belli sayıda adımdan
oluşur, bir başlangıç noktasından başlar ve bitiş noktası mutlaka vardır.
VI. Yanılmazlık. Bir algoritmada işlem sonucundaki yanılmazlık en önemli
kriterdir. Algoritma tekrar yürütüldüğünde aynı giriş değerleri için aynı
sonuç elde edilmelidir.
VII. Giriş/Çıkış Tanımlı Olma. Algoritmanın giriş ve çıkış değerleri olmalıdır.
VIII. Başarım. Algoritma başarımı iyi olacak şekilde tasarlanmalıdır; gereksiz
tekrarlardan kaçınılmalıdır. Olabildiğince bellek gereksinimi ile çalışma
süresi arasında denge kurulmalıdır
17
ALGORİTMA /
AVANTAJLARI
I. Program yazmayı kolaylaştırır
18
3. AKIŞ DİYAGRAMI (FLOWCHART)
İLE ALGORİTMANIN İFADESİ
Algoritmanın şekiller yardımıyla ifade edilme şekline akış
diyagramı denir. Akış diyagramı şekilleri uluslararasıdır. Her
simge genel olarak yapılacak bir işi veya komutu gösterir.
Akış diyagramı, algoritmanın tüm yazılımcılar tarafından
anlaşılmasını sağlayan bir dil olarak düşünülebilir. Ele alınan
problem için geliştirilen algoritmanın yazılıma (programa)
kolayca çevrilmesinde programcılar tarafından
kullanılmaktadır.
19
AKIŞ DİYAGRAMI
Yön Okları
20
AKIŞ DİYAGRAMI
Akış Diyagramı (FlowChart) ile Algoritmanın İfadesi
Ekran Çıktısı(Display)
21
AKIŞ DİYAGRAMI
22
4. PROGRAMLAMA DİLİ İLE ALGORİTMANIN
YAZILIMA DÖNÜŞTÜRÜLMESİ
Programlama dili, yazılımcının bir algoritmayı ifade etmek
amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının
yoludur. Programlama dilleri, yazılımcının bilgisayara hangi
veri üzerinde işlem yapacağını, verinin nasıl depolanıp
iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını
tam olarak anlatmasını sağlar. Şu ana kadar 150’den fazla
programlama dili yapılmıştır. Bunlardan bazıları Pascal,
Basic, C, C#, C++, Java, Cobol, Perl, Python, Ada, Fortran,
Delphidir.
23
MATLAB
MATLAB®(MATrix LABoratory – Matris Laboratuarı), temel olarak
teknik ve bilimsel hesaplamalar için yazılmış yüksek performansa
sahip bir yazılımdır. 1970’lerin sonunda Cleve Moler tarafından
yazılan Matlab programının tipik kullanım alanları:
• Matematiksel (nümerik ve sembolik) hesaplama işlemleri
• Algoritma geliştirme ve kod yazma yani programlama
• Lineer cebir, istatistik, Fourier analizi, filtreleme, optimizasyon,
sayısal integrasyon vb. konularda matematik fonksiyonlar
• 2D ve 3D grafiklerinin çizimi
• Modelleme ve simülasyon (benzetim)
• Grafiksel arayüz oluşturma
• Veri analizi ve kontrolü
• Gerçek dünya şartlarında uygulama geliştirme
şeklinde özetlenebilir.
24
5. DERLEME VE HATALARIN
AYIKLANMASI
Yazılım geliştirime (programlama) aşamasında iki hata ile
karşılaşılması muhtemeldir. Her program diline ait belli yazım
kuralları olduğundan, yazılımınız içerisindeki yanlış komut
yazımı, hatalı noktalama kullanımı veya eksik kodlama gibi
durumlardaki hatalara yazılım hataları denir. Bunlar
düzeltilmeden program zaten çalışmaz. Bunlar kullandığınız
programlama diline uygun olacak şekilde düzeltilerek hata
ayıklaması yapılır. Diğer bir hata türü ise algoritma hatalarıdır.
Yazılım hatası olmamasına rağmen programın çalışmaması,
hatalı sonuçlar vermesi veya istenilen tüm durumları
karşılamaması gibi durumlarda karşılaşılan hata durumudur.
Algoritma hatalarını test ederken akış diyagramınızın veya
kurduğunuz algoritmanın doğruluğunu kontrol etmeniz
gerekmektedir. Eğer bu bölümlerde bir hata yok ise problemin
yanlış analiz edilme olasılığı vardır, buda problemi tekrar ele
alarak, programlama aşamalarınızın derlenmesi gerektirir.
25
DERLEME VE HATALARIN
AYIKLANMASI
Problemin A
l
Analizi g
o
ri
t
m
Algoritma a
Geliştirilmesi H
a
t
a
l
a
Akış r
ı
Diyagramı
Y
a
z
ıl
Yazılım ı
m
Geliştirilmesi H
a
t
a
l
a
26
r
ı
BİR HASTANIN RÖNTGEN ÇEKTİRME ALGORİTMASI
27
ALGORİTMALARDA
KULLANILAN TEMEL TERİMLER
• Değişken
• Atama
• Sayaç
• Döngü
28
DEĞİŞKEN
Bir program içerisinde bilgileri geçici olarak
saklamak ve ihtiyaç duyduğumuzda bu bilgiler
üzerinde işlem yapmak için değişkenlerden
yararlanırız.
Su bardağını bir değişken olarak düşünün.
Resimdeki bardakların hepsi aynı hacme sahip
özdeş bardaklardır. Fakat;
•Birinci bardağın %10’nu dolu ve dolayısıyla
bardak değişkeninin değeri %10’dur.
•İkinci bardağın %35’i dolu ve dolayısıyla
bardak değişkeninin değeri %35’dir.
•Üçüncü bardağın %75’i dolu ve dolayısıyla
bardak değişkeninin değeri%75’dir.
•Dördüncü bardağın %90’i dolu ve dolayısıyla
bardak değişkeninin değeri %90’dır.
29
ATAMA
Herhangi bir değişkenin içine bir değeri veya ifadenin/işlemin sonucunu
aktarma işlemine atama denir.
değişken=ifade
30
SAYAÇ
Programlarımızda bazı işlemlerin belirli sayıda yaptırılması
veya işlenen/üretilen değerlerin sayılması gerekebilir. Sayma
amacıyla kullanılan bu tür değişkenlere sayaç denir.
sayac= sayac+ 1
Bilgisayar deyimi ile sayac adlı değişkenin eski(önceki)
değerine‘1’eklenmektedir. Bulunan sonuç yine kendisine,
yenideğer olarak aktarılmaktadır. Bu tür değişkenlere, algoritmada
“sayaç” veya “sayıcı”(counter) adı verilir. Yani “sayaç” işlem
akışı kendisine her geldiğinde, belirtilen adım değeri kadar artan
veya azalan değişkendir.
Sayaç değişkeni artan bir değişken olabileceği gibi azalan bir
değişkende olabilir
31
SAYAÇ
32
DÖNGÜ
Bir çok programda bazı işlemler belirli ardışık değerlerle
gerçekleştirilmekte veya belirli sayıda yapılmaktadır.
Programlardaki belirli işlem bloklarını, belirli sayıda tekrarlayan
işlem akış çevrimlerine döngü denir.
33
DÖNGÜ OLUŞTURMA
KURALLARI
34
İŞLEMLER
Bilgisayar programları ile gerçekleştirilen işlemler genel
olarak üç gruba ayrılır:
• Matematiksel (aritmetik) işlemler
35
MATEMATİKSEL İŞLEMLER
Ondalık sayı
Matematik (,) Bilgisayar (.)
125,865 125.865
Sayıların önünde
Pozitif : İşaret yok
Negatif :
36
MATEMATİKSEL İŞLEMLER
Matematiksel işlemler ve bilgisayar dilindeki karşılıkları
37
MATEMATİKSEL İŞLEMLER
• Matematiksel işlemler, programlarda bilgisayar mantığına
göre yeniden düzenlenmelidir.
38
MATEMATİKSEL İŞLEMLER
Matematiksel işlem öncelik sıraları
Sıra İşlem Bilgisayar dili
1 Sayıların negatifliği -
2 Parantezler ((.....))
3 Matematiksel Cos,sin,ln,log,…
Fonksiyonlar
4 Üs alma a^b
39
MATEMATİKSEL İŞLEMLER
Örneğin
Y=A*B/C
denkleminde, aynı öncelik sırasına sahip çarpma ve bölme işlemleri
bulunmaktadır. Bu durumda bilgisayar;
Y=A+B-C+D
İşleminde A ile B toplanacak çıkan sonuçtan C çıkarılacak ve bulunan
sonuca D eklenecektir.
Y=A^B^C
işleminde ise önce A’nın B’inci kuvveti alınır; çıkan sayının C’inci
kuvveti hesaplanır.
40
MATEMATİKSEL İŞLEMLER
Bazı matematiksel ifadelerin bilgisayar diline kodlanması
a + b2 - c 3 a + b^2 – c^3
𝟐𝒂𝒃 sqrt(a+b)-2*a*b/(b^2-4*a*c)
𝒂+𝒃−
𝒃𝟐 − 𝟒𝒂𝒄
𝑩. 𝑪 A+B*C/D-E*F
𝑨+ − 𝑬. 𝑭
𝑫
41
MATEMATİKSEL İŞLEMLER
Örnek 1: a = 4, b = 6, c = 8 ve d = 10 değerleri için bilgisayar
dilinde kodlanmış üç denklemin sonuçlarını inceleyiniz
1. Denklem c * d / (a*d) + b + c *d / a = 28
2. Denklem c * d / a*d + b + c *d / a = 226
3. Denklem c * d / a*d + (b + c) *d / a =235
42
MATEMATİKSEL İŞLEMLER
Örnek 2: A = 9, B = 16 değerleri için aşağıdaki ifadelerin
sonuçlarını bulunuz
A + B^1/2
A + B^(1/2)
(A + B)^1/2
(A + B)^(1/2)
43
KARŞILAŞTIRMA İŞLEMLERİ
Bilgisayar, temel matematiksel işlemlerin yanında karar
modelleri de üretebilir. Örneğin,
44
KARŞILAŞTIRMA İŞLEMLERİ
Karşılaştırma İşlemleri
45
KARŞILAŞTIRMA İŞLEMLERİ
Örnek 3: x=0 , y=sin(pi) olsun.
Bilgisayarda,
x==y
dendiğinde sonuç,
ans =
ans =
46
MANTIKSAL İŞLEMLER
Mantıksal işlem operatörleri hem karar ifadelerinde hem de
matematiksel İşlemlerde kullanılır.
Programlardaki karşılaştırma ifadelerinde birden fazla
koşulun belirli bir özellikte sağlanması istenir. Bu durumda
araya mantıksal işlem operatörleri konulur.
Mantıksal Komut
işlem
VE and (&)
VEYA or ( | )
DEĞİL not (~)
47
MANTIKSAL İŞLEMLER
VE (&) Operatörü: Bütün koşullar doğru ise sonuç
doğrudur.Bütün şartların sağlatılması isteniyorsa koşullar
arasına (VE) mantıksal operatörü kullanılır
A B A &B , and(A,B)
0 0 0
0 1 0
1 0 0
1 1 1
48
MANTIKSAL İŞLEMLER
VEYA (|) Operatörü: Koşullardan herhangi birisi doğru ise
sonuç doğrudur.
A B A|B, or(A,B)
0 0 0
0 1 1
1 0 1
1 1 1
49
MANTIKSAL İŞLEMLER
NOT (‘) Operatörü: Koşul doğru ise sonuç yanlış olur yanlış
ise doğru olur.
A DEĞİL A
0 1
1 0
50
MANTIKSAL İŞLEMLER
• Mantıksal işlemlerde öncelik sırası şöyledir:
51
MANTIKSAL İŞLEMLER
Örnek 1 : Bir işyerinde çalışan işçiler arasında yalnızca yaşı
23’ün üzerinde olup maaş olarak 600 TL alanların isimleri
istenmektedir.
Eğer Yaş > 23 & maaş == 600 ise Yaz isim
20 440 0 0 0 Çalışmaz
19 600 0 1 0 Çalışmaz
25 445 1 0 0 Çalışmaz
30 600 1 1 1 Çalışır
52
UYGULAMALAR
UYGULAMA 1
Klavyeden girilen iki sayıyı okuyup aritmetik
ortalamasını hesaplayan ve sonucu ekrana yazan
bir algoritmanın akış şemasını çiziniz.
53
ALGORİTMA 1
1.Adım:Başla
2.Adım:Kullanıcıdan A sayısını klavye yardımıyla al
3.Adım:Kullanıcıdan B sayısını klavye yardımıyla al
4.Adım:ortalama=(A+B)/2
5.Adım:ortalama değerini ekrana yazdır.
6.Adım:Bitir
54
AKIŞ DİYAGRAMI 1
Başla
A yı
oku
B yi
oku
ortalama=(A+B)/2
ortalama
Bitir
55
UYGULAMA 2
Girilen üç sayının ortalamasını hesaplayan ve ekrana
yazdıran algorimayı geliştiriniz ve bu algoritmaya ait akış
diagramını çiziniz.
56
ALGORİTMA 2
1.Adım:Başla
2.Adım:Kullanıcıdan sayi1 değişkeni klavye yardımıyla al
3.Adım:Kullanıcıdan sayi2 değişkeni klavye yardımıyla al
4.Adım:Kullanıcıdan sayi3 değişkeni klavye yardımıyla al
5.Adım:ortalama=(sayi1+sayi2+sayi3)/3
6.Adım:ortalama değerini ekrana yazdır.
7.Adım:Bitir
57
AKIŞ DİYAGRAMI 2
Başla
sayi1 i
oku
sayi2 yi
oku
sayi3 ü
oku
ortalama=(sayi1+sayi2+sayi3)/3
ortalama
Bitir
58
KOŞULLU DALLANMA
Koşullu dallanma simgesi baklava dilimi şeklindedir.
Simgenin içerisine koşul yazılır. Simgeden iki yöne ok
çıkabilmektedir. Koşul olumlu ise Evet olumsuz ise Hayır
olarak etiketlenen yöne doğu dallanır.
Hayır Evet
Koşul
İşlem 1 İşlem 2
59
UYGULAMA 3
Su sıcaklığını ölçüp veri tabanına belirli periyotlarla T
değişkeni ile atayan su ısıtma cihazının, su sıcaklığının 40
dereceye kadar ısıtan algoritmayı kurunuz.
60
ALGORİTMA 3
1.Adım:Başla
2.Adım:Veri tabanından T değişkeni al
3.Adım:T değişkenini sıcaklık değişkenine ata
4.Adım:sıcaklık≥40 ise 5. Adıma git değilse 2. Adıma git
5.Adım:lsıtıcıtı kapat
6.Adım:Bitir
61
AKIŞ DİYAGRAMI 3
Başla
Sıcaklık=T
Hayır Evet
Sıcaklık≥40
Isıyı kapat
Bitir
62
UYGULAMA 4
Klavyeden girilen bir sayının pozitif, negatif veya sıfıra eşit
olma durumunu hesaplayıp yazdıran algoritma ve akış
şemasını hazırlayınız.
63
ALGORİTMA 4
1.Adım: Başla
2. Adım: S sayısını oku
3. Adım: Eğer S > 0 ise “Pozitif” yaz,
4. Adım: Eğer S < 0 ise “Negatif” yaz,
5. Adım: Eğer S = 0 ise “Sıfıra eşit” yaz,
6. Adım: Bitir
64
AKIŞ DİYAGRAMI 4
Başla
S yi
oku
Hayır Evet
S≥0
Hayır Evet
S>0
Bitir
65
UYGULAMA 5
A ve B gibi iki sayıdan büyüğünü yazdıran algoritma ve akış
şeması yazınız.
66
ALGORİTMA 5
1. Adım: Başla
2. Adım: A yi oku
3. Adım: B'yi oku
4. Adım: A>B ise Adım 6'ya git
5. Adım: B'yi yaz Adım 7'e git
6. Adım: A'yı yaz Adım 7'e git
7. Adım: Bitir
67
AKİŞ DİYAGRAMI 5
Başla
A,B yi
oku
Hayır Evet
A>B
EB=B EB=A
En Büyük:
EB
Bitir
68
UYGULAMA 6
Ekrana bir eşkenar üçgenin üç kenar uzunluğu okunmaktadır.
Buna göre okunan uzunluklara karşılık üçgenin eşkenar
üçgen olup olmadığını bulan, eşkenar ise "eşkenar"; değilse
"eşkenar üçgen değil", mesajını görüntüleyen algoritmayı
yazınız.
69
ALGORİTMA 6
1. Adım: Başla
2. Adım: kenar1, kenar2, kenar3 oku
3. Adım: Eğer kenar1 = kenar2 ve kenar1 = kenar3 ise “üçgen
eşkenardır” yaz : 5. adıma git
4. Adım: “üçgen eşkenar değildir” yaz
5. Adım: Bitir
70
AKIŞ DİYAGRAMI 6
Başla
üçgen
eşkenar üçgen
değildir eşkenardır
Bitir
71
UYGULAMA 7
Ekrana bir öğrencinin adı vize notu ve final notu olmak üzere
iki tane sınav notu okunmaktadır. Okunan notlara göre
öğrencinin vize notunun %40’ı ve final notunun %60’ı alınarak
başarı ortalamasını hesaplayan ve başarı ortalaması 60’tan
küçük ise adı ile birlikte başarısız, büyük ise adı ile birlikte
başarılı yazdıran algoritmayı yazınız.
72
ALGORİTMA 7
Formülbort = vize *( 40 /100) + final * (60/100)
1. Adım: Başla
2. Adım: ad, vize, final oku
3. Adım: bort = vize *( 40 /100) + final * (60/100)
4. Adım: Eğer bort < 60 ise ad, “başarısız” yaz ve 6. adıma git
5. Adım: ad, “başarılı” yaz
6. Adım: Bitir
73
AKIŞ DİYAGRAMI 7
Başla
ad, vize,final i
oku
Hayır Evet
bort<60
ad ad
başarılı başarısız
Bitir
74
UYGULAMA 8
İkinci dereceden cebirsel 𝑎𝑥2+𝑏𝑥+𝑐=0 denkleminin
katsayılarının kullanıcı tarafından girilmesiyle, reel kökü olup
olamadığına karar veren, varsa bulup ekrana yazdıran bir
algoritma geliştiriniz ve akış diyagramını çiziniz.
Δ= b2-4.a.c
Eğer Δ >0 ise birbirinden farklı iki gerçel kök vardır; Δ =0 ise
tek kök vardır veya iki kök aynıdır denilebilir; Δ <0 için kökler
karmaşıktır, yani sanal kısmı vardır.
75
ALGORİTMA 8
1.Adım:Başla
2.Adım:Kullanıcıdan 𝑎, 𝑏ve 𝑐katsayı sabitlerini klavye
yardımıyla al
3.Adım:𝑎, 𝑏 ve 𝑐 değerleri ile denklemin diskriminant (Δ)
değerini hesapla ve “delta” değişkenine ata
4.Adım:“delta” değişkeni sıfırdan küçükse 6. Adım’ a, değilse
5. Adım’ a git
5.Adım:Ekrana “Denklemin kökleri reel.” yazdır. 7. Adım’ a git
6.Adım:Ekrana “Kökler karmaşıktır.” yazdır. 9. Adım’ a git
7.Adım:Birinci ve ikinci kökleri hesapla ve sırasıyla “x1” ve
“x2” değişkenlerine ata
8.Adım:“x1” ve “x2” değişkenlerinin değerlerini ekrana
yazdır.
9.Adım:Bitir
76
AKIŞ DİYAGRAMI 8
Başla
A,B,C
yi oku
Delta=B*B-4*A*C
Hayır Evet
Delat>0
Hayır Delat=0
Evet X1=(-B-sqrt(Delta))/(2*A)
X2=(-B+sqrt(Delta))/(2*A)
X=-B/(2*A)
77
Bitir
MATLAB YAZILIMI 8.
a=input('Lütfen a katsayısını giriniz:');
b=input('Lütfen b katsayısını giriniz:');
c=input('Lütfen c katsayısını giriniz:');
delta=b^2-4*a*c;
if delta<0
disp('Denklemin Reel Kökü Yoktur');
else
disp('Denklemin Kökleri Reeldir');
x1=(-b+sqrt(delta))/2*a;
x2=(-b-sqrt(delta))/2*a;
fprintf('1. Kök: %g\n2. Kök: %g\n',x1,x2);
end
78
UYGULAMA 9
Klavyeden girilen bir N sayısının faktöriyelini ekrana yazan
Algoritma ve akış diyagramını çiziniz.
𝒏
𝒏! = ෑ 𝒌
𝒌=𝟏
𝟓! = ෑ 𝒌 = 𝟏 ∗ 𝟐 ∗ 𝟑 ∗ 𝟒 ∗ 𝟓
𝒌=𝟏
79
ALGORİTMA 9
1.Adım: Başla
2. Adım: n OKU
3. Adım: f=1
4. Adım: k=2
5. Adım: f=f*k
6. Adım: k=k+1
7. Adım: EĞER k<=n İSE 5. ADIMA GİT
8. Adım: f YAZ
9. Adım: Bitir
80
AKIŞ DİYAGRAMI 9
Başla
n i oku
f=1,k=2
f=f*k
k=k+1
Hayır Evet
k≤n
81
Bitir
UYGULAMA 10
𝑓 fonksiyonunun değeri 𝑥'in aldığı değerlere göre aşağıda
verilmiştir. 𝑥'in değeri 0-20 arasında 0.5 aralıklarla arttığına
göre herbir 𝑥 değeri için 𝑓 fonksiyonunu hesaplayan
programın akış diyagramını çiziniz.
𝑥, 0≤ 𝑥≤2
𝑥 − 𝑥 3 − 22, 2<𝑥≤3
𝑓 𝑥 =
𝑥 2 − 2𝑥 + 13, 3<𝑥≤4
𝑥 4 − 3𝑥 2 − 43, 4<𝑥
82
AKIŞ DİYAGRAMI 10
Başla
x=0
Evet
0≤x≤2 f=x
Hayır
Evet
2<x≤3 f=𝑥 − 𝑥 3 − 22
Hayır
Evet
3<x≤4 f=𝑥 2 − 2𝑥 + 13
Hayır
f=𝑥 4 − 3𝑥 2 − 43
x,f
x=x+0.5
Hayır Evet
x≥20 Bitir
83
UYGULAMA 11
Çamaşır makinasının, çalışmasını anlatan algoritmayı
kurunuz.
84
AKIŞ DİYAGRAMI 11
Başla
Kapağı Aç
Makineyi Doldur
Yıkama Programını
ve Zamanı(x)
Hayır belirle
Kapağı kapat
Kapak Açık
Evet Çalıştırma
Kapak kapalı ise Hayır
Çalıştır ve
zamanı başlat
Evet
x>0 Kapağı kilitle X(zaman) i azalt
Hayır
Kapak kilidini aç
85
Bitir
SÖZDE (PSEUDO) KOD
Sözde kod, doğrudan konuşma dilinde ve programlama
mantığı altında, eğer, iken gibi koşul kelimeleri ve > = < gibi
ifadeler ile yazılır.
İyi bir biçimde yazılmış, sözde koddan, programlama diline
kolaylıkla geçilebilir.
86
ÖRNEK
Verilen bir sıcaklık derecesine göre suyun durumunu belirten
PseudoKod.
1. Program açıklama mesajı yaz.
2. Kullanıcın sıcaklığı girmesi için bir uyarı mesajı yaz.
3. Girilen Sıcaklığı Oku.
4. Durumu belirle
• Eğer Sıcaklık > 0 ise
• Eğer Sıcaklık>= 100 ise
• Durum =“Buhar”
• Değilse
• Durum =“Su”
• Değilse
• Durum=“Buz”
5. Sonucu (Durum) Yaz
87
ÖZET
Algoritma tasarımı programlamaya bir başlangıçtır. Yapılacak
olan iş öncelikle programlamadan bağımsız olarak ortaya
konulmalıdır. Algoritma bir problemin bilgisayar ortamında
çözülecek biçimde adım adım ortaya konulmasıdır.
Akış şemaları algoritmanın şekilsel olarak ifade edilmesidir.
Problemin çözümü simgeler kullanılarak gerçekleştirilir.
Algoritmanın kullanıldığı programda algoritmanın bütün
adımlarını görmek mümkündür.
88