Algoritma ve Akış Diyagramları

Slides:



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

ALGORİTMA BULUNMASI
ALGORİTMA VE AKIŞ ŞEMALARI.
Değişken , Veri Türleri ve Operatörler
mantIKSAL OPERATÖRLER
OPERATÖRLER Programlama dillerinde tanımlanmış sabit ve değişkenler üzerinde işlemler yapmayı sağlayan karakter ya da karakter topluluklarına operatör.
Algoritma ve Akış Diyagramları
Problemi Çözme Adımları
4 Kontrol Yapıları: 1.Bölüm.
VERİ TİPLERİ VE DEĞİŞKENLER
SQL de Değişken Tanımlama
BPR151 ALGORİTMA VE PROGRAMLAMA - I
BPR151 ALGORİTMA VE PROGRAMLAMA - I
BPR152 ALGORİTMA VE PROGRAMLAMA - II
ALGORİTMA VE AKIŞ ŞEMALARI.
Bölüm 3 – Yapısal Programlama
Algoritma ve Akış Diyagramları
Yapısal Program Geliştirme – if, if-else
OPERATÖRLER.
ALGORİTMA ve PROGRAMLAMA
MANTIKSAL OPERATÖRLER
Görsel C# ile Windows Programlama
BPR152 ALGORİTMA VE PROGRAMLAMA - II
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Temel tanımlar ve işleyiş
ŞART İFADELERİ.
DEĞİŞKENLER, VERİ TÜRLERİ VE OPERATÖRLER
DEĞİŞKENLER VE VERİ TİPLERİ
ALGORİTMA VE AKIŞ ŞEMASI
VERİ TİPLERİ VE DEĞİŞKENLER
String class String karakterler dizisidir
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
ALGORİTMA.
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
TEK Mİ ÇİFT Mİ? TOPLA YA DA ÇIKAR.
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.
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Algoritma Mantığı ve Akış Diyagramları
Değişkenler Programda Değişken Tanımlama. Değişken nedir? (Variables) Program içinde kullanılan veri(data)nin tutulduğu alanın adıdır. Her veri bir tür.
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.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
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.
ALGORİTMA DERS 3 AKIŞ ŞEMALARI.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
O R T L G İ M A A Ve Akış şemaları.
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
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
VERİ TÜRLERİ.
PROGRAMLAMA VE KODLAMAYA GİRİŞ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Excel’de VBA Programlama (Visual Basic Application)
Algoritmanın Hazırlanması
YAPISAL PROGRAMLAMA Hafta-6
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
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.
Bilgisayar Bilimi Problem Çözme Süreci-2.
Problemi Çözme Adımları
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Algoritma ve Akış Diyagramları
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Algoritma ve Akış Diyagramları Öğr. Gör. Arif DAŞ Atatürk Üniversitesi Erzurum Meslek Yüksek Okulu Bilgisayar Programcılığı

Giriş İnsanlar her zaman düşünür ve problem çözerler. Birçok problem, az ya da hiç düşünülmeden çözülebilir. Her gün evden çıkarken; Ne giysem acaba? Sorusunu sorarız. Bu o an için bize problem gibi gelir. Bunun için muhtemelen pencereden dışarıya bakar, hava durumuna göre uygun kıyafetler tercih ederiz. Hava yağmurlu ise mevsim gereklerine göre giyinmenin yani sıra dışarıya çıkarken bir de şemsiye almanın mantıklı olacağını düşünürüz. Peki Hava güneşli ve sıcak ise o takdirde daha ince giyinilerek dışarıya çıkarız. Günlük hayatımızdaki basit ama en çok karşılaştığımız problemin çözümü kendiliğinden ortaya çıkmıştır. Yukarıdaki basit örnekte yapılan iş, önce problemin belirlenmesi ve sonra problemin tanımından yola çıkarak çözüm için değişik alternatiflerin değerlendirilmesidir.

Algoritma Nedir? Algoritma, herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade edilir. Algoritma hazırlanırken, çözüm için yapılması gerekli işlemler, öncelik sıraları göz önünde bulundurularak ayrıntılı bir biçimde tanımlanmalıdır.

Peki çözüme nasıl ulaşırız? Önce problemin tanımı yapılır. Sorun nedir? Sorunun kaynağı nedir? Çözüm için yapılması gereken adımlar düşünülür. Bu adımlar işlenirken oluşacak olası aksaklıklar belirlenir. Yeni durumlara karşı alternatif çözümler sunulur. Bütün bunlar yazı veya sembollerle görselleştirilir.

Algoritma Yazımı Yandaki labirenti örnek alsak Bu labirentin tek bir doğru yolu olmasına karşın Pek çok yanlış yolu bulunmaktadır. Bunun için doğru yoldan gitmek için gerekli olan adımlar belirlenmelidir. Bitir Başla

Algoritma nasıl yazılır? Herhangi bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların söz veya yazı ile anlatılmasına algoritma denilir. Algoritmanın, görsel olarak simge ya da sembollerle ifade edilmiş şekline ise "akış şemaları" veya FLOWCHART adı verilir. Akış şemalarının algoritmadan farkı, adımların simgeler şeklinde kutular içine yazılmış olması ve adımlar arasındaki ilişkilerin ve yönünün oklar ile gösterilmesidir.

Bir algortimada neler olmalı? Bir algoritma kısaca aşağıdaki özellikleri barındırmalıdır; Başlangıcı olmalı Basit olmalı Problemin çözümünü, mümkün olan en az adım ile en kısa sürede gerçekleştirmeli Sonu olmalı

Fareyi peynire götür! Algoritma Problem; farenin peynirden uzak olması. Çözüm; bu ikisini birleştirme. Peynir fareye gidebilir mi? – Hayır O zaman fare peynire gidecektir. Peki nasıl? Adım 1. Başla Adım 12. Sağa Dön Adım 2. Sola dön Adım 13. İleri 100 birim git Adım 3. İleri 50 birim git Adım 11. Bitir. Adım 4. Sağa dön Adım 5. İleri 30 birim git Adım 6. Sola dön Adım 7. İleri 30 birim git Adım 8. Sola dön Adım 9. İleri 30 birim git Adım 10. Sağa dön Adım 11. İleri 30 birim git Algoritma

Fareyi peynire götür! Akış Diyagramı Başla Bitir Sağa Dön İleri 100 birim git Sola Dön İleri 30 birim git Bitir Akış Diyagramı İleri 50 birim git Sağa Dön Sağa Dön İleri 30 birim git İleri 30 birim git Sola Dön Sola dön İleri 30 birim git

Algortima ve Akış şeması? Örneklerde de görüldüğü gibi ; Algoritma; yapılacak eylemlerin adım adım sözle veya yazı ile aktarılması işlemidir. Algoritmada yapılacak işlemleri sırası belli olsun diye sayısal veya sözel değerlerle hiyerarşik bir yapıya büründürülür. Akış diyagramı; ise bu adımların belirli semboller ile görselleştirilmesi temeline dayalıdır. **Aslında ikisi de işlemlerin nasıl ve ne zaman yapılacağını anlatmaktadır.

Akış şemasındaki semboller ne anlama geliyor? Akış diyagramı (flow chart), bir algoritmanın adımlarının mantıksal sırasını, adımların birbiri ile bağlantısını, bir işlemden diğerine nasıl gidileceğini belirten kontrol mekanizmalarını, özel bazı şekil ve sembollerle anlatan bir ifade biçimidir. Aşağıda bu semboller görülmektedir: Programın başlangıç ve bitişi için kullanılır. Aktarma, aritmetik hesaplama, işlem Bilgi giriş çıkışı için kullanılır. Yön çizgileri, İşlemin akış yönünü gösterir. Karar alma için kullanılır. Döngü Yazdır Bağlantı

Programlar nasıl çalışır? Kuşu Kurbağa ’ya ulaştırın Programlar tetikleyici adı verilen bir olay ile başlar. Tıklandığında, dokununca, konuşunca, hareket olunca, vb. Satır satır ve sırayla çalışır.

Peki bu uygulamada verilecek komutlar nelerdir? Kendinizi deneyin!

Sabit Nedir? Not: Sabitler program akışında asla değer değiştirmezler. Günlük hayatta kullanılan bazı değerler hep aynıdır. Her ne olursa olsun bu değerler değişmez. Bu tür değerler programlama dillerinde bir takma isim eşliğinde kullanılır. Bu takma isimlere sabit denir. Bir örnek ile açıklayalım; Suyun kaynayana kadar deriz mesela burada kastettiğimiz suyun 100 0C sıcaklığa ulaşmasıdır. Suyun donması içinde 0 0C düşünülür. Pi sayısı dendiğinde akla 3,14 gelir. İşte bunlar sabit değerlerdir. Her defasında bu değerleri yazmak kolay gibi gelebilir. Fakat Avogadro sayısı ve Pi sayısının orjinali gibi kompleks bir değeri her defasında yazmak ister misiniz? Avogadro sayısı : 6.02214199x1023 Pi sayısı : 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 … (devamı var) Bu sebepten bu sayılara birer isim verip bu isimlere de değer olarak sayıların değerini veriyoruz. Kullanmak istediğimizde ise artık sayıyı değil sayının takma ismini kullanıyoruz. Çemberin çevresi= 2 x pi x 5; Not: Sabitler program akışında asla değer değiştirmezler. Yarıçap:5

Değişken Nedir Hayatımızda bazı verilerde sürekli değişiklik gösterir ve biz o değerlerden söz ederken takma isimler kullanırız. Örneğin döviz kuru, hava durumu gibi yapılar sürekli değişir; Havanın sıcaklığından bahsederken Erzurum bugün 13 0C deriz. Döviz kurunda ise dolar 2.56 ₺, Altın 101.00 ₺ deriz. Burada Dolar ve Erzurum aslında takma isimlerdir.

Değişken Nedir Biraz daha açarsak değişkenler boş bir kutudur ve biz bu boş kutuya bir isim veririz. Daha sonra bu boş kutunun içerisine değerler koyarız ve kullanmak istediğimizde bu değerleri değil de değişkenin adını söyleriz. Değişken denmesinin sebebi program çalışırken içerdiği değerin değişebilmesinden gelmektedir. Tıpkı döviz kurunun veya hava durumunun gün içerisinde değişmesi gibi. Değişkende içerisinde bulunan değerleri bize bildirir. Örneğin yandaki boş kutuya bakalım üzerinde Aletler yazıyor. Bu ifade onun içerisinde bir takım tamir hırdavat olduğu fikrini verir bize. Peki bunun içerisinde gerçekte ne var? Aletler

Değişken Nedir Göründüğü gibi yandaki aletler değişkeni içerisinden iplikler çıkmıştır. Bunun sebebi ismi aletler olmasına karşın değişken içeriği neyse o değeri bize bildirir. O sebeple değişken tanımlarken; İçeriğe yönelik isimler kullanılmalı Türkçe karakter kullanılmamalı Değişken ismi harf ile başlamalıdır. İsimlendirmede boşluk kullanılmamalıdır. Kullanılan programlama dilinde özel anlam taşıyan komut veya tanımlama değimleri kullanılmamalıdır. Değişken ismi 255 karakterden fazla olmamalıdır. İsimlendirmede özel karakter kullanılmamalıdır. Aletler

Değişken Nedir Değişkenler kullanım alanlarına göre 2’ye ayrılır. Değişkenler program içerisinde ulaşılabilirlikleri ve kullanılabilirlikleri açısından 2 farklı türde tanımlanabilir. Değişken (Genel) Global (Yerel) Local Local (Yerel) değişken: Sadece program bünyesinde belirli yapılar tarafından tanınır. Okul müdürü bir local değişkendir. Okulu müdürünün yetkisi sadece o okulda çalışan öğretmen ve personeli kapsar. Global(Genel) değişken: Programın tamamı tarafından tanınır. İl Milli Eğitim müdürü bir ise global değişkendir. Okulu müdürünün yetkisi sadece o okulda çalışan öğretmen ve personeli kapsar.

Veri türleri Değişkenler ve sabitler içerdikleri verinin türüne göre de türlere ayrılır. Bir değişkende ne tür bir veri saklanacaksa değişken o veri ile aynı türden olmalıdır. Aşağıdaki resimleri birer değişken veya sabit olarak düşünelim. Su taşımak için en ideali hangisidir? Değişken tanımlarken aşağıdaki gibi en ideal olan değişkeni seçmemiz lazım. Değişken için ne demiştik boş bir kab. İçerisine ne koyarsak onu taşır ve bize istendiğinde bu değer verilir. Evet sorumuzun cevabı kova. Neden kova çünkü karton kutu erir, elek deliklidir, şişe ise taşıma işlemi için çok küçük. Kova Elek Karton Kutu Şişe

Veri Türleri Nelerdir? Char String (Sözel) Boolean Tek karakterlik bilgilerin bellekte saklanması gerektiğinde kullanılabilen veri türüdür. String (Sözel) Sayısal olmayan işlemler için tanımlanan karakter özellikli veri türüdür. Boolean Daha çok True veya False, doğru veya yanlış gibi değerleri alabilen iki durumlu veri türüdür. A,b,1,*,+,? vb. değerler alır. Arif, 1234, erzurum25, TR, *-*--, vb değerler alır. True - false, doğru - yanlış, 1 - 0 gibi ikili değerler alır.

Veri Türleri Nelerdir? Integer( Tam Sayı) Double (Reel Sayılar) İçerisinde tam sayı değerleri taşıyabilen, yani kesir kısmı bulunmayan sayısal veri türüdür. Double (Reel Sayılar) Ondalık veya tam sayı fark etmez bütün sayısal değerleri destekleyen veri türüdür. DateTime (Tarih Saat) Tarih ve zaman bilgilerini taşıyabilen veri türüdür. 1, 25, 1453, 1923, 1071, 45698712 vb. değerler alabilir. 12.5, 25, 42.5 vb değerler alabilir. 12.12.1985, 31.03.2015, 15:00 gibi tarih ve saat değeri alabilir.

Tekrar eden bir yapı varsa ne yapılır? Algortimada tekrar eden işlemler varsa ve bu işlemler, bu işlemlerin yazımı size hem zaman hem de emek kaybı yaşatacaktır. Ayrıca sürekli aynı işlemleri yazmak bile bazen istenmedik hatalara sebep olabilir. Bu yüzden işlemlerin tekrarını her defasında yeni verilerle yapabilecek kapasite olan bir yapı ile yaptırmak daha mantıklı olacaktır. Bu tarz işlemlerde döngü yapıları kullanılmaktadır.

Döngü Nedir? Döngü Sayısı Bilinen Döngüler Şarta Bağlı Döngüler Şart Sağlandıkça Çalışan Döngüler Şart Sağlanana dek Çalışan döngüler Döngüler tekrar edilmesi gereken işlemlerin belli verileri değiştirerek her defasında yeni verilerle tekrar çalıştırılmasını sağlar. Akış şemasında sembolü ile gösterilir. İşleyişine göre iki türe ayrılır.

Sayısı Bilinen Döngüler Sayısı bilinen döngüler belirlenen işlemleri belirli sayıda tekrar eder. Aşağıdaki yürüyen adamı ele alırsak. Bu adamın kapıya ulaşmak için atması gereken adım sayısı belli. 10 adım

Sayısı bilinen döngülerin akışı Döngü ile; Başla sayac değişkeni tanımla sayac=sayac+1 Adım at Sayac =10 ise 7. adıma git 3. adıma git Bitir. Sıradan Algoritma ile; Başla 7. Adım at Adım at 8. Adım at Adım at 9. Adım at Adım at 10. Adım at Adım at 11. Bitir Adım at BAŞLA sayac Adım at Sayac’ı 1 artır Sayac 1’den 10’a kadar Sayac < 10 Sayac = 10 Bitir Burada işlem(adım atma) 10 defa idi ve sadece 4 işlem adımı kar ettik peki ya 1000 defa olsaydı.

Şarta bağlı döngüler Şarta bağlı döngüler Bu tarz döngülerde ise işlemler belirli şartlara bağlı olarak tekrarlanır. Şarta bağlı döngüler Sart Sağlandıkça Çalışan Döngüler Şart sağlanan kadar çalışan döngüler

Şart Sağlandıkça Çalışan Döngüler Sart sağlandıkça çalışan döngülerde; önce şart sorgulanır ve daha sonra eylem tekrarlanır. Buna örnek olarak bir araçtaki yakıtı ele alalım. Şart: araçta yakıt varsa gez. Bu durumda önce araçta yakıt olup olmadığı kontrol edilir, Şart sağlanıyorsa yani yakıt varsa gezme eylemi uygulanır. Bir başka örnekte ise; dışarda oyun oynamak isteyen çocuğa annesinin verdiği cevabı ele alalım. Şart: Gökyüzü aydınlıkken oyna. Bu durumda önce havanın aydınlık durumuna bakılır, Gökyüzü aydınlık mı değil mi? Aydınlıksa yani şart sağlanıyorsa çocuk oyun oynama işlemini sürdürür.

Şart Sağlanıncaya Kadar Çalışan Döngüler Biraz önceki örneklere şimdide şart sağlanıncaya kadar çalışan döngü mantığı ile bakalım. Araçtaki yakıtı ele alalım. Şart: Araçtaki yakıt bitene dek gez. Bu durumda araçta yakıt olduğu bilinmektedir. Ama yakıtın miktarı bilinmemektedir. Şart sağlanmamışsa yani yakıt bitmemişse gezme eylemi sürdürülür. Bir başka örnekte ise; dışarda oyun oynamak isteyen çocuğa annesinin verdiği cevabı ele alalım. Şart: Gökyüzü kararana kadar oyna. Bu durumda önce havanın aydınlık olduğu biliniyor. Yine ne zaman kararacağı bilinmiyor. Gökyüzü karadı mı? Aydınlıksa yani şart sağlanmıyorsa çocuk oyun oynama işlemini sürdürür.

Şarta Bağlı Döngülerin Farkları Bu döngülerde iki tür vardı bu türlerin farkları şunlardır; Şart Sağlandıkça Çalışan döngü Şart Sağlanana Kadar Çalışan Döngü Önce şartı sorgular. Sonra eylemi yapar Önce eylemi uygular. Sonra şartı sorgular. Şartın Sağlanıp sağlanmadığı bilinmemektedir. Şartın en az bir kez sağlandığı düşünülmektedir. Şart sağlanmıyorsa hiç çalışmaz. Şart sağlansa da sağlanmasa da en az bir defa çalışır.

Karar Yapıları Şart Hayır Evet Günlük hayatta farkında olmadan sürekli bir şeyler için kararlar veririz. Akış şemasında yandaki sembolü ile gösterilir. Yolculuk yapacağımızda; uçakla mı gitsem otobüsle mi? Hangi filme gidelim; gerilim mi aksiyon mu? Kıyafet seçerken; gömlek mi giysem kazak mı? Gibi sorulara sürekli bir karar mekanizmasını kullanarak cevap veririz. Burada karar mekanizmasında bir şartı sorgularız ve bu şarta göre karar veririz. Uçak mı yoksa otobüs mü? Sorusunu ele alalım eğer uçak bileti 100 ₺’den az ise Uçakla yolculuk yap Değilse Otobüsle yolculuk yap < Evet Hayır

Operatörler Operatörler Sayısal Operatörler + Toplama - Çıkarma * Çarpma / Bölme \ Tam sayı Bölme ^ Kuvvet Alma = Atama Sözel Operatörler + veya & Birleştirme « » Değer girişi Mantıksal Operatörler AND Ve (şartların hepsi) OR Veya (şartların en az birisi) NOT Değil (olmayan) Karşılaştırma Operatörleri < küçük > büyük <> farklı == eşit <= Küçük eşit >= Büyük eşit