BPR151 ALGORİTMA VE PROGRAMLAMA - I

Slides:



Advertisements
Benzer bir sunumlar
Ayrık Yapılar Algoritma Analizi.
Advertisements

BPR151 ALGORİTMA VE PROGRAMLAMA - I
Bilgisayar Programlama I
Algoritma ve Akış Diyagramları
Problemi Çözme Adımları
BPR151 ALGORİTMA VE PROGRAMLAMA - I
BPR152 ALGORİTMA VE PROGRAMLAMA - II
BPR151 ALGORİTMA VE PROGRAMLAMA - I
BPR151 ALGORİTMA VE PROGRAMLAMA - I
BPR152 ALGORİTMA VE PROGRAMLAMA - II
BPR152 ALGORİTMA VE PROGRAMLAMA - II
ALGORİTMA VE AKIŞ ŞEMALARI.
Soru 1: Klavyeden girilen 2 tamsayının toplamını bularak ekrana yazdıran bir program yazınız. Problemin tanımı Klavyeden girilen 2 tamsayının toplamı bulunacak.
Algoritma ve Akış Diyagramları
BPR152 ALGORİTMA VE PROGRAMLAMA - II
ALGORİTMA ve PROGRAMLAMA
BPR152 ALGORİTMA VE PROGRAMLAMA - II
AKIŞ ŞEMALARI 2.DERS.
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ş
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
ALGORİTMA VE AKIŞ ŞEMASI
AKIŞ ŞEMASI Akış şeması belirli bir işin yapılabilmesi için, basit işlemlerle şema halinde gösterilmesidir. Kısaca algoritmanın şemalarla gösterilmesidir.
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
a) b) c) d) e) Pi= 4* atan(1) y=Log10 | x | +4 Y= LOG10 (ABS(x))+4
ALGORİTMA.
TEK Mİ ÇİFT Mİ? TOPLA YA DA ÇIKAR.
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
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.
ÇEMBERDE UZUNLUK.
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Algoritma Mantığı ve Akış Diyagramları
Adım Adım Algoritma.
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.
Ders 2 Algoritma İfade Şekilleri
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
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.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
O R T L G İ M A A Ve Akış şemaları.
PROGRAMLAMA TEMELLERİ Burak UZUN Bilişim Teknolojileri Öğretmeni Burak UZUN.
Algoritma Örnekleri.
Algoritma ve Programlama
Algoritma ve Akış Şemaları
T.C. ÖMER HALİSDEMİR ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ ÖĞRETMENLİĞİ EĞİTİMDE BİLİŞİM TEKNOLOJİLERİ – 2 DERSİ ALGORİTMALAR.
ALGORİTMA VE AKIŞ ŞEMASI
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMA VE KODLAMAYA GİRİŞ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Problem Çözme Yaklaşımları
Algoritmanın Hazırlanması
Örnekler.
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Problemi Çözme Adımları
Akis diyagramı Örnekleri
Bilgisayar Bilimi Döngüler.
Algoritma ve Akış Diyagramları
Pi(p) Sayısını Tanıyalım
Aritmetik Operatörler
Sunum transkripti:

BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul

Algoritmalar & Akış Şemaları -Avantajları -Türleri -Örnekleri

Algoritma/Akış Şeması Avantajları Program yazmayı kolaylaştırır. Hatalı kodlama oranını azaltır. Program yazımı için geçen süreyi kısaltır. İşlem akışını bir şekilde gösterdiğinden program kontrolünü kolaylaştırır. Sonradan yapılacak düzenlemelerde kolaylıklar sağlar. Öğr. Gör. Bayram AKGÜL

Akış Şemaları Kontrol akışını ifade etmek için kullanılan şekilleri hatırlayalım: Deltoid koşul durumunda karar verme adımını gösterir Paralel kenar girdi adımlarını gösterir Dikdörtgenler işlem adımlarını gösterir Altı yamuk dörtgenler çıktı adımlarını gösterir Başla Bitir Oklar Akış yönünü gösterir Algoritmanın başlangıç ve bitişini gösterir Çember bağlantı noktasını gösterir Öğr. Gör. Bayram AKGÜL

Akış Şeması Türleri Doğrusal Akış Şemaları Mantıksal Akış Şemaları Döngüsel Akış Şemaları Öğr. Gör. Bayram AKGÜL

Doğrusal Akış Şemaları Her işlemin doğrusal olarak yapıldığı akış şemalarıdır. Her işlem sırasıyla çalışır ve bir işlem diğerini takip eder. Koşul veya tekrarlama gerçekleşmez. Örnek: Girilen iki sayının toplamını bulma Üç sayının ortalamasını bulma Çemberin çevresini ve alanını hesaplama Öğr. Gör. Bayram AKGÜL

Doğrusal Akış Şemaları Örnek:1 Kullanıcıdan alınan iki sayının toplamını hesaplama: Başla Sayi1 ve Sayi2’yi oku Toplam=Sayi1+Sayi2 Toplamı ekrana yaz Bitir Basla Sayi1, Sayi2 Toplam=Sayi1+Sayi2 Toplam Bitir Öğr. Gör. Bayram AKGÜL

Doğrusal Akış Şemaları Örnek:2 Kullanıcıdan alınan üç sayının ortalamasını hesaplama: Başla S1,S2 ve S3’ü oku Toplam=S1+S2+S3 Ortalama=Toplam/3 Ortalama ekrana yaz Bitir Başla S1,S2,S3 Toplam=S1+S2+S3 Ort=Toplam/3 Ortalama Bitir Öğr. Gör. Bayram AKGÜL

Doğrusal Akış Şemaları Örnek:3 Çemberin Çevresini ve Alanını Hesaplama: Başla Çemberin yarıçapını oku (r) Çevre=2*PI*r Alan = PI*r*r Çevre ve alanı ekrana Yaz Bitir Başla r Çevre=2*PI*r Alan = PI * r*r Çevre, Alan Bitir Öğr. Gör. Bayram AKGÜL

Uyarı: Uyarı: kullanıcı çemberin yarı çapı için negatif bir değer girerse ne olur? Negatif alan, çevre olabilir mi? Ne Yapmalıyız? Kontrol Mantıksal Kontrol Öğr. Gör. Bayram AKGÜL

Mantıksal Akış Şemaları Akışın bazı kurallara/koşullara göre yönünün değiştiği akış şemalarıdır. Koşulun durumuna göre bazı adımlar gerçekleşmez. Örnek: Girilen iki sayıdan küçük olanını bulma Üç sayının en küçüğünü bulma Girilen bir sayının tek veya çift olduğunu anlama Girilen sayının N sayısının katı olup olmadığını anlama. Öğr. Gör. Bayram AKGÜL

Mantıksal Akış Şemaları Örnek:1 Kullanıcıdan alınan iki sayıdan küçük olanını bulma: Başla Sayi1 ve Sayi2’yi oku Eğer (Sayi1<Sayi2) 3.1 küçük = sayı1; Değilse 4.1. Küçük = sayı2; Küçük sayıyı ekrana yaz Bitir Basla Sayi1, Sayi2 Sayi1<Sayi2? Küçük Bitir Küçük = Sayı1 Küçük = Sayı2 E H Öğr. Gör. Bayram AKGÜL

Mantıksal Akış Şemaları Örnek:2 Kullanıcıdan alınan 3 sayıdan en küçük olanını bulma sayı1, sayı2, ve sayı3’ü oku küçük = sayı1; (sayı1’in en küçük olduğunu farz edelim) eğer (sayı2 < küçük) 3.1 küçük = sayı2; eğer (sayı3 < küçük) 4.1. küçük = sayı3; küçük sayısını ekrana yaz sayı1, sayı2, sayı3’ü oku sayı2 < küçük ? Başla hayır küçük = sayı1 küçük = sayı2 evet sayı3 < küçük ? küçük = sayı3 küçük sayısını ekrana yazdır Bitir Öğr. Gör. Bayram AKGÜL

Mantıksal Akış Şemaları Örnek:3 Girilen bir sayının tek veya çift olduğunu anlama: Başla Sayı’yı oku Eğer (Sayı mod 2 = 0) 3.1 Ekrana yaz "sayı çift"; Değilse 4.1. Ekrana yaz "sayı tek"; Bitir Basla Sayı Sayı mod 2 = 0 ? Bitir Sayı tek Sayı çift H E Öğr. Gör. Bayram AKGÜL

Mantıksal Akış Şemaları Örnek:4 Girilen bir sayının N sayısının katı olup olmadığını anlama: Başla Sayı’yı ve N ‘yi oku Eğer (Sayı mod N = 0) 3.1 Ekrana yaz: "sayı N sayısının katı" Değilse 4.1. Ekrana yaz: "sayı N sayısının katı değil!"; Bitir Basla Sayı, N Sayı mod N = 0 ? Bitir Girilen sayı N sayısının katı değil! Girilen sayı N sayısının katı H E Öğr. Gör. Bayram AKGÜL

Birden Fazla mantıksal ifadeyi birleştirme: Mantıksal ifadeleri birleştirmek için VE, VEYA operatörleri kullanılabilir. Örnek: bir sayının hem 2’nin hem de 3’ün katı olduğunu anlamak için: Eğer (sayı mod 2 = 0 VE sayı mod 3 = 0) ise … Bir sayının ikinin katı veya 3’ün katı olduğunu anlamak için: Eğer (sayı mod 2 = 0 VEYA sayı mod 3 = 0) ise … Bir ifadenin tersini almak için DEĞİL operatörü kullanılabilir. Öğr. Gör. Bayram AKGÜL

Mantıksal Akış Şemaları Örnek:5 Girilen bir sayının 3’ün ve 7’nin katı olup olmadığını anlama: Başla Sayı’yı oku Eğer (Sayi mod 3 = 0) 3.1. Eğer (Sayı mod 7 = 0) ise 3.1.1. Ekrana yaz: "sayı 3’ün ve 7’nin katı " 3.2. Değilse 3.2.1. Ekrana yaz: "sayı 7’nin katı değil " Değilse 4.1. Ekrana yaz: "sayı 3’ün katı değil!"; Bitir Başla Sayı Sayı mod 3 = 0 ? Bitir Girilen sayı 3’ün ve 7’nin katı Girilen sayı 3’ün katı değil H E Sayı mod 7 = 0 ? Girilen sayı 7’nin katı değil Öğr. Gör. Bayram AKGÜL

Mantıksal Akış Şemaları Örnek:5:2. yöntem Girilen bir sayının 3’ün ve 7’nin katı olup olmadığını anlama -2. yöntem: Başla Sayı’yı oku Eğer (Sayi mod 3 = 0) VE (Sayı mod 7 = 0) ise 3.1 Ekrana yaz: "sayı 3’ün ve 7’nin katı" Değilse 4.1. Ekrana yaz: "sayı 3’ün ve 7’nin katı değil!"; Bitir Başla Sayı Sayı mod 3 = 0 ? VE Sayı mod 7 = 0 ? Bitir Girilen sayı 3’ün ve 7’nin katı Girilen sayı 3’ün VE 7’nin katı değil H E Öğr. Gör. Bayram AKGÜL

Döngüsel Akış Şemaları Bir çeşit mantıksal akış şemasıdır. Koşula göre bazı adımların tekrarlandığı akış şemalarıdır. Örnek: İsmini ekrana 100 defa yazdırma 1’den N sayısına kadar sayıları toplama 1’den N sayısına kadar M’nin katları olan sayıları toplama Bir sayının faktöriyelini hesaplama Öğr. Gör. Bayram AKGÜL

Döngüsel Akış Şemaları Örnek:1 İsmini ekrana 100 defa yazdırma Başla Sayaç = 0 Sayaç = Sayaç + 1 Ekrana yaz «Ali KARA» Eğer (Sayaç < 100) ise 5.1. 3. Adıma git Bitir. Basla Sayaç = 0 sayaç < 100 ? Bitir Ali KARA H E sayaç = sayaç + 1 Not: 3. ve 4. adımları değiştirmek sonucu etkilemez. Öğr. Gör. Bayram AKGÜL

Döngüsel Akış Şemaları Örnek:2 1’den N sayısına kadar olan sayıların toplamını ekrana yazdırma Başla N sayısını kullanıcıdan iste Sayaç = 0, Toplam = 0 Sayaç = Sayaç + 1 Toplam = Toplam + Sayaç Eğer (Sayaç < N) ise 6.1. 4. Adıma git Toplamı Ekrana yaz Bitir. Basla Sayaç = 0, Toplam = 0 sayaç < N ? Bitir Toplam H E sayaç = sayaç + 1 Toplam = Toplam + sayaç N Öğr. Gör. Bayram AKGÜL

Döngüsel Akış Şemaları Örnek:3 Basla Sayaç = 0, Toplam = 0 sayaç < N ? Bitir Toplam H E sayaç = sayaç + 1 N, M sayaç mod M = 0 ? Toplam = Toplam + sayaç 1’den N sayısına kadar M’nin katları olan sayıların toplamını ekrana yazdırma Başla N ve M sayılarını kullanıcıdan iste Sayaç = 0, Toplam = 0 Sayaç = Sayaç + 1 Eğer (Sayaç mod M = 0) ise 5.1. Toplam = Toplam + Sayaç Eğer (Sayaç < N) ise 6.1. 4. Adıma git Toplamı Ekrana yaz Bitir. H Öğr. Gör. Bayram AKGÜL

Döngüsel Akış Şemaları Örnek:4 Girilen N sayının faktöriyelini ekrana yazdırma (ör: 5! = 5*4*3*2*1 = 120) Başla N sayısını kullanıcıdan iste Sayaç = 0, Faktöriyel = 1 Sayaç = Sayaç + 1 Faktöriyel = Faktöriyel * Sayaç Eğer (Sayaç < N) ise 6.1. 4. Adıma git Faktöriyeli Ekrana yaz Bitir. Basla Sayaç = 0, Faktöriyel = 1 sayaç < N ? Bitir Faktöriyel H E sayaç = sayaç + 1 Faktöriyel = Faktöriyel * sayaç N Öğr. Gör. Bayram AKGÜL

Döngüsel Akış Şemaları Örnek:5 Çemberin Çevresini ve Alanını Hesaplama: (kullanıcının yarı çapı 0’dan büyük girdiği garanti ediliyor) Başla Çemberin yarıçapını oku (r) Eğer (r <= 0) 2.1. Ekrana Yaz: «r değeri 0’dan büyük olmalı» 2.2. 2. Adıma dön Çevre=2*PI*r Alan = PI*r*r Çevre ve alanı ekrana Yaz Dur Başla r Çevre=2*PI*r Alan = PI * r*r Çevre, Alan Bitir r <= 0 ? E H r değeri 0’dan büyük olmalı Öğr. Gör. Bayram AKGÜL

Dinlediğiniz için teşekkürler… Öğr. Gör. Bayram AKGÜL