1 / 32

BPR151 ALGORİTMA VE PROGRAMLAMA - I

BPR151 ALGORİTMA VE PROGRAMLAMA - I. Öğr . Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul. Bugünkü konular. Program Kodlamaya Hazırlık Temel Programlama Kavramları Syntax Değişken MS Visual Studio Kullanımı İlk Program C # Program yapısı.

tave
Download Presentation

BPR151 ALGORİTMA VE PROGRAMLAMA - I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul

  2. Bugünkü konular • Program Kodlamaya Hazırlık • Temel Programlama Kavramları • Syntax • Değişken • MS Visual Studio Kullanımı • İlk Program • C# Program yapısı

  3. Programlama Dilleri(PL) • Programlama dilleri algoritmaları bilgisayarlara uygulamak için kullanılan kurallar bütünüdür. • Bu kurallar syntax olarak adlandırılır. (veya programlama dilinin yazım kuralları olarak isimlendirilir.) • Her programlama dilinin kendine has yazım kuralları vardır. • Syntax: yazım kuralı

  4. C# si şarp diye okunur :) • Microsoft tarafından geliştirilmiş olan bir programlama dilidir. • C++ ve Java dillerine oldukça benzer, ancak C#'ın bu dillere benzerliği yanında farkları da vardır. • C#, • C++'dan farklı olarak % 100 nesne yönelim tekniğine sahiptir. • Java'dan farklı olarak ise C#'ta gösterici (pointer) kullanılabilir. Böylelikle eski yazılım bileşenleriyle uyumlu bir şekilde çalışılabilir.

  5. .NET Framework • C# kodları, normal programlama dillerinden farklı olarak direkt makine koduna derlenmez. • ÖnceIL(Intermediate Language) denilen bir ara koda derlenir. • Derlenen bu kodun dosyasına assembly denir ve uzantısı exeveyadll'dir. • Bu program çalıştırılmak istendiğinde .Net Framework devreye girer ve IL kodu makine koduna dönüştürür, böylelikle bilgisayar kodu anlayabilir. • Bu yüzden yazdığımız programın bir bilgisayarda çalışması için o bilgisayarda .Net Framework programının kurulu olması gerekir.

  6. C# kodunun çalıştırılması

  7. .NET Framework • .Net Framework, oluşturduğu makine kodlarını geçici bir süreliğine belleğe koyar, eğer aynı kodlar tekrar çalıştırılmak istenirse tekrar IL koddan makine koduna dönüşüm yapmak yerine bu belleğe kaydettiği makine kodlarını kullanır. • Bu yüzden oluşturduğumuz programımızı ilk çalıştırdığımız zaman programımız biraz yavaş çalışabilir, ancak daha sonraki çalışmalarda oldukça hızlanacaktır.

  8. C# ile yapabileceklerimiz • Konsol uygulaması geliştirme • Windows uygulaması geliştirme • ASP.NET uygulaması geliştirme • Web servisleri yazma • Mobil uygulama geliştirme (PDA, cep telefonları vb. için) • DLL yazma

  9. İlk Program classSelamVer { staticvoid Main() { System.Console.Write("Merhaba Sınıf!"); } }

  10. Program Başlangıcı • classSelamVersatırıylaSelamVer adında yeni bir sınıf oluştururuz. • C#'ta yazdığımız her programın en az bir sınıf içermesi zorunludur.

  11. { } Süslü Parantezler • {ve} işaretleri herhangi bir sınıfın veya metodun içeriğini belirtmek için kullanılır. • İlk{ karakteriyle önceki satırda açtığımız SelamVer adlı sınıfımızın içeriğine alınacak kodların başladığını, programın son satırındaki} karakteriyle de sınıfımızın içeriğine alınacak kodların sona erdiğini belirtiyoruz.

  12. Ana Metod • staticvoid Main() satırıyla program sınıfının içine Main adlı bir metot yerleştirildi. • Bu metodun adı mutlakaMain olmalı, yoksa program çalışmaz. • Bu metot mutlaka oluşturulan sınıfın içinde olmalı. • { ve } karakterleriyle metodun içeriği belirtildi. • Dikkat ettiyseniz bir iç içe { ve } karakterleri söz konusu. Bu durumda koyulan ilk } karakteri son açılan { karakterini kapatır.

  13. Çalışan Kod • Programımızın pratikte iş yapan tek kısmı: System.Console.Write("Merhaba Sınıf!");satırıdır. • Bu satırla konsol ekranaMerhaba Sınıf!yazdırılmaktadır. • Bunun için .Net Framework kütüphanesindeki hazır bir metottan yararlanılmaktadır. • Bu metot, System isim alanının altındaki Console sınıfında bulunuyor, ismi Write ve konsol ekranına yazı yazdırmaya yarıyor. • Bu metod parantezler arasındaki çift tırnaklar arasına alınan metni ekrana yazdırıyor. • Satırın sonundaki noktalı virgül (;) karakterini ise { ve } karakterleri açıp kapatmayan bütün C# satırlarında kullanmamız gerekiyor.

  14. Programın İkinci Versiyonu usingSystem; classSelamVer { staticvoid Main() { Console.Write("Merhaba Sınıf!"); } }

  15. using Deyimi • Bu programımızın işlevsel olarak ilk programdan herhangi bir farkı yoktur. • Yani ikisi de aynı şeyi yapıyor. • Ancak kodda bir farklılık var. • En üste usingSystem; satırı eklenmiş ve System.Console.Write("Merhaba Sınıf!"); satırındakiSystemkalkmıştır.

  16. using Deyimi • using deyimi C#'ta isim alanı kullanma hakkı elde etmek için kullanılan bir anahtar sözcüktür. • Yani aynı isim alanında kullanacağımız birden fazla sınıf varsa bu isim alanını using anahtar sözcüğüyle belirtiyoruz. • Böylece bu isim alanının sınıflarını kullanırken isim alanının adını yazmak zorunda kalmayız.

  17. Programın Üçüncü Versiyonu usingSystem; classilk_Program { staticvoid Main() { Console.WriteLine("Enter tuşuna basın!"); Console.ReadLine(); Console.WriteLine("Enter tuşuna bastınız!"); } }

  18. ReadLine Metodu • Bu programımız önce ekrana Enter tuşuna basın! yazar. Kullanıcı enter tuşuna bastığında da Enter tuşuna bastınız! yazıp kendini kapatır.  • Console sınıfına ait olan ReadLinemetodu programın kullanıcıdan bilgi girişi için beklemesini sağlar, yani programı enter tuşuna basılana kadar bekletir. • Kullanıcı enter tuşuna bastığında da diğer satıra geçilir. • Dikkat ettiyseniz ReadLine metodunda parantezlerin arasına hiçbir şey yazmıyoruz. C#'ta bazı metotların parantezleri arasına bir şeyler yazmamız gerekirken, bazı metotlarda da hiçbir şey yazılmaması gerekir.

  19. Başla Kullanıcıya inchgirmesini bildir İnch’i al santimetre = inch * 2.54 inchveSantimetreyi ekranayazdır. Bitiş Örnek C# Programı PROBLEM İnch’i santimetreye dönüştür. using System; namespaceilk_program { classProgram { /* inch’isantimetreyedönüştürme */ staticvoid Main() { doubleinch; doublesantimetre; Console.Write("inchgir: "); inch = double.Parse(Console.ReadLine()); santimetre = inch * 2.54; Console.WriteLine("{0} inch {1} santimetre eder",inch, santimetre); } } }

  20. Örnek C# Programını anlama using System; namespaceilk_program { classProgram { //inch’isantimetreyedönüştürme staticvoid Main() { doubleinch; doublesantimetre; Console.Write("inchgir: "); inch = double.Parse(Console.ReadLine()); santimetre = inch * 2.54; Console.WriteLine("{0} inch {1} santimetre eder",inch, santimetre); } } } Standart işlemler kütüphanesini yükle Program alanı ve sınıf adı Açıklamalar: /* …. */arasında Veya // ile başlar Main(): Programın nerden başlayacağını gösterir Süslü parantezler Bir kod bloğunun başlangıç ve bitişini işaret eder.

  21. Örnek C# Programını anlama (devam) using System; namespaceilk_program { classProgram { /* inch’isantimetreyedönüştürme */ staticvoid Main() { doubleinch; doublesantimetre; Console.Write("inchgir: "); inch = double.Parse(Console.ReadLine()); santimetre = inch * 2.54; Console.WriteLine("{0} inch {1} santimetre eder",inch, santimetre); } } } • Değişkenler • değişken bir hafıza alanıdır. İçeriği programın çalışması süresince doldurulabilir ve değiştirilebilir. • doublebir değişken tipidir • inchvesantimetredeğişken adlarıdır. • İfadeler • program adımlarıdır. • her ifade noktalı virgül ile biter (;)

  22. Örnek C# Programını anlama (devam) using System; namespaceilk_program { classProgram { /* inch’isantimetreyedönüştürme */ staticvoid Main() { doubleinch; doublesantimetre; Console.Write("inchgir: "); inch = double.Parse(Console.ReadLine()); santimetre = inch * 2.54; Console.WriteLine("{0} inch {1} santimetre eder",inch, santimetre); } } } Output - Çıktı Ekrana bir şeyler yazdırmak için Console.Writeveya Console.WriteLinefonksiyonunu kullanacağız Input - Girdi Klavyeden bir şeyler okumak için Console.ReadLinefonksiyonunu kullanacağız. Hesaplamalar Hesaplamalar için matematiksel ifadeleri/operatörleri kullanacağız.

  23. Örnek C# programının Çalışması using System; namespaceilk_program { classProgram { /* inch’isantimetreyedönüştürme */ staticvoid Main() { doubleinch; doublesantimetre; Console.Write("inchgir: "); inch = double.Parse(Console.ReadLine()); santimetre = inch * 2.54; Console.WriteLine("{0} inch {1} santimetre eder",inch,santimetre); } } } PROGRAM VERİLER inch 15.4 ? ? santimetre 39.116 ? inch gir: 15.4 inch39.116 santimetre eder 15.4

  24. Örnek C# programının Çalışması using System; namespaceilk_program { classProgram { /* inch’isantimetreyedönüştürme */ staticvoid Main() { doubleinc; doublecm; Console.Write("inchgir: "); inc = double.Parse(Console.ReadLine()); cm = inch * 2.54; Console.WriteLine("{0} inch= {1} cm ",inc,cm); } } } PROGRAM VERİLER inc 15.4 ? ? cm 39,116 ? Inch gir: 15.4 inch = 39,116 cm 15.4

  25. C# Program Yapısı using System; /* program alan adı olmak zorunda değil*/ namespaceilk_program { // program sınıfı olmak zorunda classProgram { /* Main olmak zorunda */ staticvoid Main() { /* Değişkenlerprogramdakullanılacakverileritutar. */ DeğişkenTanımlama; /* Program basamakları: I/O, hesaplamalar (ifadeler) */ ifade1; ifade2; … ifadeN; } } }

  26. sayi1 sayi2 Değişken Nedir? • İçeriği programın çalışması boyunca doldurulabilen ve değiştirilebilen bir hafıza alanıdır. • Her değişkenin bir tipi ve ismi vardır. • Tip o hafıza alanında saklanacak verinin tip bilgilerini ifade eder. • İsimo hafıza bölgesine ulaşmamız için bir etikettir. Hafıza name • intsayi1; /* bir tam sayıyı depolar (152) */ • floatsayi2; /* bir ondalıklı sayıyı depolar (65.324) */

  27. Değişken Tanımlama • Temel değişken tanımlama formatı veritipi veriAdı, veriAdı, ... ; veritipiaşağıdakiler olabilir int/* tam sayıları tutar, 34532 */ float/* gerçek sayıları tutar, 15.342 */ double/* gerçek sayıları tutar, fakat çok daha hassas*/ /* 345.22359573943 */ char/* bir karakter tutar, ‘A’ */ string /* yazıları tutar, "Merhaba sınıf" */

  28. Değişken İsimleri • C#değişkenleri harf ve rakam kombinasyonlarından oluşabilirler fakat: • İlk karakter rakam olamaz! • fahrenheit, santigrat, toplam, a123, i1, i2, i3, _12abc • Büyük veya küçük harfler kullanılabilir • Küçük ve büyük harfler aşağıdaki gibi kullanılabilir • toplam, Toplam, TOPLAM • Alt çizgi (_) ilk karakter olabilir veya arada/sonda kullanılabilir. • ogrenci_no, _ogrNo, __ogr_no_

  29. Değişken İsimleri (devam) • C#değişken isimleri harf ve rakamların birleşiminden oluşabilir, fakat: • Değişken isimleri boşluk, tire veya tırnak içeremez • “ogrenci” : tırnaklar(“) geçersiz • ogrenci-no: geçersiz karakter ( - ) • ogrenci no: arada boşluk kullanılmamalı (ogrenci_no) • Değişken isimleri büyük/küçük harf duyarlıdır • toplam, ToplamvetoplaMhepsi farklı değişkenlerdir.

  30. C# Temel Veri Tipleri • Tam sayılar • int, uint, short, ushort, long, ulong, byte, sbyte • Virgüllü sayılar (gerçek sayılar) • float, double, decimal • Boolean tipi (doğru/yanlış) (true/false) • bool • Yazı tipleri • char • string

  31. Haftaya • Veri tipleri ve özellikleri • Değişken tanımlama ve değer atama

  32. Dinlediğiniz için teşekkürler… Öğr. Gör. Bayram AKGÜL

More Related