Algoritma ve Akış Diyagramları

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Programlama I
Advertisements

(Yrd. Doç. Dr. İbrahim ASRİ)
ENF1012 MATLAB’a Giriş.
PROGRAMLAMA DİLLERİ 1- Temel kavramlar
Problemi Çözme Adımları
Bilgi Teknolojisinin Temel Kavramları
Programlamaya Giriş 1. Hafta Ders Notu.
TEMEL BİLGİSAYAR BİLİMLERİ
BPR151 ALGORİTMA VE PROGRAMLAMA - I
İŞLEM ÖNCELİĞİ MATEMATİK 5,6.
OPERATÖRLER.
ALIŞTIRMALAR - 1 Sunu 1 ve Sunu 2 İçeriği
PROGRAM GELİŞTİRME 1.HAFTA.
Görsel C# ile Windows Programlama
Bilgisayar Programlama
Formüller Mustafa AÇIKKAR.
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Programlama (Hatırlamalar) Yard.Doç.Dr. Cihad DEM İ RL İ Sunu İ çeri ğ i Kayna ğ ı: Vatansever, F. (2010). Algoritma Geliştirme ve Programlamaya Giriş,
Hazırlayan: Emin BORANDAĞ
Bilgisayar Programlama Güz 2011
Bilgisayar Programlama
Algoritmalar (Algoritms)
Temel tanımlar ve işleyiş
Algoritmalar (Algoritms)
BİLGİ TEK. VE ALG. GİRİŞ YRD.DOÇ.DR. BUKET DOĞAN 1.
Temel Kavramlar, İşlemler, Operatörler
BİLGİSAYAR YAZILIMI.
Mantıksal Operatörler ve Denetim Yapıları
FIZ 275 Bilgisayar Uygulamaları Ders Notu
BİLGİ TEK. VE ALG. GİRİŞ YRD.DOÇ.DR. BUKET DOĞAN 1.
Jeofizikte Bilgisayar Uygulamaları
Programlama Dili nedir? Programlama Dili nedir?. Programlama Dili: Programcının bir bilgisayara ne yapmasını istedi ğ ini anlatmasının standartlaştırılmış.
1 Öğr. B.Aliyeva Öğr. B.Aliyeva Bilgisayar Yazılımı.
İnternet Programlama - 2
Bilgisayar, Yazılım ve Algoritma
Bilgisayar, Yazılım ve Algoritma
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Bilgi Teknolojisinin Temel Kavramları
Algoritmalar (Algoritms)
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Programlamaya Giriş 1. Verileri İşleyerek Özet bilgiler şekline sokabilen, bu veri ve bilgileri yüksek kapasitelerde saklayıp başka ortamlara iletebilen.
Algoritmalar (Algoritms)
ALGORİTMA VE AKIŞ ÇİZELGELERİ
ALGORİTMA ve PROGRAMLAMA KAVRAMLARI
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Bilgisayar Programlamaya Giriş - 1
Programlama Dersi Öğretim üyesi : Prof. Dr. Raşit KÖKER
Genel Kavramlar Bölüm - 1. YAZILIM Bilgisayara işlemler yaptırabilmek ve karar verdirtebilmek için yazılan kalıplara denir. Yazılım, genel olarak donanım.
Barış Ceviz Yazılım Geliştiricisi Yazılım, Yazılımcı, Yazılım Dilleri.
Algoritma ve Programlamaya Giriş
BİLGİSAYAR PROGRAMLAMA DERSİ
Programlamaya Giriş.
C Programlama Dili Çağdaş Hakan Aladağ.
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
YAZILIM İşletim Sistemleri Uygulama Programları Programlama Dilleri
Bilgisayar Donanım ve Sistem Yazılımı
PROGRAMLAMA TEMELLERİ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMALAR
Problem Çözme Yaklaşımları
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
Problemi Çözme Adımları
Bilgisayar Mühendisliğine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Algoritma ve Akış Diyagramları 03.04.2017 Algoritma Hazırlama ve Akış Diyagramları KAYNAKLAR: 1- Algoritma Geliştirme ve Programlamaya Giriş, Fahri Vatansever, Seçkin Yayınları, 4. baskı, 2005. 2- Algoritmayı anlamak, Mustafa Eker, Nirvana yayınları, 2004. Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Bilgisayarda Problem Tanımı ve Çözümü Bir işlemin, otomasyonun ya da bilimsel hesaplamanın çözülmesi fikrinin ortaya çıkmasına problem denir. Bu tip fikirlerde insanların bu sorunları beyinle çözmeleri ya imkansızdır, ya da çok zor ve zaman alıcıdır. Bu tip bir sorunu bilgisayarla çözebilme fikrinin ortaya çıkması bir bilgisayar probleminin ortaya çıkmasına neden olmuştur. Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 PROBLEM ÇÖZÜM AŞAMALARI Analiz : Sorunun çözülebilmesi için problemin tamamen anlaşılmasını sağlayan çalışmalardır. Algoritma : Çözümün adımlarla ifade edilmesidir. Akış Çizgesi : Algoritmanın şekillerle ifade edilmesidir. Programlama Dili Seçimi : Çözümün netleşmesinden sonra yapılacak işlemleri kolay bir şekilde bilgisayar ortamına aktaracak dilin seçilmesidir. Programın Yazılması : Seçilen Programlama dilinin kuralları kullanılarak program yazılmaya başlanır. Derleme : Programlama Dili ile yazılmış programın yazım hatalarının olup olmadığının kontrol edilmesidir. Çalıştırma : Programın çalıştırılması adımıdır. Test : Programın Mantıksal olarak test edilmesini sağlar ve içerik olarak her ihtimal için doğru sonuçlar üretip üretmediğini kontrol etmenizi sağlar. Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Program-Programlama Program Nedir? Problem çözümü kısmında anlatılan adımlar uygulandıktan sonra ortaya çıkan ve sorunumuzu bilgisayar ortamında çözen ürüne program denir. Bazı durumlarda bu ürüne yazılım denebilir. Programlama Nedir? Problem çözümünde anlatılan adımların tümüne birden programlama denilebilir. Çoğunlukla çok iyi tanımlanmış bir sorunun çözümüne dair adımlar ile çözümün oluşturulup bunun bir programlama dili ile bilgisayar ortamına aktarılması Programlama diye adlandırılabilir. Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Programlama Dili (Programing Language) Nedir? Bir problemin algoritmik çözümünün bilgisayarda yazılmasını sağlayan kurallar dizisidir. Bazı programlama dilleri: MATLAB, C, C++, Delphi, Pascal, Visual Basic, Fox Pro, Java, Lisp, C# Bu dillerden en yaygın kullanılanları MATLAB, Delphi, C++ ve Visual Basic dilleridir. Bir dilin üstünlüğünün parametreleri: Kullanılabilirliği, Gelişim hızı, İhtiyaca kolay cevap vermesi, İşletim sistemi ile uyum seviyesi, Derleme işleminin hızlı olması, Az yer kaplaması, Sistemi optimum kullanması… Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 PROGRAMLAMA DİLLERİ Düşük Seviyeli Diller Yüksek Seviyeli Diller Makine Dili Assembly Görsel Diller Görsel Olmayan Diller Visualbasic C Delphi Fortran Html Cobol Java C++ Visual C Qbasic MATLAB Turbo pascal Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 DÜŞÜK SEVİYELİ PROGRAMLAMA DİLLERİ Makine Dili Makine dili 0 ve 1 den oluşan bir dildir ve bilgisayarın anladığı yegane dildir. Bu dili direkt kullanmak için hem komutların sayısal karşılıkları ve hem de bilgisayarın bellek adreslemesini de bilmek gerekmektedir. Bu tip dillere düşük seviyeli dil (Low Level Language) adı verilir. Assembly (simgesel) dili: İkili sayı sisteminde yazılmış olan komutları harfli sembollerle ifade ederek üretilen bir dildir. ADD, LDA ve STA gibi… Assembler: Assembly dilini makine diline çevirir. Her programlama dilinin, yazılan programı makine diline çeviren bir derleyicisi ya da yorumlayıcısı vardır. Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 DERLEYİCİ ve YORUMLAYICILAR Derleyici (Compiler) Nedir? Bir programlama dili ile bilgisayara aktarılan programın bilgisayarın anlayabileceği Makine Diline çevirmeyi sağlayan ve yazılan programda söz dizim hatalarının olup olmadığını bulan yazılımlardır. Her Programlama dili için bir derleyici olması gerekmektedir. C, PASCAL, COBOL, DELPHI derleyicisi olan yüksek seviyeli dillerdir. PROGRAM DERLEYİCİ ÇIKTI AMAÇ PROGRAM Yorumlayıcı (Interpreter) Nedir? Yorumlayıcılar (Interpreter), yazılan programları makine diline dönüştüren yazılımlardır. Ancak bu dönüşüm, derleyiciden farklı olarak gerçekleştirilmektedir. Yorumlayıcılar her satırı anında makine diline çevirerek çalışır ve dolayısıyla program her çalıştırıldığında her satır yeniden makine koduna dönüştürülür. Bu yüzden yorumlayıcılar yavaş çalışmaktadır. VISUAL BASIC ve MATLAB yorumlayıcısı olan yüksek seviyeli dillerdir. PROGRAM YERİ YORUMLAYICI ÇIKTI Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Programlama dillerinde işlemler Bilgisayar programları ile gerçekleştirilen işlemler genel olarak üç gruba ayrılır: a. Matematiksel (aritmetik) işlemler b. Karşılaştırma işlemleri c. Mantıksal (lojik) işlemler Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Programlama dillerinde işlemler Matematiksel (aritmetik) işlemler: Bilgisayarda en sık kullanılan işlemler matematiksel işlemlerdir. Temel aritmetik işlemler (toplama, çıkarma, çarpma, bölme), matematiksel fonksiyonlar (üstel, logaritmik, trigonometrik, hiperbolik vs.) bu gruba dahildir. Aşağıdaki tabloda matematiksel işlemlerin bilgisayar dilindeki karşılıkları verilmektedir. İşlem Sembol Örnek Toplama, a+b + 2+3 Çıkarma, a-b - 5-2 Çarpma, a.b veya axb * 3*4 Bölme, a/b veya / 14/7 Üs alma, ab ^ 2^3 Parantez a*(b+c) ( ) 2*(3+5) Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Örnekler: Matematiksel yazılım Bilgisayarda yazılımı ab-c+d-6+da a*b-c+d-6+d*a b+c3-d/8-b2c b+c^3-d/8-b^2*c ??? Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Matematiksel işlemlerde öncelik hakkı: Tek bir matematiksel deyim içinde birden fazla işlem bir arada bulunabildiğine göre hangi işlemin öncelik hakkına sahip olduğunun bilinmesi yerinde olacaktır. Aşağıda işlemlerin öncelik listesi verilmiştir. Öncelik İşlem 1. Parantez 2. Üs alma, soldan sağa doğru 3. Çarpma ve bölme, soldan sağa doğru 4. Toplama ve çıkarma, soldan sağa doğru Örnek: a=4, b=6, c=8 ve d=10 değerleri için; İfade Sonuç c*d/(a*d)+b+c*d/a 28 c*d/a*d+b+c*d/a 226 c*d/a*d+(b+c)*d/a 235 Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 b. Karşılaştırma İşlemleri: Bilgisayar temel matematiksel işlemlerin yanında karar modelleri de üretebilir. Yani iki büyüklükten hangisinin büyük ya da küçük olduğu ya da birbirine eşit olup olmadığı gibi konularda karar verebilir. Bu karşılaştırma işlemleri nümerik ya da alfanümerik olabilir. Aşağıdaki tabloda karşılaştırma işlemselleri gösterilmiştir: İşlem sembolü Matlab 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 Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 c. Mantıksal (lojik) İşlemler: Bilgisayar temel mantık (VE, VEYA, DEĞİL) işlemlerini de yapabilmektedir. Mantıksal işlem operatörleri hem karar ifadelerinde hem de matematiksel işlemlerde kullanılabilirler. Aşağıdaki tabloda mantıksal semboller gösterilmiştir: Mantıksal İşlem Komut Matematiksel sembolü Matlab sembolü VE AND . & VEYA OR + | DEĞİL NOT ` ~ Aşağıdaki tabloda ise mantıksal işlem sonuçları gösterilmiştir: Sonuç Bilgisayar dili Doğru (1) True Yanlış (0) False Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Örnek: Bir işyerinde çalışan işçiler arasından yalnızca yaşı 30’un üzerinde ve asgari ücret alanların isimlerinin ekrana yazılması istenmiş olsun. Burada iki şart vardır ve bu iki şartın da doğru olması gerekir. Yani; Eğer yaş>30 VE maaş=asgari ücret ise ekrana “kişinin ismini” yaz. Yukarıdaki işlem sonucunda bilgisayar, her iki şartı da sağlayan kişinin adını ekrana yazar. Soru: Bir sınıfta “matematik” dersinden 50’nin üzerinde alıp, “bilgisayar” veya “fizik” derslerinin herhangi birinden 60’ın üzerinde not alanların isimlerinin bulunması isteniyor. Buna göre uygun olan ifadeyi yazınız. Algoritma ve Akış Diyagramları

Algoritma Hazırlama Bir sorunu çözebilmek için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Yani algoritma, işlemleri yaptırabilmek (problemleri çözdürebilmek, kontrolleri gerçekleştirebilmek vb.) için bilgisayara öğretilen işlem basamaklarıdır. Doğal dille yazılabileceği için fazlaca formal değildir. Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade edilir. Bir algoritma için aşağıdaki ifadelerin mutlaka doğrulanması gereklidir. Her adım son derece belirleyici olmalıdır. Hiç bir şey şansa bağlı değildir. Belirli bir sayıda adım sonunda algoritma sonlanmalıdır. Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek kadar genel olmalıdır.

Algoritma ve Akış Diyagramları 03.04.2017 Algoritma ve programlamada kullanılan Temel Kavramlar Algoritma ve programlama dillerinde standart hale gelen terimler şunlardır: 1- Değişken : Belirsiz bir değeri ifade eden değerlere değişken adı verilir. Bir program içerisinde bilgileri tutmak, bu bilgiler üzerinde işlem yapmak için değişkenlerden yararlanılır. Matematiksel olarak ifade etmeye çalışırsak; Denklemlerde karşımıza çıkan a+b=c ifadesi bizim denklemimiz ve buradaki "a","b" ve "c" ise bizim değişkenlerimizdir. a, b ve c’ye girdiğimiz değerlere göre işlem sonuçlanacaktır. Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Algoritma ve programlamada kullanılan Temel Kavramlar 2- Fonksiyon : Giriş parametrelerini belli bir işlemden geçirdikten sonra, geriye çıkış parametrelerini döndüren işlevlere fonksiyon denir. Değişkenler, fonksiyonların vazgeçilmez elemanlarıdır. Örnek:  Değişkenlerimiz olan a ve b şu değerleri alsın: a=1 ve b=2 ; fonksiyonumuz ise a+b=c olsun. Fonksiyonumuzun sonucu:  c=1+2=3 Burada "a","b" değişkenini girerek ve "a+b=c" fonksiyonunu kullanarak "c" değişkeninin değerini buluyoruz. Algoritma ve Akış Diyagramları

Örnek: Verilen iki sayının toplamını bulan programın algoritması aşağıdaki gibi yazılır: A1 : Başla A2 : X degerini gir A3 : Y degerini gir A4 : Z= X+Y A5 : Z' yi yaz A6 : Bitir Algoritmaya dikkat edilirse işlemlerin sıralanmasında,işlem önceliklerinin göz önünde bulundurulduğu görülür.

Algoritma ve Akış Diyagramları 03.04.2017 Algoritma ve programlamada kullanılan Temel Kavramlar 3- Aktarma: Herhangi bir değişkenin içine bir değeri veya ifadenin/işlemin sonucunu gönderme işlemidir. değişken=ifade Satırında ‘değişken’ yazan kısım, herhangi bir değişkenin adıdır. ‘ifade’ yazan kısımda ise matematiksel, mantıksal veya alfanümerik ifade olabilir. Aradaki ‘=‘ sembolü, ‘aktarma operatörü’ olarak adlandırılır ve sağdaki ifadenin/işlemin sonucunu soldaki değişkene aktarır. Bu durumda değişkenin -eğer varsa- bir önceki değeri (eski değeri) silinir. X=3 X=5+4 işleminin sonucunda X’in 3 olan önceki değeri silinerek yerine 9 değeri yazılır. Algoritma ve Akış Diyagramları

Eğer yapısının Üç şekli vardır: Şartlı (Eğer) Yapılar Bir mantıksal ifadeyi kontrol ederek bunun sonucuna göre mümkün seçeneklerden birini icra edebilen bir komuttur. Eğer yapısının Üç şekli vardır: Eğer Şart 1. işlem 2. işlem 3. işlem : Eğer Sonu Eğer Şart … Değilse eğer … Değilse Eğer Sonu Eğer Şart 1.işlem; Değilse 2. işlem Eğer Sonu

A4: Eğer x>y sonuc=(x-y)^(1/2) A5: Değilse, eğer x=y sonuc=(x+y)^7 Örnek: Girilen (okutulan) x ve y değerlerine göre aşağıdaki sonuc değerini bulan programı yazınız x>y ise sonuc= (x-y) x=y ise sonuc=(x+y)7 Değilse sonuc=x+y A1: Başla A2: Oku x A3:Oku y A4: Eğer x>y sonuc=(x-y)^(1/2) A5: Değilse, eğer x=y sonuc=(x+y)^7 A6: Değilse sonuc=x+y A7: Eğer Sonu A8: Bitir ÇÖZÜM:

İç İçe Eğer yapıları: Örnek: Dışardan uzunlukları girilen üç doğrunun bir üçgen oluşturup oluşturmadığını, bir üçgen oluşturuyorsa üçgenin türünü (eşkenar, ikizkenar, çeşitkenar) belirleyen algoritmayı hazırlayınız. ÇÖZÜM: A1: Başla A2: Oku A, Oku B, Oku C A3: Eğer (A+B)>C ve (B+C)>A ve (A-B)<C ise A4: Eğer A=B ve B=C ise A5: Yaz ‘Eşkenar Üçgen’ A6: Değilse eğer A=B veya B=C veya A=C ise A7: Yaz ‘İkizkenar Üçgen’ A8: Değilse Yaz ‘Çeşitkenar Üçgen’ A9: Eğer Sonu A10: Değilse Yaz ‘Üçgen Oluşmaz’ A11: Eğer Sonu A12: Bitir

Algoritma ve Akış Diyagramları 03.04.2017 Algoritma ve programlamada kullanılan Temel Kavramlar 4- Sayaç : Programlarda; bazı işlemlerin belirli sayılarda yaptırılması veya işlenen/üretilen değerlerin sayılması gerekebilir.Örneğin klavyeden girilen bir cümlede kaç sesli harf olduğunu bulan programda, cümlenin her harfi sırayla çağırılır ve sesli harfler kümesine ait olup olmadığı araştırılır. Eğer sıradaki çağırılan harf bu kümeye ait ise bunları sayacak olan değişkenin değeri bir arttırılır. Say = Say + 1 şeklindeki işlemde sağdaki ifadede değişkenin eski(önceki) değerine ‘1’ eklenmekte; bulunan sonuç yine kendisine, yeni değer olarak aktarılmaktadır. Bu tür sayma işlemlerine, algoritmada “sayaç” veya “sayıcı” adı verilir. Yani “sayaç”; işlem akışı kendisine her geldiğinde, belirtilen adım değeri kadar artan/azalan değişkendir. Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 ‘Sayaç’ olayına örnek: X=X+3 Üçer üçer artan bir sayıcıdır S=S-5 Beşer beşer azalan bir sayıcıdır Örnek: Aşağıdaki algoritmada 1-5 arası sayılar, sayaç kullanılarak ekrana yazdırılmaktadır. Burada, S : sayaç değişkeni A1: Başla A2: S=0 A3: S < 5 ise A4: S=S+1 A5: Yaz S A6: Git adım 3 A7: Bitir Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Algoritma ve programlamada kullanılan Temel Kavramlar 5- 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ı, verilen sayıda gerçekleştiren işlem akış çevrimlerine döngü denir. Örneğin 1 ile 100 arasındaki tek sayıların toplamını hesaplayan programda Toplam=1+3+5+…+99 gibi uzun uzadıya yazmak yerine 1 ile 100 arasında ikişer ikişer artan bir döngü açılır ve döngü değişkeni ardışıl toplanır. Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 Döngü oluşturma kuralları: 1- Döngü değişkenine başlangıç değeri verilir 2- Döngünün artma veya azalma miktarı belirlenir 3- Döngünün bitiş değeri belirlenir 4- Döngü değişkeni, döngü içinde adım miktarı kadar artırılmalı yada azaltılmalıdır Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları 03.04.2017 ‘Döngü’ olayına örnek: Örnek: Aşağıdaki algoritmada 1-10 arası tek sayıların toplamı hesaplanmaktadır A1: Başla A2: Toplam=0 A3: K=1 A4: K<=10 ise A5: Toplam=Toplam+K A6: K=K+2 A7: Git adım 4 A8: Yaz Toplam A9: Bitir Döngü Algoritma ve Akış Diyagramları

Sayının faktöryeli : Faktor , Faktöryel değişkeni :X Örnek: Verilen bir sayının faktöryelini hesaplayan programın algoritmasını yazınız (faktöryeli hesaplanacak sayı negatif girilmişse yeniden giriş istenecek) Değişkenler: Sayının faktöryeli : Faktor , Faktöryel değişkeni :X Faktöryeli hesaplanacak sayı :Y Algoritma: A1: Başla A2 : Faktor =1, X=0 A3 : Y'i gir A4 : Y<0 ise 3. adimi tekrarla A5 : X<Y ise A6: Faktor=Faktor*X A7: X =X+1 A8: Adım 4’e dön A9 : Faktor degerini yaz A10 : Bitir

Algoritma ve Akış Diyagramları 03.04.2017 Akış Diyagramları (Flow Charts): Herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Akış diyagramları, algoritmaların sembolik olarak gösterimidir. Bilgisayarda gerçekleştirilecek her tür aksiyon ayrı bir sembolle gösterilir. Başla/Dur Bilgi girişi İşlem Döngü Karar/Karşılaştırma Bilgi çıkışı/Belge Bağlantı İşlem akış yönü Algoritma ve Akış Diyagramları

Örnek: Verilen iki sayının ortalamasını hesaplayan programın algoritmasını yazınız ve akış diyagramını çiziniz. Algoritma: A1 : Başla A2 : X değerini gir A3 : Y değerini gir A4 : Ort = (X+Y)/2 A6 : Ort değerini yaz A7 : Bitir Akış diyagramı: Başla X=? Y=? Ort=(X+Y)/2 yaz Ort Bitir

Karar Verme Yapısı (Şartlı yapılar)

Örnek: Girilen bir sayının Negatif, Pozitif veya Sıfır olduğunu bulan algoritmayı yazınız ve akış diyagramını çiziniz. Bir sayının pozitif, negatif veya sıfır olduğunu bulmak için sıfır(0) ile test edilmesi gerekir.    Algoritma: Akış Diyagramı: A1: Başla A2: Sayıyı (X) giriniz  A3: Eğer X > 0 ise 'POZITIF' yaz  A4: Eğer X < 0 ise 'NEGATİF' yaz  A5: Eğer X = 0 ise 'SIFIR' yaz.  A6: Bitir Başla X=? X>0 doğru ‘POZITIF’ yaz yanlış X<0 doğru ‘NEGATİF’ yaz yanlış ‘SIFIR’ yaz Bitir

Tekrarlı İşlemler (Döngü işlemleri)

A6: Say=100 değilse Adım 4’e git A7: Ortalama=Toplam/Say Örnek: 1'den 100'e kadar olan sayıların toplamlarını ve ortalamasını veren programın algoritmasını yazınız ve akış diyagramını çiziniz. A1: Başla A2: Say=0 A3: Toplam=0 A4: Say=Say+1 A5: Toplam=Toplam+Say A6: Say=100 değilse Adım 4’e git A7: Ortalama=Toplam/Say A8: Yaz Toplam, Ortalama A9: Bitir

A1: Başla A2: A değerini giriniz A3: A=0 ise Adım 2’ye git Örnek: Ax+b=0 seklinde verilen 1.derece denklemin çözümünü veren programın algoritmasını yazınız ve akış diyagramını çiziniz (A=0 girilmiş ise veri girişi yinelenecektir). A1: Başla A2: A değerini giriniz A3: A=0 ise Adım 2’ye git A4: B değerini giriniz A5: X=-B/A A7: Yaz X A9: Bitir Evet A=0 Hayır

Örnek: Kenar uzunlukları verilen dikdörtgenin alan hesabını yapan programa ait algoritmanın hazırlanması. Kenar uzunlukları negatif olarak girildiği durumda veri girişi tekrarlanacaktır. Değişkenler: Dikdörtgenin kısa kenarı : a, Dikdörtgenin uzun kenarı : b, Dikdörtgenin alanı : Alan Algoritma: Akış Diyagramı: A1 : Başla A2 : a değerini gir A3 : a < 0 ise 2. adımı tekrarla A4 : b değerini gir A5 : b < 0 ise 4. adımı tekrarla A6 : Alan = a*b A7 : Alan değerini yaz A8 : Bitir

Örnek: 1' den 100'e kadar sayıların karelerini, kareköklerini, küplerini, küpköklerini sırasıyla bulup ekrana yazdıran ve ayrıca 1’den 100’e kadar olan sayıların ortalamasını da hesaplayan programın algoritmasını ve akış diyagramını hazırlayınız. Algoritma:

Örnek: F(x) fonksiyonunun değeri X'in aldığı değerlere göre aşağıda verilmiştir. X'in değeri 0-10 arasın da 0.5 aralıklarla arttığına göre her bir X değeri için F(x) fonksiyonunu hesaplayan programın akış diyagramını çiziniz. 0< X < 2 f(x)= X 2< X < 3 f(x)=X -X3 -22 3< X <4 f(x)=X2 -2X+13 4< X f(x)=X4 -3X2 -43 Algoritma:

Algoritma ve Akış Diyagramları 03.04.2017 OTOMATİK DÖNGÜ YAPISI: Döngü yapısında EĞER....GİT... yerine DÖNGÜ....DÖNGÜ SONU yapısını da kullanabiliriz. K=1 Eğer K<=10 ise Toplam=Toplam+K K=K+2 Git adım 4  DÖNGÜ K=1:2:10 Toplam=Toplam+K DÖNGÜ SONU Sağdaki DÖNGÜ yapısında K döngü değişkeninden sonraki rakam başlangıç değerini, ortadaki rakam artış miktarını ve son rakam da bitiş değerini gösteriyor. DÖNGÜ SONU’na gelindiği zaman otomatik olarak DÖNGÜ’ye dönülüyor ve artış otomatik olarak yapılıyor. Şart doğru olduğu sürece de aradaki işlemler yapılıyor. Algoritma ve Akış Diyagramları