Algoritmalar ve Programlama I Ders 2: Akış Diyagramları

Slides:



Advertisements
Benzer bir sunumlar
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Advertisements

Bilgisayar Programlama Güz 2011
Kofaktör Matrisler Determinantlar Minör.
Algoritma ve Akış Diyagramları
Problemi Çözme Adımları
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
AKIŞ DİYAGRAMLARI Yard.Doç.Dr. Cihad DEMİRLİ
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
ALGORİTMA VE AKIŞ ŞEMALARI.
Algoritma ve Akış Diyagramları
Yapısal Program Geliştirme – if, if-else
ALGORİTMA ve PROGRAMLAMA
Görsel C# ile Windows Programlama
Bilgisayar Programlama
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bilgisayar Programlama Güz 2011
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Temel tanımlar ve işleyiş
Bilgisayar Programlama Güz 2011
DERS 3 DETERMİNANTLAR ve CRAMER YÖNTEMİ
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
DOĞRUSAL DENKLEM SİSTEMLERİ ve MATRİSLER
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
Lineer Cebir Prof.Dr.Şaban EREN
ALGORİTMA.
Yrd. Doç. Dr. Mustafa AKKOL
MATLAB’ de Programlama
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
Bilgisayar Programlama Güz 2011
BİL 102 BİLGİSAYAR PROGRAMLAMA DERS 1. PROGRAM GELİŞTİRME AŞAMALARI 1- Probleme ilişkin veriler nelerdir? 2- Çözüm yöntemi nasıl olacaktır? 3- Çözüm sonucunda.
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
Programlamaya Giriş 1.HAFTA: Giriş
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Bilgisayar Grafikleri Ders 3: 2B Dönüşümler
Algoritma Mantığı ve Akış Diyagramları
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritmalar ve Programlama I Ders 8:DİZİ (VEKTÖR) KAVRAMI
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Lineer Olmayan Denklem Sistemlerinin Çözüm Yöntemleri
ALGORİTMA NEDİR? İster bilgisayarda, ister matematikte, isterse günlük hayatta karşımıza çıkan her problemin çözüm yolu vardır. Örneğin yemek yerken farkında.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Bilgisayar Programlama Dersi KTÜ Harita Müh. Böl. 2015/2016Bahar Dönemi Doç. Dr. Oğuz Güngör Yrd. Doç. Dr. Emine Tanır Kayıkçı Yrd. Doç. Dr. Esra TUNÇ.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMA MANTIĞI, ALGORİTMA PROBLEM ÇÖZME
Akış Diyagramları - 1. Akış Diyagramı  Algoritmalar doğal dille yazıldıklarında herkes tarafından aynı biçimde anlaşılmayabilir.  Ancak, akış diyagramlarında.
BÖLÜM 3 AKIŞ DİYAGRAMI.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
O R T L G İ M A A Ve Akış şemaları.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
BİLGİSAYAR PROGRAMLAMA DERSİ 6. DERS NOTU Konu: Matlab’ de Diziler ve Matrisler.
PROGRAMLAMA TEMELLERİ Burak UZUN Bilişim Teknolojileri Öğretmeni Burak UZUN.
Algoritma ve Programlama
Algoritma ve Akış Şemaları
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Problem Çözme Yaklaşımları
Algoritmanın Hazırlanması
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
İleri Algoritma Analizi
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ı
Algoritma ve Akış Diyagramları
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Algoritmalar ve Programlama I Ders 2: Akış Diyagramları Doç. Dr. Cemil Öz Algoritmalar ve Programlama I Ders 2: Akış Diyagramları SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz AKIŞ DİYAGRAMLARI    Problemi çözmek için, problemin anlaşılır bir biçimde ortaya konulması gerekmektedir. Algoritmalar bu açıdan önemli bir araçtır.   Akış diyagramı, algoritmaların geometrik şekillerle ortaya konulmasıdır. Akış diyagramı, problemin çözümü için yapılması gerekenlerin, başından sonuna kadar geometrik şekillerden oluşan semboller ile ifade edilmesidir. Her simge genel olarak yapılacak bir işi veya komutu gösterir. SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz ÖRNEK AKIŞ DİYAGRAMLARI Örnek akış.1;    Örnek alg.3 için akış diyagramını çizelim. klavyeden okunan bir reel sayının karekökünü bulup sonucu ekrana yazan bir algoritmanın tasarlanması. SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz Örnek alg.4;   Problem: Klavyeden okunan bir reel sayının karekökünü bulup sonucu ekrana yazan bir algoritmanın tasarlanması. Tasarım: öncelikle problemin çözümünün matematiksel olarak ifade edilmesi gerekmektedir; a, karekökü bulunmak istenen sayı olsun, x değeri a’nın tahmini karekökü ve b değeri ise a’nın gerçek karekökü ile tahmin edilen karekökü arasındaki fark olsun. Bu durumda a aşağıdaki şekilde ifade edilebilir; a = (x+b)2  a = x2+2xb+b2 Küçük olması beklenen b2 değeri ihmal edilirse, b değeri yaklaşık olarak hesaplanabilir; b  (a-x2)/2x SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz Örnek alg.4;   hesaplanan b değeri kullanılarak a’nın kareköküne daha yakın yeni bir tahmin yapılabilir; xi+1 = xi + b /* burada xi önceki tahmin, xi+1 ise kareköke yakın yeni tahmin değeridir */ Bu şekilde a’nın karekökü girerek yakınsayan bir iterasyon (tekrarlama) ile bulunabilir. a’nın karekökünü yakınsayarak bulan bu iteratif (mutlak hata b,  hata değerinden küçük eşit olana kadar işlem tekrar edilecek) Algoritma sözde kodlar ile ifade edildiğinde aşağıdaki şekilde yazılabilir (ifade kolaylığı için xi yerine x ve xi+1 yerine y kullanılmıştır); SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz Örnek alg.4;   A1: Oku (a) /* karekökü bulunacak sayıyı a değişkenine oku */ A2: Oku (x) /* ilk tahmini karekökü x değişkenine oku */ A3: Oku () /* kabul edilebilir hata değerini  değişkenine oku */ A4: b=(a-x2)/2x /* fark (hata) değeri olan b’ yi hesapla */ A5: y=x+b /* daha yakın yeni karekök değerini (y) hesapla */ A6: Eğer b ise A9’a git /* b ise iterasyonu sonlandırmak için A9’e git */ A7: x=y /* y yeni karekök değerini x değişkenine ata */ A8: A4’e git /* işlemi yeni x tahmini ile tekrarlamak için A4’e git */ A9: Yaz (y) /* en son hesaplanan değeri (y) ekrana yaz */ A10: Dur /* programı sonlandır */ SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz Görüldüğü gibi akış diyagramlarında işlem sırası oklarla gösterildiği için deyimlerin (işlemlerin) A1, A2, vb. etiketlendirilmesine gerek yoktur. Fakat istenirse bu etiketler kutuların dışında sol üst köşeye yazılabilir. SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz Örnek akış.2;   1’den N’ye kadar olan sayıların toplamını hesaplayan programın akış diyagramını çizelim. 1’den N’ye kadar, N adet sayı vardır. Birer artan döngü içinde sayıları toplayabiliriz. Döngü artışını kontrol edeceğimiz değişken i olsun. Toplam değerini de T değişkeni ile ifade edelim. Döngü değişkeni i, 1’den başlayacak ve birer artarak N ye ulaşacak. T başlangıçta 0 ile başlayacak ve döngü içerisinde 1’den N’ye değişen i değeri ilave edilecek. SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz Problemin algoritması  Algoritma sözde kodlar ile ifade edildiğinde aşağıdaki şekilde yazılabilir;   Adım 0: Başla Adım 1: T=0, i=0 Adım 2: T=T+i Adım 3: i=i+1 Adım 3: Eğer i<=N ise Adım 2’ye git Adım 4: Yaz (T) Adım 6: Dur SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz i N işlem T - 10 - - - 10 T=0 0 1 10 T=0+1 1 2 10 T=1+2 3 3 10 T=3+3 6 4 10 T=6+4 10 5 10 T=10+5 15 6 10 T=15+6 21 7 10 T=21+7 28 8 10 T=28+8 36 9 10 T=36+9 45 10 10 T=45+10 55 SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz Örnek akış.3;   NxM boyutlu iki matrisin toplamını hesaplayan bir algoritmanın akış diyagramını çizelim. Matrislerin elemanlarını ifade eden indisleri i ve j ile gösterelim (i=1,...,N, j=1,...,M). Bu durumda A matrisinin her bir elemanı matematiksel olarak Ai,j veya programlama açısından A[i][j]şeklinde ifade edilebilir. Elemanları toplanacak matrisler A ve B matrisleri ve toplam sonucunda oluşacak matris C matrisi olsun. Bilindiği gibi matris toplamında birinci matrisin [i][j] elemanı ile ikinci matrisin [i][j]elemanı karşılıklı olarak toplanarak toplam matrisin [i][j] elemanını oluşturur. SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz Örnek akış.3; matrisleri ve N=M=2 değerleri için SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz