Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi
Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makina komutlarıdır. Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bilgisayar Yazılımı / Programı 2
El Yordamıyla Çözüm Bilgisayar ile Çözüm 1- Problemi tanımla 1- Problemi tanımla 2- El ile çözmek için çözüm yöntemi belirle 3- Araştır, bilgi ve becerini kullanarak, çözüm modelini kur 2- ALGORİTMİK çözüm yöntemini belirle 3- Araştır, bilgi ve becerini kullanarak, çözüm ALGORİTMASINI kur 4- Hesaplamalar gerçekleştir 4- Bilgisayar PROGRAMINI Geliştir 5- Sonucu belirle ve yorumla 5- PROGRAMI İŞLET (Girdi gerekli ise gir) 6- Çıktıyı yorumla Problem Çözme Yöntemleri 3
Bilgisayarla problem çözüm yöntemi bilgisayar «öğretme problemi» olarak karşımıza çıkar. Bilgisayar «öğretme» yöntemi Algoritmik Çözüm adı verilen ayrıntılı ve bilgisayara uygun işlemsel ve mantıksal çözümlemenin tanımlanmasıdır Bu yöntem Algoritma Tasarımı adı ile anılır. Bilgisayarla Problem Çözme 4
1) Problemin tanımlanması, 2) Çözümün geliştirilmesi, Algoritma yazılması 3) Çözümün kodlanması, Algoritmanın programlama diliyle yazılması 4) Programın test edilmesi ve Derlenmesi, 5) Belgeleme ve güncelleştirme Programlama Adımları 5
Algoritma, matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler (adımlar) kümesidir. Algoritma kelimesi, Ebu Abdullah Muhammed bin Musa el Harezmi isimli matematikçinin adından gelir. Algoritma 6
Tanım: Algoritma, bir problemin mantıksal çözümünün, sembolik olarak anlatımıdır. Tanım: Bir sorunu çözebilmek için gerekli olan sıralı mantıksal adımların tümüne denir. Algoritma Tanımı 7
Algoritmaların yazım dili değişik olabilir. Konuşma dilimizi kullanabiliriz. Algoritmada kendi konuşma dilimizi kullanmaktaki amaç, her adımın hedefini net şekilde açıklayıcı olması ve herhangi bir programlama diline bağlı olmaksızın geliştirilmesindendir. Algoritma Tanımı - 2 8
Kullanılan ifadeler kısa öz ve anlaşılır olmalıdır. Algortma bir işin tarif edildiği işlem basamakları olduğundan, işlem sırası genelde çok önemlidir. Algoritma Tanımı - 3 9
Algoritma yazımında programcının bilgisayara yapmasını istediği işlemleri söylediği düşünülerek emir kipinde ifadeler kullanılır. Örnek: A ile B'yi topla sonucu C ye yükle Algoritma Tanımı - 4 10
Girdi: Sıfır veya daha fazla Çıktı: En az bir Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli. Algoritma Özellikleri 11
Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli. Etkinlik: Algoritma etkin olmalıdır. Algoritmada tekrar anlatımlar olmamalıdır. Bünyesinde en az tekrar bulunduran algoritmalara en etkin algoritma denir. Algoritma Özellikleri - 2 12
3 ve 5 sayılarını toplayan ve sonucu ekrana yazdıran algoritma ve programı yazınız. Algoritma Program Birinci sayıya 3 ata sayibir = 3 İkinci sayıya 5 ata sayiiki = 5 Topla Toplamı ekrana yazdır toplam = sayibir + sayiiki PRINT toplam Örnek 13
Soru: Bugün ne giymeliyim? Çözüm: Bu soruya nasıl cevap verebiliriz? Algoritma: Bu probleme çözüm olacak algoritma tasarlanabilir mi? Tartışma Konusu 14
Sıralı İşlem: Hiç bir koşula bağlı olmaksızın ard arda yerine getirilecek işlem yapılanmasıdır. Örnek: topla, çıkart ve yaz Koşullu Yapı: İşlemin yerine getirilmesi bir koşula bağımlıdır. Örnek: açı 90 dan büyükse topla Algoritmik Tasarım Öğeleri 15
Döngü Yapısı: Bir ya da daha çok işlemi bir koşul gerçekleştikçe yinelemek/tekrar etme. Örnek: açı 90 dereceden büyük oldukça topla Algoritmik Tasarım Öğeleri - 2 16
1. İşlem 2. İşlem Koşul Evet Hayır n. İşlem Koşullu Yapı Sıralı İşlem Tasarım Öğeleri Şekilleri 17
Koşul İşlem Hayır Evet Döngülü Yapı Tasarım Öğeleri Şekilleri - 2 18
Bir problemin mantıksal çözümünün şekilsel olarak anlatımıdır. Her akış şeması bir başlangıç elemanı ile başlar. Her akış şeması en az bir bitiş elemanı ile biter. Bir akış şemasında açık uçlu oklar bulunmaz. Akış Şeması 19
Başla Bitiş Başlangıç elemanı, başlangıç noktasını belirtmek için kullanılır. (0 girdi, 1 çıktı) Bitiş elemanı, akım şemasının bitiş noktasını belirtir. (En az 1 girdi, 0 çıktı) İşlem Algoritma içindeki işlemleri ifade etmekte kullanılır. (En az 1 girdi, 1 çıktı) Girdi / Çıktı Algoritmaya yapılacak bilgi girişlerinde ve algoritmadan yapılacak bilgi çıkışlarında simge olarak kullanılır. (En az 1 girdi, 1 çıktı) Akış Şeması Elemanları 20
Oklar Oklar işin akış yönünü gösterir Hayır Sorgu Evet Sonucu Olumlu veya Olumsuz olabilecek soruya verilecek yanıta göre akışı ikiye ayırabilecek elemandır. (En az 1 girdi, 2 çıktı) Akış Şeması Elemanları - 2 21
Lamba Çalışmıyor Lambanın fişi takılı mı? Hayır Fişi Tak Evet Ampul patlak mı? Evet Ampulü değiştir! Hayır Yeni bir lamba al! Akış Şeması Örnek 22
Verilen üç sayının ortalamasını bulan akış şeması Başla 1. Sayı Oku (a) 1. Birinci sayıyı oku (a) 2. İkinci sayıyı oku (b) 3. Üçüncü sayıyı oku (c) 4. Ortalama = (a+b+c)/3 5. Ortalama yaz 6. Dur 2. Sayı Oku (b) 3. Sayı Oku (c) Ortalama = (a +b +c) /3 Ortalama yaz Bitiş Örnek 23
Algoritma: Soru/Problem tanımları, örnekler. Akış çizimi: Örnek çizimler ve tasarımlar. Sonraki Bölüm 24
Teşekkürler. 25