Algoritmalar ve Akış Diyagramları

Benzer belgeler
Algoritma ve Akış Diyagram Örnekleri

Her zaman izlediğimiz yöntem örneklerle açıklamak olduğuna göre ne duruyoruz hemen örneklere geçelim

Döngüsel Akış Diagramı Algoritmaları

4- ALGORİTMA (ALGORITHM)

4- ALGORİTMA (ALGORITHM) M.İLKUÇAR - 1

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI

C SHARP UYGULAMA ÇALIŞMASI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

ALGORİTMA ÖRNEKLERİ ve YAZILIYA HAZIRLIK SORULARI

ALGORİTMA VE AKIŞ ŞEMALARI

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

BİLGİSAYAR PROGRAMLAMA MATLAB

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Algoritmanın Hazırlanması

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

Dr. Musa KILIÇ Öğretim Görevlisi

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir.

Bilgisayar Programı Nedir?

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

Basit Algoritma Akış Diagramı Örnekleri

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

Algoritma ve Programlamaya Giriş

Algoritma kelimesinin kökeni:

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:

Algoritmalar ve Programlama. Algoritma

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

5- AKIŞ DİYAGRAMLARI (FLOW- CHART) M.İLKUÇAR - 1

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Algoritma & Matlab.

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

ALGORİTMA (ALGORITHM) M.İLKUÇAR -

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

BMT 101 Algoritma ve Programlama I 3. Hafta (Örnekler) Yük. Müh. Köksal GÜNDOĞDU 1

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

BÖLÜM 3: AKIŞ DİYAGRAMLARI

Hafta 5 Algoritma Örnekleri ve Analizi


Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

Bilgisayarda Programlama. Temel Kavramlar

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

ÖRNEK ALGORİTMA VE AKIŞ ŞEMALARI. Örnek 1: Klavyeden girilen 2 sayının toplamını bulan programın algoritma ve akış şemasını yapınız.

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.)

Bazen de bir işletme veya yönetimin otomasyonunu sağlamak amacı ile bu tip problemler tanımlanır.

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

BÖLÜM 2: ALGORİTMALAR

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

DEĞERLENDĐRME ÖDEV % 20 ARASINAV % 30 FĐNAL SINAVI % 50

Algoritma ve Akış Şemaları

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

BİLGİSAYAR PROGRAMLAMA DERSİ

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Programlama Temelleri Dersi - Algoritma Örnekleri-v0.2

7) 30 kişilik bir sınıfta her öğrenciye ait 5 ödev verilmiştir. Ödevlerden 3 tanesini doğru yapan

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ. Yrd.Doç.Dr. Emel ARSLAN

Algoritmik Program Tasarımı, Akış Şemaları ve Programlama. Bilgisayar Mühendisliğine Giriş 1

BLG 1306 Temel Bilgisayar Programlama

PROGRAMLAMA DİLLERİ I

3. Bölüm Algoritmalar

Dr. Cahit Karaku. Algoritma, bir ii yapmak için, balangıç durumundan açıkça belirlenmi bir son durumda sonlanan, ilemler (adımlar) kümesidir.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Akış Diyagramı)

BİL1001 Bilgisayar Bilimlerine Giriş 1

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Bilgisayar programlaması sırasında izlenebilecek bir çok yol ve yöntem vardır. Programcının probleme ilişkin çözümü ortaya çıkarabilmesi için problem

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

3. KOŞUL YAPILARI 3.1. IF YAPISI 2

C++ Dilinde Bazı Temel Algoritmalar

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

Ünite 01 Algoritma Geliştirme

Örnek 1: Girilen iki sayıyı toplayıp yazdıran algoritmayı ve akış diyagramını tasarlayınız.

ALGORİTMA VE PROGRAMLAMA I

Bilgisayar programcılığını öğrenmenin en zevkli yolu: Algoritma ve Akış Şeması Oyunu

PROGRAM AKIŞ DİYAGRAMLARI

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

Hafta 4 Döngü Yapıları

BİLGİSAYAR PROGRAMLAMA DERSİ

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Bilgisayar II Dersi. Bölüm-2

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Transkript:

lar ve Akış Diyagramları Bilgisayar ortamında bir problem çözülürken aşağıdaki adımlara dikkat edilmelidir. 1 a-) Sorunu Tanımlama: Her şeyden önce çözülecek soru tam olarak anlaşılmalıdır. Yanlış anlaşılmış bir sorunun çözümü yanlış olacak ve istenileni vermeyecektir. Bu adımda yapılacak en ufak bir hata daha sonraki adımların yeni baştan yapılmasını gerektirebilir. Sorunun tanımı yapılırken var olan bilgiler, anlamları ve birbirleri ile ilişkileri tanımlanmalıdır. Daha sonra istenenler belirlenmeli ve bunların var olan bilgiler ile ilişkileri öğrenilmelidir. Son olarak yapılacak işlemler belirlenir. Mümkün ise örnek veriler ile elde edilen sonuçlar değerlendirilmelidir. b-) Geliştirme: Soru tanımını tam olarak yaptıktan sonra, çözüm için yol aramak gerekir. Genellikle bir sorunun birden fazla çözüm yolu olabilir. Bunlardan en uygunu seçilmeye çalışılır. Soru ne kadar karışık olursa olsun, alt birimlere bölünür. Her birimin çözümü ayrı, ayrı yapılır. Bu yapılırken birimler arası ilişki sürekli olarak korunur. c-) Girdi ve Çıktı Biçimi Belirleme: Sonuçların dış ortama, dolayısıyla insana aktarımı düzgün bir biçimde yapılmalıdır. Programcı program çıktısı olarak almak istediği dökümün biçimini tasarlar. Bir döküm biçimi tasarlanırken anlaşılır ve kullanılabilir olmasına özen gösterilmelidir. Genellikle programa, çözdüğü soruna ilişkin bazı verilerin dışarıdan verilmesi gerekir. Örneğin; bir denklem takımının kökleri bulunacaksa, ilgili katsayıların programa verilmesi gibi. d-) Akış Şemasını Çizme: Akış şeması belirli bir işin yapılabilmesi için, basit işlemlerle şema halinde gösterilmesidir. geliştirildikten sonra, daha iyi anlaşılabilir olması ve programlama dillerine aktarımı daha kolay olması nedeniyle, akış şeması haline getirilir. Böylece sorunun çözüm basamakları, birbirleri ile ilişkileri ve bilgi akışı daha kolay görülebilir ve yanlışlıklar düzeltilebilir. e-) Kodlama: Akış şemaları çizildikten sonra, sorunu yapısına uygun bir programlama dili seçilir. Bu dil ile akış şemaları dilin kurallarına uygun olarak bilgisayarın anlayabileceği duruma getirilir. f-) Programı Sınama: Program yazıldıktan sonra, sonuçları daha önceden bilinen veriler girilerek, eldeki sonuçlarla çıkan sonuçlar karşılaştırılır. Programın doğru çalışıp çalışmadığı sınanır. Nedir?, matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir. Yani belli bir problemi çözmek veya belirli bir amaca ulaşmak için çizilen yola algoritma denir. Genellikle programlamada kullanılır ve tüm programlama dillerinin temeli algoritmaya dayanır. Aynı zamanda algoritma tek bir problemi çözecek davranışın, temel işleri yapan komutların veya deyimlerin adım adım ortaya konulmasıdır ve bu adımların sıralamasına da dikkat edilmelidir. Bir problem çözülürken algoritmik ve sezgisel (herustic) olmak üzere iki yaklaşım vardır. Algoritmik yaklaşımda çözüm için olası yöntemlerden en uygun olanı seçilir ve yapılması gerekenler adım adım ortaya konulur. yı belirtmek için; metinsel olarak düz ifade ve akış diyagramı olmak üzere 2 yöntem kullanılır. lar bilgisayarlar tarafından işletilebilirler. 2 1 http://w3.gazi.edu.tr/~akaraci/basic ders notu_abdulkadir_son.doc 2 http://tr.wikipedia.org/wiki/

sözcüğü, Özbekistan'ın Harezm, bugünkü Türkmenistan'ın Khiva kentinde doğmuş olan Ebu Abdullah Muhammed İbn Musa el Harezmi adındaki İran'lı alimden kaynaklanır. Bu alim 9. yüzyılda cebir alanındaki algoritmik çalışmalarını kitaba dökerek matematiğe çok büyük bir katkı sağlamıştır. "Hisab el-cebir ve el-mukabala حس اب) و الج بر "(المقابل ة kitabı dünyanın ilk cebir kitabı ve aynı zamanda ilk algoritma koleksiyonunu oluşturur. Latince çevirisi Avrupa'da çok ilgi görür. Alimin ismini telaffuz edemeyen Avrupalılar "algorizm" sözcüğünü "Arap sayıları kullanarak aritmetik problemler çözme kuralları" manasında kullanırlar. Bu sözcük daha sonra "algoritma"ya dönüşür ve genel kapsamda kullanılır. nın Temel Bileşenleri 3 bilmeden gerçek manada bir programcı olunamaz. Bunu yaparken 3 temel bileşen vardır. Problemleri çözülürken bu basamakları takip edilmelidir. 1. 2. 3. Akış Diyagramı Bununla ilgili küçük bir örnek verelim: Örneğin klavyeden girilen iki sayının toplamını bulan ve sonucu ekrana yazdıran programın algoritması ve akış diyagramı istenseydi. 1. birinci sayı: x ikinci sayı :y iki sayının toplamı:toplam 2. Birinci sayıyı oku ve x değişkenine aktar. ikinci sayıyı oku ve y değişkenine aktar. x ve y sayılarını topla sonucu toplam değişkenine aktar. Toplam değerini ekrana yazdır. Dur Yukarıdaki örnekte basit bir problemin nasıl çözüleceği anlatılmıştır: Burada değişkenler dışarıdan girilen ve bizim oluşturduğumuz değerleri tutan elemanlardır. ise problemin çözümünün adımlar halinde oluşturulmasıdır. Akış Diyagramı (Flowing Diagram) ise çözümün şekiller ile tasviridir. Akış Diyagramları ( Flow Charts ) nın betimsel olarak değil de simge ve sembollerle anlatılmasına denir. Akış diyagramlarında kullanılan temel simgeleri Tablo 1. deki şekilde verilebilir: Tabi ki başka sembollerde mevcuttur. Akış Diyagramları içerik ve biçimlerine göre genel olarak 3 e ayrılır. 1. Doğrusal Akış Diyagramları Şekil 1. Akış Diyagramı 3 http://www.dahiweb.com/category/algoritma

2. Mantıksal Akış Diyagramları 3. Yineli (Çevrimli, Döngülü) Akış Diyagramları Tablo 1. Akış diyagramı sembolleri a) nın başlangıç ve bitişin de kullanılır. b) Klavye aracılığı ile bilgi girişi yapılacağını belirtir. c) Bir değerin ekrana veya yazıcıya çıktısının alınacağı zaman kullanılır. d) Herhangi bir matematiksel işlem yapılacağı zaman kullanılır e) Aritmatiksel veya mantıksal olarak karar verme durumlarında kullanılır. f) Yapılacak iş birden çok yapılacaksa (Döngü mantığı) bu sembol kullanılır. Doğrusal Akış Diyagramları nın bir problemi çözebilmek için izlenmesi gereken basamaklar serisi olduğu daha önce söylemiştik. Bizler için bu problemler günlük yaşantı problemleri değil de programcılık mantığı ile çözülmesi gereken problemlerdir. Örnek 1: Klavyeden girilen 3 sayıyı toplayan ve ortalamasını alarak sonuçları ekrana yazdıran programın algoritmasını ve akış diyagramını tasarlayınız. Bu problemin çözümü için öncelikle elimizde verilerin olması gereklidir. Yani 3 adet sayı girilmesi gerekli. Sayılar girildikten sonra sayılar toplanacak çıkan toplam 3 e bölünüp ortalaması bulunacak ve sonuçlar ekrana yazdırılacak. x=birinci sayı y=ikinci sayı z=üçüncü sayı top=sayıların toplamı ort=sayıların ortalaması Artık adım adım kafamızda tasarladığımız basamakları algoritma içerisinde yazalım. Adım 8. Birinci sayıyı oku ve x e kaydet. İkinci sayıyı oku ve y ye kaydet. Üçüncü sayıyı oku ve z ye kaydet. top=x+y+z işlemini yap. ort=top/3 işlemini yap. top ve ort değerlerini ekrana yazdır. Bitir Örnek 2: Şimdiki örneğimizde biraz geometrik şekilleri anımsayalım ve bazı hesaplamalar yapalım. Sırasıyla, bir kenar uzunluğu verilen karenin alanını ve çevresini, bir kısa kenar ve bir uzun kenar uzunluğu verilen dikdörtgenin alanını ve çevresini, yine yarıçapı verilmiş bir dairenin alanını ve çevresini hesaplayan programın algoritmasını ve akış diyagramını tasarlayınız. Önce değişkenlerimizi yazalım: Şekil 2. Örnek1 Akış diyagramı

Kare için: kk: karenin bir kenar uzunluğu ka:karenin alanı kc:karenin çevresi Dikdörtgen için: dkk:dikdörtgenin kısa kenar uzunluğu duk:dikdörtgenin uzun kenar uzunluğu dia:dikdörtgenin alanı dic:dikdörtgenin çevresi Daire için r:daire nin yarıçap uzunluğu da:dairenin alanı dc:dairenin çevresi Önceki örneğimize göre değişken sayısı arttı. e isim verirken Türkçe karakter kullanmamaya özen gösterilmeilir. Ayrıca bazı kelimeler programlama dillerinde reserved (rezerv edilmiş ayrılmış) kelimelerdir. Örneğin sin, cos, sqrt gibi matematiksel fonksiyon isimleri olabilir. Çoğu programlama dilinde bu fonksiyon kütüphanelerde mevcuttur. Şimdi ise algoritmamızı yazalım. kk,dkk,duk,r değerlerini oku ka=kk*kk, kc=kk*4 (Karenin alanını ve çevresini bulan formüller) dia=dkk*duk, dic=2*(dkk+duk) (Dikdörtgenin çevresini ve alanını bulan formüller) da=3.14*r*r, dc=2*3.14*r (Dairenin alanını ve çevresini bulan formüller) ka, kc, dia, dic, da, dc değerlerini ekrana yazdır. Bitir. Şekil 3. Örnek2 Akış diyagramı Buraya kadar ki örneklerde görüldüğü gibi her algoritmanın bir başlangıca ve bir bitişe sahiptir. Örnek 3: Bir kırtasiye de kalem defter ve silgi satışı yapılmaktadır. Birim fiyatları ve kaç adet alındığını klavyeden girilerek bir müşterinin ne kadar ödemesi gerektiğini hesaplayan programın algoritmasını ve akış diyagramını çiziniz. Ürünlerin Satış Fiyatı Kalemin Fiyatı : k Defterin Fiyatı: d Silginin Fiyatı: s Alınan Ürün Miktarları

Kalem Miktarı: k1 Defter Miktarı: d1 Silgi Miktarı: s1 Toplam Ücret: t Kalemin Fiyatını giriniz. (k) Defterin Fiyatını giriniz.(d) Silginin Fiyatını giriniz.(s) Alacağımız Kalem miktarı(k1) Alacağımız Defter miktarı(d1) Alacağımız Silgi miktarı(s1) Adım 8. Ödenecek toplam ücreti hesapla t:=(k*k1)+(d*d1)+(s*s1) Adım 9. t değerini ekrana yaz. Adım 10. Bitir Örnek 4: Klavyeden girilen vize notunun %40 ını final notunun %60 ını alarak ortalama notu bulduran programın algoritmasını ve akış diyagramını tasarlayınız. Vize notu: v Final notu: f Ortalaması: ort Vize ve final notlarını klavyeden giriniz. (v,f) Ortalamayı hesapla ort=(v*0.4)+(f*0.6) Ort değerini ekrana yaz. Bitir Örnek 5: Bir baba ve oğlunun yaşları farkını bulan programın algoritmasını ve akış diyagramını tasarlayınız. babanın yaşı: b oğlunun yaşı: o yaşlar farkı: fark Babanın yaşını gir.(b) Oğlunun yaşını gir.(o) fark=b-o işlemini yap fark değişkenini ekrana yaz. Bitir Bu temel örnekler doğrusal akış diyagramını açıklamak için verilmiştir. Doğrusal denmesinin sebebi programın sürekli olarak tek yönde işlemesinden dolayıdır.

Programda mantıksal bir karşılaştırma veya karar verme veya döngüsel bir işlem yapılmadığı için sürekli olarak tepeden aşağıya doğru işlemektedir. Mantıksal Akış Diyagramları Mantıksal akış diyagramları herhangi bir duruma göre algoritmanın akış yönünün değiştiği durumlarda tasarlanır. Bu yön değişimi için belirli karar durumları ile sorgulamalar yapılır. Örneklerimizle konuyu anlatmaya çalışalım. Örnek 1: Girilen 2 sayıdan büyük olanı ekrana yazdıran programın algoritmasını ve akış diyagramını tasarlayınız. Şimdi bu örnekte doğrusal akış diyagramlarından farklı olarak bir karar verme söz konusu. Girilen ilk sayı x olsun ikincisi de y olsun. x sayısını y den büyük yoksa y sayısı mı x den büyük yoksa iki sayı birbirine eşit mi. Bu durumda bir karar verme ve bu karar sonucunda büyük olan sayının ekrana yazdırılması söz konusudur. Birinci sayı: x İkinci sayı: y Birinci sayıyı gir.(x) İkinci sayıyı gir.(y) Eğer x>y ise ekrana 1. sayı büyüktür yaz. Eğer y>x ise ekrana 2. sayı büyüktür yaz. Ekrana sayılar birbirine eşittir yaz. Bitir Örnek 2: Girilen bir sayının tek mi çift mi olduğunu tespit eden programın algoritmasını ve akış diyagramını tasarlayınız. Şimdi böyle bir soruda bir sayının 2 ye bölündüğü zaman 0 kalanını verirse sayı çift 1 kalanını verirse sayı tek olduğu bilgisini hatırlatmamız lazım. Yani burada yine bir karar verme söz konusudur. Mesela; 5 sayısı tek mi çift mi? 5'i 2 ye bölersek kalan 1 ise Tek 18 sayısı tek mi çift mi? 18 i 2 ye bölersek kalan 0 ise Çift Bir sayının bölümden kalanını bulan matematiksel bir fonksiyon mevcuttur. Birçok programlama dilinde de bu fonksiyon tanımlanmıştır. Mod fonksiyonu denilen bu fonksiyonun kullanılışı: 6 mod 2 6 nın 2 ye bölümünden kalan sonuç değeri sıfır. 7 mod 2 7 nin 2 ye bölümünden kalan sonuç değeri birdir.

Değişken Girilen sayı : x Herhangi bir sayı giriniz.(x) Eğer x mod 2 =0 ise ekrana çift yaz değilse tek yaz. Bitir Örnek 3: Girilen sıcaklık değerine göre bir suyun katı, sıvı ve gaz olma durumunu gösteren programın algoritmasını ve akış şemasını tasarlayınız. Su sıfır derecenin altında katı, 0-100 derece arasında ise sıvı, 100 dereceden fazla ise gaz halinde bulunur. Dolayısı ile bu soruda kullanıcı su sıcaklığını girdikten sonra belirli karşılaştırmalar yaparak karar vermemiz lazım. Sıcaklık değeri: t Sıcaklık değerini giriniz.(t) Eğer t<0 ise Ekrana katı yaz. Eğer t>0 ve t<100 ise ekrana sıvı yaz değilse gaz yaz. Bitir. Yukarıdaki akış diyagramından da anlaşılacağı gibi t değeri giriliyor. önce 0 dan küçük mü ona bakıyoruz. eğer küçükse ekran katı yazıyor ve programı bitiyor değilse diğer karar verme durumu oluşuyor. bu sefer 0 ile 100 arasında olup olmadığı sorgulanıyor. evet ise ekrana sıvı yazıyor değil ise girilen değer 100 ve 100 den büyük değere sahip olduğu için direkt olarak ekrana gaz yazılıyor ve program sonlandırılıyor. Örnek 4: Bir dersten 3 sınav notu alan bir öğrencinin: a) Ortalamasını b) 5 li sistemdeki not karşılığını c) harfli sistemdeki not karşılığını yazdıran programın algoritmasını ve akış diyagramını tasarlayınız. Şimdi bu programı çözmeden önce matematiksel işlemler ve not verme sisteminden bahsedelim. Öncelikle alınan üç not sırasıyla x,y,z olsun ortalaması (x+y+z)/3 değerinden çıkar. 5 li sistemde verilen notlar: 100-85 dahil aralığı not 5 olur. Harfli sistemde A olur. 84-70 dahil aralığı not 4 olur. Harfli sistemde B olur. 69-55 dahil aralığı not 3 olur. Harfli sistemde C olur. 54-45 dahil aralığı not 2 olur. Harfli sistemde D olur.

44-25 dahil aralığı not 1 olur. Harfli sistemde E olur. 24-0 dahil aralığı not 0 olur. Harfli sistemde F olur. girilen not değerleri: a,b,c derslerin ortalaması: ort 0-5 arasındaki rakamsal notu: r A-F aralığındaki harfsel notu: h Ders notlarını al.(a,b,c) ortalama değerini hesapla ort=(a+b+c)/3 eğer ort>84 r=5 h=a adım10 a git. eğer ort>69 r=4 h=b adım 10 a git. eğer ort>54 r=3 h=c adım 10 a git. eğer ort>44 r=2 h=d adım 10 a git. Adım 8. eğer ort>24 r=1 h=e adım 10 a git. Adım 9. r=0 h=f Adım 10. r ve h değerlerini ekrana yaz. Adım 11. Bitir. Şimdi adımları incelersek ort değeri bulunduktan sonra eğer ifadeleri ile bulunan ort değeri teker teker sınanıyor ve h ve r değişkenleri değerlerini alıyorlar. Adım 10 da ise bulunan değerler ekrana yazılıp program sonlandırılıyor. Bir hatırlatma yapmak gerekirse bir sorunun çözümünde farklı algoritmalar oluşabilir. Yani bir sorunun farklı şekillerde çözümlemesi yapılabilir. Örneğin bu soruda tersten de gidilebilirdi. Yani alınan not 5 den 0 a değil de 0 dan 5 mi şeklinde sorgulanabilirdi. Örnek 5: Bir fabrikada sabit maaşla çalışan işçiler aile durumlarına ve ürettikleri parça sayısına göre de ek maaş almaktadır. Aşağıda verilen yönergelere göre işçilerin maaşlarını hesaplayan programın algoritmasını ve akış diyagramını tasarlayınız. Çocuk sayısı1 ise maaşın %5 i Çocuk sayısı 2 ise maaşın %10 u Çocuk sayısı 3 ve 3 den fazla ise maaşın %15 i kadar aile yardımı. Üretilen parça sayısı 50-100 arasında ise maaşın %10 u Üretilen parça sayısı 100-150 arasında ise maaşın %15 i Üretilen parça sayısı 150-200 arasında ise maaşın %20 si İşçinin sabit maaşı:m

Çocuk sayısı:c Ürettiği parça sayısı:p Çocuk yardımı: cy Parça yardımı: py Ödenecek toplam maaş: t Sabit maaş, Çocuk sayısı, Üretilen Parça sayısını gir.(s,c,p) Eğer c=1 ise cy=m*0.05 Eğer c=2 ise cy=m*0.1 Eğer c>2 ise cy=m*0.15 Eğer (p>=50 ve p<100) ise py=m*0.1 Eğer (p>=100 ve p<150) ise py=m*0.15 Eğer(p>=150) ise py=m*0.2 t=m+cy+py Adım 8. Adım 9. Adım 10. t değerini ekrana yaz. Adım 11. Bitir Örnek 6: Klavyeden 3 adet kenar uzunluğu giriliyor. Girilen kenar uzunlukları ile : a) Üçgenin çizilip çizilemeyeceğini b) Eğer üçgen çizilirse Üçgenin çeşidini (ikizkenar, çeşitkenar, eşkenar) c) çizilen üçgenin alan ve çevresini bulup ekrana yazan programın algoritmasını ve akış diyagramını tasarlayınız. Şimdi bu soruyu çözmeden önce biraz geometrik işlemlerden bahsedelim: Birincisi üçgenin üçgen olabilmesi için bir kenarı diğer iki kenarının toplamından küçük ve yine diğer iki kenarın farkından büyük olmak zorundadır. Bu özellik tüm kenarlar için doğru olursa belirtilen ölçülerde bir üçgen çizilebilir demektir. Üçgen tiplerinde eşkenar üçgen tüm kenarları eşittir, ikizkenar üçgen de herhangi iki kenar birbirine eşittir, çeşitkenar üçgende ise tüm kenar uzunlukları birbirinden farklıdır. Üçgenin çevresi tüm kenar uzunlukları toplamına eşittir. Alan formüllerinden biri ise Alan=U*((U-a)*(U-b)*(U-c))^1/2 U Burada çevrenin yarısı kadardır. Yani yarı çevrede denilebilir. Bu bilgilerin ışığında algoritmamız aşağıdaki şekilde düzenlenmiştir.

Üç kenar uzunluğunu giriniz.(a,b,c) Eğer( (a+b>c) ve (a-b<c)) veya ( (a+c>b) ve (ac<b)) veya ((b+c>a) ve (b-c<a))değilse ekrana Bir üçgen çizilemez. yaz ve Adım 10 a git. Eğer ((a=b) ve (b=c) ve (a=c)) ise ekrana Eşkenar üçgen yaz. Eğer ((a<>b) ve (a<>c) ve (b<>c)) ise ekrana Çeşitkenar üçgen yaz. Eğer ((a=b) ve (b<>c)) veya ((a=c) ve (c<>b)) veya ((b=c) ve (c<>a)) ise ekrana İkizkenar Üçgen yaz. Üçgenin çevresini bul. (C=a+b+c) Adım 8. Üçgenin yarım çevresini bul. (U=C/2) Adım 9. Üçgenin alanını bul. (A=U*((U-a)*(U-b)*(Uc))^1/2 Adım 10. Çevre ve alan değerlerini ekrana yaz.(c,a) Adım 11. Bitir Döngülü Akış Diyagramları Döngü bir işlemin birden fazla tekrarlanması işlemine denir. Bu işlemin bir başlangıç değeri ve bir bitiş değeri vardır. Ayrıca tekrar edilmesi istenen ifade döngü bloğunun içerisinde yer alır. Örnek 1: 1 den 100 e kadar olan sayıların toplamını bulup sonucu ekrana yazan işlemin algoritmasını ve akış diyagramını tasarlayınız. sayıcımız: x toplam değeri :t Adım 12. Adım 13. Döngüyü başlat (x=1 den 100 e kadar) Adım 14. t=t+x işlemini yap. Adım 15. Döngüyü sonlandır.(x değeri 100 e ulaştığı zaman) Adım 16. Toplam değerini yaz. Adım 17. Bitir.

Örnek 2: 1 den 100 e kadar olan çift sayıların toplamını veren programın algoritmasını ve akış diyagramını tasarlayınız. Şimdi bu soruyu çözmeden önce döngülerin her zaman sayma işlemini birer birer yapmadığını bunu değiştirebileceğimizi hatırlatalım. toplam : t sayıcımız: x Döngüyü başlat (x=2 den 100 e kadar 2 şer 2 şer arttır.) t=t+x işlemini yap. Döngüyü bitir. (x değeri 100 e ulaştığında) Toplam değerini yaz. Bitir. Şimdi akış diyagramını açıklayacak olursak. x değeri 2 değerinden başlayarak 2 şer 2 şer artıyor bu esnada döngü içerisindeki ifade t=t+x yani toplam değişkeni sürekli olarak oluşan x değerlerini toplayarak tutuyor. Döngü dışına çıkacak değere ulaştığında ise burada değer 101 t değeri yazdırılarak program bitirilir. Peki eğer tek sayıların toplanması gerekseydi ne yapardık? Örnek 3: Bir sınıfta 20 öğrenci vardır. Bu öğrencilerin bir sınavdan aldıkları notların (0-100) ortalamasını (Sınıf ortalamasını) bulan programın algoritmasını ve akış diyagramını bulunuz. sayacımız: x not: n notların toplamı: t ortalaması: ort Adım 8. Döngüyü başlat.(x=1 den 20 ye kadar) Not değerini giriniz. (n) t=t+n Döngüyü sonlandır. (x değeri 20 ye ulaştığında) ort=t/20 ort değerini ekrana yaz. Bitir. Örnek 4: Girilen n adet sayının: a) 5 ile bölünebilen sayıların toplamı ve adeti b) 3 ile bölünebilen sayıların toplamı ve adeti c) 2 ile bölünebilen sayıların toplamı ve adeti

Sayı adedi : n Girilen sayı : s Sayacımız: x 5 ile bölünebilenlerin sayısı : b 5 ile bölünebilen sayıların toplamı: btop 3 ile bölünebilenlerin sayısı : c 3 ile bölünebilen sayıların toplamı:ctop 2 ile bölnebilenlerin sayısı: k 2 ile bölünebilen sayıların toplamı : ktop Girilecek sayı adedini giriniz. (n) x=1, btop=0, ctop=0, ktop=0, b=0, c=0, k=0 1 den n ye kadar döngüyü başlat(x=1,x<n,x=x+1) Sayıyı gir.(s) eğer s mod 5=0 ise 5 e bölünebilir. b=b+1, btop=btop+s eğer s mod 3=0 ise 3 e bölünebilir. c=c+1, ctop=ctop+s Adım 8. eğer s mod 2=0 ise 2 e bölünebilir. k=k+1, ktop=ktop+s Adım 9. Döngüyü sonlandır.(x değeri n den büyük olduğunda değilse adım5 den devam eder.) Adım 10. Ekrana (b,c,k,btop,ctop,ktop) değerlerini yaz. Adım 11. Bitir. Örnek: Verilen bir mesajı istenen sayıda ekrana yazdıran programın algoritmasını ve akış diyagramını tasarlayınız. Verilen mesaj : v Sayacımız: a Tekrar sayısı: t Verilecek mesajı gir.(v) İstenen tekrar sayısını gir.(t) Döngüyü başlat (a=1 den t ye kadar) Ekrana yazdır. (v değerini) a<t ise Adım 4'e geri dön. Değilse döngüyü sonlandır. Bitir. Örnek: Klavyeden girilen şifre doğrultusunda (Şifre BLS), girilen bir sayının pozitif olup olmadığını kontrol eden ve sonuç pozitif ise girilen sayının faktörileyini alan programın algoritmasını ve akış diyagramını bulunuz.

Şimdi bu örneğimiz de şifre yanlış girilirse program sonlandırılacak. Ayrıca girilen sayı 0 dan küçük ise yani negatif ise faktöriyel işlemi yapmayacaktır. Bu arada bir sayının faktöriyeli demek sayının 1 değerine kadarki tüm değerlerinin birbiri ile çarpılması örneğin 4!=4*3*2*1 gibi. Girilen şifre: a Faktöriyel sonucu fak Şifremiz: BLS Girilen sayı: b Döngü ngıcı: x Şifreyi giriniz. (a); fak:=1 Eğer (a<> BLS ) ise Ekrana ( Şifreyi yanlış girdiniz. ) yaz ve programı bitir.[adım 12 ye git.] Ekrana ( Şifreyi doğru girdiniz. ) yaz. Bir sayı giriniz. (b) Eğer (b<0) Ekrana ( Sayı negatiftir. ) yaz ve programı bitir.[adım 12 ye git.] Eğer (b>0) Ekrana ( Sayı pozitiftir. ) yaz. Döngü başlangıcı x=1 den b ye kadar. fak=fak*x Adım 8. Adım 9. Adım 10. Döngü sonu Adım 11. Ekrana yaz.(fak) Adım 12. Bitir.