Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

4/2/2015Bilgisayar Programlama 1 AÇIK SİSTEMLERDE PROGRAMLAMA.

Benzer bir sunumlar


... konulu sunumlar: "4/2/2015Bilgisayar Programlama 1 AÇIK SİSTEMLERDE PROGRAMLAMA."— Sunum transkripti:

1 4/2/2015Bilgisayar Programlama 1 AÇIK SİSTEMLERDE PROGRAMLAMA

2 Bilgisayar Programlama 2/64 4/2/2015 Dersin Amacı Bilgisayar Programlama kavramlarını öğretmek ve uygulatmak. Üst seviye bir Programlama Dili ile program geliştirmek.

3 Bilgisayar Programlama 3/64 4/2/2015 Not Değerlendirmesi  Ara Sınav Notu : % 40  Ödev ve Küçük Sınavlar : % 40  Ara Sınav : % 60  Bitirme Sınav Notu : % 60

4 Bilgisayar Programlama 4/64 4/2/2015 Konu Başlıkları  Bilgisayarın Tarihçesi  Bilgisayarın İki Temel Özelliği  Bilgi, Semboller ve Veri  Bilgi İşlemeye ait Örnekler  Algoritmalar  Akış Şeması  Java

5 Bilgisayar Programlama 5/64 4/2/2015 Program Nedir? Bir problemi çözmek üzere bir bilgisayar tarafından çalıştırılacak komutlar Bilgisayarlar genel amaçlı cihazlar Bir program, bilgisayarı özel amaçlı bir cihaz haline dönüştürür;  web tarayıcısı, kelime işlemci, e-posta, ….. Programsız bir bilgisayar gereksiz

6 Bilgisayar Programlama 6/64 4/2/2015 Niçin Programlama Öğreniyoruz? Merak? İhtiyaçtan? “Ailem öyle istedi…” Gerçek resim ……..Bilgisayar Devrimi

7 Bilgisayar Programlama 7/64 4/2/2015 Bilgisayar Devrimi Pascaline (Pascal Toplayıcısı) 1642 yılında üretildi Sadece toplama ve çıkarma işlemi Yaklaşık bir ayakkabı boyutunda bir makine

8 Bilgisayar Programlama 8/64 4/2/2015 Leibniz Hesap Makinesi Alman Matematikçisi 1670 yılında geliştirildi +,-,/,* işlemleri yapılabiliyor

9 Bilgisayar Programlama 9/64 4/2/2015 Babbage Analitik Makinesi İngiliz Matematikçisi Aritmetik işlemleri desteklemekte. Bilgi saklama olanağı var. Delikli kağıtlarla programlama.

10 Bilgisayar Programlama 10/64 4/2/ ENIAC John Mauchly & J. Presper Eckert Elektronik, 19,000 vacum tüpü Yaklaşık 28 ton, Yeniden kablolama ile programlama 5000 aritmetik işlem/sn.

11 Bilgisayar Programlama 11/64 4/2/2015 Günümüzün Altyapısı 1940 lı yıllarda von Neumann, Princeton, USA.Programlar veri olarak saklanabiliyor. 1958, IBM 7090, transistörlerin kullanımı IBM System/360, entegre devreler.

12 Bilgisayar Programlama 12/64 4/2/2015 Bilgisayar Devrimi-Evrimi 60’larda Bilgisayar  Bu odayı kaplardı  Taşımak için kamyon gerekirdi  Hiç birimizin bütçesi yetmezdi

13 Bilgisayar Programlama 13/64 4/2/2015 Çağımızın Bilgisayarı Bugünün Bilgisayarı Her yerde: Buzdolabı, Çamaşır makinesi, GSM Telefonlar, Arabalar... Kendi bütçemizle alabiliyoruz Her yere götürebiliyoruz

14 Bilgisayar Programlama 14/64 4/2/2015 Moore Kanunu Her iki yılda bir tranzistör sayısı iki katına çıkar.

15 Bilgisayar Programlama 15/64 4/2/2015 Bilgisayar Devrimi Bitti mi? Tipik Bir Masaüstü Aynı fiyat farklı performans Beş Yıl Önce: – 10 Gbyte disk – 64 Mbyte memory – 750 MHz CPU Bugün: – 250~500Gbyte disk – 4 Gbyte memory – 3 GHz CPU

16 Bilgisayar Programlama 16/64 4/2/2015 Yazılım Ürünler  Web tarayıcıları  El yazısını tanıyabilecek programlar  Ofis yazılımları (Word, Excel, PowerPoint) Zararlı Yazılımlar  Solucanlar  Virüsler

17 Bilgisayar Programlama 17/64 4/2/2015 Niçin Programlama Öğreniyoruz? Bilgisayarlar hayatımızı değiştirdi Bilgisayarlar hayatımızı daha da değiştirecek Programlama teknolojiyi sürükleyen anahtar

18 Bilgisayar Programlama 18/64 4/2/2015 Bilgisayarın İki Temel Özelliği  Bilgisayar “Veri işlemek için kullanılan bir makinedir”. Bu işi harfler, noktalama işaretleri ve sayılar gibi çeşitli sembolleri kullanarak yapar.  Bilgisayar hangi işlemi yaparsa yapsın bu işleri adım adım detaylandırılmış bir komut listesine göre yapar. Bu komut listesine bilgisayar programı denir.

19 Bilgisayar Programlama 19/64 4/2/2015 Bilgi, Semboller ve Veri  Bilgi : Gerçekler ve düşüncelerdir. Soyut bir kavramdır. Örnek : Yarın akşam yemeğe davetlisiniz.  Semboller : Bilginin iletilmesinde kullanılan araçlardır. Örnek : Bir davetin telefonla, konuşma veya e-posta ile ifade ediliş şekli.  Veri : Sembollerle ifade edilen işlenmemiş bilgi parçasıdır.  Bilgi ile Veri arasındaki fark :  Semboller  Veri,  Sembollerin temsil ettikleri Gerçekler ve Düşünceler  Bilgi

20 Bilgisayar Programlama 20/64 4/2/2015 Bilgi İşlemeye Ait Örnekler  Veri saklama ve bilgiye ulaşım  Eğitim  Aritmetik işlemler  Kelime işlemcileri (Word, Excel, vb)  Eğlence (oyun, müzik, TV, vb)  Internet

21 Bilgisayar Programlama 21/64 4/2/2015 Bilgisayar Programı ve Algoritma  Programlar, bir problemi çözmek üzere yazılırlar.  Programı yazmaya başlamadan önce mantıksal çözümün oluşturulması gerekir.  Mantıksal Çözüm = Algoritma

22 Bilgisayar Programlama 22/64 4/2/2015 Algoritma ve Program  Algoritma: Bir işin gerçekleştirilme aşamalarını açık ve kesin bir şekilde belirleyen komut listesidir.  Bilgisayar Programı: Bu komut listesinin bilgisayarın işleyebileceği bir şekle sokulmuş halidir.

23 Bilgisayar Programlama 23/64 4/2/2015 Algoritma Pasta yapımı tarifi  2 yumurta, 2 su bardağı şekeri çırp.  2 su bardağı unu karışıma yavaş yavaş ekle.  Daha sonra 1 su bardağı sıvı yağı, hamur kabartma tozunu ve vanilyayı ekle.  Pasta kalıbını yağlayıp, hazırladığınız karışımı kalıba dök.  10 dakika önceden 175 derecede ısıttığınız fırında dakika pişir.  Sürenin sonuna yakın keke bir bıçak batırarak, bıçağa kekin yapışmadığını görerek kekin pişmiş olup olmadığını kontrol et.

24 Bilgisayar Programlama 24/64 4/2/2015 Euclid’in OBEB Algoritması  Pozitif sayılarla ilgilidir.  Bir sayı diğerini tam böler  bölüm sonucu kalan sıfır’dır  ÖRNEK :  6’nın Tam Bölenler Listesi: 1, 2, 3, 6  8’in Tam Bölenler Listesi: 1, 2, 4, 8  6 ve 8’in Ortak Bölenleri: 1, 2  6 ve 8’in OBEB’i : 2

25 Bilgisayar Programlama 25/64 4/2/2015 OBEB Algoritmasının Tasarlanması  Euclid algoritması, iki özelliğe dayanır:  Bir sayıyı kendinden küçük bir sayıya böldüğümüzde kalan ile küçük sayının OBEB'i bölenle bölünenin OBEB'idir.  24 ile 10'un OBEB'i 2  24'ü 10'a bölersek bu işlemin kalanı 4  10 ile 4'ün OBEB'i ise yine 2.  Sıfır ile herhangi bir sayının OBEB'i yine o sayıdır.  0 ile 15'in OBEB’i 15  0 ile 10'nun OBEB’i 10  0 ile 7'nin OBEB’i 7

26 Bilgisayar Programlama 26/64 4/2/2015 OBEB Algoritmasının Tasarlanması  İki sayıdan;  Büyük sayıyı Küçük sayıya böl.  Birinci özellik : Küçük sayı ile bölme işleminin kalanının OBEB’i ilk iki sayının OBEB’i ile aynıdır.  Bölme işlemi sonrasında ;  Küçük sayıyı Büyük sayı yerine,  Kalanı da Küçük sayı yerine koy,  Bu işlemi kalan sıfır oluncaya dek devam et.  İkinci özellik : Bir sayının sıfır ile OBEB’i kendisidir.

27 Bilgisayar Programlama 27/64 4/2/2015 OBEB Algoritmasının Tasarlanması  Aşama 1: Büyük Sayı: 99 Küçük Sayı: 55 Kalan: 44  Aşama 2: Büyük Sayı: 55 Küçük Sayı: 44 Kalan: 11  Aşama 3: Büyük Sayı: 44 Küçük Sayı: 11 Kalan: 0  Aşama 4: Büyük Sayı: 11 Küçük Sayı: 0  OBEB = 11

28 Bilgisayar Programlama 28/64 4/2/2015 OBEB Algoritmasının Tasarlanması Algoritmanın konuşma diliyle ifadesi Küçük sayı sıfır değilken aşağıdaki işlemleri yap Büyük sayıyı küçüğe böl ve kalanı bul Büyük sayıya küçüğün değerini aktar Küçük sayıya kalanın değerini aktar Başa dön

29 Bilgisayar Programlama 29/64 4/2/2015 OBEB Algoritmasının Tasarlanması  BÜYÜK, KÜÇÜK ve KALAN sayılar için tahtada birer kutu oluşturalım.  Algoritma akışı esnasında bu kutuların içine, her defasında bir değerin yazılabildiğini düşünelim. BÜYÜK KÜÇÜK KALAN

30 Bilgisayar Programlama 30/64 4/2/2015 OBEB Algoritmasının Tasarlanması  İki özel işarete daha ihtiyacımız var  MOD : Bölmenin kalanını verir.  6 MOD 4 = 2  20 MOD 7 = 6   işareti : sağdaki değeri soldakine aktar  BÜYÜK  5 : Büyük etiketli kutuya önceki değerini silerek beş değerini koy.  BÜYÜK  KÜÇÜK : Büyüğün önceki değerini silerek küçüğün şimdiki değerini büyüğe aktar.  KALAN  BÜYÜK MOD KÜÇÜK : Büyük sayıyı küçüğe böl ve bölme işleminin kalanını KALAN’a aktar.

31 Bilgisayar Programlama 31/64 4/2/2015 OBEB Algoritmasının Tasarlanması KÜÇÜK <> 0 İKEN YAP KALAN  BÜYÜK MOD KÜÇÜK BÜYÜK  KÜÇÜK KÜÇÜK  KALAN BAŞA DÖN

32 Bilgisayar Programlama 32/64 4/2/2015 OBEB Algoritmasının Tasarlanması Türkçesi KÜÇÜK <> 0 İKEN YAP KALAN  BÜYÜK MOD KÜÇÜK BÜYÜK  KÜÇÜK KÜÇÜK  KALAN BAŞA DÖN İngilizcesi WHILE KÜÇÜK <> 0 DO KALAN  BÜYÜK MOD KÜÇÜK BÜYÜK  KÜÇÜK KÜÇÜK  KALAN END WHILE

33 Bilgisayar Programlama 33/64 4/2/2015 OBEB Algoritmasının Sahte Kod (Pseudo Code) ile Gösterimi ALGORITMA OBEB BÜYÜK  99 KÜÇÜK  44 WHILE KÜÇÜK <> 0 DO KALAN  BÜYÜK MOD KÜÇÜK BÜYÜK  KÜÇÜK KÜÇÜK  KALAN END WHILE ÇIKTI BÜYÜK END OBEB

34 Bilgisayar Programlama 34/64 4/2/2015 Akış Şeması  Bir algoritmanın şekillerle gösterilmesidir.  İçinde komutların bulunduğu şekiller ve bu şekillerin birbirine çizgilerle bağlanmış halidir.

35 Bilgisayar Programlama 35/64 4/2/2015 BASLA KÜÇÜK <> 0 KALAN  BÜYÜK MOD KÜÇÜK BÜYÜK  KÜÇÜK KÜÇÜK  KALAN ÇIKTI BÜYÜK DUR YANLIŞ (FALSE) DOGRU (TRUE) BÜYÜK  99 KÜÇÜK  55

36 Bilgisayar Programlama 36/64 4/2/2015 Algoritma İfade Biçimleri Konuşma Dili Sahte Kod (Pseudo Code) Akış Şeması

37 Bilgisayar Programlama 37/64 4/2/2015 Akış Şeması Sembolleri BAŞLA / DUR GİRDİ / ÇIKTI (INPUT / OUTPUT) İŞLEM (PROCESSING) KARAR (DECISION) TOPLAYICI (COLLECTOR)

38 Bilgisayar Programlama 38/64 4/2/2015 Karmaşa ? Bilgisayar, programcının hazırlık çalışmaları sonucu yazdığı problemin algoritmasından anlamaz!  Bu çözüm bilgisayara nasıl aktarılacak?  Bilgisayar nelerden anlar?

39 Bilgisayar Programlama 39/64 4/2/2015 Makina Dili  Bilgisayar sistemi ikili kodda ifade edilmiş komutlardan anlar.  OBEB algoritmasının makina dili ile gösterimi:

40 Bilgisayar Programlama 40/64 4/2/2015 Assembly Dili  Programlar Makina dilinde kodlanabilir.  Ancak bu şekilde programı yazmak;  Çok zor,  Anlaşılması çok güç,  Hata yapma olasılığı çok yüksektir.(1 ve 0 lardan birinin farklı olması programın hatalı olması demektir.)  Daha basit kodlama  assembly dili

41 Bilgisayar Programlama 41/64 4/2/2015 Assembly Dili OBEB algoritmasının Assembly kodu LDA KUCUKKUCUK’u Yükle CMP SIFIR…….sıfırla karşılaştır JEQ 00Değer eşitse döngüden çık LDA BUYUKBUYUK değerini….. MOD KUCUK……KUCUK’e böl STA KALAN……ve KALAN’I sakla LDA KUCUKKUCUK’deki değeri…. STA BUYUK…….BUYUK’e kopyala LDA KALANKALAN’daki değeri…. STA KUCUK……KUCUK’e kopyala JMP 000 Döngünün başına git OUT BUYUKBUYUK’ü yazdır HALT Çalışmayı durdur

42 Bilgisayar Programlama 42/64 4/2/2015 Assembly Dili  Makine dilinin görüntüsünün değişimidir.  Makine dilindeki problemler burada da mevcuttur.  Assembly kodu günlük konuşma dilimize yakın değildir.

43 Bilgisayar Programlama 43/64 4/2/2015 Yüksek Seviye Dilleri  Günlük konuşma diline yakın ifadeler ile program geliştirmemizi sağlayan dillerdir.  Sık kullanılan diller  Basic  Fortran  Pascal  C, C++  JAVA

44 Bilgisayar Programlama 44/64 4/2/2015 Derleyici Yüksek seviye bir dil ile yazılan programı makine diline çeviren aracı programlardır.  Kaynak Program : Yüksek seviye bir dille yazılmış program  Derleyici : Kaynak Programı Makine diline çeviren aracı program  Hedef Program: Makine diline çevrilmiş program.

45 Bilgisayar Programlama 45/64 4/2/2015 DERLEME Derleyici Kaynak Program Hedef Program

46 Bilgisayar Programlama 46/64 4/2/2015 KULLANILACAK YAZILIMLAR Windows tabanlı bir işletim sistemi Java Developer Kit (1.1,1.2,1.3,1.4, 5.0..) Klavye.jar kütüphanesi JCreator Editoru Diğer Java araçları (Borland JBuilder, Microsoft Visual J++ ….)

47 Bilgisayar Programlama 47/64 4/2/2015 Java’nın Tarihçesi İlk geliştirildiğinde OAK ismiyle anıldı Mucidi James GOSLING Sun Microsystem, California da geliştirilmektedir. (Silikon vadisi, internet ) Amaç; küçük, hızlı, güvenilir, taşınabilir program üretmek.

48 Bilgisayar Programlama 48/64 4/2/2015 Problem  Ekrana ‘Merhaba Dunya’ yazan programın  Akış şemasını çizelim  Java’da kodlayalım

49 Bilgisayar Programlama 49/64 4/2/2015 Akış Şeması Başla ÇIKTI ‘Merhaba Dunya’ Dur

50 50/64 İlk Program public class IlkProg {}{} // Program hakkında açıklamalar public static void main (String[] args) {}{} // Metod hakkında açıklamalar System.out.println(“Merhaba Dunya”);

51 Bilgisayar Programlama 51/64 4/2/2015 Derleyici ve Yorumlayıcı\Interpreter Editor    Ilkprog.java  Derleyici  Ilkprog.class   Yorumlayıcı Hello, World !   Yorumlayıcı

52 52/64 Java Program Yapısı public class IlkProg {}{} // Program hakkında açıklamalar Program başlığı Program gövdesi Açıklamalar herhangi bir yerde olabilirler

53 53/64 Java Program Yapısı public class IlkProg {}{} // Program hakkında açıklamalar public static void main (String[] args) {}{} // açıklamalar Ana program başlığı Ana program gövdesi

54 54/64 Açıklamalar Programın amacını ve işlem basamaklarını belirtmek için kullanılırlar Programın çalışmasını etkilemezler Java açıklamaları iki şekilde kullanılır // bu açıklama satırın sonuna kadar yazılır /* bu açıklama sonlandırma işaretine kadar çalışır */

55 55/64 İlk Programımız public class IlkProg {}{} // Program hakkında açıklamalar public static void main (String[] args) {}{} // açıklamalar System.out.println(“Merhaba Dunya”);

56 Bilgisayar Programlama 56/64 4/2/2015 Program Nelerden Oluşur Tanımlayıcılar Ayrılmış Kelimeler Önceden Geliştirilmiş Programlar Özel Karakterler ve Boşluk Karakterleri

57 57/64 Tanımlayıcılar (Identifier) Tanımlayıcılar bir programcının program içerisinde tanımladığı sözcüklerdir Bir tanımlayıcı harflerden, rakamlardan, alt çizgi karakterinden ( _ ) ve dolar ( $ ) işaretinden oluşur Tanımlayıcılar rakamla başlayamazlar Java büyük/küçük harfe duyarlıdır- Toplam, toplam ve TOPLAM farklı tanımlayıcılardır Geleneksel olarak, programcılar farklı tipteki tanımlayıcılar için farklı harf biçimleri kullanırlar, örneğin;  Program isimleri için ilk harf büyük - Ilkprog  Sabitler için büyük harf - MAXIMUM

58 58/64 Ayrılmış Kelimeler (Reserved Word) abstract assert boolean break byte case catch char class const continue default do double else enum extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static strictfp super switch synchronized this throw throws transient true try void volatile while Ayrılmış kelimeler tanımlayıcı olarak kullanılamaz

59 Bilgisayar Programlama 59/64 4/2/2015 Önceden Geliştirilmiş Programlar Java dilinde sizin veya başka bir programcının önceden geliştirmiş olduğu programlardan da faydalanılabilir.  Math.abs(-8)// Tam değer alma  int i = Klavye.intOku()// int değer okuma

60 Bilgisayar Programlama 60/64 4/2/2015 Özel Karakterler { }

61 61/64 Boşluk Karakterleri Boşluklar, boş satırlar ve tab’lar boşluk karakterleri olarak adlandırılırlar Boşluk karakterleri bir programda kelimeleri ve sembolleri ayırmak için kullanılırlar Ekstra boşluk karakteri göz ardı edilir Geçerli bir Java programı birçok farklı formatta oluşturulabilir Programlarda okunabilirliği artırmak amacıyla içeriden başlamaya (indentation) dikkat edilir

62 Bilgisayar Programlama 62/64 4/2/2015 Örnek public class IlkProg2{public static void main(String[ ]args){ System.out.println(”Okan Üniversitesi:"); System.out.println("Bilişim Sistemleri ve Teknolojileri Bolumu.");}} public class IlkProg2 { public static void main(String[ ]args) { System.out.println("Okan Üniversitesi:"); System.out.println("Bilişim Sistemleri ve Teknolojileri Bolumu."); } İki Program Aynı

63 63/64 Okunabilirliği Zor Program public class IlkProg { // Program hakkında açıklamalar public static void main (String[] args) // açıklamalar { System.out.println(“Merhaba Dunya”); } }

64 64/64 Okunabilir Program public class IlkProg {}{} // Program hakkında açıklamalar public static void main (String[] args) {}{} // açıklamalar System.out.println(“Merhaba Dunya”);


"4/2/2015Bilgisayar Programlama 1 AÇIK SİSTEMLERDE PROGRAMLAMA." indir ppt

Benzer bir sunumlar


Google Reklamları