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