BPR151 ALGORİTMA VE PROGRAMLAMA - I

Slides:



Advertisements
Benzer bir sunumlar
STRİNG FONKSİYONLARI.
Advertisements

BPR151 ALGORİTMA VE PROGRAMLAMA - I
Fonksiyonlar.
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Değişken , Veri Türleri ve Operatörler
Değişkenler ve bellek Değişkenler
Programlama-II (Java ile Bilgisayar Programlama)
Bölüm 2 C Dilinin Temelleri
C Programlama Diline Giriş
Atama ve Girdi/Çıktı Komutları
VERİ TİPLERİ VE DEĞİŞKENLER
OOP4 LAB.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
BPR151 ALGORİTMA VE PROGRAMLAMA - I
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Namespaces and .NET Class Library (İsim Alanları Sınıf Kütüphanesi)
BPR151 ALGORİTMA VE PROGRAMLAMA - I
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
BPR152 ALGORİTMA VE PROGRAMLAMA - II
NESNEYE YÖNELİK PROGRAMLAMA
BPR151 ALGORİTMA VE PROGRAMLAMA - I
DİZİLER.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
DELEGATE OOP-UYG.
BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL
NESNE TABANLI PROGRAMLAMA -METOTLAR-
BPR152 ALGORİTMA VE PROGRAMLAMA - II
İSİM UZAYLARI (NAMESPACE)
BPR151 ALGORİTMA VE PROGRAMLAMA - I
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
.Net teknolojisi ve C# Yasin Gedik Dokuz Eylül Üniversitesi (4. Sınıf) Microsoft Danışman Öğrenci
Bilgisayar Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
C ile Programlamaya Giriş
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Temel Veri Türleri ve Operatörler
FONKSİYONLAR.
Akış Kontrol Mekanizmaları
Chapter 6: Using Arrays.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller Aslı Ergün.
C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
NESNEYE YÖNELİK PROGRAMLAMA
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
C# Veri Tipleri ve Değişkenler
NESNEYE YÖNELİK PROGRAMLAMA
VERİ TİPLERİ VE DEĞİŞKENLER
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
Bilgisayar programlarının en büyük avantajı, kullanıcının işini kolaylaştırmalarıdır. Her bilgisayar programı bunu değişik metotlar kullanarak sağlar.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
Değerler ve Değişkenler
 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (2. Hafta)
BTP206– Görsel Programlama II
Bugünkü konular Programlama dilleri ve Syntax Generic C Program yapısı
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
ALGORİTMA VE PROGRAMLAMAYA GİRİŞ
C Programlama Dili Bilgisayar Mühendisliği.
Bölüm 2 C Dilinin Temelleri
ACTIONSCRIPT TEMELLER İ SAVAŞ TUNÇER
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Bölüm 2 C Dilinin Temelleri
Sunum transkripti:

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ı

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

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.

Kullanıcıya inch girmesini bildir Örnek C# Programı PROBLEM İnch’i santimetreye dönüştür. 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

Örnek C# Programını anlama 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); } 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.

Ö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); } 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. İfadeler program adımlarıdır. her ifade noktalı virgül ile biter (;)

Ö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 - Girdi Klavyeden bir şeyler okumak için Console.ReadLine fonksiyonunu kullanacağız. Hesaplamalar Hesaplamalar için matematiksel ifadeleri/operatörleri kullanacağız.

Ö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); } PROGRAM VERİLER inch ? ? 15.4 santimetre 39.116 ? inch gir: 15.4 inch 39.116 santimetre eder 15.4

Ö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); } PROGRAM VERİLER inc ? ? 15.4 cm 39,116 ? Inch gir: 15.4 inch = 39,116 cm 15.4

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; }

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 sayi2 sayi1 name int sayi1; /* bir tam sayıyı depolar (152) */ float sayi2; /* bir ondalıklı sayıyı depolar (65.324) */

Değişken Tanımlama Temel değişken tanımlama formatı veritipi veriAdı, veriAdı, ... ; veritipi aş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" */

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_

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.

C# Temel Veri Tipleri Tam sayılar Virgüllü sayılar (gerçek 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

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

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