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
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Öğr. Gör. Bayram AKGÜ[email protected]
http://myo.bartin.edu.tr/akgul
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
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ı
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.
.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.
C# kodunun çalıştırılması
C# Kodu
• C# derleyici IL kod
• .Net Framework
Makine Kodu
.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.
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
İlk Program
class SelamVer{ static void Main() { System.Console.Write("Merhaba Sınıf!"); }}
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.
{ } 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.
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.
Ç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.
Programın İkinci Versiyonu
using System;
class SelamVer{ static void Main() { Console.Write("Merhaba Sınıf!"); }}
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.
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
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!"); }}
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.
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.
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ı
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.
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.
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
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
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;
}
}
}
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) */
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" */
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, Toplam ve toplaM hepsi farklı değişkenlerdir.
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
Haftaya• Veri tipleri ve özellikleri• Değişken tanımlama ve değer atama
31
DİNLEDİĞİNİZ İÇİN TEŞEKKÜRLER…
Öğr. Gör. Bayram AKGÜL 32