Professional Documents
Culture Documents
1 2
Algoritma Akış Diyagramı
öğrenme çıktıları
3 4
Sözde Kod (Pseudo Code) Yazılım Geliştirme Süreci
3 Sözde Kod (Pseudo Code) yazımı ve 4 Yazılım geliştirmek için izlenecek adımları
analizini yapabilme belirleyebilme
5
Günlük Hayattan Algoritma Örnekleri
5 Günlük hayatta karşılaşılan olayların akışını
çıkarabilme
Anahtar Sözcükler: • Algoritma • Analiz • Pseudo Code • Sözde Kod • Akış Diyagramı
• Geliştirme Süreci
2
1
İleri Programlama I
3
1
Algoritma ve Programlamaya Giriş
Örnek Algoritma 1: Şimdi günlük hayatta sık- Örnek Algoritma 2: Kullanıcının girdiği 2 sa-
ça karşılaşabileceğimiz ama belki de hiç algoritma yının toplamı, çarpımı ve ortalamasını veren algo-
gözüyle bakmadığımız bir olayı inceleyelim. Kaşar- ritmayı inceleyelim.
lı tost hazırlamak için bir algoritma hazırlayalım. Girdiler
Algoritmayı; girdiler, beklenen çıktı ve algoritma
• 2 sayı
adımları olarak 3 adımda inceleyebiliriz.
Çıktı
Girdiler
• Sayıların toplamı, çarpımı ve ortalaması
• Tost makinesi
• Tost ekmeği (en az 2 adet)
1. Sayı Toplam
• 2 dilim kaşar
• Tereyağı Program Çarpım
• Bıçak 2. Sayı Ortalama
• Tostu koymak için tabak Girdiler İşlem Çıktılar
Çıktı
Resim 1.1 Programın girdi ve çıktıları
• Kaşarlı Tost
Algoritma
Resim 1.1’de görüldüğü gibi, öncelikle prog-
1. Başla
ramımızın girdi ve çıktılarını belirliyoruz. Daha
2. Tost makinesini, ekmeği, kaşarı, tereyağını, sonra program içinde yapılacak işlemleri çıktılar
bıçağı ve tabağı çalışacağın yere koy. doğrultusunda düzenliyoruz.
3. Tost makinesinin fişini takarak çalıştığın- Algoritma
dan emin ol.
• Başla.
4. Kaşar dilimlerini ekmeklerden birinin üze-
rine koy. • Kullanıcıdan 1. ve 2. sayıyı girmesini iste.
5. Kaşar peyniri içeride kalacak şekilde iki di- • Toplam = 1. sayı + 2. sayı
limi birbiri üzerine koy. • Çarpım = 1. sayı * 2. sayı
6. Bıçağı kullanarak birleştirilen ekmeklerin • Ortalama = toplam / 2
üstüne ve altına tereyağı sür. • Toplam, çarpım ve ortalamayı ekrana yazdır.
7. Ekmek dilimlerini tost makinesine yerleştir. • Bitir.
8. Ekmekler kızarana kadar pişir. Algoritma Sorusu
9. Tost makinesinin fişini çek. 1-100 arasında aklınızdan tuttuğunuz sayıyı
10. Kızaran tostu tabağa koyarak servis et. bulan programın algoritmasını inceleyelim. Bu
11. Bitir. kısımda biraz matematiksel işleme ihtiyacımız ola-
Bu algoritmamızda; cak. Belli iki sayı arasındaki sayıyı en hızlı şekil-
de sayı limitlerini sürekli ikiye bölerek bulabiliriz.
• Adım 2: Girdiler,
Aşağıdaki algoritmada bunun matematiksel olarak
• Adım 3-9: İşlemin yapılma aşamaları, gösterimini inceleyelim.
• Adım 10: Çıktıdır. Girdiler
İşlem adımlarından da görüleceği gibi, algorit- • Sayının büyük / küçük olduğunu bildiren
madaki adımların mantıksal sıralamasına dikkat
evet (e), hayır (h), bildin (b)
edilmesi ve bu sıranın takip edilmesi gerekmektedir.
Aksi hâlde bu basit işlemde bile istediğimiz sonuca Çıktı
ulaşamayız. Algoritma adımlarının herkes tarafın- • Tahmin edilen sayı
dan anlaşılabilir olması gerekmektedir, bu yüzden 5.
adımda oldukça detaylı bir açıklama yapılmıştır.
4
1
İleri Programlama I
1 33 0 100 50 h
2 0 50 25 e
3 25 50 38 h
4 25 38 32 e
5 32 38 35 h
6 32 35 34 h
7 32 34 33 Bildi!!!
Problem Çözme
Problem, gündelik hayatta karşılaştığımız bir sorun, bir otomasyon sistemi ya da işlemin bilgisayar ile
çözülebilmesi fikrinin ortaya çıkmasıdır. İnsan gücü ile çok uzun zaman alacak ya da çözülemeyecek so-
runların bilgisayar vasıtası ile çözülmek istenmesi ile bilgisayar problemleri kavramı oluşmuştur.
Çözülmesi beklenen problemin incelenerek tam olarak anlaşılması gerekmektedir. Eğer tam olarak
anlaşılmayan bir problem çözülmeye çalışılırsa, tüm çözüm aşamalarının tekrar hazırlanması gerekecektir.
5
1
Algoritma ve Programlamaya Giriş
AKIŞ DİYAGRAMI
Akış diyagramları algoritmanın, görsel ve şekilsel olarak ifade edilmesi için kullanılır. Algoritmadan
farklı olarak programın başlangıcından bitişine kadar olan tüm adımlar, geometrik şekillerle gösterilmekte-
dir. Her bir geometrik şekil ve simge, bir iş veya komuta karşılık gelmektedir. Bu yüzden algoritmadaki gibi
her adım için açıklama yapma zorunluluğu yoktur. Algoritmadaki adımlar arası geçişler, akış diyagramında
oklar ile temsil edilmektedir. Akış diyagramında kullanılan şekillerin uluslararası geçerliliği olduğundan,
herkes tarafından rahatça anlaşılabilir.
Programın asıl dokümanları arasında yer alan akış şemaları, sorunun daha kolay çözülebilmesi, iş akı-
şının kontrol edilerek programın daha rahat kodlanmasının sağlanması amacıyla kullanılır. Akışlar, ilk
olarak ana modüller ve sonrasında her bir modül detaylı şekilde hazırlanmalıdır. Böylece tüm modüllerin
detayları ve aralarındaki ilişkiler daha rahat anlaşılabilir.
6
1
İleri Programlama I
7
1
Algoritma ve Programlamaya Giriş
Örnek Akış: Kullanıcıdan alınan iki sayının Örnek Akış: Kullanıcıdan alınan iki sayıdan
çarpımını hesaplama büyük olanı bulma
Başla
Başla
Sayı1,Sayı2
Sayı1,Sayı2
H E
Sayı1>Sayı2?
Büyük=Sayı2 Büyük=Sayı1
Çarpım
Büyük
Bitir Bitir
Resim 1.2 Kullanıcıdan Alınan İki Sayının Çarpımını Resim 1.3 Kullanıcıdan Alınan İki Sayıdan Büyük Olanı
Hesaplayan Akış Diyagramı Bulan Akış Diyagramı
1. Başla.
1. Başla. 2. Sayi1 ve Sayi2’yi oku.
2. Sayi1 ve Sayi2’yi oku. 3. Eğer (Sayi1 > Sayi2)
3. Çarpım = Sayi1 x Sayi2 3.1 Büyük = Sayı 1;
4. Çarpımı ekrana yaz. 4. Değilse
5. Bitir. 4.1 Büyük = Sayı 2;
5. Büyük sayıyı ekrana yaz.
Mantıksal (Koşullu): Akışın yönünün bazı
kural ve koşullara göre değiştiği akış şemalarıdır. 6. Bitir.
Ayrıca koşulların durumuna göre bazı adımlar ger- Döngüsel (Tekrarlı): Mantıksal akış şemasının
çekleşmez. özelleşmiş bir versiyonu olduğu söylenebilir. Koşula
Örnek olarak: göre bazı adımların tekrarlandığı akış şemalarıdır.
• Girilen iki sayıdan büyük olanı bulma, Örnek olarak:
• 3 sayının en küçüğünü bulma, • Girilen bir kelimeyi ekrana 100 defa yazdırma,
• 1’den N’ye kadar olan sayıların toplamını bulma,
• Girilen bir sayının tek-çift olduğunu anlama
• Girilen bir sayının faktöriyelini hesaplama
verilebilir.
verilebilir.
8
1
İleri Programlama I
Örnek Akış: Girilen bir sayının faktöriyelinin Örnek Doğrusal Akış Diyagramı
hesaplanması • Başla.
Başla
• Kullanıcıdan 1. ve 2. sayıyı girmesini iste.
• Toplam = 1. sayı + 2. sayı
• Çarpım = 1. sayı * 2. sayı
N sayısını iste
• Ortalama = toplam / 2
• Toplam, çarpım ve ortalamayı ekrana yazdır.
Sayaç=0, Faktöriyel=1
• Bitir.
Algoritması yukarıdaki şekilde verilen, kullanı-
sayaç=sayaç+1
Faktöriyel=Faktöriyel*sayaç
cının girdiği 2 sayının toplamı, çarpımı ve ortala-
masını veren akış diyagramının çizimi
Sayaç<N? Başla
E
H
sayı1 ve
sayı2 iste
Faktöriyel
Toplam=sayı1+sayı2
Çarpım=sayı1xsayı2
Bitir Ortalama=Toplam/2
9
1
Algoritma ve Programlamaya Giriş
Başla
8. Bitir.
5. EĞER
a. girdi = (e) ise maksi- E
Cevap= e?
H
mum_sayı = tahmin
b. girdi = (h) ise mini- E H
Min=Tahmin Cevap= h?
mum_sayı = tahmin
c. girdi = (b) ise ekrana Min=Tahmin Tuttuğun sayıyı
“Tuttuğun sayıyı bul- bildim!!!
dum!!!” yazdır.
i. adıma git.
6. 3. adıma git. Bitir
7. Bitir.
Resim 1.7 1 ile 100 Arasında Tutulan Sayıyı Bulan Akış Diyagramı
10
1
İleri Programlama I
Öğrenme Çıktısı
2 Bir algoritmanın akış diyagramını çizebilme ve analizini yapabilme
SÖZDE KOD (PSEUDO CODE) • Eğer … İse …(if … then … [if … then]
Problem çözümü için tasarlanan algoritmanın ) ve Eğer … ise … Değilse Eğer … (if …
kodlanması gerekmektedir. Sözde Kod (Pseudo- then … else): Koşullara göre akışa yön ver-
Code), bu algoritmanın bir programlama diline mek için kullanılır.
dönüştürülmeden önceki bir ara formu olarak dü- • Döngü (sayaç= [Başlangıç değeri] TO
şünülebilir. Bu ara form, algoritmanın yarı prog- [Hedef sayı değeri] STEP [Artış/aza-
ramlama dili yarı konuşma dili şeklinde ifade edil- lım miktarı]) … Döngü sonu (for …
mesidir. Sözde kod şeklinde verilen bir algoritmada, endfor): Kod içerisinde, sayısı belli olan
veri yapıları gibi detaylar göz ardı edilerek daha çok tekrarlı blokların oluşturulmasında kulla-
algoritmanın davranışı üzerine odaklanılır. Ayrıca nılır.
sözde kod oluşturulurken herhangi bir söz dizimi
kuralı yoktur. Böylece algoritmamız, daha fazla • Döngü (kontrol) … Döngü sonu (whi-
kişi tarafından anlaşılabilecek ve sözde kodu alan le … endwhile): Belli bir koşul sağlanana
bir yazılımcı da ihtiyaca göre seçilen programlama kadar yapılması gereken işlem bloklarında
dilinde kolay bir şekilde kodlayabilecektir. Sözde kullanılır.
kodun hazırlanmasının bir diğer faydası da, kod- Örnek Sözde Kod 1
lama bilmeyen kişilerin de yapılacak işin akışını ve - Başla.
mantığını kavramalarında kolaylık sağlamasıdır.
Burada dikkat edilmesi gereken en önemli nokta, - Kullanıcıdan 1. ve 2. sayıyı girmesini iste.
metnin anlaşılır ve kolaylıkla bir programlama dili- - Toplam = 1. sayı + 2. sayı
ne uyarlanabilir olmasıdır. - Çarpım = 1. sayı * 2. sayı
Genel olarak kullanılan sözde kod komutlarını - Ortalama = toplam / 2
şu şekilde listeleyebiliriz:
- Toplam, çarpım ve ortalamayı ekrana yazdır.
• Başla (begin): Programın başladığını gösterir.
- Bitir.
• Bitir (end): Programın bittiğini gösterir.
Algoritması yukarıdaki şekilde verilen, kullanı-
• Oku (input, read, get, accept): Kullanıcı-
cının girdiği 2 sayının toplamı, çarpımı ve ortala-
dan veri alır.
masını veren sözde kodun yazımı ve akış diyagra-
• Yaz (print, display, write): Kullanıcıya çı- mının çizimi
kış birimlerinden sonuç gösterir.
11
1
Algoritma ve Programlamaya Giriş
Başla
1. sayi1 <- INPUT
2. sayi2 <- INPUT sayı1 ve sayı2
iste
3. toplam <- sayi1 + sayi2
4. carpim <- sayi1 * sayi2 Toplam=Sayı1+Sayı2
5. ortalama <- toplam / 2 Çarpım=Sayı1xSayı2
Ortalama=Toplam/2
6. PRINT toplam, carpim, ortalama
Hazırlanan sözde koddan da anlaşılacağı gibi, Toplam, Çarpım,
değişkenlere değer atamalarında <- (ok) işareti ile, Ortalama
Öğrenme Çıktısı
3 Sözde Kod (Pseudo Code) yazımı ve analizini yapabilme
12
1
İleri Programlama I
Planlama ve Analiz: Bu aşamada, ilk adımda Bu süreçte de müşteri, Bilgi İşlem (IT) ve yazı-
ortaya çıkarılan modüller detaylı olarak analiz edil- lım ekiplerinin tüm sorularına cevap aranmalı; tüm
meli, projenin hedefleri ve amaçları detaylandırıl- detaylar, çizimler ve gerekli tasarımlarla dokümana
malıdır. Çözümden elde edilen tüm çıktılar ve bek- eklenmelidir. Bu süreç sonucunda oluşan dokü-
lentilerin neler olduğu kesin olarak belirtilmelidir. man da yine tüm taraflarca onaylanmalıdır. Alınan
Yine bu aşamada, projede zaman kaybına neden onayın ardından diğer aşamaya geçilmelidir.
olacak önemli görülmeyen ve acil olmayan özellik- Kodlama: Bu aşamada ise tasarım aşamasında
ler, sonraki fazlara aktarılabilir. oluşturulan tüm dokümanlar ve istekler yazılım
Burada yazılımın nasıl geliştirileceğinden ziya- geliştirme ekibine iletilmektedir. Yazılım geliştirme
de, ihtiyaçların neler olduğuna odaklanılmalıdır. süreci de kod yazım standartlarına uyularak yazılım
Aynı zamanda, isteklerin mevcut teknoloji ve bütçe geliştirme ekibi tarafından gerçekleştirilir.
ile karşılanabilme durumu kontrol edilmelidir. Ya- Kodlama süresince, hazırlanan akışlarla ilgi-
zılım geliştirme ekibi ile en uygun yazılım dili, mi- li karşılaşılan problem ve sorunları, yazılımcılar
mari yapı ve sunucu özelliklerine karar verilmelidir. tarafından tasarım ekibi ile koordineli bir şekil-
Burada amaç, sistemin geliştirilmesi için en uygun de çözmeleri beklenmektedir. Böylece kodlama
yöntemin ortaklaşa bir kararla belirlenmesidir. yaparken daha önce düşünülmemiş bir durumla
Analiz kısmında oluşturulacak belge oldukça karşılaşıldığında, anında müdahale ile çözüm sağ-
sade olmalı ve herkesin anlayabileceği şekilde yazıl- lanacaktır.
malıdır. Çünkü bu doküman vasıtası ile; Her ne kadar kısa bir süreçmiş gibi gözükse de
• Yazılım geliştiriciler, müşterinin ihtiyacını kodlama kısmı olayın merkezinde yer almaktadır.
tam olarak anlayabilmeli, Müşterinin ihtiyaçlarının çözüme kavuştuğu ve
• Tasarım ekibi, sistem tasarımını bu ihtiyaç- işin somut bir hâle geldiği aşamadır. Mümkünse
lara göre ele alabilmeli, yazılım mimarisine bağlı olarak her modülde müş-
teri ile onaylı gidilmeli, olası mantıksal sorunların
• Test ekibi, oluşturulan analize göre test se-
müşterinin kullanımı sırasında ortaya çıkması ön-
naryolarını hazırlayabilmelidir.
lenmelidir.
İyi dokümante edilmiş bir analiz raporu, iş sa-
Test ve Entegrasyon: Geliştirilen modüller, pa-
hibi ve yazılımcı arasında varılacak mutabakat ile
ketler ve akışların, müşterinin taleplerine uygun şe-
imza altına alınmış olmalıdır. Böylece gerektiğinde
kilde hazırlanan senaryolara göre test ekibince test
ihtilafa düşülen durumlarda yol gösterici bir rehber
edildiği aşamadır.
olarak yardımcı olacaktır.
Esasında, yazılım testleri kodlamanın her aşa-
Tasarım: Bu aşamada ise hazırlanan projenin
masında yapılmalıdır. Analiz sırasında yapılan
teknik kısımları ele alınmaktadır. Kullanıcı arayüz-
mantıksal hatalar, kodsal yapılan kontrol hataları,
leri, veri tabanı şemaları, UML (Unified Modelling
devreye alım sırasında sistemsel oluşabilecek hata-
Language — Birleşik Modelleme Dili) diyagramları
ların tümü test aşamasında ele alınmalıdır.
hazırlanır. Tasarımlar yapılırken yazılım standartları-
na uygun şekilde dizayn edilmesi gerekmektedir. Yazılım geliştirme ekiplerince birim testler,
kodlama sırasında yapılmalıdır. Bununla birlikte,
Arayüz tasarımlarında kullanıcı deneyimi ve
modüller ve akışların iletişimleri de test edilmelidir.
kullanım kolaylığı göz önüne alınarak hareket
Test ekipleri ise tüm sistem ele alınarak oluşturulan
edilmelidir. Kullanıcının istediği sayfaya kolaylıkla
senaryolar ile tüm süreçleri kontrol etmelidir.
ulaşabileceği, en az tıklama ile girebileceği şekilde
sayfalar dizayn edilmelidir. Genişletilebilir bir ya- Testin en son aşamasında ise müşterinin ka-
zılım mimarisi ile, ileride gelebilecek taleplerin de bul testi yer almaktadır. Teknik detaya girmeden,
kolaylıkla karşılanabilmesi hedeflenmelidir. müşterinin isteklerinin karşılanıp karşılanmadığı
kontrol edilir. Bu sürece kadar somut bir şey gör-
Ayrıca proje takip sistemleri kullanarak ekiple-
meyen müşteri için, ihtiyaçlarının ne oranda kar-
rin takım çalışması içerisinde yönetilmesi, gerek-
şılandığını göreceği aşama burasıdır. Bu aşama da
tiği yerde kodların kontrolü, çalışma raporları ve
geçilince sistemin devreye alım için hazır olduğu
iş süreçleri takibinin daha rahat şekilde yapılması
ifade edilebilir.
sağlanmalıdır.
13
1
Algoritma ve Programlamaya Giriş
Devreye alım süreci ise imkân varsa öncelikle Bakım: Her ne kadar son sistem test araçları
pilot bir uygulama olarak müşteriye sunulmalıdır. kullanılsa da, birim ve sistem testleri başarılı bir
Genellikle büyük ölçekli, çok kullanıcılı sistemlerde şekilde geçse de, operasyon sırasında kullanıcılar
bu yol izlenmektedir. Karşılaşılan hatalar, sistemsel hata alabilirler. Burada önemli olan alınan hatalar
kısıtlar gibi sorunlar bu süreçte giderilerek sorunsuz için hızlı bir şekilde ve kalıcı çözüm üretebilmektir.
bir sistem tüm kullanıcılara hizmet vermeye hazır Bakım süreci, projenin büyüklüğüne göre şekillen-
hâle gelecektir. Devreye alımda önemli bir nokta da
mektedir. Operasyon kısmında artık sorun alınma-
sistemin kullanımına yönelik oluşturulan kullanma
kılavuzları, yönergelerin hazırlanması ve sürekli gün- dığı zaman bu süreç de sonlandırılarak, standart
cel tutulmasıdır. Bu belgeler, sisteme yeni dâhil olan bakım sürecine geçilebilir.
kullanıcılar için de önemli bir kaynak olacaktır.
Öğrenme Çıktısı
4 Yazılım geliştirmek için izlenecek adımları belirleyebilme
11. Bitir. Resim 1.10 Hava Durumuna Göre Şemsiye ya da Şapka Alma Akış
Diyagramı
14
1
İleri Programlama I
Başla Başla
Mutfağa git
Asansördeki
yükü ölç
Çaydanlığa su koy
E 250 kg dan H
Çaydanlığı ocağa koy
fazla mı
Aşırı yük!!!
Su kaynamış mı kontrol et
Bitir
Çayı demle
10 dk bekle
Servis et
Bitir
15
1
Algoritma ve Programlamaya Giriş
Yaşamla İlişkilendir
16
1
İleri Programlama I
Öğrenme Çıktısı
5 Günlük hayatta karşılaşılan olayların akışını çıkarabilme
17
1
Algoritma ve Programlamaya Giriş
Algoritma
Bilgisayarlar, aklı olmayan ama çok çalışkan makinelerdir. Yapacağı işleri güzel bir şekilde anlatabilirsek,
her ihtiyacımızı kolayca yaptırabiliriz. Bilgisayar ile aramızdaki iletişimi de algoritma ve buna bağlı olarak
hazırlanan yazılımlarla sağlıyoruz.
Algoritma, bir işi yapabilmek için tasarlanmış adımlar silsilesidir. Kendi arasında mantıksal bir bütünlük
bulunur. Bu adımlar net bir şekilde ifade edilmelidir, böylece konu hakkında bilgisi olmayanlar bile bak-
tıklarında kolayca anlayabilirler. Genel kapsayıcılığı ile tüm olası durumları içermeli ve bir bitiş noktasına
sahip olmalıdır.
Algoritmalar bir problemin çözülebilmesi için tasarlanır. Çözüme ulaşabilmek için belli aşamalardan geçil-
mesi gerekmektedir. Bunları da 6 başlık altında toplayabiliriz.
• İnceleme, Analiz
• Girdi çıktıların belirlenmesi
• Alternatif çözümlerin belirlenmesi
• Çözümün iyileştirilmesi
• Kodlama
• Kodun test ve iyileştirilmesi
Akış Diyagramı
Akış diyagramları, algoritmanın, uluslararası geçerliliği olan geometrik şekiller ile gösterilmesi için kullanı-
lır. İş akışlarının detaylı olarak incelenip kontrol edebilmesi ve herkes tarafından anlaşılarak daha rahat bir
şekilde kodlanmasına imkân verir. İş akışları oluşturulurken de parçalanabilecek en küçük modüle kadar
parçalanmalıdır. Böylece hem modüllerin oluşturulması hem de yönetimi daha rahat olacaktır. Akış diyag-
ramı türlerini 3 başlık altında inceleyebiliriz:
• Doğrusal
• Mantıksal
• Döngüsel
Algoritma ile kodlama arasındaki ara forma verilen isimdir. Yarı programlama yarı konuşma dili şeklindedir.
Böylece programlama ile ilgisi olmayan iş paydaşlar da akışlar hakkında bilgi sahibi olabilirler.
18
1
İleri Programlama I
Günlük hayatta yaptığımız eylemlerin çoğunu, farkında olmasak bile belli kurallara uyarak belli sırada
gerçekleştiriyoruz. Sabah yatağımızdan kalkıp işe gidişimize kadar uyguladığımız adımları düşünün. Yü-
zümüzü yıkamak için banyoya girişimiz, musluğu açıp elimizi, yüzümüzü yıkamamız ve musluğu kapatıp
elimizi, yüzümüzü kurulamamız hep bir sıra içinde gerçekleşiyor. Algoritma olarak düşünmemiş olsak bile,
hayatımızın çoğu alanına işlemiş bir olgu olarak karşımıza çıkıyor.
19
1
Algoritma ve Programlamaya Giriş
20
1
İleri Programlama I
9 Aşağıdakilerden hangisi yazılım geliştirme sü- 10 Bir yazılım geliştirilirken kullanıcı arayüzü,
reçlerinden biri değildir? veri tabanı şemaları gibi teknik kısımların ele alın-
dığı aşamaya ….. denir.
neler öğrendik?
A. Kodlama
B. Taleplerin belirlenmesi Yukarıdaki cümlede boş bırakılan yeri aşağıdakiler-
C. Test den hangisi doğru şekilde tamamlar?
D. Bakım A. Planlama
E. Güncelleme B. Analiz
C. Tasarım
D. Kodlama
E. Entegrasyon
21
1
Algoritma ve Programlamaya Giriş
1. E Yanıtınız yanlış ise “Algoritma” konusunu 6. C Yanıtınız yanlış ise “Akış Diyagramı” konu-
yeniden gözden geçiriniz. sunu yeniden gözden geçiriniz.
neler öğrendik yanıt anahtarı
2. E Yanıtınız yanlış ise “Algoritma” konusunu 7. D Yanıtınız yanlış ise “Sözde Kod (Pseudo
yeniden gözden geçiriniz. Code)” konusunu yeniden gözden geçiriniz.
3. C Yanıtınız yanlış ise “Algoritma” konusunu 8. B Yanıtınız yanlış ise “Sözde Kod (Pseudo
yeniden gözden geçiriniz. Code)” konusunu yeniden gözden geçiriniz.
4. D Yanıtınız yanlış ise “Algoritma, Problem 9. E Yanıtınız yanlış ise “Yazılım Geliştirme Süreci”
Çözme” konusunu yeniden gözden geçiriniz. konusunu yeniden gözden geçiriniz.
5. B Yanıtınız yanlış ise “Akış Diyagramı” konu- 10. C Yanıtınız yanlış ise “Yazılım Geliştirme Süreci”
sunu yeniden gözden geçiriniz. konusunu yeniden gözden geçiriniz.
Araştır Yanıt
1 Anahtarı
Afad Başkanlığının sitesinde yer alan deprem anında yapılması gerekenler kıs-
mındaki yönergeden seçilmiş başlıklar ile oluşturulan akışımız şu şekildedir:
Başla
Hayır Evet
Deprem oluyor mu
Panik yapma
Bitir
22
1
İleri Programlama I
Araştır Yanıt
1 Anahtarı
1. Başla.
2. Vize notu gir.
3. Final notu gir.
4. Ortalama hesapla.
4.1 ortalama = vize x 0,4 + final x 0,6
Araştır 5 5. Ortalama >= 50 ise 8. adıma git.
6. Değilse 7. adıma git.
7. Dersten kaldınız uyarısı ver, 9. adıma git.
8. Dersi geçtiniz uyarısı ver.
9. Bitir.
23
1
Algoritma ve Programlamaya Giriş
Kaynakça
Akgül, B. (2015), BPR151 Algoritma ve Programlama I Ders Notları. https://akademiksunum.com/index.jsp?
modul=document&folder=5cd6b64a79f59ea17e8801b5216acf5733c3f13b
Aslanyürek, M. (2021, 2 Ağustos). Programlamaya Giriş ve Algoritmalar Ders Notları https://personel.klu.edu.
tr/dosyalar/kullanicilar/m.aslanyurek/dosyalar/dosya_ve_belgeler/Programlamaya%20Giri%C5%9F%28
Algoritma%29%281%29.pdf
Atık, Y.Z. (2015). Programlama Temelleri, Atatürk Üniversitesi Açıköğretim Fakültesi.
Demir, S. (2021, 1 Ağustos). Algoritma ve Akış Diyagramları. https://www.bilisimmatik.com/algoritma-ve-
akis-diyagramlari/
Hürnalı, E. (2021, 3 Ağustos). Algoritma Geliştirme. https://acikders.ankara.edu.tr/pluginfile.php/58694/
mod_resource/content/0/DersNotu_AlgoritmaKavramiVeProblemCozme.pdf
Kılıçlı, İ. (2021, 1 Ağustos). Problem Nedir? https://silo.tips/download/bazen-de-bir-iletme-veya-ynetimin-
otomasyonunu-salamak-amac-ile-bu-tip-problemle
Özdemir, E. (2021, 5 Ağustos). Waterfall Yazılım Geliştirme. https://erenozdemir.net/waterfall-yazilim-
gelistirme/
24
1
İleri Programlama I
25