using System; using System.Collections.Generic; using System.Text; using System.Data; namespace NaiveBayes public class NaiveBayes

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "using System; using System.Collections.Generic; using System.Text; using System.Data; namespace NaiveBayes public class NaiveBayes"

Transkript

1 Merhabalar, Bu makalemde sizlerle beraber Data Mining(Veri Madenciliği) algoritmalarından Naive Bayes algoritmasını inceleyeceğiz. Algoritmanın çalışma şeklini çözdükten sonra ise bu algoritmayı çalıştırıp bize sonuçları üretebilecek bir bileşen yazacağız. Data Mining elde bulunan verilerin işlenerek bilgiye ulaşılması işlemidir. Naıve Bayes ise bu işlemde kullanılabilecek sınıflandırma algoritmalarının en basitlerinden bir tanesidir. Açıklamak gerekirse naive bayes algoritmasında her kriterin sonuca olan etkilerinin olasılık olarak hesaplanması temeline dayanmaktadır. Data mining işlemini en çok verilen örneklerden biri ile açıklayacak olursak elimizde tenis maçının oynanıp oynanmamasına dair bir bilgi olduğunu düşünelim. Ancak bu bilgiye göre tenis maçının oynanması veya oynanmaması durumu kaydedilirken o anki hava durumu, sıcaklık, nem ve rüzgar durumu bilgileri de alınmış olsun. Biz bu bilgileri değerlendirdiğimizde varsayılan tahmin yöntemleri ile hava bugün rüzgarlı tenis maçı bugün oynanmaz şeklinde kararları farkında olmasak'da veririz. Ancak Data Mining bu kararların tüm kriterlerin etkisi ile verildiği bir yaklaşımdır. Dolayısıyla biz ileride öğrettiğimiz sisteme bugün hava güneşli, sıcak, nemli ve rüzgar yok şeklinde bir bilgiyi verdiğimizde sistem eğitildiği daha önce gerçekleşmiş istatistiklerden faydalanarak tenis maçının oynanma ve oynanmama ihtimalini hesaplar ve bize tahminini bildirir. Bu tür tahminler gsm, bankacılık, sigortacılık, market gibi birçok alanda kullanılmaktadır. Bilhassa gelecek yıllara ait yönetimsel kararların alınmasında, sahtekarlık denetlenmesinde, birlikte gerçekleşen koşulların ortaya çıkarılmasında kullanılmaktadır. Belirttiğimiz sektörlere örnekler verecek olursak GSM operatörlerinde sahtekarlık denetlenmesinde, Bankacılık sektöründe karakteristiğiniz dışında yüklü bir kredi kartı harcaması, havale yaptığınızda sahtekarlık olabileceğine dair, Sigortacılıkta sigorta edilen kişi araç veya mülkün belirli kriterlere göre o risk'e uğrama olasığının tespit edilmesinde, Marketlerde hangi ürünlerin birlikte satıldığının ortaya çıkarılmasında kullanılmaktadır. Bu belirttiklerimizin yanısıra sağlık sektöründe bir kişinin tahlil sonuçlarının değerlendirilerek bir hastalığa yakalanmış olup olmama olasılığının değerlendirilmesindede sıkça kullanılmaktadır. Data Mining'in kullanım alanları sadece belirttiğimiz örneklerle sınırlandırılamaz. Kişisel görüşümü belirtmem gerekirse bugüne kadar yazdığımız uygulamalarda firmaların verilerini irili ufaklı veritabanlarında topladık. Artık bu veriler işlenebilecek ve bu verilerden bilgi denen esas değerli kavram çıkarılabilecek düzeye gelmiştir. Data Mining için elinizdeki verinin çokluğundan ziyade verinin kaliteli olması önemlidir. Kaliteli veriler kirli bilgiler içermeyen, eksik veriler içermeyen, gruplanabilir ve ölçeklenebilir veriler içeren veritabanlarından elde edilebilir veya data mining adımlarından biri olan pre-processing aşamasında bu bilgiler silinerek veya çeşitli yöntemler uygulanarak kaliteli hale getirilirler.bu adımda veri aktarımları, kirli verinin temizlenmesi, boş alanların sonucu etkilemeyecek şekilde doldurulması veya boş alan içceren verilerin silinmesi gibi işlemler yapılmaktadır. Bir sonraki adım ise çeşitli algoritmaların uygulanması ve bu algoritmalardan çıkan verilerin test edilmesi sonucu en sağlıklı algoritmaya karar verilmesi ve bu algoritmanın karar verme mekanizması olarak uygulamalara implement edilmesi hedeflenmektedir. Peki bilgisayar dediğimiz yapı bu işlemleri nasıl yapıyor ve nasıl karar verebilecek zeka yapısına ulaşabiliyor. Machine Learning denilen bu sistem esasında belirli algoritmaların (Tree algoritmaları, Logistic algoritmaları, Bayes algoritmaları, Neural Network algoritmaları) elimizde bulunan veriye uygulanması sonucu gerçekleşir. Elimizde bulunan verinin yapısına

2 ve içeriğine göre algoritmaların farklı problemlerde farklı başarı oranları göstermesi doğaldır. Dolayısıyla en iyi algoritma budur diye genel birşey yoktur problemin tipine göre değişebilmektedir. Algoritma ilk önce belirli bir training(eğitim) data'sı ile eğitilir. Daha sonra eğitilen bu algoritma(genellikle test datasının yarısı hacminde bir data ile) testing(test) datası ile test edilir. Buradaki amaç daha önceden eğitilmiş algoritmanın test datasında bulunan kriterler ile test datasında bulunan sonuçları doğru tahmin edip edememesinin incelenmesidir. Buda algoritmanın başarısı anlamına gelmektedir. Bu kısımda algoritma tarafından üretilen değerlerin TruePositive, TrueNegative, FalseNegative, FalsePositive sayılarına göre değerlendirilmesi gerekmektedir. TP: Olumlu sonucu olan ve olumlu öngörülmüş örnek sayısıdır. FN: Olumlu sonucu olan ve olumsuz öngörülmüş örnek sayısıdır. FP : Olumsuz sonucu olan ve olumlu öngörülmüş örnek sayısıdır. FP : Olumsuz sonucu olan ve olumsuz öngörülmüş örnek sayısıdır. Bu oranlar ile ilgili örnek bir tablo aşağıdadır. Doğru Öngörülen Sonuç TP FN 0 FP TN Şimdi ise doğruluk ve hata oranı hesaplamalarına bakalım. Doğruluk = (TP+TN)/(TP+FN+FP+TN) Hata Oranı = (FN + FP)/(TP+FN+FP+TN) Şimdi bu işlemleri yapabilmek için Naive Bayes algoritmasının nasıl çalıştığını inceleyelim. Elimizde bulunan örnek veri kümesinin aşağıdaki gibi olduğunu düşünelim.

3 Elimizde bulunan bu verilere göre 15. gün oluşabilecek bir olayın sonucunu tahmin etmeye çalışalım. Bu 15. gün'de bulunan veri Outlook(Sunny), Temperature(Cool), Humidity(High), Wind(Strong) şeklinde olsun ve tenis maçının oynanıp oynanmayacağını tahmin edelim. Naive Bayes algoritmasının formülü aşağıdaki gibidir. Söz ile anlatmak gerekirse bir sonucun çıkma olasılığı o sonuca etkiyen tüm faktörlerin o sonucu sağlama olasılıklarının çarpımıdır. Şimdi yukarıdaki örnek için bu hesabı yapacak olursak. PlayTennis sonucunun yes çıkması olasılığı sonuçlardan 9 tanesi yes olduğundan 9/14'dür. Bu olasılık için bundan sonraki tüm hesaplarımız bu 9 kayıt üzerinden yapılacaktır. Outlook Sunny iken PlayTennis'in yes çıkma olasılığı : 2/9 Temperature Cool iken PlayTennis'in yes çıkma olasılığı : 3/9 Humidity High iken PlayTennis'in yes çıkma olasılığı : 3/9 Wind Strong iken PlayTennis'in yes çıkma olasılığı : 3/9 Dolayısıya sonucun Yes çıkma olasılığı P(y)=9/14 x 2/9 x 3/9 x 3/9 x 3/9=0,0053 Şimdi ise sonucun No çıkma olasılığını inceleyelim. PlayTennis sonucunun no çıkması olasılığı sonuçlardan 5 tanesi no olduğundan 5/14'dür. Bu olasılık için bundan sonraki tüm hesaplarımız bu 5 kayıt üzerinden yapılacaktır.

4 Outlook Sunny iken PlayTennis'in no çıkma olasılığı : 3/5 Temperature Cool iken PlayTennis'in no çıkma olasılığı : 1/5 Humidity High iken PlayTennis'in no çıkma olasılığı : 4/5 Wind Strong iken PlayTennis'in no çıkma olasılığı : 3/5 Dolayısıya sonucun No çıkma olasılığı P(n)=5/14 x 3/5 x 1/5 x 4/5 x 3/5=0,0205 No çıkma olasılığı yes çıkma olasılığından büyük olduğundan dolayı (P(n)>P(y)) algoritmanın öğrendiği verilerden tahmini tenis maçının oynanmayacağı yönündedir. Şimdi bu algoritmayı C# ile yazalım. Öncelikle NaiveBayes algoritmasını çalıştırabileceğimiz bir class yapalım ve bu class'ın adını NaiveBayes koyalım. using System; using System.Collections.Generic; using System.Text; using System.Data; namespace NaiveBayes public class NaiveBayes Şimdi ise Training ve Testing datalarını taşıyacağımız iki property olan training ve testing dataset propertylerini yazalım. Bu uygulamamızda veriler DataTable ile taşınacaktır.

5 private DataTable _TrainingSet; public DataTable TrainingSet get return _TrainingSet; set _TrainingSet = value; private DataTable _TestingSet; public DataTable TestingSet get return _TestingSet; set _TestingSet = value; Şimdi yazacağımız property'ler ise sonuçların bulunduğu kolonun adını taşıyan ResultColumnName, datanın sonuç üretmek için ilk önce bir sefere mahsus işleme tabi tutulmasının gerekliliğini denetleyebilmek amacıyla IsDataProcessed ve test sonucu doğru ve yanlış tahmin sayısının tutulduğu CorrectlyPredictedCount ve IncorrectlyPredictedCount propertyleridir. private string _ResultColumnName; public string ResultColumnName get return _ResultColumnName; set _ResultColumnName = value; private bool _IsDataProcessed = false; public bool IsDataProcessed get return _IsDataProcessed; private int _CorrectlyPredictedCount = 0; public int CorrectlyPredictedCount get return _CorrectlyPredictedCount; private int _IncorrectlyPredictedCount = 0; public int IncorrectlyPredictedCount get return _IncorrectlyPredictedCount; Şimdi yazacağımız 3 yerel değişkende sonuç üretiminde kullanılacak verinin biraz önce bahsettiğim ön işlem sonuçlarının tutulması için gereklidir. Bu değişkenlerden bir tanesi Dictionary tipinde dir ve adı decolumnvalues dir. Bu değişkende her kolonda bulunan veriler distinct bir şekilde tutulmaktadır. Yukarıdaki örnek için bu değerler Outlook'ta Sunny,Overcast ve Rain olabilmektedir. Bir diğer değişken ise DataTable tipinde dtresultpossibilityratio değişkenidir. Bu değişkende ise daha önceden tanımlanmış ResultColumnName alanında bulunan farklı kayıtlara göre sonuçların gelme olasılığı tutulmaktadır. Yukarıdaki örnekte bu değişkenin değeri Yes için 9 No için 5 değerini barındıracak bir datatable'dır. Ve bu datatable'ın yapısı

6 aşağıda gösterilmektedir. Son değişkenimiz ise hangi kolonda bulunan verinin hangi sonucu ne kadar etkileyeceğine dair bilgilerin tutulduğu datatable dır ve adı dtresult'tur. Bu datatable'ın yapısını inceleyelim ve yorumlayalım. Bu tabloda bulunan veriden sonuç No olduğunda Outlook'un sunny olduğu 3 kayıt vardır. sonuç yes olduğunda ise 2 kayıt vardır şeklindeki bir bilgiye çok çabuk bir şekilde ulaşabilmekteyiz. Şimdi bu değişkenleri dolduracağımız metodumuzu yazalım.ilk önce tanımladığımız datatable lara verileri saklayabilmemiz için gerekli kolonları ekliyoruz. public void ProcessData() dtresult.columns.add("columnname", typeof(string)); dtresult.columns.add("columndata", typeof(string)); dtresult.columns.add("resultcolumnvalue", typeof(string)); dtresult.columns.add("count", typeof(int)); dtresultpossibilityratio.columns.add("columnvalue", typeof(string)); dtresultpossibilityratio.columns.add("ratio", typeof(int)); Şimdi ise her bir kolon için bulunan farklı değerleri bir list'e toplayacağız ve daha sonrasında bu listi kolon adı key kendisi ise value olacak şekilde bir hashtable'a atacağız. foreach (DataColumn dc in TrainingSet.Columns) List<string> l = new List<string>(); foreach (DataRow dr in TrainingSet.Rows) if (!l.contains(dr[dc.columnname].tostring()))

7 l.add(dr[dc.columnname].tostring()); decolumnvalues.add(dc.columnname, l); bsp; Şimdi ise her bir sonucun oluşma ihtimalini hesaplayıp datatable'a yazacağız. foreach (string res in decolumnvalues[resultcolumnname]) dtresultpossibilityratio.rows.add(new object[] res, TrainingSet.Select(ResultColumnName + "='" + res + "'").Length ); Şimdi bulunan her kolondaki her farklı verinin sonuca etki etme olasılığını hesaplayarak bunu dtresult datatable değişkeninde saklayacağız. Bu işlemler bittikten sonra datanın hesap için hazırlanması bitmiş durumdadır. bundan dolayı IsDataProcessed değişkeninin true ya set ediyoruz. foreach (DataColumn dc in TrainingSet.Columns) if (dc.columnname!= ResultColumnName) foreach (string s in decolumnvalues[dc.columnname]) foreach (string s1 in decolumnvalues[resultcolumnname]) int count = TrainingSet.Select(dc.ColumnName + "='" + s + "' AND " + ResultColumnName + "='" + s1 + "'").Length; dtresult.rows.add(new object[] dc.columnname, s, s1, count ); _IsDataProcessed = true; Bu kısımda ise kullanıcı tarafından verilen bir datarow'da bulunan verilerin predict edilmesi işlemini gerçekleştirecek metodu yazacağız. Bu metod her olasılık için sonuçları hesaplayacak ve en yüksek olasılığa sahip olanı bize döndürecektir. Kodu açıklamak gerekirse bu kodda ilk önce datanın process edilip edilmediğine bakılmaktadır. Data process edilmediyse data ilk önce process edilmektedir. Daha sonra olası her sonucun gerçekleşme ihtimali ile verilen datarowda bulunan verilerin bu sonuca etki oranları yukarıda anlattığımız gibi çarpılarak o sonucun çıkma olasılığı hesaplanmaktadır. Kodun son kısmında ise en büyük olasılığa sahip olan sonuç string olarak geri döndürülmektedir. public string Predict(DataRow dr) if (!IsDataProcessed) ProcessData();

8 string winner = ""; decimal winnervalue = 0; foreach (string s in decolumnvalues[resultcolumnname]) int resultcount = Convert.ToInt32(dtResultPossibilityRatio.Select("ColumnValue='" + s + "'")[0]["Ratio"]); decimal result = Convert.ToDecimal(resultCount) / TrainingSet.Rows.Count; foreach (DataColumn dc in TrainingSet.Columns) if (dc.columnname!= ResultColumnName) result = result * Convert.ToDecimal(dtResult.Select("ColumnName='" + dc.columnname + "' AND ColumnData='" + dr[dc.columnname] + "' AND ResultColumnValue='" + s + "'")[0]["Count"]) / resultcount; if (result > winnervalue) winnervalue = result; winner = s; return winner; Kullanacağımız bir metod ise verimizi test etmek için kullanacağımız Test metodudur. Bu metodda ise verilen Test datasında bulunan her datarow için predict metodu çalıştırılmakta ve tahmin edilen sonucun doğru sonuç olup olmadığı kontrol edilip duruma göre doğru veya yanlış cevap sayısı arttırılmaktadır. public void Test() foreach (DataRow dr in TestingSet.Rows) if (Predict(dr) == dr[resultcolumnname].tostring()) _CorrectlyPredictedCount++; else _IncorrectlyPredictedCount++; Oluşturduğumuz class'ın genel yapısını inceleyecek olursak şeması aşağıdaki gibidir.

9 Şimdi bu yazdığımız algoritmaları test etmek amacıyla ufak bir windows uygulaması yazalım.bu uygulamada iki tane button bulunsun ve bu buttonlardan biri belirli bir koşulun sonucunu bize verirken diğeri ise algoritmamızın uyumluluğu için test yapıyor olsun. İlk butonumuz verilen koşullara göre sonucu tahmin etmektedir. Bu kısımda kullanılan Örnek DMHelper.GetSampleData() metodu bize birazönceki örnekte incelediğimiz datayı döndürecek static bir metoddur. Örnek kodun içinde mevcuttur. DataTable dt = DMHelper.GetSampleData(); NaiveBayes nb = new NaiveBayes(); nb.trainingset = dt; nb.resultcolumnname = "PlayTennis"; DataRow dr = dt.newrow(); dr["outlook"] = "Sunny"; dr["temperature"] = "Hot"; dr["humidity"] = "Normal"; dr["wind"] = "Strong";

10 MessageBox.Show(nb.Predict(dr)); İkinci button ise bize verdiğimiz datatable'lar sonucunda algoritmamızın başarılılık oranını vermektedir. DataTable dt = DMHelper.GetSampleData(); NaiveBayes nb = new NaiveBayes(); nb.trainingset = dt; nb.testingset = dt; nb.resultcolumnname = "PlayTennis"; nb.test(); MessageBox.Show("Correctly Classified Instances : " + nb.correctlypredictedcount.tostring()); MessageBox.Show("Inorrectly Classified Instances : " + nb.incorrectlypredictedcount.tostring()); Bu makalemde naive bayes algoritmasının C# kullanılarak nasıl yazılabileceğini inceledik. Umarım faydalı olmuştur. tamer.oz@bilgeadam.com tamer.oz@yazgelistir.com oztamer@hotmail.com

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

Detaylı

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ Aşağıda belli bir yere kadar programlanmış olan Gezgin satıcı problemine ait kodları inceleyerek programın geri kalan kısmını tamamlayınız. Seçme, Çaprazlama ve Mutasyon

Detaylı

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table; using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using MySql.Data; using MySql.Data.MySqlClient; namespace arac_servisi

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım; yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım; Bunun için uyevarmi() fonksiyonu tasarlayacağız. Fonksiyon

Detaylı

MEKANİZMA TEKNİĞİ (7. Hafta)

MEKANİZMA TEKNİĞİ (7. Hafta) MEKANİZMA TEKNİĞİ (7. Hafta) Mekanizmaların Sayısal ve Programatik Analizi Buraya kadar olan kısımda mekanizmaların üzerindeki tüm uzuvların konum, hız ve ivmelerini analitik yöntemlerle bulmuş olduk.

Detaylı

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ KRİPTOANALİZ DERSİ FİNAL ÖDEVİ PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ 1 Uygulama Hakkında PSO kullanılarak şifreli metnin çözümü gerçekleştirilmiştir. Metin dosyadan okunmuştur. Okunan metin rastgele üretilen

Detaylı

Veritabanı İşlemleri

Veritabanı İşlemleri Veritabanı İşlemleri Bu bölümde; Veritabanı bağlantısı Komutların Yürütülmesi ADO.NET Nesne Modeli kavramları incelenecektir. ADO.NET (ActiveX Data Objects) ADO.NET, var olan Windows API lerinden çok daha

Detaylı

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

C#.Net & Linq (Language Integrated Query)

C#.Net & Linq (Language Integrated Query) C#.Net & Linq (Language Integrated Query) Adım-1 Adım-2 Adım-3: aşağıdaki ekran gelir. Bu ekrandan Server Explorer seçeneği ile SQL sunucuya bağlanılırsa Adım-4 deki gibi bir ekran gelir Adım-4: Soldaki

Detaylı

Operator Aşırı Yükleme (Operator OverLoading)

Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler

Detaylı

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz? ve Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz? Şimdi ne tarafa gideceğiz yahu? KARAR VER!!! Karar mekanizması A B if yapısı ve kullanımı

Detaylı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void

Detaylı

C# Console Uygulamaları ifelse Yapıları 2

C# Console Uygulamaları ifelse Yapıları 2 C# Console Uygulamaları ifelse Yapıları 2 C# Console Uygulamaları if-else Yapıları 2 yazımızda if-else, else if kontrol yapılarının devamını programlar içerisinde göreceğiz. visual-studio-c-sharp Almak

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1 ve M.ilkucar 2010 - MAKU MYO 1 7- PROGRAM YAPISAL KOMUTLARI Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz? M.ilkucar 2010 - MAKU MYO 2

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.

Detaylı

M.ilkucar MAKU MYO 1

M.ilkucar MAKU MYO 1 M.ilkucar 2010 - MAKU MYO 1 7- PROGRAM YAPISAL KOMUTLARI Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz? M.ilkucar 2010 - MAKU MYO 2 7-

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

public static int Toplam int x, int y

public static int Toplam int x, int y static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.

Detaylı

BAYES ÖĞRENMESİ BİLECİK ÜNİVERSİTESİ. Araş. Gör. Nesibe YALÇIN. Yapay Zeka-Bayes Öğrenme

BAYES ÖĞRENMESİ BİLECİK ÜNİVERSİTESİ. Araş. Gör. Nesibe YALÇIN. Yapay Zeka-Bayes Öğrenme BAYES ÖĞRENMESİ Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ Yapay Zeka-Bayes Öğrenme 1 İÇERİK Bayes Teoremi Bayes Sınıflandırma Örnek Kullanım Alanları Avantajları Dezavantajları Yapay Zeka-Bayes Öğrenme

Detaylı

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58; BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

NESNEYE DAYALI PROGRAMLAMA 11. HAFTA UYGULAMA DERSİ

NESNEYE DAYALI PROGRAMLAMA 11. HAFTA UYGULAMA DERSİ NESNEYE DAYALI PROGRAMLAMA 11. HAFTA UYGULAMA DERSİ JENERİKLER VE KOLEKSİYONLAR Jenerikler (parametreleştirilmiş tip) Jenerikler ile birlikte farklı tiplerde verilerle tip güvenlikli bir biçimde çalışılabilecek

Detaylı

//word document object Document document = null; public Form1() { InitializeComponent(); }

//word document object Document document = null; public Form1() { InitializeComponent(); } // Project Add References -.NET- then Microsoft.Office.Interop.Word. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq;

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir sınıflandırma: temel kavramlar, karar ağaçları ve model değerlendirme Sınıflandırma : Tanım Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir Eğitim setindeki her kayıt

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16 Bölüm 8. Ayrık Küme Olcay Taner Yıldız 2014 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, 2013 1 / 16 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi

Detaylı

VERİ YAPILARI DERS NOTLARI BÖLÜM 4 STACK (YIĞIN, YIĞIT) Yard. Doç. Dr. Deniz KILINÇ

VERİ YAPILARI DERS NOTLARI BÖLÜM 4 STACK (YIĞIN, YIĞIT) Yard. Doç. Dr. Deniz KILINÇ VERİ YAPILARI DERS NOTLARI BÖLÜM 4 STACK (YIĞIN, YIĞIT) Yard. Doç. Dr. Deniz KILINÇ CELAL BAYAR ÜNİVERSİTESİ, YAZILIM MÜHENDİSLİĞİ 2015-2016 1. Tanım Stack, doğrusal artan bir veri yapısı olup; insert

Detaylı

11- FONKSİYONLAR (FUNCTIONS)

11- FONKSİYONLAR (FUNCTIONS) 1 Fonksiyon : Belirli bir işi yapan programın bir isim altına tanımlanarak, o isimle çağrılarak kullanılması. Fonksiyonun faydaları : Programın modülerliğini arttırır. Aynı işi yapan program parçası tekrar

Detaylı

Görsel Programlama (Visual Programming)

Görsel Programlama (Visual Programming) Görsel Programlama (Visual Programming) 2014-2015 Bahar Dönemi ListBox 1 2 Bileşeni(Nesnesi) Text Özelliği TextBox nesnesi gibi kullanılabilir 3 Item Ekleme 4 combobox1.maxdropdownitems = 5; combobox1.maxdropdownwidth=200;

Detaylı

Bu classı biraz açıklamak gerekirse, tam olarak şu işleri yapıyor.

Bu classı biraz açıklamak gerekirse, tam olarak şu işleri yapıyor. İlk hazırladım MVC başlangıç dokümanından sonra (http://tuncgulec.com/mvc-projeolusturma/ adresinden indirilebilir) ikinci olarak bu oluşturduğumuz projenin benzeri, database işlemlerini yapan bir mvc

Detaylı

BAĞLANTILI SĐSTEMLER ĐLE MODEL BĐR YERLEŞKE A MODEL CAMPUS WITH CONNECTED SYSTEMS

BAĞLANTILI SĐSTEMLER ĐLE MODEL BĐR YERLEŞKE A MODEL CAMPUS WITH CONNECTED SYSTEMS BAĞLANTILI SĐSTEMLER ĐLE MODEL BĐR YERLEŞKE A MODEL CAMPUS WITH CONNECTED SYSTEMS Öğrenci Cem ALTIN, Sinop Üniversitesi Meslek Yüksekokulu, Sinop Öğrenci Mete BĐRĐZ, Sinop Üniversitesi Meslek Yüksekokulu,

Detaylı

C Sharp /Veri tabanı işlemleri

C Sharp /Veri tabanı işlemleri C Sharp /Veri tabanı işlemleri C#'ta veri tabanı işlemleri System.Data isim alanındaki ve bu isim alanının altındaki alt isim alanlarındaki türlerle yapılır. System.Data isim alanına programcılar ADO.NET

Detaylı

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir. www.csharpturk.net Türkiye nin C# Okulu Yazar Yunus Özen Eposta yunus@yunus.gen.tr Tarih 08.04.2006 Web http://www.yunusgen.tr ARİTMETİK OPERATÖRLER VE KULLANIM ŞEKİLLERİ Bilgisayarlar yapıları gereği,

Detaylı

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama SAKARYA ÜNİVERSİTESİ Nesneye Dayalı Programlama Hafta 6 Prof. Dr. Ümit KOCABIÇAK Öğr. Gör. Özgür ÇİFTÇİ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim"

Detaylı

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız. İl İlçe uygulaması //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız Açıklama : Seçilen ile ait ilçeleri listeleyen program String [,] il= private void Form1_Load(object sender, EventArgs e) { for

Detaylı

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir: Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler

Detaylı

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama Bölüm 39 Binary Search (Yarılama) 39.1 Dizide Bir Öğe Arama İkil aramayı (yarılama yöntemi) sıralı veri kümelerinde sık sık kullanırız. Örneğin, sözlükte bir sözcüğü ararken, sözlüğün bütün sayfalarını

Detaylı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

Detaylı

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1 ADO.NET Web üzerinden veritabanına bağlanmak ve veri işlemleri gerçekleştirmek için ADO.NET teknolojinden faydalanarak işlemlerimizi gerçekleştireceğiz. ADO.NET her ne kadar ADO teknolojine benzesede aslında

Detaylı

C# da basit console uygulamaları. C# da basit console uygulamaları

C# da basit console uygulamaları. C# da basit console uygulamaları C# da basit console uygulamaları C# da basit console uygulamaları C# da basit console uygulamaları geliştirdiğimiz sayfamızda bulunmaktasınız. Temel seviyeden başlayıp ileri seviye uygulamalar yazacağız.

Detaylı

Programlama Dilleri III 1

Programlama Dilleri III 1 Temel Veri Türleri Programlama Dilleri III 1 İlk C# Programı class ilk_program1 static void Main() System.Console.WriteLine("Merhaba C#"); C# dilinde yazılmış kaynak kod dosyalarının uzantıları.cs dır.

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 3.ders

İNTERNET TABANLI PROGRAMLAMA- 3.ders DİZİLER İNTERNET TABANLI PROGRAMLAMA- 3.ders Diziler bir çok bilgiyi tek bir değişken içerisinde tutmamızı sağlayan ifadelerdir. Dizide tutulan bilgiler Ram da tutulur. Elektrikler kesildiğinde dizideki

Detaylı

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz. C# da Diziler Diziler için aynı tipteki verilerin tutulduğu bir koleksiyon diyebiliriz. Örneğin integer verinin bir yığın şeklinde tutulması için dizileri kullanırız. C# da diziler referans tipinde değişkenlerdendir.

Detaylı

CBÜ Teknoloji Fakültesi, Yazılım Mühendisliği. Nesneye Yönelik Programlama

CBÜ Teknoloji Fakültesi, Yazılım Mühendisliği. Nesneye Yönelik Programlama CBÜ Teknoloji Fakültesi, Yazılım Mühendisliği Nesneye Yönelik Programlama Uygulama 1 Senaryo: Kisi sınıfı TCKimlikNo, Isim ve Adres bilgilerine sahip olup, Adres bilgisi de aynı zamanda bir sınıftır. Adres

Detaylı

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ ÖDEVLERİ SİSTEME YÜKLEME USULLERİ Sistem yüklenecek ödevlerin hepsi PDF formatında olacaktır. Ödevlerinizi PDF formatında hazırlamak için aşağıdaki yöntemleri kullanabilirsiniz. Buradaki anlatımlarda hazırladığınız

Detaylı

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım. Merge (Bireşim) Her biri kendi içinde artan yönde sıralanmış ve aynı veri tipinden olan a ve b dizileri (array) verilsin. Bu iki diziyi birleştirip sıralı bir dizi yapmak istiyoruz. Tabii, birisini ötekinin

Detaylı

Görsel Programlama 1

Görsel Programlama 1 Görsel Programlama 1 1. Ekrana Hello world! yazan c# console application kodları: Console.Write("Hello world!"); 2. Ekranda ilk satıra Hello, ikinci satıra world! yazan kod: Console.WriteLine("Hello");

Detaylı

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28 ix 1 İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19 23 Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28 Kayan Nokta Tipleri 30 Sayısal Veri Tipi Dönüşümleri

Detaylı

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else { KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR IF ELSE YAPISI if (deger) { else { YUKARIDAKI IFADEDE deger EGER TRUE İSE if PARANTEZLERİ İÇİNDEKİ DEĞER

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 4 Stack (Yığın, Yığıt) Veri Yapısı Stack Çalışma

Detaylı

Ders 8 Konu Özeti ve Problemler

Ders 8 Konu Özeti ve Problemler Ders 8 Konu Özeti ve Problemler C# ve Nesne Yönelimli Programlamanın 3 Prensibi Kapsülleme (Encapsulation) Nesne yönelimli programlamanın ilk prensibi kapsülleme (encapsulation) olarak adlandırılır. Bu

Detaylı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

/*int sayi1, sayi2,toplam=0;

/*int sayi1, sayi2,toplam=0; static void Main(string[] args) { //--------------------1. ders-------------------- -------- / ekrana yazma ekrandan okuma sayısal değerleri okuma yer tutucular basit tip dönüşümü / /int sayi1, sayi2,toplam=0;

Detaylı

RSA ŞİFRELEME ALGORİTMASI

RSA ŞİFRELEME ALGORİTMASI RSA ŞİFRELEME ALGORİTMASI İlk defa 1977 yılında Ron Rivest, Adi Shamir ve Leonard Adleman tarafından oluşturulan RSA algoritması geliştiricilerinin soyisimlerinin ilk harfleriyle anılmaktadır. Bu yazımızda

Detaylı

Oyuncu Sınıfı. /// <summary> /// Oyuncumuzun elindeki kart /// </summary> private ArrayList kart = new ArrayList(6);

Oyuncu Sınıfı. /// <summary> /// Oyuncumuzun elindeki kart /// </summary> private ArrayList kart = new ArrayList(6); Oyuncu Sınıfı using System; using System.Collections; namespace Tombala /// Tombala oyunundaki her bir oyuncu class Oyuncu /// Oyuncumuzun elindeki kart private ArrayList kart = new ArrayList(6); /// Oyuncumuzun

Detaylı

Programlama Dilleri 3

Programlama Dilleri 3 Diziler (Arrays) 1 Dizi Kavramı Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE)

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE) VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE) ACCESS VERİ TABANI (OLE DB - Object Linking and Embedding Data Base) Access veri tabanı kullanılarak oluşturulmuş uygulama; OLEDB çalışmak

Detaylı

C# ÖRNEKLERİ.

C# ÖRNEKLERİ. C# ÖRNEKLERİ www.yazilimbilisim.net İçindekiler C# Dik Üçgende Hipotenüs Hesaplama... 2 C# DataGridView e Resim Ekleme... 3 C# Class Kullanarak Dik Üçgende Hipotenüs Hesaplama... 4 C# WPF Form Binary Saat

Detaylı

SINIF İÇİ UYGULAMA KODLARI

SINIF İÇİ UYGULAMA KODLARI SINIF İÇİ UYGULAMA KODLARI ARABA HAREKET ETTİRME using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler.

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler. MVC MVC Anlamakta zorluk çekiyorsanız bu yazımı dikkatle okumanızı tavsiye ediyorum. Derslerde öğrencilerimin en çok zorlandıkları konu MVC nin mantığıdır. Önce MVC anlamaya çalışmak yerine MVC den biraz

Detaylı

Naive Bayes Yöntemi ile Spam Mail Teşhisi Kübra KURNAZ

Naive Bayes Yöntemi ile Spam Mail Teşhisi Kübra KURNAZ Naive Bayes Yöntemi ile Spam Mail Teşhisi 2 17574006-Kübra KURNAZ Yıldız Teknik Üniversitesi, Elektrik-Elektronik Fakültesi, Bilgisayar Mühendisliği Bölümü, Tezsiz Yüksek Lisans Bilgi Teknolojileri Özet

Detaylı

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir; abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance

Detaylı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

V-Count API v3.5. - İnsan Sayma sonuçları için istekler https://cloud.v-count.com/vcountapi/vcountapi.php adresine gönderilecektir.

V-Count API v3.5. - İnsan Sayma sonuçları için istekler https://cloud.v-count.com/vcountapi/vcountapi.php adresine gönderilecektir. V-Count API v3.5 Bu dokümanın amacı V-Count veritabanından insan sayma, mağaza önü sayma ve hava durumu verilerinin dışa aktarımı; ciro, fiş, stok ve ürün adedi bilgilerinin veritabanına içe aktarımı yöntemlerini

Detaylı

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx Durum Yönetimi Bu gün dersimizde durum yönetimine (state management) değineceğiz. Önce adı DurumYonetimi isimli yeni bir site oluşturalım. Burada programın otomatik olarak oluşturacağı Default.aspx dosyasını

Detaylı

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO GELİŞTİRME

Detaylı

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI İÇİNDEKİLER VII İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.NET Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO 2012 GELİŞTİRME

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA İlk defa 1977 yılında Ron Rivest, Adi Shamir ve Leonard Adleman tarafından oluşturulan RSA algoritması geliştiricilerinin soyisimlerinin ilk harfleriyle

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME PELİN YILDIRIM FATMA BOZYİĞİT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Veri Saklama 2 Veri Saklama Veri Saklama her appnin ihtiyaci

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

İSTANBUL TEKNİK ÜNİVERSİTESİ FEN EDEBİYAT FAKÜLTESİ MATEMATİK MÜHENDİSLİĞİ PROGRAMI

İSTANBUL TEKNİK ÜNİVERSİTESİ FEN EDEBİYAT FAKÜLTESİ MATEMATİK MÜHENDİSLİĞİ PROGRAMI İSTANBUL TEKNİK ÜNİVERSİTESİ FEN EDEBİYAT FAKÜLTESİ MATEMATİK MÜHENDİSLİĞİ PROGRAMI ORACLE DATA MINER İLE MANTARLARIN ZEHİRLİLİĞİ ÜZERİNE BİR VERİ MADENCİLİĞİ UYGULAMASI BİTİRME ÖDEVİ Özge KAPLAN 090090430

Detaylı

Şablon Türler (Generics)

Şablon Türler (Generics) Şablon Türler (Generics) CLR 1.0 da çalışma zamanında belli olmayan sınıfları kullanan esnek sınıf ve metotlar, Object sınıfı temel alınarak oluşturulması gerekmekteydi. CLR 2.0 dan itibaren Generic lerin

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

Detaylı

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

if (ad == Sabri) Console.WriteLine(Merhaba Sabri. Ne zamandır gözükmüyodun...); Koşul İfadeleri ve Akış Kontrolü Koşul ifadeleri ve akış kontrolleri programlama dillerinde her zaman en önemli yeri tutmaktadır. Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ ÖRNEK 1 default.aspx

Detaylı

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/ 23 Mart 2012 / Cuma Yeni bir site açıyoruz. Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/ Namespace

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME Default.aspx

Detaylı

#ifndef COMPLEX_H #define COMPLEX_H

#ifndef COMPLEX_H #define COMPLEX_H 16.10.2018 2018-2019 Güz Object-Oriented Programming Lab 03 Ön Çalışma - Bir kompleks sayının genliğini ve açısını hesaplamak için gerekli C/C++ fonksiyonları bulun, kütüphanelerini ve prototiplerini yazın,

Detaylı

BPR152-Algoritma ve Programlama II Uygulama -12

BPR152-Algoritma ve Programlama II Uygulama -12 Fonksiyon ödevlerinin çözümleri using System; namespace FonkClass class Program static void Main() int toplam = Topla3Sayi(3, 4, 5); Console.WriteLine("Toplam = " + toplam); int sonuc = Carp3Sayi(3, 4,

Detaylı

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

Response : Sunucunun istemciye veri yollamasını

Response : Sunucunun istemciye veri yollamasını Response : Sunucunun istemciye veri yollamasını 27 Ekim 2011 / Perşembe Örnek : 2 tane sayfa açıyoruz,1nci ye TextBox1 ve Button ekliyoruz. Şunu istiyoruz,1nci sayfada şifre girilince, Button u tıklayınca

Detaylı

Proje 1. Arayüz Tasarımı

Proje 1. Arayüz Tasarımı Proje 1. Arayüz Tasarımı 1. Yeni bir android projesi oluşturalım. Proje ismi: ArayuzTasarimi ve aktivity adı: ArayuzTasarimi olarak yazalım. 2. Projejiyi oluşturduktan sonra bize hazır olarak gelen dosyalar:

Detaylı

Turkcell Paf Takımı Proje Raporu. Hazırlayan : Oben IŞIK

Turkcell Paf Takımı Proje Raporu. Hazırlayan : Oben IŞIK Turkcell Paf Takımı Proje Raporu Hazırlayan : Oben IŞIK 1 Giriş Proje, yazılım dünyasındaki uygulamaların minimum maaliyet ile karşılanabilmesi için, web servis kullanımına ilişkin bir takım işlemleri

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama SAKARYA ÜNİVERSİTESİ Nesneye Dayalı Programlama Hafta 12 Prof. Dr. Ümit KOCABIÇAK Öğr. Gör. Özgür ÇİFTÇİ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim"

Detaylı

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. ALGORİTMA KAVRAMI Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü için izlenecek yolun tanımıdır.

Detaylı

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

Bire-bir Sahiplik İlişkisi ile İlgili Sorular: Bire-bir Sahiplik İlişkisi ile İlgili Sorular: Soru 1: Bir füzenin kilometre cinsinden menzili ve kilogram cinsinden ağırlığı mevcuttur. Bir füze ya kara hedefleri ya da hava hedefler için tasarlanır.

Detaylı

Veri Merkezli Uygulamalar Bağlantılı (Connected) Veri Ortamları

Veri Merkezli Uygulamalar Bağlantılı (Connected) Veri Ortamları Veri Merkezli Uygulamalar Bağlantılı (Connected) Veri Ortamları Bağlantılı veri ortamları, uygulamaların veri kaynağına sürekli bağlı kaldığı ortamlardır. Bu ortamlarda veri alma ve değiştirme işlemleri

Detaylı