62
5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI Dr. Öğr. Üyesi Nesibe YALÇIN https://nesibeyalcin.wordpress.com/bsm102/ BARTIN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

  • Upload
    others

  • View
    50

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

5. Hafta - PROGRAMLAMA DİLLERİ ve

VERİ YAPILARI

Dr. Öğr. Üyesi Nesibe YALÇIN https://nesibeyalcin.wordpress.com/bsm102/

BARTIN ÜNİVERSİTESİ

MÜHENDİSLİK FAKÜLTESİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Page 2: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

2

Tanımlar

― Program: Belirli bir işi gerçekleştirmek için gerekli komutlar

dizisi olarak tanımlanabilir.

― Programlama: Bir programı oluşturabilmek için gerekli komutların belirlenmesi ve uygun biçimde kullanılmasıdır.

― Programlama Dilleri: Bir programın oluşturulmasında kullanılan komutlar, tanımlar ve kuralların belirtildiği programlama araçlarıdır.

― Yazılım: Belirli bir amacı sağlayan, program ya da programlar ve ilgili dokümantasyonlardır.

Page 3: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

3

Page 4: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

4

Programlama Dilleri

― Programlama dilleri, yazılım geliştirmenin önemli bir

parçasıdır.

― Bilgisayarlara ne yapmaları gerektiğini söylememizi sağlayan özel bir dil.

― Programlama dilleri insanlarla bilgisayarlar arasında tercümanlık görevi yapar.

― Her programlama dili diğerinden farklıdır. Her birinin farklı komutları ve kuralları mevcuttur.

Page 5: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

5

Programlama Dilleri

Page 6: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

6

Programlama Ortamı

― Bir programlama ortamı, programlama dili ile birlikte birçok bileşenden oluşur.

Page 7: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

7

Programlama Ortamı

― Editör (Editor): Kaynak kodu oluşturmak, kodda değişiklik yapmak için gerekli araçtır.

― Yorumlayıcı (Interpretter): Programın kaynak kodunu doğrudan satır satır yürütür.

― Derleyici (Compiler): Kaynak kodu makine koduna çevirir, .exe dosyası üretir.

― Hata Ayıklayıcı (Debugger): Programın yürütülmesini adım adım kontrol etmeye yarar.

Page 8: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

8

Programlama Ortamı

― Derleyicinin kaynak kodu makine koduna çevirme işlemi genellikle üç adımdan oluşur:

• Sözel Analiz’ de kaynak kodları oluşturan kelimelerin kaynak dilde karşılıkları olup olmadıkları kontrol edilir.

• Yazım Hatası Analizi’ nde kaynak kodların yazıldığı programlama dilinin kurallarına uygun yazılıp yazılmadığı kontrol edilir.

• Kod Üretimi’ nde kaynak komutlara karşılık gelen makine dili komutları üretilir.

Page 9: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

9

Programlama Ortamı

― Kütüphane (Library): Nesne dosyalarından oluşan kütüphanedir.

― Bağlayıcı (Linker): Programdaki tüm nesne dosyalarını birleştirip tek dosya haline getirir.

― Yükleyici (Loader): Yürütülebilir (.exe) dosya ile birlikte bu dosyanın kullandığı kütüphaneleri belleğe yükler.

Page 10: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

10

Programlama Ortamı

Page 11: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

11

Programlama Dilinin Elemanları

― Söz Dizimi (Syntax) • Sıradan dillerde olduğu gibi, programlama dillerinin de bir

söz dizimi vardır. • Bir programın söz dizimi simgelerin geçerli olarak kabul

edilebilmesi için hangi düzende yazılması gerektiğini belirleyen kurallar dizisidir.

• Sözdizimsel hataların çoğu derleyici tarafından yakalanıp raporlanacaktır. Ancak bazı hatalar derleyicilerin yakalayamayacağı türden olup çalışma esnasında hatalara neden olabilir.

Page 12: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

12

Programlama Dilinin Elemanları

― Anlambilim (Semantics) • Bir programlama dilindeki bir ifadenin ne anlama

geldiğidir.

― Veri (Data) • Verinin yapısı ve türü belirlenmelidir. • Tür program içinde kullanılacak verinin alabileceği

değerleri belirler.

― Atama Deyimi (Assignment Statement) • Deyimin sağ tarafındaki ifadenin değerini hesaplayarak,

bulduğu değeri sol taraftaki ifadeye aktarır.

Page 13: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

13

Programlama Dilinin Elemanları

― Kontrol Deyimleri (Control Statement) • Atama deyimleri normal olarak yazıldığı şekilde

yürütülürken, kontrol deyimleri yürütmenin sırasını değiştirmek için kullanılır.

• İyi yapılandırılmış bir kontrol deyimi iki şekilde olabilir: İki yada daha fazla seçenekten birinin seçilmesi (if ya da case) Tekrarlı ifadelerin çevrim durumları (for –while-repeat)

Page 14: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

14

Programlama Dilinin Elemanları

― Alt Programlar (Subprograms) • Programın farklı yerlerinden defalarca çağrılabilen, içinde

veri tanımlamalarının ve yürütülebilir deyimlerin bulunduğu program birimleridir.

Page 15: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

15

Programlama Dilini Değerlendirme Ölçütleri

― Verimlilik (efficiency) ― Veri türleri ve yapıları (data types and structures) ― Alt programlama yeteneği (Modularity) ― Yapısallık (structural programming support) ― Esneklik (flexibility) ― Öğrenme ve öğretme kolaylığı (pedagogy) ― Genellik (generality) ― Giriş / Çıkış (input/output - I/O facility) kolaylığı ― Okunabilirlik (readability) ― Taşınabilirlik (portability) ― Nesne Yönelimlilik (object orientation)

Page 16: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

16

Programlama Dillerinin Tarihçesi

― 1940’lar

• 40’lı yıllarda geliştirilen ilk elektronik bilgisayarlar için assembly dili ile programlar geliştirilirken, bu dilin kullanımının zor olduğu görülmüş ve sentaksı doğal dile daha yakın olan programlama dilleri geliştirilmiştir.

• Konrad Zuse 1943-1945 yılları arasında Plankalkül adında bir programlama dili geliştirmiştir. Fakat o yıllarda bu dil için bir derleyici tasarlanmamıştır.

• Alan Turing, John von Neumann, John Mauchly, J. Presper Eckert ve Herman Goldstine tarafından geliştirilmiş olan ENIAC Coding System ilk programlama dillerinden biri olarak kabul edilir.

Page 17: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

17

Programlama Dillerinin Tarihçesi

― 1950’lar

• Makine dili kullanımın getirdiği problemleri (???) ortadan kaldırmaya yönelik çalışmalar yoğunlaştı.

• 1951 yılında UNIVAC I projesinde çalışan Grace Hopper ilk derleyiciyi tasarlamıştır.

• FORTRAN (FORmula TRAslator), 1954-1955 yıllarında IBM bilgisayaı için tasarlanmıştır.

• LISP, MIT’ de çalışan John McCarthy tarafından 1956-1958 yılları arasında geliştirilmiştir.

• ALGOL (1958), COBOL (1959)

Page 18: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

18

Programlama Dillerinin Tarihçesi

― 1960’lar

• Oslo’daki Norveç Hesaplama Merkezi tarafından 1962-1967 yılları arasında geliştirilen Simula ilk nesneye-yönelik programlama dilidir.

• 1964 yılında John George Kemeny ve Thomas Eugene Kurtz tarafından BASIC (Beginner's All-purpose Symbolic Instruction Code) dili geliştirilmiştir.

• PASCAL dili Niklaus Wirth tarafından 1968-1969 yılları arasında geliştirilmiş ve 1970’te yayınlanmıştır.

Page 19: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

19

Programlama Dillerinin Tarihçesi

― 1970’lar

• C programlama dili 1972 yılında Bell Laboratuarlarında Dennis Ritchie tarafından geliştirilmiştir (Dennis Ritchie daha önce Ken Thompson ile birlikte UNIX işletim sistemi ve B programlama dili üzerinde de çalışmıştır).

• Prolog dili de 1972 yılında Alain Colmerauer ve Phillipe Roussel tarafından Fransa’da geliştirilmiştir.

Page 20: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

20

Programlama Dillerinin Tarihçesi

― 1980’lar

• 1979 yılında Bjarne Stroustrup tarafından geliştirilmeye başlanan C++ dili 1983 yılında tamamlanmıştır.

• 1986 yılında Bertrand Meyer tarafından geliştirilen Eiffel programlama dili, C++ gibi nesneye yönelik bir dildir.

• 1987 yılında Larry Wall tarafından geliştirilen Perl dili, metin işleme ve görüntü tanıma söz konusu olduğunda kullanılabilecek en güçlü dillerden biridir.

Page 21: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

21

Programlama Dillerinin Tarihçesi

― 1990’lar

• Windows tabanlı uygulama geliştirmeyi sağlayan Visual Basic 1.0, Microsoft tarafından 1991 yılında piyasaya sürüldü. (1998 yılına kadar 5 faklı sürüm daha geliştirildi).

• Java dili, Sun Microsystems mühendislerinden James Gosling tarafından geliştirildi ve 1995 yılında ilk sürümü (1.0) yayınlandı.

• Dinamik web sayfalarının yaratılmasında kullanılan PHP (Personal Home Page) dili Rasmus Lerdorf tarafından 1995’te yaratıldı.

Page 22: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

22

Programlama Dillerinin Tarihçesi

― 2000’ler

• 2000’li yıllarda Web Tabanlı Programlama giderek yaygınlaşmış, ASP, JSP ve PHP dilleri sürekli olarak yenilenmiştir.

• .NET çatısı altında çalışan C# (C Sharp), VB.NET ve ASP.NET programlama dilleri 2001 yılında Microsoft tarafından piyasaya sürülmüştür.

Page 23: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

23

Top 10 Programlama Dilleri (2014)

Page 24: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

24

Top 10 Programlama Dilleri (2018)

Page 25: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

25

Top 10 Programlama Dilleri (2018)

Page 26: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

26

― Programlama dilleri ilk olarak belirli bir programa belirli bir işi yapmak için talimatların adım adım bilgisayara girilmesi şeklinde ortaya çıkmıştır.

― Daha sonraki zamanlarda programlama dilleri mantıksal dallanma, nesne yönelimi gibi özellikler kazanarak gelişim göstermiştir.

Programlama Dillerinin Sınıflandırılması

Page 27: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

27

― Uygulama Alanlarına Göre Sınıflandırma • Genel Amaçlı Programlama Dilleri

C, C++, Java, Pascal, Basic • Bilimsel ve Mühendislik Dilleri

Fortran, C, C++, Pascal, Java • Sistem Programlama Dilleri

C, C++, Java, Assembly, Makine Dili • Veri Tabanı Dilleri

Dbase, Clipper, Sql • Yapay Zeka Dilleri

Prolog, LISP

Programlama Dillerinin Sınıflandırılması

Page 28: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

28

Programlama Dillerinin Sınıflandırılması

― Seviyelerine Göre Sınıflandırma • Düşük Seviyeli

Assembly (ASM) • Orta Seviyeli

C, C++, C# • Yüksek Seviyeli

Fortran, Basic, Pascal, Cobol • Çok Yüksek Seviyeli

Dbase, Clipper, VB, Java, Delphi, SQL, Mathematica • Yapay Zekaya Yönelik

Prolog, Phyton, Mercury, OPS5

Page 29: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

29

Makine Dili

― Makine dili, bilgisayarın ana dilidir. Bir programın bilgisayar tarafından anlaşılması için o dilin söz diziminin ve anlamının makine diline çevrilmesi gereklidir.

Page 30: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

30

Düşük Seviyeli Diller

― Assembly org 100h mov cx,10 ;cx e 10 aktar mov bx,0 ;bx e 0 aktar sonuc: dec cx ;cx 1 azalt mov ax,cx ;ax e cx i aktar mul cx ;ax*cx carp , ax de karesi tutuluyor add bx,ax ;ax+bx ve bx e aktar loop sonuc end

Page 31: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

31

Düşük Seviyeli Diller

― Assembly

Page 32: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

32

Orta Seviyeli Diller

― C #include <stdio.h> int main() { printf("merhaba, dünya"); return 0; }

Page 33: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

33

Yüksek ve Çok Yüksek Seviyeli Diller

― Pascal

program merhaba(output); begin WriteLn('merhaba, dünya'); end.

― VB

Private Sub Button1_Clicked() Handles Button1.Click MsgBox("Merhaba, Dünya!") End Sub

Page 34: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

34

Yapay Zekaya Yönelik Diller

― Prolog

― LISP (List Processing)

(defun a() (setq b 5) (setq c 6) (setq d (+ b c)) (print d))

Page 35: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

35

Nesneye Yönelik Programlama

― Programlar, gerçek hayatta karşılaşılan bir takım problemlerin çözülmesi için bilgisayarların hızlı ve doğru işlem yapabilme yeteneklerinden faydalanmak üzere yazılırlar.

― Nesneye Yönelik Programlama (Object Oriented Programming) yaklaşımı, gerçek hayattan alınmış problemi çözmek üzere oluşturulacak modelin, yine gerçek hayatta var olan nesneler ve bu nesneler arasındaki ilişkilerden faydalanılarak oluşturulmasını ilke edinmiştir.

― Uygulamaları nesneler kullanarak yani bir çok nesnenin bir araya gelmesi ile oluşturmak demektir.

Page 36: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

36

Nesneye Yönelik Programlama (NYP)

― Nesne Yönelik Programlama, programların boyutunu düşürür, karmaşıklığı giderir, geliştirmeyi kolay hale getirir ve bakım maliyetlerinin düşmesine yardımcı olur.

Page 37: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

37

Nesneye Yönelik Programlama (NYP)

― Sınıf, aynı özellik ve davranışları sergileyen varlıkların ortak kümesini belirleyen tanımdır.

― Nesne ise ait olduğu sınıftan gelen özelliklerin değerlerinin belli olduğu, sınıfı için tanımlı olan davranışları nasıl sergilediğinin bilindiği, somut olarak var olan, biricik bir kimliği olan varlıktır.

Page 38: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

38

Görsel Programlama

― Grafik Kullanıcı Arayüzü (GUI) kullanan Windows, Linux gibi işletim sistemleri için uygulama geliştirmeye yarar.

― Pencere içinde yer alan metin kutuları, butonlar, tablolar gibi elemanları program kod yazmadan direkt pencere üzerine yerleştirmeye imkan tanır.

Page 39: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

39

Görsel Programlama

Page 40: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

40

Web Programlama

― Bir web programlama dili ve veritabanı ile web üzerinde dinamik sayfalar oluşturmayı amaçlar.

― Alışveriş siteleri, haber siteleri, forum siteleri ve bunlar gibi bir çok site web programlama ile oluşturulur.

― Programlama Dilleri;

• PHP • ASP.NET

― Veritabanları; • MySQL • Oracle • Access

Page 41: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

41

Mobil Programlama

― Mobil programlama dili ile telefon, tablet, PDA gibi mobil cihazlarda da kullanılacak bir takım yazılımlar, programlar ve oyunlar oluşturmayı amaçlar.

― Mobil uygulama geliştirmek için en çok kullanılan mobil programlama dilleri;

• C • C++ • Objective-C • Java • HTML5 • Swift

Page 42: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

42

Mobil Programlama

Page 43: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

43

Assembly

• Assembly, makine diline en yakın dildir. Yazım kolaylığı makine diline göre daha fazladır.

• Programlama için günümüzde belki de en az kullanılan bilgisayar dilidir.

• C ile karşılaştırıldığında Assembly, daha az komut sayısına ancak daha geniş komut kullanım yapısına sahiptir.

Page 44: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

44

Assembly

format mz org 100h mov ah,09 mov dx,yazi int 21h mov ah,00 int 16h int 20h yazi db "merhaba dunya$"

Akümülatör register

Page 45: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

45

C++

• Bell Laboratuvarları’ ndan Bjarne Stroustrup tarafından 1979 yılından itibaren geliştirilmeye başlanmış ve 1983’ te ortaya çıkmıştır.

• Nesne yönelimli ve yüksek seviyeli, genel amaçlı bir programlama dilidir.

• C++’ın ilk ismi “C with classes” dir ve C programlama dilinin bir eklentisi olarak işlev görmektedir.

• Günümüzde en çok kullanılan dillerden biridir.

Page 46: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

46

C++

#include <iostream> using namespace std; int main() { cout << " Merhaba Dünya"<< endl; return0 }

Page 47: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

47

Java

• 1995 yılında piyasaya sürülen Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmiştir.

• Açık kodlu, nesneye yönelik, ortamdan bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen (interpreted) bir dildir.

• Java ile birden fazla görev yapabilecek düzeyde programlar yazmak olanaklıdır.

• İşaretçi kullanımı yoktur.

Page 48: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

48

Java

class merhaba { public static void main(String args[]) {

System.out.println("Merhaba Dünya!"); } }

Page 49: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

49

C#

• C++ ve JAVA’nın iyi yönlerini bünyesinde barındıran yeni bir dildir (2001).

• Bu dilin tasarlanmasına Pascal, Delphi derleyicileri ve J++ programlama dilinin tasarımlarıyla bilinen Anders Hejlsberg liderlik etmiştir.

• Microsoft tarafından .NET çatısı üzerinde geliştirilen C#, JAVA’ ya en önemli rakip olarak görülmektedir.

• C# görsel programlamaya da olanak sağlar.

Page 50: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

50

C#

using System; class Program { static void Main() { Console.WriteLine("Merhaba Dünya!"); Console.ReadKey(); } }

Page 51: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

51

Python

• Python, nesne yönelimli, yorumlamalı, birimsel ve etkileşimli yüksek seviyeli bir programlama dilidir.

• Python, ilk sürümü Guido van Rossum adlı Hollandalı bir programcı tarafından 1991’de ortaya konulmuştur.

• Her platformda (Windows, MacOS, Unix, Linux,…) çalışabilen bir Python derleyicisi vardır.

• Açık kaynaklı, yapısı sade, okuması ve yazması çok kolay. Çok hızlı öğrenilebiliyor.

Page 52: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

52

Python

― print("Merhaba Dünya")

Page 53: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

53

VERİ YAPILARI

Page 54: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

54

Veri

― Veri, bilgisayar ortamında sayısal, alfasayısal veya mantıksal biçimlerde ifade edilebilen her türlü değer tanımıyla ifade edilebilir.

― Örneğin;

• Tamsayılar: 10, -2, 0 • Gerçel sayılar: 27.5, 0.0256, -65.253 • Karakterler: 'A', 'B', '*' • Stringler: "Yağmur" ve, "Merhaba" • Mantıksal değerler: 0, 1 ya da true, false

Page 55: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

55

Veri Tipleri

Page 56: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

56

Bilgi

― Veriler bilgisayar belleğinde 1 ve 0’lardan oluşan bir "Bit" dizisi olarak saklanır.

― Bilgi, verinin işlenmiş ve bir anlam ifade eden halidir.

Page 57: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

57

Veri Yapıları

― Programlamada veri yapıları en önemli unsurlardan birisidir.

― Veri yapıları, kendi oluşturulma kuralları ve özel işlemleriyle nitelendirilebilir veriler kümesidir. Bazı hallerde bunlara veri tipleri de denir.

― Program kodlarını yazarken kullanılacak veri yapısının en ideal şekilde belirlenmesi, belleğin ve çalışma biçiminin daha etkin kullanılmasını sağlar.

Page 58: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

58

Veri Yapılarının Sınıflandırılması

Page 59: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

59

Veri Yapılarının Sınıflandırılması

1.TEMEL: Daha küçük parçalara bölünemeyen veri yapılarıdır. 2.BASİT: Temel veri tiplerinin birleşmesinden oluşan veri yapılarıdır. 3. BİRLEŞİK: Verilere bellek yönetimi ile ulaşan ve veriler üzerinde kapsamlı işlemler yapabilen veri yapılarıdır.

a. Lineer: Verilerin birbirini doğrusal olarak takip ettiği (bir verinin öncesi ve sonrası olması) veri yapılarıdır.

b. Lineer Olmayan: Verilerin birbirini özel kurallar dahilinde takip ettiği veri yapılarıdır.

Page 60: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

60

Veri Yapılarının Sınıflandırılması

Çift yönlü bağlı liste

Page 61: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

61

Veri Yapılarının Sınıflandırılması

Ağacın genel yapısı

Page 62: 5. Hafta - PROGRAMLAMA DİLLERİ ve VERİ YAPILARI...Veri Yapıları ― Programlamada veri yapıları en önemli unsurlardan birisidir. ―Veri yapıları, kendi oluşturulma kuralları

62

Veri Yapılarının Sınıflandırılması

Yönsüz graf örneği