BİLGİSAYAR PROGRAMLAMA DERSİ

Benzer belgeler
BİLGİSAYAR PROGRAMLAMA DERSİ

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

BİLGİSAYAR PROGRAMLAMA DERSİ

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

BİLGİSAYAR PROGRAMLAMA MATLAB

Ö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.

Algoritmanın Hazırlanması

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

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

Algoritmalar ve Programlama. Algoritma

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

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

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

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

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

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

2. BÖLÜM. Problem Çözme ve Algoritmalar

İÇ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

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

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

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

Dr. Musa KILIÇ Öğretim Görevlisi

Algoritma ve Programlamaya Giriş

BİLGİSAYAR PROGRAMLAMA DERSİ


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

BLG 1306 Temel Bilgisayar Programlama

BİLGİSAYAR PROGRAMLAMA DERSİ

BÖLÜM 2: ALGORİTMALAR

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

Algoritma kelimesinin kökeni:

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

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

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

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

C SHARP UYGULAMA ÇALIŞMASI

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

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Đ

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

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

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

Bilgisayar Programı Nedir?

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

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

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

Hafta 4 Döngü Yapıları

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

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

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

ALGORİTMA ÖRNEKLERİ ve YAZILIYA HAZIRLIK SORULARI

Ö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.

Bilgisayar Programlama. Giriş

BLG 1306 Temel Bilgisayar Programlama

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

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

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

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

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

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

Bilgisayar II Dersi. Bölüm-2

Ö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.

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

Basit Algoritma Akış Diagramı Örnekleri

TEMEL BİLGİSAYAR BİLİMLERİ

Hafta 5 Algoritma Örnekleri ve Analizi

ALGORİTMA VE AKIŞ ŞEMALARI

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları

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

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

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

Bilgisayarda Programlama. Temel Kavramlar

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Programlama Temelleri Dersi - Algoritma Örnekleri-v0.2

C++ Dilinde Bazı Temel Algoritmalar

Genel Programlama I

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

EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

EM-554 İleri Bilgisayar Programlama Teknikleri Algoritma ve Akış Diyagramları

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

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.

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Yrd. Doç. Dr. Fatih YÜCALAR YZM Celal Bayar Üniversitesi Teknoloji Fakültesi

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz Bölüm 1-2

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

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

İÇ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

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Transkript:

BİLGİSAYAR PROGRAMLAMA DERSİ Yrd. Doç. Dr. Fatih TOSUNOĞLU Erzurum Teknik Üniversitesi Mühendislik Fakültesi İnşaat Mühendisliği Bölümü

Ders Hakkında Genel Bilgiler Oda No: 1A Görüşme Saatleri: Pazartesi 14:00-16:00 Tavsiye edilen kitaplar: Matlab ile Programlama, (Deniz DAL) Mühendislik ve Fen Uygulamalarıyla Matlab, (Ömer Gündoğdu, Osman Kopmaz, M. Akif Ceviz) Web sayfası: http://www.erzurum.edu.tr/personeldetay/142/3012/fatihtosunoglu Ortalama: Kısa Sınavlar (Quizler) %15 Vize %35 Final %50

DERS NOTU 1 KONU: ALGORİTMALAR

BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI René Descartes Felsefeci Problem Çözme Tekniğinde Descartes in Tavsiyesi; 1. Doğruluğu kesin olarak kanıtlanmadıkça, hiçbir şeyi doğru olarak kabul etmeyin; tahmin ve önyargılardan kaçının. 2. Karşılaştığınız her güçlüğü mümkün olduğu kadar çok parçaya bölün. 3. Düzenli bir biçimde düşünün; anlaşılması en kolay olan şeylerle başlayıp yavaş yavaş daha zor ve karmaşık olanlara doğru ilerleyin. 4. Olaya bakışınız çok genel olmalı ve hazırladığınız ayrıntılı liste ise hiçbir şeyi dışarıda bırakmayacak kadar kusursuz ve eksiksiz olsun.

BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI Bir problemi çözmek için yazılacak programda, genel olarak, aşağıdaki yazılım geliştirme aşamaları uygulanmalıdır. 1. Problemin Analizi: Problemin tam olarak ne olduğunun anlaşılmasıdır. Bu nedenle, problemin çözümünden neler beklendiği ve yaratacağı çözümün girdi ve çıktılarının neler olacağı kesin olarak belirlenmelidir. 2. Algoritma Geliştirme: Problemi çözmek için kullanılacak çözüm adımlarını gösteren bir liste yapılması gereklidir. Bir problemin çözüm adımlarını gösteren bu listeye algoritma denir. Böyle bir liste tasarlanırken, ilk önce problemin ana adımları çıkarılır; daha sonra her adım için, gerekiyorsa, daha ayrıntılı bir çözüm tasarlanır. 3. Akış Şeması Çizimi: Geliştirilen algoritmanın şekillerle ifade edilmesidir.

BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI 4. Programlama Dili Seçimi: Geliştirilen algoritmayı kolay bir şekilde bilgisayar ortamına aktaracak bir bilgisayar programlama dilinin seçilmesidir. 5. Programın Yazılması: Seçilen programlama dilinin kuralları kullanılarak programın yazılması aşamasıdır. 6. Derleme/Yorumlama: Programlama dili komutlarına dönüşmüş çözümün yazım hatalarının olup olmadığının kontrol edilmesi ve programın makina dili komutlarına çevrilmesidir. 7. Çalıştırma: Derlenmiş programın işletim sistemi tarafından hard diskten alınarak belleğe taşındığı ve programın ilk komutunun adresinin Merkezi İşlem Birimine bildirildiği aşamadır. 8. Test/Hata Ayıklama: Programın mantıksal olarak test edildiği ve muhtemel her giriş için doğru sonuçlar üretip üretmediğinin kontrol edildiği aşamadır.

PROGRAM (BİLGİSAYAR PROGRAMI) NEDİR? 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. PROGRAMLAMA (BİLGİSAYAR PROGRAMLAMA) NEDİR? Problem çözümünde anlatılan adımların tümüne birden programlama denir.

PROGRAMLAMA DİLİ NEDİR? Bir problemin algoritmik çözümünün bilgisayarda yazılmasını sağlayan kurallar dizisidir. BAZI PROGRAMLAMA DİLLERİ MATLAB, Delphi, Pascal, Fortran C, C++, C#, Visual Basic, Java

ALGORİTMA 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. Diğer bir deyişle algoritma, verilerin, bilgisayara hangi çevre biriminden girileceğinin, problemin nasıl çözüleceğinin, hangi basamaklardan geçirilerek sonuç alınacağının, sonucun nasıl ve nereye yazılacağının sözel olarak ifade edilmesi biçiminde tanımlanabilir. 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ırlar.

ALGORİTMA İşine gitmek üzere uyanan birinin yapması gereken işler için nasıl bir algoritma geliştirilmelidir?

ALGORİTMA 1.Yataktan Kalk 2. Pijamalarını Çıkar 3. Duş Al 4. Elbiselerini Giy 5. Kahvaltını Yap 6. Otobüse Bin ve İşe Git

Sıra önemli!!! Doğru Sıralama Hatalı Sıralama 1. Adım 1. Adım 2. Adım 2. Adım 3. Adım 3. Adım 4. Adım 5. Adım 4. Adım 5. Adım 6. Adım 6. Adım

Bisküvili Pasta Yapılışı (ALGORİTMASI ) Bisküvili Pasta Malzemeleri: 1 litre süt 2 paket puding (çikolata parçalı) Kakaolu bisküvi Antep fıstığı (dövülmüş) 1 paket krem şanti Krem şanti yapmak için süt Bisküvili Pasta Tarifi (ALGORİTMASI) 1. Pudingleri bir tencere içine döküp 1 litre süt ilave ederek pişirin. 2. Dikdörtgen borcam içine bisküvileri düzgün şekilde dizin ve üst kısmına puding dökün. 3. Aynı işleme 3 kat olacak şekilde devam edin. 4. Pasta tam olarak soğuduktan sonra krem şantiyi üstündeki tarife göre hazırlayın. 5. Kremayı pastanın üstüne sürün. 6. En üst kısma ise fıstık serpip buzdolabında dinlenmeye alın.

Algoritmalarda Kullanılan Temel Terimler Değişken Atama Sayaç Döngü

Değişken Bir program içerisinde bilgileri geçici olarak saklamak ve ihtiyaç duyduğumuzda bu bilgiler üzerinde işlem yapmak için değişkenlerden yararlanırız. Su bardağını bir değişken olarak düşünün. Resimdeki bardakların hepsi aynı hacme sahip özdeş bardaklardır. Fakat; Birinci bardağın %10 nu dolu ve dolayısıyla bardak değişkeninin değeri %10. İkinci bardağın %35 i dolu ve dolayısıyla bardak değişkeninin değeri %35. Üçüncü bardağın %75 i dolu ve dolayısıyla bardak değişkeninin değeri %75. Dördüncü bardağın %90 i dolu ve dolayısıyla bardak değişkeninin değeri %90.

Atama Sürahinin içindeki su bizim değerimiz veya ifademiz/işlemimiz. Değişkenimiz Bardak Herhangi bir değişkenin içine bir değeri veya ifadenin/işlemin sonucunu aktarma işlemine atama denir.

Atama (devam) değişken yazan kısım, herhangi bir değişkenin adıdır (Örneğin bardak değişkeni). ifade yazan kısımda ise matematiksel, mantıksal veya alfanümerik bir ifade olabilir (Sürahi içindeki su). Aradaki = sembolü, atama 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 silinerek yeni değere atanır. (Bardak değişkenine %10, %35, %75 değerlerinde su koymak) Y=9 X=26 X=3 Y=X+5 işleminin sonucunda Y nin bir önceki değeri silinerek yerine 8 değeri atanır.

Sayaç Programlarımızda bazı işlemlerin belirli sayıda yaptırılması veya işlenen/üretilen değerlerin sayılması gerekebilir. Sayma amacıyla kullanılan bu tür değişkenlere sayaç denir. 1. Dolum İşlemi 2. Dolum İşlemi 3. Dolum İşlemi Bardak bir değişkendir aynı zamanda bardağa yapılan su dolum işlemi ise sayaç adı verilen bir değişkendir. Resimdeki örnekte 3 kez dolum işlemi yapılmaktadır.

Sayaç (devam) sayac = sayac + 1 bilgisayar deyimi ile sayac adlı değişkenin eski (önceki) değerine 1 eklenmekte; bulunan sonuç yine kendisine, yeni değer olarak aktarılmaktadır. Bu tür değişkenlere, algoritmada sayaç veya sayıcı (counter) adı verilir. Yani sayaç işlem akışı kendisine her geldiğinde, belirtilen adım değeri kadar artan/azalan değişkendir.

Sayaç(devam) bardak=%0 bardak=%10 sayac=0 sayac=sayac+1 sayac=1

Sayaç (devam) bardak=%35 bardak=%75 sayac=sayac+1 sayac=2 sayac=sayac+1 sayac=3

Sayaç (devam) bardak=%90 sayac=sayac+1 sayac=4 Bardaktaki su sizin için yeterliyse su doldurma işlemini iki farkı şartla durdurabilirsiniz. 1. Bardaktaki su miktarı %90 olduğunda doldurma işlemini durdur. 2. Eğer sayaç değeri 4 ise doldurma işlemini durdur.

Sayaç (devam) Şimdi bardaktaki suyu adım adım boşaltalım. bardak=%90 bardak=%75 sayac=sayac-1 sayac=3 sayac=4

Sayaç (devam) bardak=%35 bardak=%10 sayac=sayac-1 sayac=2 sayac=sayac-1 sayac=1

Sayaç (devam) bardak=%0 sayac=sayac-1 sayac=0 Dolayısıyla sayaç değişkeni artan bir değişken olabileceği gibi azalan bir değişkende olabilir.

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ı, belirli sayıda tekrarlayan işlem akış çevrimlerine döngü denir.

Bardak hacminin %90 nı dolana kadar su doldurma işlemine devam et.

Döngü Oluşturma Kuralları: 1. Döngü değişkeninin başlangıç değeri belirlenir. 2. Döngü değişkeninin bitiş değeri belirlenir. 3. Döngü değişkeninin bitiş değerine ulaşıp ulaşmadığı test edilir. 4. İstenen işlem gerçekleştirilir. 5. Döngü değişkeni, döngü içinde adım miktarı kadar artırılır yada azaltılır. Bardak doldurma işleminde sayaç değişkeni bir döngü değişkeni olarak tanımlanabilir. Sayaç değeri başlangıçta 0 olarak alınırken bitiş değerinin 4 olması istenebilir. Su doldurma işlemi esnasında sayaç değeri test edilir. Sayaç değeri 4 e ulaştığında işlem bitirilir (Döngüden çıkılır).

ADIM ADIM ALGORİTMA GELİŞTİRME VE GELİŞTİRİLEN ALGORİTMANIN AKIŞ DİYAGRAMI İLE TEMSİL EDİLMESİ PROBLEM: Ax 2 + Bx + C = 0 şeklinde verilen 2. dereceden bir denklemin köklerini hesaplayarak ekrana yazdıracak bir algoritma geliştiriniz ve akış diyagramını çiziniz.

Problemi analiz edelim: 1. Kullanıcı A, B, C sayılarını girecek ve bizden köklerini bulmamızı istenen 2. derecen denklem ortaya çıkacak. Örneğin: A = 3, B = 5, C = 6 3x 2 + 5x + 6 2. Matematik bilgimizi kullanarak denklemin diskiriminantının hesaplanması gerekecek. = B 2 4 A C 3. Eğer diskiriminant sıfırdan küçük ise ( < 0) bu denklemin kökleri sanal olacak. Diskiriminant sıfıra eşit veya daha büyük ise ( 0) kökler aşağıdaki gibi hesaplanacak.

Problemin Bilgisayar Programıyla Çözümü İçin Gerekli Olan Değişkenlerin Tanımlanması

Problemin Bilgisayar Programıyla Çözümü İçin Gerekli Olan Algoritma Adım 1: Başla Adım 2: A,B,C sabitlerini değişkenlere ata Adım 3: Deltayı hesapla Adım 4: Delta<0 ise Adım 5 e, değilse Adım 6 a geç Adım 5: Ekrana Kökler sanaldır yaz Adım 9 a geç Adım 6: 1. kökü hesapla, x1 değişkenine ata Adım 7: 2. kökü hesapla, x2 değişkenine ata Adım 8: x1 ve x2 değişkenlerini ekrana yaz Adım 9: Bitir

Akış Diyagramları (Flow Charts): Algoritmanın, görsel olarak simge ya da sembollerle ifade edilmiş şekline 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. Programın saklanacak esas belgeleri olan akış şemalarının hazırlanmasına, sorun çözümlenmesi sürecinin daha kolay anlaşılır biçime getirilmesi, iş akışının kontrol edilmesi ve programın kodlanmasının kolaylaştırılması gibi nedenlerle başvurulur. Uygulamada çoğunlukla, yazılacak programlar için önce programın ana adımlarını (bölümlerini) gösteren genel bir bakış akış şeması hazırlanır. Daha sonra her adım için ayrıntılı akış şemalarının çizimi vardır. En basit şekliyle dikdörtgen kutulardan ve oklardan oluşur. Akış şeması sembolleri ANSI (American National Standards Institute) standardı olarak belirlenmiş ve tüm dünyada kullanılmaktadır.

Başlangıç veya Bitiş Sembolü Programın başında ve sonunda kullanılır. Su doldurma işlemine Başla veya Bitir

Veri Girişi Sembolü Klavyeden yapılacak olan veri girişleri için kullanılır. Girilen her bir veri bir değişkende saklanır. Bardak en fazla %90 oranında dolsun

Hesaplama ve Atama Sembolü Her türlü hesaplama ve atama işlemi için kullanılır. Bardağa %10, %35, %75 ve %90 oranlarında su doldur.

Karşılaştırma Sembolü Evet Hayır Programın akışını bir karşılaştırmanın sonucuna göre değiştirmek için kullanılır. Karşılaştırma doğru ise Evet, yanlışsa Hayır yolu takip edilir. Sayaç değeri 4 oldu mu? Evet o zaman doldurma işlemini durdur. Hayır o zaman doldurma işlemine devam et.

Bilgi Çıkış Sembolü Ekran üzerinden kullanıcıya bilgi aktarmak amacıyla kullanılır.

Oklar Bilgi akışının yönünü belirtmek amacıyla kullanılır.

Başla Bardağın Ne Kadar Dolması Gerektiği Kullanıcıdan Al (Örneğin %90 Olsun) Bardağın %90 nı Dolumu? Evet Hayır Bardağa Su Doldur Bitir

Ax 2 + Bx + C = 0 şeklinde verilen 2. dereceden bir denklemin köklerini hesaplayarak ekrana yazdıracak algoritmanın akış diyagramını çiziniz. Başla Adım 1 A, B, C sayılarını Kullanıcıdan Al Adım 2 delta = B 2 4 A C Adım 3 Adım 4 delta < 0 Evet Adım 5 Hayır Ekrana Kökler Sanal Yazdır x 1 = ( B + delta)/(2 A) Adım 6 x 2 = ( B delta)/(2 A) Adım 7 Ekrana x 1 ve x 2 değerlerini yazdır Adım 8 Bitir Adım 9

Örnek: Verilen iki sayının ortalamasını hesaplayan programın algoritmasını geliştiriniz ve akış diyagramını çiziniz. Algoritma: Adım 1 : Başla Adım 2 : sayi1 değerini gir Adım 3 : sayi2 değerini gir Adım 4 : ortalama = (sayi1+sayi2)/2 Adım 5 : ortalama değerini ekrana yaz Adım 6 : Bitir

Akış diyagramı: Adım 1 Başla Adım 2 Adım 3 Sayi1=? Sayi2=? Adım 4 ortalama=(sayi1+sayi)/2 Adım 5 Ekrana ortalama değerini yazdır Adım 6 Bitir

Örnek: Ax + B = 0 şeklinde verilen 1. derece denklemin çözümünü bulan programın algoritmasını geliştiriniz ve akış diyagramını çiziniz. (A=0 girilmiş ise veri girişi yenilenecektir.)

Örnek: Ax + B = 0 şeklinde verilen 1. derece denklemin çözümünü bulan programın algoritmasını geliştiriniz ve akış diyagramını çiziniz. (A=0 girilmiş ise veri girişi yenilenecektir.) Adım 1: Başla Adım 2: A değerini giriniz Adım 3: Eğer A 0 a eşit ise Adım 2 ye git Adım 4: B değerini giriniz Adım 5: X=-B/A Adım 6: Yaz X Adım 7: Bitir

Adım 1 Başla Adım 2 A=? Adım 3 Adım 4 A = 0 B=? Hayır Evet Adım 5 X=-B/A Adım 6 X Adım 7 Bitir

Örnek***: 1 den 100 e kadar olan sayıların (100 dahil) toplamını ve ortalamasını bulan algoritmayı geliştiriniz. Not: Kullanıcı sayıları girmeyecek programın kendisi hesaplayacak. Matematiksel olarak problemin çözümü: 1 + 2 + 3 + + 98 + 99 + 100 = Toplam 100 tane sayı olduğundan Ortalama = Toplam/100

Bu problemin çözümü için aşağıdaki mantıksal yaklaşımı kullanalım. Başlangıçta Toplam değerini sıfır alalım (Toplam=0). Toplanması gereken sayılar birer birer artımlı olduğundan sayac adı verdiğimiz bir değişken kullanalım. Başlangıçta Toplam=0 ve sayac=0 olsun. sayac değişkeninin değerini bir artıralım (sayac=sayac+1) ve ardından sayac değişkeniyle Toplam değişkenini toplayım (Toplam=Toplam+sayac). Bu durumda sayac=sayac+1=0+1=1 olurken Toplam=Toplam+sayac=0+1=1 olur ve bu sayac sayesinde toplanması istenen sayılardan ilkine ulaşmış olalım. 1 + 2 + 3 + + 98 + 99 + 100 = Toplam Şu an için sayac=1 ve Toplam=1 değerindeyiz

sayac değişkenini tekrar bir artıralım ve yine ardından sayac değişkeniyle Toplam değişkenini toplayım. Bu durumda sayac=sayac+1=1+1=2 olurken Toplam=Toplam+sayac=1+2=3 olur ve bu sayac sayesinde toplanması istenen sayılardan ikincise ulaşmış olurken 1+2 toplamına bulmuş oluruz. 1 + 2 + 3 + + 98 + 99 + 100 = Toplam Şu an sayac=2 ve Toplam=3 değerindeyiz İşleme devam edelim; sayac değişkenini tekrar bir artıralım ve yine ardından sayac değişkeniyle Toplam değişkenini toplayım. Bu durumda sayac=sayac+1=2+1=3 olurken Toplam=Toplam+sayac=3+3=6 olur ve bu sayac sayesinde toplanması istenen sayılardan üçüncüsünede ulaşmış olurken 1+2+3 toplamına bulmuş oluruz. 1 + 2 + 3 + + 98 + 99 + 100 = Toplam Şu an sayac=3 ve Toplam=6 değerindeyiz

sayac değişkeninin değeri 100 oluncaya kadar bu adımları tekrar ettiğimizde sonuca ulaşacağımız kesindir. Ortalamayı bulmak basittir çünkü Ortalama=Toplam/100. Algoritma: A1: Başla A2: sayac=0 A3: toplam=0 A4: sayac=sayac+1 A5: toplam=toplam+sayac A6: Eğer sayac 100 e eşit değilse Adım 4 e git A7: ortalama=toplam/sayac A8: Yaz toplam, ortalama A9: Bitir

Ödev-1: 1 den 100 e kadar olan sayıların (100 dahil) toplamını ve ortalamasını bulan algoritmayı geliştirmiş bulunmaktayız. Geliştirmiş olduğumuz bu algoritmanın akış şemasını çiziniz.

Algoritma: A1: Başla A2: sayac=0 A3: toplam=0 A4: sayac=sayac+1 A5: toplam=toplam+sayac A6: Eğer sayac 100 e eşit değilse Adım 4 e git A7: ortalama=toplam/sayac A8: Yaz toplam, ortalama A9: Bitir

Başla Adım 1 sayac=0 toplam=0 sayac=sayac+1 Adım 2 Adım 3 Adım 4 toplam=toplam+sayac Adım 5 Hayır sayac = 100 Adım 6 Evet ortalama=toplam/sayac Adım 7 Adım 8 Ekrana toplam ve ortalama değerlerini yazdır Bitir Adım 9

Uygulama: Dışarıdan girilen 3 sayıdan en büyüğünü bulan programın algoritmasını kurunuz.

Algoritma: A1 : Başla A2 : sayi1, sayi2 ve sayi3 sayılarını dışarıdan gir A3 : enbuyuk=sayi1 A4 : Eğer sayi2>enbuyuk ise enbuyuk=sayi2 yap A5 : Eğer sayi3>enbuyuk ise enbuyuk=sayi3 yap A6 : enbuyuk değerini ekrana yaz A7 : Bitir

Başla sayi1, sayi2, sayi3 sayılarını kullanıcıdan al enbuyuk=sayi1 sayi2>enbuyuk Hayır Evet enbuyuk=sayi2 sayi3>enbuyuk Hayır Evet enbuyuk=sayi3 Ekrana enbuyuk değerlerini yazdır Bitir

Uygulama: Dışarıdan girilen bir sayının faktöriyelini hesaplayan programın akış diyagramını çiziniz.

Matematiksel olarak problemin çözümü: n! = n k=1 k 5 Örneğin n=5 ise 5! = k=1 4 5 = 120 k = 1 2 3 Bu problemin çözümü için aşağıdaki mantıksal yaklaşımı kullanalım. Yukarıdaki örnekte gösterildiği gibi; faktöriyel işlemi bir serinin elemanlarının çarpımı n yöntemiyle gerçekleştirilmektedir ( n! = k=1 k ). k değişkeni faktöriyeli hesaplanacak olan n sayısına ulaşana kadar kendisini bir artırmakta (sayaç) ve her artım işleminin ardından bir önceki değeriyle çarpılmaktadır. Dolasıyla faktöriyeli hesaplanacak olan sayıya n değişkeni adı verelim. Sayaç kullanmamız gerektiğinden bir sayac değişkeni tanımlayalım ve değeri ise başlangıçta 1 olsun. Son olarak hesaplama sonucunda ortaya çıkacak değişkene ise sonuc değişkeni adı verelim ve başlangıçta değeri 1 olsun. sayac=1 ve sonuc=1

sonuc = n! = sayac n sayac=1 Faktöriyeli Hesaplanacak Sayı: n Girilen Sayının Faktöriyeli: sonuc Faktöriyel Değişkeni: sayac Adım1: Başla Adım2: sonuc =1; sayac =1 Adım3: n yi gir Adım4: Eğer n<0 ise 3. adıma git Adım5: sayac =sayac+1 yap Adım6: sonuc=sonuc*sayac Adım7: Eğer sayac>n ise adım 8 e git (değilse adım 5 e git) Adım8: sonuc degerini ekrana yaz Adım9: Bitir

Uygulama: f fonksiyonunun değeri x'in aldığı değerlere göre aşağıda verilmiştir. x'in değeri 0-20 arasında 0.5 aralıklarla arttığına göre her bir x değeri için f fonksiyonunu hesaplayan programın akış diyagramını çiziniz. 0<= x <= 2 f=x 2< x <= 3 f=x-x 3-22 3< x <=4 f=x 2-2x+13 4< x f=x 4-3x 2-43

Başla Uygulama: f fonksiyonunun değeri x'in aldığı değerlere göre aşağıda verilmiştir. x'in değeri 0-20 arasında 0.5 aralıklarla arttığına göre her bir x değeri için f fonksiyonunu hesaplayan programın akış diyagramını çiziniz. 0<= x <= 2 f=x 2< x <= 3 f=x-x 3-22 3< x <=4 f=x 2-2x+13 4< x f=x 4-3x 2-43 x = 0 0 x 2 Hayır Evet f = x 2 < x 3 Hayır Evet f = x x 3 22 3 < x 4 Evet f = x 2 2x + 13 Hayır f = x 4 3x 2 43 Ekrana x ve f değerlerini yazdır x = x + 0,5 Hayır x 20 Evet Bitir 61

Uygulama: Kenar uzunlukları dışarıdan girilen bir ABC üçgenini kenar uzunluklarına göre inceleyen programın algoritmasını kurunuz.

A1: Başla A2: A,B,C değerlerini gir A3: A=B ise A4 e git değilse A5 e git A4: B=C ise A6 ya git değilse A8 e git A5: A=C ise A8 e git değilse A7 e git A6: Üçgen Eşkenardır yazdir ve A10 a git A7: B=C ise A8 e git, değilse A9 a git A8: Üçgen İkizkenardır yazdir ve A10 a git A9: Üçgen Çeşitkenardır yazdir A10: Bitir

A2 A1 Başla A,B,C Gir Eşkenar : A=B=C İkizkenar: A=B veya A=C veya B=C H A3 A=B E Çeşitkenar: A=B=C H A5 A4 A6 E H E A=C B=C Eşkenar H A7 B=C E A8 İkizkenar A9 Çeşitkenar Bitir A10

Teşekkür Bilgisayar programlama dersi konu sunumlarının hazırlanmasında emeği geçen değerli meslektaşlarım Yrd. Doç. Dr. Ahmet DUMLU ve Yrd. Dr. Doç. Deniz DAL a teşekkürlerimi bir borç bilirim. Yrd. Doç. Dr. Fatih TOSUNOĞLU