Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Algoritmalar ve Programlama I Ders 3: PROGRAMLAMA VE PROGRAMLAMA DİLİ

Benzer bir sunumlar


... konulu sunumlar: "Algoritmalar ve Programlama I Ders 3: PROGRAMLAMA VE PROGRAMLAMA DİLİ"— Sunum transkripti:

1 Algoritmalar ve Programlama I Ders 3: PROGRAMLAMA VE PROGRAMLAMA DİLİ
Doç. Dr. Cemil Öz Algoritmalar ve Programlama I Ders 3: PROGRAMLAMA VE PROGRAMLAMA DİLİ   SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

2 Programlama, bir işlemin bilgisayarın anlayabileceği bir biçime dönüştürülmesi işlemidir.
Program, bilgisayar sistemine yaptırılmak istenen işlemi özel kodlarla tanımlayan araç olarak bilinir. Program, bir programlama dili aracılığıyla hazırlanır. Kullanılacak programlama dili, çözülecek problemin niteliğine bağlı olarak seçilebilir. Hangi dilin seçileceğini belirleyen etkenlerin başında, verilerin işlenmesinde zaman tasarrufu yada komut sayısını sınırlamak olabilir. Programlama dili, program tasarımında sorulardan biri tasarlanan çözümlemeye uygun programlama dilini seçmektir. Programlama dilleri, bilgisayarda çalıştırılmak üzere hazırlanır.

3 Bir programlama dilinin belirli amaçlara hizmet eden bir çok deyimi vardır ve bu deyimler özel kodlarla ifade edilir. Programlama dillerinin ortak özellikleri vardır. Programlama dillerinin tümü simgesel’dir. Yani, bilgisayarın anlayacağı işlemleri insanların da anlayabileceği simgelerle ifade ederler. Örneğin program içinde yer alan write/print komutunun, yazma işlemini yerine getiren bir komut olduğu hemen anlaşılır. Bu simgeler, özel programlar yardımıyla bilgisayarın anlayabileceği bir biçime çevrilirler. Bu programlara derleyici adı verilir Programın yazımı, kaynak programın geçerli makine diline derleyici aracılığı ile çevrilmesi için kaynak programın bilgisayar ortamında bir yazım/editör programı yardımı ile, gerçekleştirilir.

4 Programım yazımında anlaşılabilirlik ve okunabilirlik önem taşır
Programım yazımında anlaşılabilirlik ve okunabilirlik önem taşır. Program yazma, ilk kez yazma veya var olan programı geliştirme şeklinde olabilir. Programlar çoğunlukla ilk kez yazıldığından sonra üzerinde düzeltme ve geliştirmeler yapma gerektirir. Bu nedenle, diğer taraftan programlar bir kez kullanılmak için de hazırlanmaz bir süre sonra programa bakıldığında anlaşılabilir olma önemli olur. Açıklama satırları eklemek, program işlem kümelerini, yordamları, yapıları izlenebilir yapıda yazmak sonrada izlenebilmeye kolaylık sağlar. Değişkenlere, yordamlara işlev ve görevini anımsatacak isimler vermek, karar işlemlerini anlaşılır açıklıkta yazmak, okunabilirliğine yardım edecektir.

5 Programlama Dillerinin Sınıflandırılması
A.T.Özcerit Programlama Dillerinin Sınıflandırılması Derleyici (Compiler) Pascal C/C++ Ada Visual Basic.NET Yorumlayıcı (Interpreter) QBasic Script (JScript,Tcl/Tk) HTML, XML PHP Karışık (Compiler+ Interpreter) Java C#

6 Yorumlayıcı (Basic, HTML)
A.T.Özcerit Yorumlayıcı (Basic, HTML) Program Kodu Komut Çöz Komut Çalıştır Sonuç Komut Al

7 Derleyici (C++, Pascal)
A.T.Özcerit Derleyici (C++, Pascal) Komut Al Komut Çöz Komut Çalıştır Sonuç Program Kodu Makina Kodu Object Code Çalışma Zamanı Run Time Derleme Zamanı Compile Time

8 Derleyici+Yorumlayıcı (C#, Java)
A.T.Özcerit Derleyici+Yorumlayıcı (C#, Java) Komut Al Komut Çöz Komut Çalıştır Sonuç Program Kodu Sanal Makine JVM (Java) CLR (.NET) Bytecode (Java) MSIL (C#) Derleme Zamanı Compile Time Çalışma Zamanı Run Time

9 Dil derleyiciler (compilers), elektronik ortamda disk kütüğü yapısında hazırlanan kaynak programın işleyebilir makine diline dönüştürülmesi, kullanılan üst düzey dil için hazırlanmış dil derleyicisi yazılımları ile gerçekleştirilir. Örneğin, C ve C++ destekleyen Turbo C++, Borland C++, MS Visual C++ derleyicileri yaygın kullanılan dil derleyicilerindendir. Derleme: derleme işlemi üst düzey dille hazırlanan kaynak programı geçerli makine dili içerikli amaç programa dönüştürür. Bu dönüştürme süreci bir adımda gerçekleşmez. Örneğin C Derleyicisi derleme (compile), bağlama (linker), yükleme (loader) işlemleri sonunda işleyebilir amaç programa (makine kodu) dönüşür.

10 C ve C++ tarihi (History of C and C++)
C’nin tarihi gelişimi İki programlama dilinden türetilmiştir BCPL and B Tip tanımlanması olmayan dillerdir (“Typeless” languages) 1970 yılların başında Dennis Ritchie (Bell Laboratories Veri tiplerini ve diğer özellikleri eklemiştir(Added data typing, other features) UNIX işletim sisteminin geliştirilmesinde kullanılmıştır Donanımdan Bağımsızdır (Hardware independent) Taşınabilir programlar(Portable programs) 1989: ANSI standard 1990: ANSI and ISO standard duyuruldu ANSI/ISO 9899: 1990

11 C ve C++ tarihi (History of C and C++)
C’ nin genişletilmişidir 1980 lerin başında Bjarne Stroustrup (Bell Laboratories) “Spruces up” C Nesneye dayalı programlama desteği sunmaktadır (Provides capabilities for object-oriented programming) Nesneler: Yazılımın yeniden kullanılabilen elemanlarıdır. Gerçek dünyadaki modellerin benzerleridir. Nesneye dayalı programlama dilleri(Object-oriented programs) Anlaşılması kolay, kolayca çözümlenebilir ve değişiklik yapılabilir Karma Diller(Hybrid language) C benzeri Nesneye dayalı Her ikisi

12 C++ Standard Library C++ programs C++ standard library
Sınıflardan ve fonksiyon parçalarından oluşturulur. C++ standard library Zengin bir sınıf ve fonksiyon topluluğuna sahiptir. Program oluşturmak için bloklar kullanılır. Böylece program yeniden kullanılabilir.

13 Java Java 1991: Sun Microsystems 1995: Sun Microsystems
Green project 1995: Sun Microsystems Resmi olarak duyurulmuştur Web sayfaları dinamik ve etkileşimli hale getirilmiştir Büyük ölçekli uygulamalar gerçekleştirilebilir. Web servisleri fonksiyonelliği artırılmıştır. Ticari cihazlar için uygulamalar geliştirilebilir olmuştur. Cep telefonları, pagers, personal digital assistants, …

14 Visual Basic, Visual C++ and C#
Beginner’s All-Purpose Symbolic Instruction Code 1960 lı yılların ortasında: Prof. John Kemeny and Thomas Kurtz (Dartmouth College) Visual Basic 1991 Microsoft Windows grafik arabiriminin geliştirilmesi sonucunda Microsoft Windows graphical user interface (GUI) 1990 lı yılların başında geliştirildi. Güçlü özellikleri GUI, Olay denetimi(event handling), Win32 API ye erişim (access to Win32 API), Nesneye dayalı programlama(object-oriented programming), Hata yönetimi (error handling) Visual Basic .NET

15 Visual Basic, Visual C++ and C#
C++ Microsoft tarafından geliştirilmiş İlaveler içerir Microsoft Foundation Classes (MFC) Ortak kütüphaneler GUI, graphics, networking, multithreading, … Kütüphaneler, Visual Basic, Visual C++, C# .NET platform Web tabanlı uygulamalar Yazılım geniş çaplıdır ve çok çeşitli aygıtları kapsar Cep telefonu, PDA,desktop computers

16 Visual Basic, Visual C++ and C#
Anders Hejlsberg ve Scott Wiltamuth (Microsoft) .NET platform platformu için dizayn edilmiştir. C, C++ ve Java dan faydalanılmıştır. Olay bazlı, Tam nesneye yönelimli(object-oriented), Görsel programlama dili(visual programming language) Entegre yazılım geliştirme Bileşenleri sunar(Integrated Development Environment -IDE) C# programlarını oluşturabilir, derleyebilir ve çalıştırabilirsiniz Hızlı program geliştirme(Rapid Application Development) Diğer programlama dilleri ile iç içe çalışabilme

17 Yüksek seviyeli diller
FORTRAN FORmula TRANslator : IBM Karmaşık matematik denklemlerinin çözümü Bilimsel ve matematiksel problemlerin çözümü COBOL COmmon Business Oriented Language 1959: computer manufacturers, government and industrial computer users Büyük dataların işlenmesi ve değerlendirilmesinde kullanılan programlama dili Ticari uygulamalar

18 Yüksek seviyeli diller
Pascal Prof. Niklaus Wirth Akademik kullanım

19 Basics of a Typical C++ Environment
Loader Primary Memory Program is created in the editor and stored on disk. Preprocessor program processes the code. Loader puts program in memory. CPU takes each instruction and executes it, possibly storing new data values as the program executes. Compiler Compiler creates object code and stores it on disk. Linker links the object code with the libraries, creates a.out and stores it on disk Editor Preprocessor Linker CPU . Disk Phases of C++ Programs: Edit Preprocess Compile Link Load Execute

20 C/C++ da yazılan programların derlenmesi
Tüm yüksek seviyeli programlar gibi C ve C++ dillerinde de program yazıldıktan sonra çalıştırılabilmesi için derleyici ile makine diline çevrilmesi gerekir. Program ilk olarak bir editörde yazılır. Bu programa kaynak (source) program ve içindeki kodlara kaynak (source) kodlar denir. Derlendikten sonra programın makine dilindeki versiyonu nesne (object) program adını taşır ve .obj uzantılı olur. Derlendikten sonra çalışmaya hazır programın uzantısı .exe olur ve buna exe programı denir. {execute: yürütme} Derlenmeden önce kaynak program, sabit diske dosya şeklinde kaydedilmelidir. Bir çok C++ derleyicisi kaynak programın .cpp (.c) uzantılı bir dosya olmasını bekler. Örneğin: ornek1.cpp (ornek1.c) C++ dilinde bir programın oluşturulması, derlenmesi ve çalıştırılması aşağıdaki iş akış diyagramı ile ifade edilebilir;

21

22 Günümüzde en yaygın C/C++ derleyicileri, Turbo C++, Microsoft C++ ve Borland C++ derleyicileridir.
Ayrıca Visual C++ ve Visual C++’ı içeren Microsoft Visual Studio.NET derleyicileri konsol (Windows ortamında çalışan DOS programları) denilen bir çeşidi ile C/C++ programlarını derleyebilmektedir. Bu derleyiciler program editörü ve derleyicisini bir arada bulundururlar.

23 . C/C++ da programlama C/C++ programlama dili, fonksiyon olarak adlandırılan altprogramların birleştirilmesi kavramına dayanır. Bir C/C++ programı, bir yada daha çok fonksiyonun bir araya gelmesi ile oluşur. Bir fonksiyona ait kodlar blok şeklinde iki büyük { } parantez içinde yazılır. C/C++ programlarında main() özel bir fonksiyondur ve programın yürütülmesine bu fonksiyon ile başlanır. Her C/C++ programında ana fonksiyon olan bir tane main() bulunmalıdır. Bir C++ programının temel yapısı aşağıdaki gibidir; /* Önişlemci komutları */ /* Genel bildirimler */  main () /* Ana fonksiyon */ { /* Program kodları */  }

24 #include <stdio.h> /* Önişlemci komutları */
. Örnek C/C++ programı; #include <stdio.h> /* Önişlemci komutları */ int n; /* Genel bildirimler */ void main(void) /* Ana fonksiyon */ { n=7; printf("n degeri=%d",n); } ************************ #include < stdio.h> void main() printf("\nHello World\n"); Hello World

25 C programlama dili C yapısal bir programlama dilidir. Yapısal programlamanın en önemli ayırt edici özelliği ifadelerden setinden oluşan bloklar ve mantıksal olarak bu blokların birbirine bağlı olmasıdır. Bir c programı, boyutu ne olursa olsun, fonksiyonlardan ve değişkenlerden oluşur. Bir fonksiyon, özel bir hesaplama işlemini gerçekleştirecek ifadeler ve hesaplama işlemleri sırasında kullanılan verilerin saklandığı değişkenlerden oluşur.

26 C programlama dili C fonksiyonları, Fortran programlama dilinin fonksiyonları ve alt programları veya Pascal programlama dilinin fonksiyonları benzeridir Verilen örneklerde, fonksiyon olarak main fonksiyonu görülmektedir. Normalde fonksiyon ismi olarak istenilen isim verilebilir( c ifadeleri olmamak koşulu ile) Main fonksiyonu c programları için önem arz eder. Çünkü main fonksiyonu içerisindeki ifadeler yürütülür. Diğer fonksiyonlar main fonksiyonu içerisinden çağrılarak kullanılır.

27 Yani her C programı bir main foksiyonuna sahip olmak zorundadır
Yani her C programı bir main foksiyonuna sahip olmak zorundadır. Main fonksiyonu görevini yerine getirmek için kullanıcı ve kütüphanelerdeki dosyaları çağırır. #include < stdio.h> void main() { printf("\nHello World\n"); } programda ilk satır Derleyiciye standart input/output library den bilgi yüklemesini söyler. Bu satırlar c program kodlarının başında görülür(kütüphane kavramı üzerinde sonra durulacaktır).

28 Fonksiyonlar ile veri iletişimi fonksiyondan sonra paranntezler içerisinde değerler listesini veya parametre bileşenlerini vererek sağlanır. main(parametre listesi) Bir fonksiyona ait ifadeler kapalı süslü parantezler arasında verilir. Örneğimizde, sadece main fonksiyonu yer almaktadır. İçerisinde ise bir ifade bulunur; printf("\nHello World\n"); Burada printf bir fonksiyondur, "\nHello World\n“ parametredir. Çift tırnak içerisindeki ifade karakter dizini olarak ifade edilir ve çift tırnak içinde verilmelidir.

29 \n ise yeni satır karakteridir
\n ise yeni satır karakteridir. Derleyiciye yeni bir satır eklemesini söyler. Fonksiyon(printf) yeni satır ekleme işini otomatik olarak sağlamaz parametre kullanılmalıdır.

30 #include < stdio.h>
void main() { printf("Hello"); printf(" World"); printf("\n"); } /* ….*/ Açıklama lar(Comments), kaynak kodun içerisinde /* ile başlayıp */ ile bitmek kaydı ile istenilen yere yazılabilir ve istenilen karakter dizini olabilir. Bu açıklamalar derleyici tarafından dikkate alınmazlar. Kodun anlaşılmasında ve programın büyümesi durumlarında kodun anlaşılmasına yardımcı olur. ; ifadelerden sonra kullanılır.

31 #include < stdio.h>
void main(){printf("\nHello World\n");} void main() { printf("\n"); printf("Hello World"); }

32 The following program, sine
The following program, sine.c, computes a table of the sine function for angles between 0 and 360 degrees.

33 Araştırıyorum, öğreniyorum
Değişken, değişken tipi nedir? Değişken tiplerine niye ihtiyaç duyulmuş? Değişkenlerin yaşam süreleri ne demektir? Temel ve türetilmiş veri tipi ne demektir? Operatörler çeşitleri ve işlevleri nelerdir?


"Algoritmalar ve Programlama I Ders 3: PROGRAMLAMA VE PROGRAMLAMA DİLİ" indir ppt

Benzer bir sunumlar


Google Reklamları