32
BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL [email protected]. tr http:// myo.bartin.edu.tr/akgul

BPR151 ALGORİTMA VE PROGRAMLAMA - I

  • Upload
    tave

  • View
    64

  • Download
    0

Embed Size (px)

DESCRIPTION

BPR151 ALGORİTMA VE PROGRAMLAMA - I. Öğr . Gör. Bayram AKGÜL [email protected] 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ı. - PowerPoint PPT Presentation

Citation preview

Page 1: BPR151 ALGORİTMA VE PROGRAMLAMA - I

BPR151 ALGORİTMA VE PROGRAMLAMA - I

Öğr. Gör. Bayram AKGÜ[email protected]

http://myo.bartin.edu.tr/akgul

Page 2: BPR151 ALGORİTMA VE PROGRAMLAMA - I

2

• Program Kodlamaya Hazırlık– Temel Programlama Kavramları

• Syntax• Değişken

– MS Visual Studio Kullanımı– İlk Program– C# Program yapısı

Bugünkü konular

Page 3: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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ı

Page 4: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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.

Page 5: BPR151 ALGORİTMA VE PROGRAMLAMA - I

.NET Framework• C# kodları, normal programlama dillerinden

farklı olarak direkt makine koduna derlenmez.– Önce IL (Intermediate Language) denilen bir ara

koda derlenir. – Derlenen bu kodun dosyasına assembly denir

ve uzantısı exe veya dll'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.

Page 6: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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

C# Kodu

• C# derleyici IL kod

• .Net Framework

Makine Kodu

Page 7: BPR151 ALGORİTMA VE PROGRAMLAMA - I

.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.

Page 8: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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

Page 9: BPR151 ALGORİTMA VE PROGRAMLAMA - I

İlk Program

class SelamVer{ static void Main() { System.Console.Write("Merhaba Sınıf!"); }}

Page 10: BPR151 ALGORİTMA VE PROGRAMLAMA - I

Program Başlangıcı• class SelamVer

satırıyla SelamVer 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.

Page 11: BPR151 ALGORİTMA VE PROGRAMLAMA - I

{ } 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.

Page 12: BPR151 ALGORİTMA VE PROGRAMLAMA - I

Ana Metod• static void Main() satırıyla program

sınıfının içine Main adlı bir metot yerleştirildi. – Bu metodun adı mutlaka Main 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.

Page 13: BPR151 ALGORİTMA VE PROGRAMLAMA - I

Ç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 ekrana Merhaba

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.

Page 14: BPR151 ALGORİTMA VE PROGRAMLAMA - I

Programın İkinci Versiyonu

using System;

class SelamVer{ static void Main() { Console.Write("Merhaba Sınıf!"); }}

Page 15: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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 using System; satırı eklenmiş ve System.Console.Write("Merhaba Sınıf!"); satırındaki System kalkmıştır. 

Page 16: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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.

16

Page 17: BPR151 ALGORİTMA VE PROGRAMLAMA - I

Programın Üçüncü Versiyonu

using System;

class ilk_Program{ static void Main() { Console.WriteLine("Enter tuşuna basın!"); Console.ReadLine(); Console.WriteLine("Enter tuşuna bastınız!"); }}

Page 18: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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 ReadLine metodu 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.

Page 19: BPR151 ALGORİTMA VE PROGRAMLAMA - I

19

Örnek C# Programıusing System;

namespace ilk_program

{

class Program

{

/* inch’i santimetreye dönüştürme */

static void Main()

{

double inch;

double santimetre;

 

Console.Write("inch gir: ");

inch = double.Parse(Console.ReadLine());

santimetre = inch * 2.54;

Console.WriteLine("{0} inch {1} santimetre eder" ,inch, santimetre);

}

}

}

İnch’i al

santimetre = inch * 2.54

inch ve Santimetreyi ekrana yazdır.

Başla

Bitiş

Kullanıcıya inch girmesini bildir

PROBLEMİnch’i santimetreye

dönüştür.

Page 20: BPR151 ALGORİTMA VE PROGRAMLAMA - I

20

Örnek C# Programını anlamaStandart işlemler kütüphanesini yükle

Açıklamalar: /* …. */ arasındaVeya // ile başlar

Main(): Programın nerden başlayacağını gösterir

Süslü parantezlerBir kod bloğunun başlangıç ve bitişini işaret eder.

using System;

namespace ilk_program

{

class Program

{

// inch’i santimetreye dönüştürme

static void Main()

{

double inch;

double santimetre;

 

Console.Write("inch gir: ");

inch = double.Parse(Console.ReadLine());

santimetre = inch * 2.54;

Console.WriteLine("{0} inch {1} santimetre eder" ,inch, santimetre);

}

}

}

Program alanı ve sınıf adı

Page 21: BPR151 ALGORİTMA VE PROGRAMLAMA - I

21

Örnek C# Programını anlama (devam)

using System;

namespace ilk_program

{

class Program

{

/* inch’i santimetreye dönüştürme */

static void Main()

{

double inch;

double santimetre;

 

Console.Write("inch gir: ");

inch = double.Parse(Console.ReadLine());

santimetre = inch * 2.54;

Console.WriteLine("{0} inch {1} santimetre eder" ,inch, santimetre);

}

}

}

İfadeler• program adımlarıdır. • her ifade noktalı virgül ile

biter (;)

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.

• double bir değişken tipidir• inch ve santimetre değişken

adlarıdır.

Page 22: BPR151 ALGORİTMA VE PROGRAMLAMA - I

22

Örnek C# Programını anlama (devam)

using System;

namespace ilk_program

{

class Program

{

/* inch’i santimetreye dönüştürme */

static void Main()

{

double inch;

double santimetre;

 

Console.Write("inch gir: ");

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.Write veya Console.WriteLine fonksiyonunu kullanacağız

Input - GirdiKlavyeden bir şeyler okumak için Console.ReadLine fonksiyonunu kullanacağız.

HesaplamalarHesaplamalar için matematiksel ifadeleri/operatörleri kullanacağız.

Page 23: BPR151 ALGORİTMA VE PROGRAMLAMA - I

23

Örnek C# programının Çalışması

using System;

namespace ilk_program

{

class Program

{

/* inch’i santimetreye dönüştürme */

static void Main()

{

double inch;

double santimetre;

Console.Write("inch gir: ");

inch = double.Parse(Console.ReadLine());

santimetre = inch * 2.54;

Console.WriteLine("{0} inch {1} santimetre eder",inch,santimetre);

}

}

}

?inch

?santimetre

VERİLER

?15.4

39.116

PROGRAM

inch gir: 15.4 inch 39.116 santimetre eder

15.4

Page 24: BPR151 ALGORİTMA VE PROGRAMLAMA - I

24

Örnek C# programının Çalışması

using System;

namespace ilk_program

{

class Program

{

/* inch’i santimetreye dönüştürme */

static void Main()

{

double inc;

double cm;

Console.Write("inch gir: ");

inc = double.Parse(Console.ReadLine());

cm = inch * 2.54;

Console.WriteLine("{0} inch = {1} cm ",inc,cm);

}

}

}

?inc

?cm

VERİLER

?15.4

39,116

PROGRAM

Inch gir: 15.4 inch = 39,116 cm

15.4

Page 25: BPR151 ALGORİTMA VE PROGRAMLAMA - I

25

C# Program Yapısıusing System;

/* program alan adı olmak zorunda değil*/

namespace ilk_program

{

// program sınıfı olmak zorunda

class Program

{

/* Main olmak zorunda */

static void Main()

{

/* Değişkenler programda kullanılacak verileri tutar. */

Değişken Tanımlama;

/* Program basamakları: I/O, hesaplamalar (ifadeler) */

ifade1;

ifade2;

ifadeN;

}

}

}

Page 26: BPR151 ALGORİTMA VE PROGRAMLAMA - I

26

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. – İsim o hafıza bölgesine ulaşmamız

için bir etikettir.

Hafıza

namesayi2sayi1

– int sayi1; /* bir tam sayıyı depolar (152) */– float sayi2; /* bir ondalıklı sayıyı depolar

(65.324) */

Page 27: BPR151 ALGORİTMA VE PROGRAMLAMA - I

27

Değişken Tanımlama• Temel değişken tanımlama formatı veritipi veriAdı, veriAdı, ... ;

veritipi aşağıdakiler olabilirint /* 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" */

Page 28: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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_

Page 29: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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, Toplam ve toplaM hepsi farklı değişkenlerdir.

Page 30: BPR151 ALGORİTMA VE PROGRAMLAMA - I

30

• 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

C# Temel Veri Tipleri

Page 31: BPR151 ALGORİTMA VE PROGRAMLAMA - I

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

31

Page 32: BPR151 ALGORİTMA VE PROGRAMLAMA - I

DİNLEDİĞİNİZ İÇİN TEŞEKKÜRLER…

Öğr. Gör. Bayram AKGÜL 32