Naive Bayes Sınıflandırıcısı

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

Download "Naive Bayes Sınıflandırıcısı"

Transkript

1 Naive Bayes Sınıflandırıcısı Basit haliyle bir sınıflandırma-kategorilendirme algoritmasıdır. İsmini 17.yy da yaşamış Thomas Bayes adında bir matematikçiden alır. Verilerin sınıflandırılmasından daha çok nasıl sınıflandırıldığı önemlidir bu algoritmada. En sade hali ile bir olayın herhangi bir kategoriye ait olmasinin olasılığını hesaplamada kullanilir. En önemli kuralı niteliklerin birbirinden bağımsız olduğudur çünkü nitelikler birbirini etkiliyorsa burada olasılık hesabı zordur.niteliklerinin hepsinin aynı derecede önemli olduğu kabul edilir. Sonucun çıkma olasılığı o sonuca etkiyen tüm niteliklerin olasılıklarının çarpımıdır. Koşullu Olasılık ve Naive Bayes Olasılık Gösterimi Naive Bayes teoremine girmeden önce koşullu olasılık kavramını anlamak gerekir. Koşullu olasılık ise daha önce olmuş bir olaya bakarak bir sonraki olayın gerçekleşme olasılığını bulur. Örneğin bir demokrat senatörün kadın olma olasılığını hesaplayalım. Bir senatör ya demokrat ya da cumhuriyetçi olabiliyor. Yani demokrat olma olasılığı 1/2. Bir insan da erkek veya kadın olabildiğine göre 1/2 olasılığımızda buradan gelir. Sonuçları çarptığımızda da cevabımız olan 1/4 ü elde etmiş oluruz. Naive Bayes için kullanacağımız formül ise P ( A B )= P ( B A ) x P(A) / P(B) yani B olayı gerçekleştiğinde A nın olma olasılığı demektir. Açıklamalı hali ise : (Kategorinin olma olasılığı * elimizdeki niteliklerin olma olasılığı) / küme sayısı). Naive Bayes in tam olarak nasıl kullanıldığına bir örnekle bakalım.

2 Günler Hava Durumu Sıcaklık Nem Oranı Rüzgar Şiddeti Tenis oynanıyor mu? 1.Gün Güneşli Sıcak Yüksek Zayıf Hayır 2.Gün Güneşli Sıcak Yüksek Güçlü Hayır 3.Gün Bulutlu Sıcak Yüksek Zayıf Evet 4.Gün Yağmurlu Ilık Yüksek Zayıf Evet 5.Gün Yağmurlu Soğuk Normal Zayıf Evet 6.Gün Yağmurlu Soğuk Normal Güçlü Hayır 7.Gün Bulutlu Soğuk Normal Güçlü Evet 8.Gün Güneşli Ilık Yüksek Zayıf Hayır 9.Gün Güneşli Soğuk Normal Zayıf Evet 10.Gün Yağmurlu Ilık Normal Zayıf Evet 11.Gün Güneşli Ilık Normal Güçlü Evet 12.Gün Bulutlu Ilık Yüksek Güçlü Evet 13.Gün Bulutlu Sıcak Normal Zayıf Evet 14.Gün Yağmurlu Ilık Yüksek Güçlü Hayır Bizden istenen koşullar şunlar : 15.günde ; Hava durumu : Güneşli Sıcaklık : Soğuk Nem : Yüksek Rüzgar : Güçlü Tenis oynanıyor mu : Evet İşlemleri yaparken her niteliğin kendi olasılık kümesinin büyüklüğüne bölündüğüne dikkat etmeliyiz. Önce toplam sayılarımızı yazalım. Toplam veri sayısı : 14 Toplam Evet sayısı : 9 Toplam Hayır sayısı : 5

3 Evet çıkma olasılığı P(y) = 9/14 x 2/9 x 3/9 x 3/9 x 3/9 = 0,0053 Hayır çıkma olasılığı P(n) = 5/14 x 3/5 x 1/5 x 4/5 x 3/5 = 0,0205 Yani tenis oynanmama olasılığı daha yüksek. Örneğin Weka Üzerinde Gösterimi Şekil 1. Datasetimiz

4

5

6

7 Ve sonucumuz karşımıza çıkıyor. Sıfır-Frekans (Zero Frequency) Nedir? Yani kayıtlarımız arasında 0 olsaydı? Burada Laplace Correction yöntemini kullanarak sorunu çözeriz. Her değere 0-1 arasında bir değer eklenerek bu sorun çözülüyor ve bu sorunun sonucuna pek etki etmeyecektir yani çok değiştirmeyecektir. Bununla ilgili Sadi Evren Şeker in videosunda bahsettiği kısmı buraya tıklayarak izleyebilirsiniz.

8 Naive Bayes günlük yaşantımızda nerelerde kullanılıyor? Makine öğrenmesindeki temel sınıflandırıcılardandır. Spam filtrelemede çoğunlukla kullanılır. Robotik çalışmalar,görüntü işleme,veri Madenciliği,Metin ayrıştırılması ve Ürün sınıflandırma gibi alanlarda kullanılır. Naive Bayes in Avantajları ve Dezavantajları Avantajları Nispeten de olsa kolay anlaşılabilir ve yapılandırılabilir. Küçük bir veri kümesiyle bile kolayca eğitilir yapıdadır. Rakiplerine göre hızlı çalışır. Dezavantajları Her niteliğin birbirinden bağımsız olduğunu kabul eder ama bu her durum karşısında geçerli değildir. Değişkenler arası ilişki gösterilemiyor. Referanslar : /naif-bayes-siniflandiricisi-naive-bayes/ oritmasi/ goritmas.html 7.

9 8. yazilimcorbasi.blogspot.com.tr/2012/02/naive-bayesclassifier.html 9. planation-of-naive-bayes-classification 10. Veri Madenciliği Yöntemleri by Dr. Yalçın Özkan sf bayes-classifier/ XUUnJQwxrZq/wiki/Naive_Bayes_sınıflandırıcı.html Soyut Sınıflar (Abstract Class) Nesne tabanlı programlamada sınıf hiyerarşisi oluşturulurken, bazen en tepede bulunan sınıf türünden nesneler programcılar için anlamlı olmayabilir. Hiyerarşinin en tepesinde bulunan sınıfın kendisinden türetilecek olan alt sınıflar için ortak bir arayüz (interface) görevi yapması istenebilir. Bunun için çözüm olarak oluşturulan metotlara ve sınıflara soyut metot (abstract method) ya da soyut sınıf (abstract class) denir. Soyut sınıflar büyük projelerde kullanılırlar ve kalıtım özelliğini kullanarak kod tekrarını azaltırlar. Soyut sınıflar diğer sınıflara taban olmak için kullanılırlar.önlerine abstract sözcüğü yazılarak soyutlaştırılırlar. Dikkat edilmesi gerekenler :

10 Soyut sınıflar abstract türünden nesneler tanımlamazlar. Soyut sınıflar içerilerinde soyut olmayan metotlar da barındırabilir ancak soyut metotlar sadece soyut sınıflar içerisinde bildirilebilir. Soyut metotlar türeyen sınıfta mutlaka bildirilmelidir. Soyut metotlar override edilmek zorundadırlar, aksi takdirde derleyici hatası alınır. Static metotlar soyut olarak tanımlanamazlar. Soyut sınıflar private olarak tanımlanamazlar ama public ve protected olarak tanımlanabilirler. Soyut sınıflar sealed anahtar sözcüğü ile ifade edilemezler. Soyut sınıflarda yapılandırıcılar(contructor),static metotlar soyut metot olamazlar ve bu sınıflardan nesne üretilemez. Java da soyut sınıf gösterimi abstract anahtar sözcüğü ile yabılmaktadır.extends kelimesiylede alt sınıfı super sınıfa bağlarız (inherit etmesini sağlarız).kullanımı şu şekildedir: [crayon-5ca633c2c1f /] Şimdi de örnek bir uygulama yazalım.oldukça basit bit bir örnek.şekill adında super soyut sınıfımız var ve alt sınıfları kare ve dikdörtgendir(istediğimiz kadar şekil ekleyebiliriz.).alt sınıfların ortak yaptıkları işlev alan hesaplamadır.bu nedenle alan metodumuzu soyut metot yapacağız. [crayon-5ca633c2c1f /] Şekil sınıfımızdan nesne oluşturamayız bu nedenle sekil adında instance yapıp buna Kare nesnesi atadık.böylece artık sekill instance artık Kare gibi davranacaktır ve alan metodu çağrıldığında Kare nin alanını hesaplayacaktır.dikdörtgen için de aynı şeyleri yaptık Program çıktısı ise : [crayon-5ca633c2c1f9d /] Yazar : Ahmet Burak Tektaş Kaynakçalar : inifabstract-class.html t-s%c4%b1n%c4%b1f-(abstract-class)

11 Alfasayısal İşlem Komutları Karakter ve karakter grupları(kelime,cümle,vb) üzerinde işlem yapan komutlardır. ALGORİTMA BASIC PASCAL C C++ C# JAVA UZUNLUK LEN Lenght strlen lenght Lenght lenght KOPYALA MID$ Copy copy Substring substring ASCIIKOD ASC Ord ASCIIKAR CHR$ Chr toascii toascii BÜYÜK UpCase toupper toupper ToUpper touppercase KÜÇÜK tolower tolower ToLower tolowercase SAYISAL (tamsayı) VAL Val atoi atoi Tolnt32 Int32.Parse parseint ALFASAYISAL STR$ Str itoa itoa ToString tostring (tamsayı) Seçkin YayıncılıkKAYNAK Algoritma Geliştirme ve programlamaya giriş Doç.Dr. Fahri VATANSEVER SEMA SERDAROĞLU

12 Yapay Zeka Teknolojisi Nedir? Çağdaş dünyada bilgisayarlar ve bilgisayar sistemleri yaşamın vazgeçilmez bir parçası haline gelmiştir. Elimizdeki cep telefonlarından, mutfaklardaki buzdolaplarına kadar birçok alet bilgisayar sistemi ile çalışmaktadır. İş dünyasından kamu işlerine, çevre ve sağlık organizasyonlarından askeri sistemlere kadar hemen hemen her alanda bilgisayarlardan faydalanmak olağan hale gelmiştir. Bunun aksini düşünmek bile teknolojinin nimetlerini hiçe saymak olarak görülmektedir. Teknolojinin gelişmesi izlendiğinde önceleri sadece elektronik veri transferi yapmak ve karmaşık hesaplamaları gerçekleştirmek üzere geliştirilen bilgisayarların zaman içerisinde büyük miktarlardaki verileri filtreleyerek özetleyebilen ve mevcut bilgileri kullanarak olaylar hakkında yorumlar yapabilen nitelikler kazandığı görülmektedir. Günümüzde ise bilgisayarlar hem olaylar hakkında karar verebilmekte hem de olaylar arasındaki ilişkileri öğrenebilmektedir. Matematiksel olarak formülasyonu kumlamayan ve çözülmesi mümkün olmayan problemler sezgisel yöntemler yolu ile bilgisayarlar tarafından çözülebilmektedir. Bilgisayarları bu özelliklerle donatan ve bu yeteneklerinin gelişmesini sağlayan çalışmalar yapay zeka çalışmaları olarak bilinmektedir. İlk defa 1950 li yıllarda ortaya atılan yapay zeka terimi zaman içinde oldukça yoğun ilgi görmüş ve yıllık bir zaman diliminde hayatın vazgeçilmez parçası olan sistemlerin doğmasına neden olmuştur. Bu sistemler hem araştırmacılar hem de ticari olarak satıcılar tarafından Zeki Sistemler olarak adlandırılmaktadır. Zeki sistemlerin geliştirilmesinde yapay zeka biliminin katkısı çok fazladır. Benzer şekilde de zeki sistemlerdeki gelişmeler de yapay zeka biliminde gelişmelere neden olmaktadır. Zeki sistemlerin en temel özellikleri olaylara ve problemlere çözümler üretirken veya çalışırken bilgiye dayalı olarak karar verebilme özelliklerinin olması ve eldeki bilgiler ile

13 olayları öğrenerek, sonraki olaylar hakkında kararlar verebilmeleridir. Yapay zeka bilimindeki gelişmeler bu sistemlerde çeşitlendirmeye neden olmaktadır. Bir taraftan donanım teknolojisi gelişmekte ve daha hızlı çalışabilen, daha çok bilgiyi saklayabi- len, daha karmaşık sistemleri ve fonksiyonları yerine getiren bilgisayarlar ve bilgisayar sistemleri oluşturulmakta iken diğer taraftan yazılım teknolojisi gelişmekte ve bilgi işleme yetenekleri, öğrenme, karar verebilme, problem çözme, muhakeme yapabilme yöntemleri ve bu yöntemlere dayalı yazılım sistemleri geliştirilmektedir. Bu gelişmeler ise zeki sistemlerin her geçen gün daha yaygın olarak bilinmesine ve gerçek hayatta insanların kullanımına alınmasına neden olmaktadır. Artık bilgisayarlar eskiden olduğu gibi sadece bilgi iletişiminin ve hesaplamaların otomasyonunu yapan sistemler olarak görülmemektedir. İnsan karar verme sürecine oldukça benzer bir karar verme sürecine kavuşmakta ve daha karmaşık fakat kullanışlı sistemler ortaya çıkmaktadır. Çalışmalar laboratuardan çıkmakta ve her geçen gün daha fazla ticari sistemler ortaya çıkmaktadır. İnsanlar olayları çözmek için her gün biraz daha zeki sistemler geliştirmek için yarışmaktadırlar. Bazı sistemler ise zeki olmadıkları halde işlemleri otomatik olarak gerçekleştirdiklerinden, zeki sistem diye tanıtılmakta ve pazarlanmaktadır. Bunlara otomasyon sistemleri demek daha doğru olur. Yeni çıkan zeki sistemler bu otomasyon sistemlerinin yerini almaktadır. Her geçen gün gerçek zeki sistemlerin sayısı artmakta ve zeki olmayan otomasyon sistemleri ortadan kalkmaktadır. Artık eskisi gibi otomasyon sistemlerine zeki sistemler denmemektedir. Sadece zeka ürünü olan fonksiyonları gerçekleştiren sistemler zeki sistemler olarak adlandırılmaktadır. Bu gelişmeler ve ticari sistemlerin başarılı şekilde uygulanması yapay zeka teknolojisinin gelişimine ilgileri daha çok çekmiş ve yapay zeka önceleri sadece bir ilgi odağı iken bugün artık bir bilim dalı haline gelmiştir. Günümüzde üniversitelerde yapay zeka bölümleri açılmıştır. Yapay zeka

14 mühendisleri (bilgi mühendisleri) yetiştirilmektedir. Yapay zeka bilimine genel bir bakış yapılırsa; Bu bilimin, bilginin organizasyonu, öğrenme, problem çözme, teorem ispatlama, bilimsel buluşların modellenmesi gibi bir çok konu ile ilgilendiği görülmektedir. Bu yetenekler ile donatılan bilgisayar sistemleri problemlere çözüm üretirken insanın problemleri çözme sürecini taklit etmektedir. Özellikle belirli bir algoritma veya formülasyon kullanılarak çözülemeyen problemlerin çözülmesi için yapay zeka sistemleri geliştirilmektedir. Problemin çözümünü sağlayan bir algoritma geliştirilmiş ise geleneksel bilgisayar sistemleri problemi çözmek için yeterli olmaktadır. Önemli olan problemin çözümünü veren bir formülün olmadığı durumlarda bilgisayarlara problemleri çözdürmektir. Yapay zeka bu görevi üstlenmiş bir bilim dalıdır. UML ile Nesneye Yönelik Modelleme Herşeyden önce UML(Unified Modeling Language) bir progralama dili değildir. UML daha çok Nesneye Dayalı Programlama için kullanabileceğimiz bir modelleme dilidir. Grady Blooch, James Rumbaugh ve Ivar Jacobson tarafından geliştirilmiştir. Yazılım teknolojisi geliştikçe yazılan programların karmaşıklığı ve zorluğu giderek artmaktadır. Yazılan programların karmaşıklığı arttığı için kod organizasyonu önem kazanmıştır. Bu sebeple üretilen modelleme ve analiz dili olan UML. Programlama aşamasında olabilecek sorunların en aza indirilmesini sağlamaktadır. UML yazılımların hem maliyetini hem etkisini hemde ömürünü artırır. UML ile dokümantasyonu yapılan bir programın sonradan düzenlenmesi daha kolay olur.

15 UML in faydalarından bahsedersek : Kodlama işlemini kolaylaştırır. Çünkü programdan ne beklediğimizi ve programlama ile neler yapacağımızı belirleriz. Programda beklenmedik mantıksal hataları (bug) minimuma indirgemiş oluruz. Tasarım aşaması düzgün yapıldıysa, programın daha kolay geliştirilebilmesi sağlanacaktır. Bellek kullanımının daha iyi belirlenmesini sağlar. Programın kararlılığını artırır. Ortak çalışılan projelerde programcıların iletişimini daha kolay hale getirir. UML 9 Diyagram Türünden Oluşur : Class Diagram: Sınıfları baz alarak yapılan diyagramdır. Object Diagram: Sınıfın yerine gerçek nesneler kullanılır. State Diagram: Nesnelerin zamanlara ayrılmış durumlarını gösteren diyagramdır. Sequence Diagram: Gerçek zamanlı sistemlerde zaman içinde değişen interaktiviteleri gösterir. Activity Diagram: Bir nesnenin durumunun değişim sırasını gösterir. Use Case Diagram: Programın davranışlarının kullanıcı gözüyle incelenmesidir. Collaboration Diagram: Bir sistemin bütün parçalarının birbirleriyle olan ilişkilerini gösterir. Component Diagram: Birden çok geliştiricinin birlikte çalıştığı projelerde program componentlere ayrılır. Bu tür projelerde bu diagram kullanılır. Deployment Diagram: Sistemin, bilgisayarlar arasındaki bağlantılar, programın kurulacağı makinalar ve sistemdeki aletler gibi fiziksel incelenmeleri yapılır. Nesne kavramında önemli olan özellikler vardır. Bunlar:

16 Kimlik(identity): Nesneyi unique olarak tanımlar ve onu diğer nesnelerden ayırır. Durum(state): Özellikler(fields veya attributes) ile belirtilir. Davranış(behavior): Metot, metot adı, aldıüı parametre türleri ve döndürdüğü tür ile tanımlanır. [crayon-5ca633c2c2b /] Sınıf kavramının önemli özellikleri : Alanlar(fields): Nesne özelliklerini tanımlayan değişkenler, adları ve türleri ile. Metotlar(methods): Metot adları, döndürdüğü tür, parametreleri, ve metotu gerçekleştiren program kodu. [crayon-5ca633c2c2b6e /] Erişim Belirleyicilerin Gösterimi Public: UML de + sembolü ile gösterilir. Protected: UML de # sembolü ile gösterilir. Package: UML de ~ sembolü ile gösterilir. Private: UML de sembolü ile gösterilir. UML de Nesne Gösterimi

17 UML de Paket Gösterimi Assocation (Sınıflar arası ilişki) Sınıflar arasındaki ilişkiyi göstermek için iki sınıf arasına düz bir çizgi çekilir. İlişkiyi gösteren çizginin üzerine ilişkinin türü yazılır. Bir İnsan sınıfı gerçek nesnesi olan Ali ile kitap sınıfı gerçek nesnesi olan UML kitabı arasında okuma ilişkisi vardı.kısaca şöyle deriz. Ali, UML kitabı okur. Bazı durumlarda sınıflar arasındaki ilişki, bir çizgiyle belirtebileceğimiz şekilde basit olmayabilir.bu durumda ilişki

18 sınıfları kullanılır.ilişki sınıfları bildigimiz sınıflarla aynıdır. Özellik ve işlev elemanları olabilir. Sınıflar arasındaki ilişki eğer bir sınıf türüyle belirleniyorsa UML ile gösterimi aşağıdaki şekildeki gibi yapılır. Şu ana kadar gördüğümüz ilişkiler bire bir ilişkilerdi.ilişkiler bire bir olmak zorunda değildir.bir sınıf, n tane başka bir sınıf ile ilişkiliyse buna bire çok ilişiki denir.mesela Yüzbaşı ile Er arasında bire yüz bir ilişki vardır. Diyagramda bunu gösterirken Yüzbaşı sınıfına 1 Er sınıfına ise 100 yazacağız. Gösterimi aşağıdaki gibidir: Kalıtım(Inheritance) Kalıtım UML de şu şekilde gösterilir:

19 İçerme (Aggregations) Bazı sınıflar birden fazla parçadan oluşur.bu tür özel ilişkiye Aggregation denir.mesela,bir TV yi ele alalım.bir televizyon çeşitli parçalardan oluşmuştur.ekran,uzaktan Kumanda,Devreler vs.. Bütün bu parçaları birer sınıf ile temsil edersek TV bir bütün olarak oluşturulduğunda parçalarını istediğimiz gibi ekleyebiliriz. Aggregation ilişkisini bütün parça yukarıda olacak şekilde ve bütün parça nın ucuna içi boş elmas yerleştirecek şekilde gösteririz. Örnek bir şekil aşağıdaki gibidir. Arayüz(Interface) Sınıf ile arayüz arasındaki ilişkiyi kesik çizgilerle ve çizginin ucunda boş üçgen olacak şekilde gösteririz. Sınıf ile arayüz arasındaki bu ilişkiye gerçekleme(realization) denir. Sınıfla, arayüz arasında UML gösterimi açısından fazla bir

20 fark yoktur.tek fark arayüzde özellik(attribute) yoktur.diğer bir fark ise arayüz adlarını yazarken adın üstüne <interface> yazısını eklemektir.aşağıda bir arayüz sınıf ilişkisi mevcuttur. Kapsülleme (Encapsulation) Şimdi ise kalıtım kullanarak hayvanları oluşturalım:

21 Böylece kalıtım olmadan: 9 dosya, 200 satır tutan kodun, Kalıtım Kullanarak: 13 dosya, 167 satır koda, %15 tasarruflu bir şekilde nasıl dönüştüğünü UML kullanarak daha iyi kavramış oluyoruz. Use Cases Diyagramları Sistem gereksinimleri UML Use Case (kullanım şekilleri) diagramları ile belirtilir. Yazılım geliştirme için gerekli değildir, fakat gereksinimler ve nesnel modeller arasında önemli bir bağlantıdır.

22 Ücretsiz bir UML programı için : ArgoUML Yazar: Hasan Alp ZENGİN Kaynaklar: sibelsomyurek.com/veritabani/11_uml.pptx univera-ng.blogspot.cz/2009/12/uml-ve-modelleme-bolum-4- class-snf.html slideshare.net/aselmanb/uml-ile-modelleme

23 Sabit (Static) Değişkenler: Sabit (Static) Değişkenler: Eğer fonksiyonun içinde bildirimini yaptığımız değişkenin değerinin, program çalıştığı sürece fonksiyon tekrar tekrar çalıştırıldığında değişmesini istemiyorsak sabit (static) değişkenler kullanmamız gerekir. DipNot: Program yazarken eğer yerel değişken tanımlamak mümkünse (işimizi) görüyorsa değişkenleri yerel tanımlamalıyız. Çünkü yerel değişkenler işi bittikten sonra atılır. Global değişkenler ise hep kalır. Sabitler Program çalışması süresince değişmeyecek olan değerlerin saklanması için kullanılırlar. const ile ifade edilirler. Örneğin, pi sayısı şöyle tanımlanır: double const pi = 3.14; Sabit olması nedeniyle tanımını const olarak yaptık. Program içerisinde pi değişkeninin değeri hiçbir şekilde değiştiremeyiz. DipNot: Eğer const (veri_tipi)(değişken_adi) şeklinde bir tanım yaparsak, bu defa da program içerisinde pi değişkeninin veri tipini değiştiremeyiz. const double pi = 3.14; Bu tanımlamada double veri tipini int yapamayız artık. Sabitler programın en başında main( ) fonksiyonunun önünde tanımlanır ve program içerisinde değiştirilmezler.sabitlerin tanımında # define indirektifi kullanılır. Örnek= #define True 1 #define False 0

24 #define Max 20 #define Harf a Bu örneklerde define direktifi kullanılarak programdaki sabitler tanımlanmıştır.bu tanımlamalardan sonra define Max 20 ifadesi 20 sayısını ifade edecektir.harf sabitide programın herhangi bir yerinde kullanıldığında a harfini ifade edecektir. İkinci bir tür sabit tanımlama şekli değişkenlerin tanımlandığı bölümde tanımlanan değişkene bir değer atamaktır. Örnek= int a=25; char cr= r ; Dairenin alanını hesaplayan programı yazınız örnek: #include using namespace std; int main(){ double coats pi=3.14; int r; cout<< "yaricapi girin:"<

UML ile Nesneye Yönelik Modelleme

UML ile Nesneye Yönelik Modelleme UML ile Nesneye Yönelik Modelleme Herşeyden önce UML(Unified Modeling Language) bir progralama dili değildir. UML daha çok Nesneye Dayalı Programlama için kullanabileceğimiz bir modelleme dilidir. Grady

Detaylı

Yazılım Tasarımı(Software Design)

Yazılım Tasarımı(Software Design) Yazılım Tasarımı(Software Design) Yazılım Nedir? Hem bilgisayar sistemini oluşturan donanım parçalarının yönetimini hem de kullanıcıların işlerini yapmak için gerekli olan konular topluluğuna yazılım denir.

Detaylı

Nesneye Dayalı Programlama nedir? UML Nedir? Sınıf Diyagramları Nesneye Dayalı Programlamanın Temel Taşları Miras alma (Inheritance) Çok biçimlilik

Nesneye Dayalı Programlama nedir? UML Nedir? Sınıf Diyagramları Nesneye Dayalı Programlamanın Temel Taşları Miras alma (Inheritance) Çok biçimlilik Nesneye Dayalı Programlama nedir? UML Nedir? Sınıf Diyagramları Nesneye Dayalı Programlamanın Temel Taşları Miras alma (Inheritance) Çok biçimlilik (Polymorphism) Veri saklama (Encapsulation) Yazılım sektöründe

Detaylı

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language) TÜMLEŞİK MODELLEME DİLİ UML (Unified Modeling Language) UML NEDİR? Yazılım ve donanımların bir arada düşünülmesi gereken, Zor ve karmaşık programların, Özellikle birden fazla yazılımcı tarafından kodlanacağı

Detaylı

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir? Sınıf Diyagramları Sınıf diyagramı statik bir diyagramdır. Bir uygulamanın statik görünümünü temsil eder. Sınıf diyagramı sadece bir sistemin farklı yönlerini görselleştirmek, açıklamak ve belgelemek için

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 Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

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ı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

YAZILIM MODELLEME VE TASARIM

YAZILIM MODELLEME VE TASARIM YAZILIM MODELLEME VE TASARIM «UML - Tümleştirilmiş Yazılım Geliştirme Süreci» Özer Çelik Matematik-Bilgisayar Bölümü UML NEDİR? Yazılım ve donanımların bir arada düşünülmesi gereken, Zor ve karmaşık programların,

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 9: Sınıf İçerik Sınıf Tanımı Nesne Tanımı İkili Kapsam Çözme Operatörü UML ile Sınıfların Gösterimi 2 Sınıf kavramı, nesne-tabanlı programlamanın temelini oluşturur.

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ı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6 Yrd.Doç.Dr.Hacer Karacan İçerik UML Yapı Diyagramları Eylem Diyagramları Etkileşim Diyagramları UML Diyagramlar UML görsel olarak modelleme için birçok diyagrama sahiptir.

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7 BM208- Nesneye Dayalı Analiz ve Tasarım Sunum 7 Component(Bileşen) Diyagramları Sistemin fiziksel yapısını modellemede kullanılır. Bu fiziksel yapıdan kasıt gömülü kontroller, portlar, arayüzlerin yanı

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ı

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü MODEL NEDİR? Model, gerçek dünyadaki bir olayın veya

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ı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

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ı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 14: Çoklu İşlev İçerik Çoklu İşlevin Gerçekleştirilmesi Saf Sanal Fonksiyonlar ve Soyut Sınıflar Sanal Yıkıcı Fonksiyonlar Statik ve Dinamik Bağlama 2 Çoklu İşlev

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ı

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ı

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ı

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr NESNEYE YÖNELİK PROGRAMLAMA Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr Kullanım Diyagramları (Use Case Diagram) Kullanım senaryoları sadece düz metin (text) olarak değil, istendiğinde metin yerine

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler C Programlama Dr. Serkan DİŞLİTAŞ 3.1. Sabitler Sabitler, tanımlanmasıyla birlikte program içerisinde

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA SANAL FONKSİYONLAR VE ÇOK BİÇİMLİLİK Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü GİRİŞ C++, hem derleyici-zamanlı hem de çalışmazamanlı çok biçimliliği destekler.

Detaylı

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli

Detaylı

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler Fundamentals, Design, and Implementation, 9/e Üç Şema Modeli Üç şema modeli 1975 de ANSI/SPARC tarafından geliştirildi Veri modellemeninç ve rolünü

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 6 Kalıtım (Inheritance) - I Bu bölümde;

Detaylı

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 11: Bileşim, Arkadaş ve Diğer Araçlar İçerik Bileşim Arkadaş Fonksiyonlar ve Sınıflar Arkadaş Fonksiyonlar Arkadaş Sınıflar Sabit Nesneler Sabit Üye Fonksiyonlar

Detaylı

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA BÖLÜM-II ALGORİTMA I. GİRİŞ Bilgisayar dünyasında, insanın

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI

YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI Yazılım Nedir? Yazılım, 1. Komutlar : yürütüldüğü zaman istenen fonksiyon ve performansı sağlar, 2. Veri Yapıları : programa verileri yeteri kadar işlemek

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ı

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 3 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr

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 Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

MONTE CARLO BENZETİMİ

MONTE CARLO BENZETİMİ MONTE CARLO BENZETİMİ U(0,1) rassal değişkenler kullanılarak (zamanın önemli bir rolü olmadığı) stokastik ya da deterministik problemlerin çözümünde kullanılan bir tekniktir. Monte Carlo simülasyonu, genellikle

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ı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR

NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu sunumda Prof. Dr. Yılmaz KILIÇASLAN ın Nesneye Yönelik Programlama dersi sunumlarından faydalanılmıştır.

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 Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Bilgisayar Programlama Dilleri

Bilgisayar Programlama Dilleri Bilgisayar Programlama Dilleri Ömer YÜCEL 13253072 1/32 Sunum İçeriği 1. Program ve Programlama Dili Nedir? 2. Programlama Dillerinin Tarihçesi 3. Programlama Dillerinin Sınıflandırılması 4. Programlama

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

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ı

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ı

Java Temel Özellikleri

Java Temel Özellikleri Java Temel Özellikleri Java Programlama Dili Java programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince elektrikli ev aletlerinin birbiriyle

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının

Detaylı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

TEMEL STRING İŞLEMLERİ

TEMEL STRING İŞLEMLERİ TEMEL STRING İŞLEMLERİ GİRİŞ.Net kodu yazarken String işlemleri büyük önem taşımaktadır. String ler kelimeler üzerinde yapılan işlemlerde kullanılmaktadır. Gerçekleştireceğimiz çalışmalarda da bu veri

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Yapılar ve Birlikler enum Deyimi

Detaylı

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

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ı

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler Programlama Dilleri 1 Ders 12: Belirleyiciler ve Niteleyiciler Genel Bakış Giriş Yer Belirleyicilerle Bildirim İşlemi auto Belirleyicisi register Belirleyicisi static Belirleyicisi Statik ve Global Değişkenlerin

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1 Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 10: Yapıcı ve Yıkıcı Fonksiyonlar Yapıcı Fonksiyonlar İçerik Yapıcı Fonksiyon Tanımı Üyelere İlk Atama Yapıcı Fonksiyonu Yükleme Yapıcı Fonksiyon Çağırımı Kopya

Detaylı

YAPAY SİNİR AĞLARI. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

YAPAY SİNİR AĞLARI. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ YAPAY SİNİR AĞLARI Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ İÇERİK Sinir Hücreleri Yapay Sinir Ağları Yapısı Elemanları Çalışması Modelleri Yapılarına Göre Öğrenme Algoritmalarına Göre Avantaj ve

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

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ı

Concept Learning. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ. Yapay Zeka - Kavram Öğrenme

Concept Learning. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ. Yapay Zeka - Kavram Öğrenme Concept Learning Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ 1 İÇERİK Öğrenme Metotları Kavram Öğrenme Nedir? Terminoloji Find-S Algoritması Candidate-Elimination Algoritması List-Then Elimination Algoritması

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI ... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE 2018 2019 ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI Hazırlayan : Özel Öğretim Kurumları Birliği (ÖZKURBİR) Dersin Adı : Bilişim

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 BAŞLAMADAN ÖNCE Bu dersi alan öğrencilerin aşağıdaki konuları bildiği

Detaylı

BTEP243 Ders 3. class Yazım Kuralı:

BTEP243 Ders 3. class Yazım Kuralı: BTEP243 Ders 3 Sınıflar ve Nesneler Nesne tabanlı programlamada, programlamanın temeli sınıflardır (class). Nesnelerin yaratılmasında taslak (blueprint) görevi görür. Sınıflar; o Nesnelerin özelliklerinin

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ı

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ı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 6. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu ALGORİTMA ÖRNEK1: İki sayının toplamı

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 7 Abstract (Soyut Sınıflar) Bu bölümde;

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS PROGRAMLAMA DİLLERİ BG-324 3/2 3+0+0 3+0 4 Dersin Dili : TÜRKÇE Dersin Seviyesi

Detaylı

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

Okut. Yüksel YURTAY. İletişim :  (264) Sayısal Analiz. Giriş. Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Giriş 1 Amaç : Mühendislik problemlerinin bilgisayar ortamında çözümünü mümkün kılacak

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Koşul Karşılaştırma Operatörleri Mantıksal

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma 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ü

Detaylı

Kalıtım (Inheritance)

Kalıtım (Inheritance) Kalıtım (Inheritance) Kocaeli Üniversitesi Kalıtım (Inheritance) Kodların çok kez kullanımı (Software reusability) Mevcut Sınıflardan Yeni Sınıflar Oluşturma Mevcut sınıfın değişken ve fonksiyonları kullanılabilir.

Detaylı

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b. Diziler Dizi Nedir Ortak özelliğe sahip birden fazla bilginin oluşturduğu bütün bilgi kümelerine veya hafızada art arda sıralanmış aynı türden verilerin oluşturduğu yapıya dizi denir. Kısaca; Bellekte

Detaylı

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME PROGRAMLAMAYA GİRİŞ VE ALGORİTMA Yazılım Nedir Algoritma Akış Seması Örnekler Yazılım Nedir? Çeşitli görevleri gerçekleştirmek amacıyla hazırlanmış programlara

Detaylı

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

Genel Programlama I

Genel Programlama I Genel Programlama I 30.09.2010 1 Genel Programlama I Ders İçeriği Programlamaya giriş ve algoritma kavramları Basit ve karmaşık veri tipleri Program kontrol komutları (Döngü ve şart yapıları) Diziler ve

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

Detaylı

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI MAK 1005 Bilgisayar Programlamaya Giriş Uludağ Üniversitesi, Mühendislik Fakültesi Makine Mühendisliği Bölümü BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI Prof. Dr. Necmettin Kaya 1 KONULAR 1. Bilgisayara giriş,

Detaylı