EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER. Bölüm : Visual Studio Kullanımı. Konu : Visual Studio Açılış Ekranı

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

Download "EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER. Bölüm : Visual Studio Kullanımı. Konu : Visual Studio Açılış Ekranı"

Transkript

1 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı Konu : Visual Studio Açılış Ekranı

2 Visual Studio başlatıldığında bizi açılış sayfası karşılar. Açılış sayfası aracılığıyla şunlar yapılabilir : Sol üst kısımda New Project linkine tıkladığında açılacak diyalog kutusu, istediğin tipte.net projesi açmana yardımcı olur. Express versiyonda, full versiyona göre daha az proje şablonu listelenecektir. Yeni proje oluşturuken altı çizilmesi gereken bir diğer nokta şudur : Açılan proje, istenen.net Framework versiyonuna yönelik kodlanabilir. Buna gerekçe olarak şöyle bir örnek verilebilir : Uygulamanın yazıldıktan sonra çalışacağı gerçek ortamda bir önceki framework versiyonunun bulunması ve teknolojileri departmanı politikası uyarınca o anda yükseltilememesi. Bu şekilde ilgili framework versiyonunun sahip olduğu yeteneklerle uygulama geliştirebilirsin. 2 / 45

3 Sol üst kısımda Open Project linkine tıklayarak önceden kayıt attiğin bir projenin sln dosyasını göstererek çalışmaya devam etmene yardımcı olur. Sol taraftaki Recent Projects kısmında en son çalıştığın projeleri listeler. Projeleri hızlıca yeniden açmanı ve çalışmaya devam etmeni sağlar. Sağ tarafta 3 tane tab vardır. o Get Started (Başlangıç): Windows, Web, Oficce Uygulamaları Geliştirme gibi alt başlıklarda programlama yapmak için yardımcı olacak makale, video gibi kaynaklar bulunur. Bu kaynakların bir çoğuna erişmek için internet bağlantısına ihtiyaç olacaktır. o Guidance and Resources (Rehber ve Kaynaklar) : Yazılım geliştirme sürecini düzenlemek için yardımcı kaynaklar içerir. Planlama, yazılım dizaynı, geliştirme, test, yayınlama, yönetme alt başlıkları için Visual Studio yu daha etkin nasıl kullanacağın konusunda makale ve videolar içerir. Burası aynı zaamnda MSDN deki kaynakları efektif kullanman için sana yol gösterici olacaktır. o Latest News (Güncel Haberler) : Buraya bir rss kayıt edebilirsin. Varsayılan olarak Microsoft uygulama geliştirme ile ilgili son haberleri içeren bir rss linki kayıtlıdır. Bilgisayarının internet bağlantısı olduğunda en son gelişmeleri buradan takip etmen mümkün. 3 / 45

4 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı 4 / 45 Konu :

5 Visual Studio kullanırken bütün ekranlarda gördüğün menüler komut ve pencerelere erişim için kolaylık sağlar. Bu menüler yardımıyla Visual Studio nun gücünden faydalanabilirsin. Menüleri birkaç örnek ile inceleyelim : File : Üzerinde çalışılan proje kayıt edilebilir yada kapatılabilir, yeni proje açılabilir. Edit : Solution Explorer, Server Explorer, Object Browser gibi geliştiricinin ihtiyaç duyacağı pencereler açılabilir. Project : Projeye yeni kod dosyaları eklenebilir, referans kütüphane yada servis eklenebilir. Build : Projelerin derlenmesi için kullanılır. Kod yazarken sık sık kodun derlenmesi ve varsa hataların incelenmesi için faydalıdır. Debug : Kesme işareti (breakpoint) koyulabilir, debug edilebilir. Programların satır satır ilerlenerek incelenmesi için kullanılabilir. Lokal değişkenlerin belli bir anda çalışma zamanındaki durumunu anlamak için faydalıdır. Data : Bir veri kaynağına bağlanmak için kullanılır. Örneğin bir sql veritabanındaki tablolar ve verileri incelenebilir, sorgu ekranı olarak kullanılabilir. Tools : Visual Studio nun görsel ayarları yapılabilir. Window : Visual Studio ekranını bölerek kullanmak, tab görünümünü değiştirmek için kullanılır. Help : Geniş MSDN (Microsoft Developer Network) kaynakları içerisinde yardım aramak için, Visual Studio nuzun versiyonunu öğrenmek için kullanılabilir. 5 / 45

6 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı Konu : Visual Studio Pencereleri 6 / 45

7 Visual Studio Pencereleri Visual Studio nun gücünü daha yakından tanıyabilmek adına yazılım geliştirici için bazı önemli pencereleri inceleyelim. Solution Explorer Üzerinde çalıştığın proje ile ilgili birçok detaya Solution Explorer penceresinden erişebilirsin. Projeye dahil ettiğin kod dosyaları Projeye dahil ettiğin görsel arayüzler(windows form, web sayfası gibi) Projeye referans olarak eklenmiş assembly ler Projenin konfigürasyon dosyası Proje ile ilgili bütün dosyalar, projeyi oluştururken senin belirlediğin dizinde bir klasör içerisinde saklanır. Solution Explorer, bu klasörü sana hiyerarşik bir şekilde gösteren penceredir. Solution Explorer penceresini açmak için menüden View Solution Explorer sekmelerini takip edebilirsin. Tek Solution İçerisinde Birden Fazla Proje İle Çalışmak Bazen aynı çözüm için birden fazla proje yazman gerekebilir. Örneğin bir içerik yönetim sistemi programı için windows uygulaması açılabilir. Ardından excel dosyalarındaki verileri veritabanına kayıt etmek için basit bir konsol uygulamasına ihtiyaç duyulabilir. Her proje bir solution olabileceği gibi, bir solution içinde birden fazla proje saklanabilir. Bu durumda 2.projeyi Solution Explorer üzerinde açmak gerekir. Bunun için Solution Explorer içinde ilk satıra sağ tıklayıp Add New Project demek yeterlidir. Böylece tek bir sln dosyası ile birden fazla projeyi gruplayarak takip edebilirsin. 7 / 45

8 Projeye Referans Eklemek Projene.NET Framework içerisinde en sık kullanılan assembly lerin referansları dahil edilmiştir. Bunu Solution Explorer içindeki References klasöründe görebilirsin. Varsayılan olarak eklenen bu kütüphanelerin listesi, açtığın proje çeşidine göre değişiklik gösterir..net Framework içerisindeki diğer kütüphaneleri programında kullanmak isteyebilirsin. Örneğin açtığın konsol uygulamasının konfigürasyon dosyasına (App.config) erişmesi için gerekli tipleri içeren System.Configuration.dll ini eklemek istedin. Bunun için yapman gereken References klasörüne sağ tıklamak ve Add Reference menü kalemini seçmektir. Açılan pencerede birkaç tane sekme var. 8 / 45

9 .NET sekmesi, çalıştığın bilgisayarda kurulu olan framework ün sahip olduğu bütün assembly leri listeleler. Bunlardan istenen dll dosyası seçilip OK butonuna basılır. Artık seçtiğin assembly içindeki bütün tiplerden faydalanabilirsin. Browse sekmesini kullanarak bir arkadaşının yazdığı yada internet gibi diğer kaynaklardan bulduğun kütüphaneleri, projende kullanabilirsin. Bunun için yapman gereken şey, dll dosyasının dizindeki yerini göstermek ve ardından OK butonuna basmak. Server Explorer Server Explorer, Visual Studio nun sunucu yönetim penceresidir. Bu pencere yardımı ile, bir veri kaynağına bağlanıp oradaki veritabanını incelenebilir. Bağlanılan veritabanı altında tablolar, fonksiyonlar listelenir. Dilenirse sql sorguları yazılabilir. Microsoft Sql Server yanında Access, Oracle gibi diğer veri kaynaklarına da bağlanılabilir. Bunun yanında ağ üzerindeki bir bilgisayara bağlanıp sistem servislerinden bilgi almak için kullanılabilir. 9 / 45

10 Server Explorer penceresini açmak için menüden View Server Explorer sekmelerini takip edebilirsin. Object Browser Object Browser, projende yer alan bütün tip ve üyeleri incelemene izin veren bir araçtır. Projeye varsayılan olarak dahil olan kütüphaneler, kendi yazdığın kodlar ve senin sonradan eklediğin kütüphaneleri burada bulabilirsin. Bu pencere sayesinde ilk defa kullanacağın bir kütüphaneyi yakında inceleyebilir ve hangi üyelerini kullanabileceğin hakkında fikir sahibi olabilirsin. Projenin referans mimarisini bir başka geliştirici arkadaşına anlatırken Object Browser aracından faydalabilirsin. Burada yakalaman gereken bir başka detay da şudur : Solution Explorer penceresindeki referanslarda yer almayan ama Object Browser aracında görülen : mscorlib. Bu assembly, varsayılan olarak bütün.net projelerine dahil edilir. İçerisinde int, double, Console vb. en temel veri tiplerini barındırır. Object Browser penceresini View Object Browser menüsünden açabilirsin. 10 / 45

11 Object Browser üç tane panelden meydana gelmektedir: Solda Nesne Paneli Sağ üstte Üye Paneli Sağ altta Açıklama Paneli Nesne panelinde yer alan ikonlar,.net Framework içerisindeki hiyerarşik yapıları ağaç görünümünde sunmaktadır. Bu ağaçta isim alanları (namespaces), assembly ler, arayüzler (interface), sınıflar (classes) gibi bir programı oluşturan bütün kavramlar gösterilir. Bu nesneleri panel üzerinde genişletebilir ve kendisine bağlı üyeleri sıralı olarak inceleyebilirsin. Özellikler, metotlar, olaylar, değişkenler ve diğer tip üyeleri Üye Panelinde listelenir. Nesne ve Üye panelinde seçilen programlama nesnesinin detayı Açıklama Panelinde gösterilir. 11 / 45

12 Class View Class View, geliştirmekte olduğun uygulamanın içinde çağrılan, referans edilen ve tanımlanan programlama nesnelerini gösterir. Class View penceresini View Class View menüsünden açabilirsin. 12 / 45

13 Class View penceresinin iki tane paneli vardır : Nesne Paneli Üye Paneli Bu pencere uygulama yazarken her zaman açık kalabilir; böylece uygulama içindeki hiyerarşiye sürekli hakim olursun. İkonlar sana hiyerarşik yapıyı gösterir; bu şekilde projendeki tiplerin ve o tiplere ait üyelerin listesini görürsün. Aynı zamanda kendi yazdığın tip yada üyeye tıklayarak projedeki kodun olduğu yere gidebilirsin..net Framework e ait bir tip yada üyeye tıkladığında ise daha detaylı inceleyebilmek için Object Browser aracına geçiş yapabilirsin. Code Definition Code Definition, sen kod yazarken kullandığın tip ve üyelerin tanımlarını anlık olarak sana gösteren bir penceredir. Aktif projede senin yazdığın yada referans edilmiş kütüphanelerin içindeki kod dosyalarında yer alan tanımları gösterir. Gösterdiği tanımları sadece-okunabilir olarak sunar. 13 / 45

14 Pencereyi View Code Definition Window menüsünden ilk defa açtığında, en son seçtiğin nesnenin tanımını gösterir. Sadece okunabilir olmasına rağmen birçok açıdan fonskiyonel bir editördür. Örneğin bu pencereden kod yada yorum satırı kopyalayabilirsin. Penceredeki kod satırına kesme işareti (breakpoint) koyabilir; bu yolla programın o satıra kadar çalışıp o satırda duraksamasını sağlayabilirsin. Pencerede gördüğün içeriği güncellemek istediğinde ise pencere içinde sağ tıklayıp Edit Definition alt menüsünü seçerek ilgili koda gidebilirsin. 14 / 45

15 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı Konu : Visual Studio İle Uygulamaların Debug Edilmesi 15 / 45

16 Yazmakta olduğun C# programı çalışırken lokal değişkenlerin değerini görmek istedin. Bu, değerlerin doğru olduğundan emin olmak adına faydalı olacaktır. Aynı şekilde programı satır satır çalıştırarak uygulamanın davranışını takip etmek çok işine yarayacak. İşte sana Visual Studio ortamında değişkenlerin debug edilmesi ile ilgili bir örnek ekran : Lokal değişkenlerin çalışma zamanında içeriklerine bakmak için kod bloğunun uygun bir yerine kesme işareti (breakpoint) koymak gerekir. Bunu modellemek adına C# dili ile yazılmış ve bir çok lokal değişkene sahip kısa konsol programına göz atalım : Lokal Değişkenler Kullanan C# Programı using System; namespace DebugCsharpProgram class Program static void Main(string[] args) //İndirim oranı - Lokal değişken double oran = 0.15; //Aracın fiyatı - Lokal değişken long fiyat = 25460; //İndirimli satış rakamı - Lokal değişken double sonfiyat = fiyat - (fiyat * oran); 16 / 45

17 0",sonFiyat); Console.WriteLine("Aracın satış rakamı : 17 / 45

18 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı Konu : Kesme İşareti (Breakpoint) Eklemek 18 / 45

19 Örnek programın sonuna doğru bir kesme işareti ekliyoruz. Kaynak kodu yazdığın ekranın en solunda dar gri bir şerit göreceksin. Debug etmek istediğin satırda o şerite tıkla (F9 yada menüden Debug Toogle Breakpoint). Visual Studio orayı kırmızı bir daire ile işaretler. Kod üzerinde oluşan kırmızı blok ise debugger ın açılacağı bloğu belirtir. 19 / 45

20 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı Konu : Debug İşlemini Başlatmak 20 / 45

21 Visual Studio ile programı başlatırken, aynı zamanda debugger ın nasıl başlatılacağını görelim. Bunu yapmak için Visual Studio da üst kısımdaki araç çubuğunda yer alan yeşil oka tıklamak yeterlidir. Bu, klavyede F5 tuşuna basmak ile aynı işlemi gerçekleştirir. Ayrıca debug süreci kısayollar yerine, menüden yönetilebilir. Visual Studio üst menüsünde Debug Start Debugging tıklanarak hem uygulama çalıştırılmış olur, hem de kod içerisinde kesme işaretiniz (breakpoint) varsa program çalışıp o satırda çalışmayı duraksatır ve bekler. Programın Kesme İşaretine Gelmesi Program çalıştırıldığında kod dosyasına koyulan kesme işaretine gelir ve çalışması ilgili o satırda duraksar. Kırmızı kod bloğu, sarıya döner. Sol şeritteki kırmızı dairenin içinde sarı ok belirir ve debugger ın o anda hangi satırı işletmekte olduğunu sana gösterir. Visual Studio Call Stack, Immediate Window gibi birçok panel açar ve çalışma zamanı ile alakalı geliştiriciye kullanışlı bilgiler sunar. Bu noktada Locals penceresini açarak, o anda bellekte yer alan lokal değişkenleri inceleyelim. Visual Studio daki birçok ekran gibi Locals penceresini açmanın da birçok yolu var. Şimdi Debug Windows Locals menüsünü kullan. 21 / 45

22 Buradaki kolonların ne ifade ettiklerine kısaca göz atalım: - Name : Lokal değişkene verilen isim - Value : Lokal değişkenin çalışma zamanında o andaki güncel değeri - Type : Tanımlanan lokal değişkenin veri tipi Komut Satırları Arasında Adım Adım İlerlemek Bazen kodu debug ederken bir sonraki satıra ilerlemek isteyebilirsin. Bunu yaparken sıradaki metodun içerisine girip satır satır kodu işletmek ve oradaki değişkenlerin aldığı değerleri görme ihtiyacın olabilir. Ayrıca 3 satır aşağıda başka bir kesme işareti (breakpoint) koymuş olabilirsin ve satır satır ilerlemeden programın doğrudan oraya kadar çalışmasını ve orada yeniden duraksamasını isteyebilirsin. Bunun için tekrar F5 e basman yeterlidir. İşte diğer seçenekler : Step Into (F11) Bu hareket, programın bulunduğu satırı çalıştırmasını ve ardından bir sonraki satıra geçmesini sağlar. Eğer debugger ın o an üzerinde bulunduğu satır, metot çağıran bir kod içeriyorsa debugger metodun içine girer ve ilk satırında duraksar. Böylece metot içerisindeki lokal değişkenlerin durumu gözlenebilir. Menüden Debug Step Into yada klavyeden F11 ile kullanılabilir. Step Over (F10) Bu hareket, programın bulunduğu satırı çalıştırmasını ve ardından bir sonraki satıra geçmesini sağlar. Ancak sıradaki satırda bir metot varsa onun içine girmez ve metodu çalıştırıp devam eder. Menüden Debug Step Over yada klavyeden F10 ile kullanılabilir. Step Out (Shift + F11) Bu hareket, o an debug edilen metodun geri kalanına satır satır devam etmeyip tek seferde çalıştırır ve kendisini çağıran metoda geri döner. Adım adım çalışmaya dışardaki metottan devam eder. Menüden Debug Step Out yada klavyeden Shift + F11 ile kullanılabilir. 22 / 45

23 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı Konu : Debug İşlemini Sonlandırmak 23 / 45

24 Kodu Debug ederken istenen anda vazgeçebilir ve programı sonlandırabilirsin. Bunu yapmak için Visual Studio da üst kısımdaki araç çubuğunda yer alan mavi kare işaretine tıklaman yeterlidir. Alternatif olarak klavyeden Shift + F5 tuşlarını kullanabilirsin. Bir Uygulamayı Debug Etmeden Çalıştırmak Yazdığımız programın içinde breakpoint ler olsa da olmasa da adım adım ilerlemek yerine bütün programı tek seferde çalıştırmak ve ortaya çıkan sonucu görmek istediğinde Debug Start Without Debugging yada Ctrl + F5 tercih etmelisin. Debug Seçeneğini Devre Dışı Bırakmak Yazdığın programı gerçek ortamında yayınlamadan önce debug etme seçeneği devre dışı bırakılmalıdır. Bunun sebebi debugger ın önemli ölçüde performans yükü getirmesidir. Debug seçeneği web.config dosyası üzerinden kapatılmış bir programın çalışması, açık olan programın çalışmasına göre yaklaşık 2 kat daha hızlıdır. Bunun için web uygulamasında web.config dosyasında compilation etiketinin debug niteliğine false değer vermelisin. Konsol yada masaüstü uygulamalarda ise menüden Project ProjeAdin Properties Debug Configuration listesinde Release seçmelisin. 24 / 45

25 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı Konu : Kontrol Yapıları 25 / 45

26 If Kontrolü İngilizce olarak Eğer anlamına gelen if kontrolü, aynen Türkçe deki gibi kullanılır. Eğer ile başlayan cümlenin mantıksal ifadesi doğru (true değer dönerse) ise eğer için yazılmış kod bloğu çalıştırılır; aksi takdirde bu bloğun atlanarak çalıştırılmamasını sağlar. Bir uygulamanın kod akışını belli şartlara bağlı olarak dallandırmak için kullanılan if deyiminde kontrol her zaman ilişkisel, koşul veya eşitlik operatörleri ile sağlanır. Genel söz dizimi aşağıdaki gibidir : İf (mantıksal ifade) //Yapılacak iş bloğu Bu örneğimizde mantıksal ifadenin doğru olması halinde Yapılacak iş bloğu nun bulunduğu blok çalışır; yanlış olması yani false değer döndürmesi halinde ise Yapılacak iş bloğu nun bulunduğu kod bloğu çalıştırılmadan atlanır ve bloğun bittiği noktadaki satırdan itibaren normal kod akışı devam eder. Ayrıca, if bloğunu takiben, bir else bloğu kullandığında; eğer mantıksal ifadenin döndürdüğü değer yanlış olursa, if bloğu atlanıp, else bloğu içerisindeki kod çalıştırılacaktır. Yani, mantıksal ifadenin sonucuna bağlı olarak, iki farklı kod bloğundan sadece birini çalıştırmak istediğin durumlarda if deyimini else ile birlikte kullanabilirsin. İhtiyaç dahilinde if ve else bloklarını bir arada kullanmak istediğinde, genel söz dizimi aşağıdaki gibidir : if(mantıksal ifade) //Yapılacak iş bloğu 1 else //Yapılacak iş bloğu 2 Bu örnekte mantıksal ifadenin doğru olması halinde halinde Yapılacak iş bloğu 1 in bulunduğu ilk kod bloğu çalışır; mantıksal ifadenin yanlış olması halinde halinde ise Yapılacak iş bloğu 2 nin bulunduğu kod bloğu çalışır. x>7 : x değişkeninin içerisindeki değer 7 den büyük olursa mantıksal ifade true döndürür, 7 ye eşit yada 7 den küçük olursa mantıksal ifade false döndürür. int not1 = 80; int not2 = 90; int ortalama = (not1 + not2) / 2; if (ortalama < 50) Console.WriteLine("Bu dersten kaldınız"); else 26 / 45

27 Console.WriteLine("Bu dersten geçtiniz"); not1 ve not2 değişkenlerinin ortalaması alınarak hesaplanan ortalama değişkeninin değerine bağlı olarak uygulamada iki farklı kod bloğundan birisi çalışır. Hangi kod bloğunun çalışacağına if() deyiminin içerisindeki mantıksal ifadenin değerlendirilmsi sonucunda karar verilir. ortalama, 85 olarak hesaplanarak if kontrolüne girer; burada (85 < 50) şeklindeki mantıksal ifade değerlendirilir ve sonuç yanlış (false) olarak elde edilir. Bu noktada if, kontrolün ilk bloktan mı yoksa ikinci bloktan mı devam edeceğine karar verir ve elde edilen sonuç yanlış olduğu için kod akışı else bloğuna yönlendirilir. if ve else anahtar kelimelerinin ardından sadece tek bir komuttan oluşan bir kod bloğu çalıştırılacak ise bloğu küme parantezleri içerisine almaya gerek yoktur. Örneğin; if (ortalama < 50) Console.WriteLine("Bu dersten kaldınız"); Fakat, birden fazla komut barındıran bir kod bloğu kullanılacağı zaman, küme parantezlerinin kullanılması zorunludur. Aksi takdirde if den sonra kullanılmayan küme parantezleri için derleme zamanı hatası oluşma riski vardır. (eğer arkasından else kullanılmış ise), else den sonra kullanılmayan küme parantezleri derleme zamanında hata üretmez fakat bloğun ilk satırından sonraki kodlar else bloğundan bağımsız olarak çalışır ve isteğimiz dışında bir davranış sergiler. Bu gibi olası hataların gerçekleşmesinin önüne geçmek için, kod bloğumuz tek bir komuttan oluşsa dahi, if/else bloklarını küme parantezleri içerisinde yazmalıyız. Benzer durum, ileriki konuda anlatılacak olan for döngüsü için de geçerlidir. Yukarıdaki örneğin çıktısı şöyledir: if bloğu kullanımına örnek olarak aşağıdaki kodları inceleyelim: if ((5 % 2) == 0) Console.WriteLine("5, tek sayıdır"); else Console.WriteLine("5, çift sayıdır"); 27 / 45

28 5 in 2 ile bölümünden kalan 1 dir. Dolayısıyla if deyimi false değer döndürür ve kontrol else bloğundan akışına devam eder. Bu aşamalar debug edilerek çok daha sağlıklı bir şekilde gözlemlenebilir. Debug işlemi, konunun anlaşılmasını da kolaylaştıracaktır. Operatör öncelikleri if parantezi içerisinde herhangi bir mantıksal ifade olması yeterlidir. Bu birden fazla ifadenin birleşimi de olabilir, çok basit bir kontrol de olabilir. Örnekte if bloğu içerisinde 7 nin 2 ile bölümünden kalan sayının 0 a eşit olup olmadığı kontrol edilmektedir. (7 % 2) ifadesi parantez içerisine alınmasa da kod sağlıklı bir şekilde çalışır; çünkü aritmetik operatörlerin eşitlik operatörüne karşı önceliği vardır. Ancak; hiçbir zaman işi önceliklere bırakmayıp, kendi önceliklerini aynen matematik kurallarında olduğu gibi- parantezlerle belirlemen tavsiye edilir. Örnekte de bu tavsiyeye uyulmuştur. Hiçbir zaman işi önceliklere bırakma, kendi önceliklerini parantezlerle belirle. if else if İfadeleri if deyimleri birbirine bağlı olarak, arka arkaya kullanıldığında, mantıksal deyimler birbirlerine zincirlenir ve bir tanesi true değer döndürünceye kadar birbiri arkasına çalıştırılır. Örneğin haftanın günlerini ele alalım. Kullanıcıdan alınacak haftanın gün sayısı ile günün ne olduğunu ekrana yazdıracağımızı düşünelim: string gunadi; Console.Write("1 ile 7 arasında haftanın bir gününü giriniz : "); string gun = Console.ReadLine(); if (gun == "1") gunadi = "Pazartesi"; else if (gun == "2") gunadi = "Salı"; else if (gun == "3") gunadi = "Çarşamba"; else if (gun == "4") gunadi = "Perşembe"; else if (gun == "5") gunadi = "Cuma"; else if (gun == "6") gunadi = "Cumartesi"; else if (gun == "7") gunadi = "Pazar"; else gunadi = "Doğru gün sayısı girilmedi"; Console.WriteLine(gunAdi); Bu örnekte kullanıcının hatasız şekilde bir sayı girdiği varsayılır. İlk if den itibaren girilen sayı ile karşılaştırma yapılarak ilerlenir. if ve else if kontrolleri birbirlerine bağlı şekilde çalışmaktadır. Bu yüzden if ya da else if lerden herhangi birinde doğru değer 28 / 45

29 tutturulmuşsa kontrol bağlı bulunan diğer blokların sonuna gider. Diğer bloklar boşuna kontrol edilmez. Çünkü oradaki dizayn, bir tane doğrunun olması üzerine kuruludur. else/if yapısı else/ if blokları doğru bir şekilde çalışıyor. if Bloğunda Koşul Operatörleri if bloklarında koşul operatörleri de (&&, ) kullanılabilir. Özellikle birden fazla koşulu tek bir if içerisinde test etmek istediğimizde bu yola başvurabiliriz. Aşağıdaki yüzde kontrolü buna iyi bir örnektir. int yuzde = 90; if ((yuzde >= 0) && (yuzde <= 100)) Console.WriteLine("Yüzde 0",yuzde); else Console.WriteLine("Geçersiz yüzde"); Switch Kontrolü if else ve/veya if else if deyimleri ile yapılabilen kontrollerin, bazı durumlarda switch deyimi ile yapılması tercih edilebilir. Özellikle if else if deyimlerinin sayısı arttıkça, switch deyiminin tercih edilmesi, hem daha etkili, hem de daha okunaklı kod yazılmasını sağlar. Dikkat edilmesi gereken nokta, switch bloklarının sadece sabit değerler üzerinden koşul denetimi yapıyor olmasıdır. switch bloklarında eşitlik denetimi yapılıyor olmasına rağmen, karşılaştırma veya eşitlik operatörlerinden faydalanılamaz. Genel söz dizimi aşağıdaki gibidir: 29 / 45

30 int karardegiskeni = 1; switch (karardegiskeni) case 1: Console.WriteLine("Karar 1"); break; case 2: Console.WriteLine("Karar 2"); break; default: Console.WriteLine("Varsayılan Karar"); break; Burada kodun hareketini kontrol eden karardegiskenidir. Onun değeri switch bloğu içerisindeki case anahtar kelimesinin önündeki değererle karşılaştırılır. Eğer eşleşen bir değere rastlarsa bir alt satıra geçer ve kodu çalıştırır. Aksi takdirder otomatik olarak bir sonraki case anahtar kelimesini kontrol etmeye geçer. Eşleşen hiçbir case bulunamazsa, default anahtar kelimesinin altındaki kodlar çalışır. case lerin altında herhangi bir süslü paranteze ihtiyaç duyulmaz. Çünkü eşleşen bir case in kodları aşağıya doğru akar ve break anahtar kelimesini görene kadar çalışır. break, kod akışını switch deyiminin sonuna götürür. Böylece şartlardan sadece bir tanesinin çalışması ve diğerlerinin atlanması garanti altına alınır. Switch bloğunda default bulunmak zorunda değildir. Eğer default varsa ilgili bloğun sonuna da break koyulmalıdır. detault yoksa, en son case deyimi break ile bitmelidir. Zaten unutulursa derleyici, derleme zamanı hatası vererek uygulama geliştiriciyi uyaracaktır. Aşağıdaki örnekte kullanıcıdan sayısal bir değer alınıp, bu değere bağlı olarak kullanıcıya basit cevap veren bir uygulama yer almaktadır. Kullanıcıdan istenilen değerler dışında bir sayısal değer girilmesi durumunda, if kontrolündeki else bloğunun benzeri işlevselliğe sahip default bloğu çalışır. 30 / 45

31 Console.WriteLine("1 [C#], 2 [VB]"); Console.Write("Lütfen dil seçiminizi yapınız: "); string dilsecimi = Console.ReadLine(); int n = int.parse(dilsecimi); switch (n) case 1: Console.WriteLine("İyi tercih. C#,.NET in gözdesidir"); break; case 2: Console.WriteLine("VB.NET: İşin biraz zor ama imkansız değil"); break; default: Console.WriteLine("Geçersiz bir değer girdin. Sana iyi şanslar"); break; switch deyimi kullanılarak kontrol edilecek değişken (Yukarıdaki örnekte dilsecimi değişkeni) tipleri şunlar olabilir: Bütün tam sayı tipler, metinsel tipler, bool tipi veya her hangi bir numaralandırıcı (enum) tipi. 31 / 45

32 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı Konu : Döngüler 32 / 45

33 While Döngüsü Mantıksal bir ifade doğru olduğu sürece belli bir kod bloğunu, tekrar tekrar çalıştırılmak istediğinde başvurabileceğin döngü deyimlerinden biridir. Döngülerin çalışma mekanizmasını daha kolay kavrayabilmen için, aşağıdaki kod parçasını, çalışma zamanında debug edip, adım adım ilerlemelisin. int a = 0; while (a <= 5) Console.WriteLine("a'nın şu anki değeri : 0",a); a++; Önce a değişkeni tanımlanır ve 0 değerini alır. Sonra while deyiminin içerisi kontrol edilir. Bu deyimin içi doğru olduğu sürece, while bloğu (küme parantezleri arası) tekrar tekrar çalıştırılır. Dolayısıyla, deyim içerisinde kontrol edilen değişkenin değeri, her dönüşte denetlenen şartı bozmaya yönelik olarak değiştirilmelidir. Yani deyim içerisinde a<=5 ifadesini denetlerken, döngü bloğu içerisinde a nın değerini her seferinde azaltılırsak, bu döngüden çıkılmaz. Çıkılsa da sağlıklı olarak uygulamaya geri dönülemez. Bu yüzden a değişkeninin değeri her seferinde 1 arttırılır. İlk şart sağlanıp ekrana gerekli bilgilerin yazılmasının hemen ardından değişkenin değeri arttırılır. Sonrasında da döngü deyiminin kontrolü yeniden yapılır ve 1 değeri için de ifade doğru olduğundan, bloğa tekrar girilip kod çalıştırılır. Döngü değişkeninin değeri tekrar arttırır ve bu döngü a, 5 değerini alana kadar devam eder. Hatta 5 değeri de şartı sağladığı için döngü içerisindeki kod bloğu bir kere daha çalışır. Fakat sonraki artışta a değişkeni 6 değerini aldığı için koşul false değer döndürür ve döngü sonlanır. Kod akışı, döngü bloğundan sonraki ilk satırdan devam eder. Çıktı aşağıdaki gibi olur: While döngüsü örneği Burada dikkat edilmesi gereken nokta var. while döngüsünde 3 ayrı çok önemli parametre tamamen birbirinden ayrı yerlerde işleniyor. 33 / 45

34 Döngü değişkeninin tanımlandığı ve ilk değerinin verildiği yer, döngü bloğunun dışındadır. Döngünün ne kadar süre ile devam edeceğine karar verilen yer, döngü deyiminin içerisindedir. Döngü değişkeninin değer arttırımı ise döngü bloğunun içerisinde yapılmaktadır. Özellikle arttırım ifadesinin unutulmamasına ve doğru olarak verilmesine dikkat edilmelidir. Bu koordinasyon iyi kurulduğu sürece ihtiyaç duyulan yerlerde while döngüsünden maksimum fayda sağlanır. While döngüsü için yazılmış aşağıdaki örnekte kullanıcıdan istenen iki kelimeden birisi olan yes girilmediği sürece döngü içerisinde kalınmaktadır. Kullanıcıdan alınan değer doğru olsa dahi büyük harfli olması durumunda eşleşme olmayacaktır. Her ihtimalde doğru değerin kabul edilmesini garanti altına almak için ToLower() metodu ile girilen değerin küçük harfli temsili elde edilir. While döngüsünde döngü deyimi içerisindeki şart, kod bloğu çalışmadan önce kontrol edilir. Bundan dolayı, değişkene, döngünün devamını sağlayacak bir başangıç değeri verilir. string deger = "no"; while (deger.tolower()!= "yes") Console.Write("Tamam mı? [yes] [no]: "); deger = Console.ReadLine(); Console.WriteLine("*While döngüsündesin*"); Console.WriteLine("-While döngüsünden çıktın-"); Burada döngünün devamını kontrol eden şey ekrandan yes dışında herhangi bir şey girilmesidir. Çünkü döngü deyiminin içerisinde eşit olmadığı sürece kontrolü yapılmaktadır. deger.tolower()!= "yes" Do-While Döngüsü Do-While döngüsü tamamen while döngüsü gibi çalışır. Aralarındaki tek fark şudur. while döngüsünde döngü deyimi içerisindeki kontrol, döngüye girilmeden önce yapılır. do-while döngüsünde ise bu kontrol ilk döngü bloğundan çıkıldıktan sonra yapılmaya başlanır. Yani döngü bloğu içersinde yer alan kod, kayıtsız-şartsız ilk sefer için çalıştırılır. Öyleyse while döngüsünde verilen 2. örnek aşağıdaki gibi düzenlenebilir: string deger = ""; do Console.WriteLine("*While döngüsündesin*"); 34 / 45

35 Console.Write("Tamam mı? [yes] [no]: "); deger = Console.ReadLine(); while (deger.tolower()!= "yes"); Console.WriteLine("-While döngüsünden çıktın-"); Öncelikle bir do-while döngüsünün yapısını inceleyelim. Döngü bloğunun içerisi, ilk sefer için kontrol edilmeden çalışacağından while anahtar kelimesi ve döngü deyimi, kod bloğunun sonunda yer alır. do-while söz dizimi noktalı virgül ile biter. Kod bloğunun başına da do anahtar kelimesi gelir. Kod incelendiğinde görülen en önemli değişiklik, bloğun ilk çalıştırılmada kontrole maruz kalmamasıdır. İkinci değişiklik ise, her şart altında döngü bloğundaki kod çalıştırıldığı için (döngü deyimi içerisindeki şart sağlanmasa da) Console.WriteLine("*While döngüsündesin*"); yazısının döngü bloğunun başına alınmasıdır. Do-while döngüsü kullanımına örnek olarak kullanıcı adı ve şifreyi kullanıcıdan minimum bir defa isteyen bir algoritma düşünülebilir. Aşağıdaki kodu inceleyelim: string kullaniciadi = ""; string sifre = ""; do Console.Write("Kullanıcı adı giriniz : "); kullaniciadi = Console.ReadLine(); Console.Write("Şifre giriniz : "); sifre = Console.ReadLine(); while ((kullaniciadi!= "emrah") (sifre!= "1234")); Console.WriteLine("Siteye login oldunuz"); do bloğu herhangi bir kontrol yapılmadan ilk sefer için çalışır. Yanlış değerler girilmesi durumunda kullanıcıdan, kullaniciadi ve sifre bilgileri alınıp, ikinci sefer kontrol ettirilebilir. Kullanıcı adı ya da şifreden birinin bile yanlış olması durumunda login olmayı engellemek için kontrol aşağıdaki şekilde yapılmıştır: while ((kullaniciadi!= "emrah") (sifre!= "1234")); Bu deyim eğer kullanıcı adı emrah değilse ya da sifre= 1234 değilse döngüye devam edilsin olarak yorumlanabilir. 35 / 45

36 For Döngüsü For döngüsü, while döngüsü ile benzer bir fonksiyonelliğe sahiptir. Döngü değişkeninin tanımlanması, değişkenin döngü içerisinde güncellenmesi ve döngü koşul deyiminin bildirilmesi for döngüsünde tek bir yerde yapılır. Genel söz dizimi aşağıda yer almaktadır: for (başlangıç değeri; mantıksal ifade ; kontrol değerinin güncellenmesi) //kod bloğu; Bu 3 işlem, for döngüsünün temellerini teşkil eder. Şimdi, aşağıdaki örneği inceleyelim: for (int i = 0; i!= 10; i++) Console.WriteLine(i); 1. Baştaki i değişkeni, sadece döngünün başında bir defa oluşturulur. 2. Eğer ortadaki mantıksal (boolean) ifade doğru ise döngü bloğu çalıştırılır. 3. Sondaki kontrol değişkeni güncellenir ve mantıksal ifade yeniden hesaplanır. 4. Eğer koşul hala doğruysa döngü bloğu yeniden çalıştırılır. 5. Kontrol değişkeni güncellenir ve mantıksal ifade yeniden hesaplanır. 6. Ortadaki koşul (mantıksal ifade) false dönene kadar bu süreç devam eder. Burada dikkat edilmesi gereken bazı noktalar vardır: Değişken oluşturma ve başlanıç değeri verme sadece ilk döngüde gerçekleşir. Döngü bloğu her zaman konrol değişkeninin (i) güncellenmesinden önce çalışır. Güncelleme her zaman mantıksal koşul ifadesinden önce çalışır. For döngüsü örneği Başka bir örnek daha inceleyelim. For döngüsü kullanarak 1 ile 20 arasındaki tam sayıların toplamını bulan kod aşağıda yer almaktadır: 36 / 45

37 int toplam = 0; for (int i = 1; i <= 20; i++) toplam += i; Console.WriteLine("1 ile 20 arasındaki değerlerin toplamı : 0",toplam); Bu kod çalıştığında döngüden önce başlangıç değeri 0 olan toplam değişkeni tanımlanır. Döngü içerisinde her turda i değişkeninin güncel değeri toplam değişkenine eklenir. Bu sayede 1 den 20 ye kadar olan sayıların kümülatif toplamı elde edilir. For döngüsü kullanarak 1 ile 20 arasındaki sayıların toplamı For döngüsünde aralarına noktalı virgül koyularak belirtilen üç bileşenden herhangi biri, ikisi ya da üçü birden belirtilmeyebilir. Bu bileşenlerin uygun başka bir yerde belirtilmesi de mümkündür. İhtiyaç varsa çoklu başlangıç değeri ve güncelleme parçası kullanılabilir. Ayrıca döngü için oluşturulan değişkenlerle ilgili farkında olunması gereken bazı önemli noktalar vardır: Eğer mantıksal ifade yazılmazsa, varsayılan olarak dönecek değer true olacaktır. Dolayısıyla aşağıdaki for döngüsü sonsuza kadar çalışır: for (int i = 0; ; i++) Console.WriteLine("Biri beni durdursun"); Bir diğer sonsuz döngü çeşidi de aşağıda yer almaktadır: for( ; ; ) Bu tarz sonsuz döngülere çok sık ihtiyaç duyulmaz. Genel olarak giriş-çıkış (I/O) işlemlerinde, şifreleme algoritmalarında ve örneğin kullanıcı doğru değer girene kadar devam etmesi gereken durumlarda vb. kullanılabilir. 37 / 45

38 Değişken oluşturup başlangıç değerini verme ile değişkeni güncelleme parçaları for deyiminin içerisine yazılmasa dahi, doğru satırlara yerleştirilirse ortaya çıkan kod while döngüsüne benzemektedir. int i = 1; for ( ; i!= 11 ;) Console.WriteLine(i); i++; For döngüsü için birden fazla değişken tanımlanıp yönetilebilir. Çoklu değişken tanımlama, başlangıç değerlerini verme ve bu değişkenleri güncelleme ifadeleri noktalı virgülle ayrılan parça içerisinde yer alır ve kendi içlerinde virgül ile ayrılır. Ortadaki mantıksal ifade ise her zaman tek olmalıdır. Aşağıdaki örnek bunu modellemektedir: for (int i = 0, j = 20 ; i!= j; i += 2, j -= 2) Console.WriteLine(i + " <---> " + j); Döngü Değişkenleri For döngüsü kullanırken oluşturulan değişkenler, sadece döngü bloğu içerisinde geçerli değişkenlerdir. Yani döngü deyimi içerisindeki mantıksal (boolean) ifadenin false değer döndürmesinin ardından kod akışı döngü sonuna gelir ve değişken bellekten düşer. Dolayısıyla döngü sonunda değişken, kullanılmaya çalışılırsa derleyici bizi uyarır: for (int i = 0; i < 10; i++) // Hesaplamalar // i değişkeni burada bellekten düşer. Console.WriteLine(i); //Derleme zamanı hatası Yukarıdaki özelliğe bakarak şu ifade rahatlıkla söylenebilir: Ard arda gelen döngüler içerisinde aynı isimli değişkenler kullanılabilir. Bunu sağlayan şey, her değişkenin farklı bir kapsama alanına sahip olmasıdır: 38 / 45

39 for (int i = 0; i <= 10; i++) Console.WriteLine(i); Console.WriteLine("******************"); for (int i = 10; i >= 0; i-- ) Console.WriteLine(i); Son olarak for döngüsünün daha iyi anlaşılması adına aşağıdaki kodu analiz etmekte fayda vardır: (Ancak döngülerin bu şekilde kullanılması tavsiye edilmez) int i = 0; Console.WriteLine("*****Döngü başladı\n"); for(console.writeline("ben sadece ilk sefer çalışırım"); i < 6; Console.WriteLine("Ben döngü deyimi doğru olduğu sürece çalışırım")) Console.WriteLine(i); i++; Console.WriteLine("\n*****Döngü sona erdi"); Bu döngünün çıktısı aşağıdaki gibi olacaktır : 39 / 45

40 For döngüsünde döngü deyimi parçalarının çalışma sırası. 40 / 45

41 EĞİTİM : VISUAL STUDIO KULLANIMI - KONTROL YAPILARI VE DÖNGÜLER Bölüm : Visual Studio Kullanımı Konu : Atlama Deyimleri (Jump Statements) 41 / 45

42 Atlama deyimleri (jump statements) kullanılarak, kod akışı yönlendirilebilir ve akışta dallanma(lar) sağlanabilir. Atlama deyimleri şunlardır: break continue goto return throw Bu atlama deyimlerinden return, daha sonraki konularda işlenecek olan metotlarda kullanılır. return ifadesi, bir metotun çalışmasını sonlandırır. return kullanıldığında, kod akışı metot bloğunun sonuna gider. throw ise, program akışı sırasında oluşan alışılmışın dışında bir durumu (çalışma zamanı hatası -exception-) işaret etmek için kullanılır. throw anahtar kelimesinin kullanımına daha sonraki konularda değinilecektir. break Anahtar Kelimesi break anahtar kelimesine daha önce switch kontrolünde değinilmişti. Orada yaptığı iş, kontrolü switch bloğunun sonuna transfer etmek ve akışın oradan devam etmesini sağlamaktır. Bu anahtar kelime, bir döngü içerisinde kullanıldığında, yine switch örneğindekine benzer bir davranış gösterir. Kod akışını bir daha dönmemek üzere döngü bloğunun sonuna götürür. Bir başka deyişle döngü içerisinden bir koşul nedeniyle çıkılmak istendiğinde kullanılabilir. Aşağıdaki örnek bunu modellemektedir: for (int i = 0; i < 10; i++) if (i == 4) break; Console.WriteLine(i); //break çalışınca kontrolü buraya transfer eder. Console.WriteLine("Döngü sonu"); Döngü bloğu 0,1,2 ve 3 için sağlıklı bir şekilde çalışır. İlk dört dönüş içerisinde yapılan if kontrolleri sonucunda false değer döner ve break komutu çalıştırılmadan geçilir. Döngü değişkeninin (i) değeri 4 olduğunda if kontrolü true değer döneceği için break deyimi çalışır. Bunun sonucunda kod akışı, for döngü bloğunun sonuna gider. Dolayısıyla 4 için değer ekrana yazdırılamaz; sonraki sayılar için ise döngü çalışmaz. 42 / 45

43 break anahtar kelimesinin çalışma mekanizması Eğer iç içe döngü yapısı kullanılıyorsa; break, kod akışını kendisini çevreleyen en yakın döngü bloğunun dışına transfer eder. Yani kontrol dışardaki döngü için çalışmaya devam eder. continue Anahtar Kelimesi continue anahtar kelimesi, kod akışını, kendisini çevreleyen en yakın döngünün başına transfer eder. Görüldüğü noktadan sonrasını o tur için çalıştırmaz. Yani döngüyü bir turluğuna erteler. Döngü bir sonraki iterasyondan normal çalışmasına devam eder. break için yazılan kodu şimdi de continue için test edelim: for (int i = 0; i < 10; i++) if (i == 3) continue; //aşağıdaki kod, 3 değeri için çalışmaz; ancak //4 den itibaren normal çalışmasına döner. Console.WriteLine(i); Console.WriteLine("Döngü sonu"); continue anahtar kelimesinin çalışma mekanizması 43 / 45

44 Yukarıdaki şekilden görüldüğü gibi döngü sadece 3 değeri için çalışmasına ara verdi. Daha sonra ise normal çalışmasına devam etti. break ve continue deyimlerinin kullanımı sadece for döngüsü ile sınırlı değildir; while, do-while ve diziler konusunda incelenecek olan foreach döngülerinde de kullanılabilir. goto Anahtar Kelimesi Bu anahtar kelime, kod akışını etiketlenmiş bir noktaya transfer eder. Console.Write("Bir sayı giriniz : "); int a = int.parse(console.readline()); if (a % 2 == 0) goto cift; Console.WriteLine("Girilen sayı tek"); goto Son; cift: Console.WriteLine("Girilen sayı çift"); Son: Yukarıdaki kod, kullanıcıdan alınan sayının tek mi çift mi olduğu kontrolünü doğru bir şekilde yapar. Fakat, gerek buradaki kullanımı, gerekse diğer kullanılabileceği yerler düşünüldüğünde, oldukça karışık bir düzen oluşturduğu görülebilir. Ayrıca, kodu, anlaşılması güç hale getirir. Bu yüzden goto kullanımını sadece şu iki senaryoda tercih etmek gerekir: 1. switch-case kontrolünde, akışı belli bir case e ya da default a yönlendirmek söz konusu olduğunda. 2. İç içe geçmiş for döngülerinde break ya da continue ile sadece bir kademe dışarı çıkılabilir. En dışa çıkılmak istendiğinde, yani kod akışının en dıştaki döngünün sonuna yönlendirmesi istendiğinde. Bu iki senaryo için goto kullanımı anlamlıdır. Bu durumlar dışında, goto kullanmak spagetti kod (Anlaşılması zor, iç içe geçmiş kodlar) oluşturur. Console.WriteLine("Kahve boyutu: 1=Küçük 2=Orta 3=Büyük"); Console.Write("Lütfen seçiminizi yapınız : "); string secim = Console.ReadLine(); int n = int.parse(secim); int fiyat = 0; switch (n) case 1: fiyat += 25; //Fiyatı : 25 break; case 2: fiyat += 25; //Fiyatı = = / 45

45 goto case 1; case 3: fiyat += 25; //Fiyatı = 75 goto case 2; default: Console.WriteLine("Yanlış seçim"); break; if (fiyat!= 0) Console.WriteLine("Lütfen makineye 0 kuruş atınız.", fiyat); Console.WriteLine("Teşekkürler"); Burada doğru hesaplamayı yapmak için case ler arasında goto kullanımı ile paslaşmalar yer almaktadır. Eğer kullanıcı küçük boy kahve istiyorsa 1 girer. n değişkeninin değerine göre uygulamayı yönlendirecek olan switch kontrolünün içerisinde case 1: den sonraki kod çalışır. Başlangıç değeri 0 olan fiyat değişkeninin değeri 25 olarak değiştirilir. Ardından break, kod akışını switch bloğunun sonuna götürür ve ekrana fiyatla ilgili yazılar yazılır. Eğer kullanıcı orta boy kahve istiyorsa 2 girer. switch kontrolünün içerisinde case 2: den sonraki kod çalışır ve fiyat değişkeninin değeri yine 25 yapılır. Sonrasında kod akışı break ile switch bloğu sonuna gönderilmez. goto ile case 1 e transfer edilir. Bir üst maddedeki süreç tekrar eder. Dolayısıyla fiyat = 50 kuruş olarak elde edilip kulanıcıya bildirilir. Eğer kullanıcı büyük boy kahve istiyorsa 3 girer. Bu sefer önce case 3 ün içerisindeki kod çalışır. Fiyat değişkeninin değeri 25 yapılır. Kod akışı, case 2 ye transfer edilir. Burada fiyat 50 ye tamamlanır. Son olarak case 2 kod akışını case 1 e devreder. Nihai fiyat 75 kuruş olarak hesaplanır. Bu kullanımın avantajı, küçük seçimin case indeki olası bir fiyat artışında, bu artışın diğer 2 boya otomatik olarak yansımasıdır. Bu ders notu, Açık Akademi projesi çerçevesinde TCM tarafından Microsoft Türkiye için hazırlanmıştır. Tüm hakları Microsoft Türkiye ye aittir. İzinsiz çoğaltılamaz, para ile satılamaz. 45 / 45

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ı

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ı

Programlama Dilleri 3

Programlama Dilleri 3 Akış Konrol Mekanizmaları 1 Koşul İfadeleri Programlar içersinde bazı durumlarda programın akışının değişmesi ya da farklı işlemlerin yapılması gerekebilir. Bazen de seçimlerin yapılması ya da belirli

Detaylı

Akış Konrol Mekanizmaları

Akış Konrol Mekanizmaları Akış Konrol Mekanizmaları Koşul İfadeleri C# dilinde koşula bağlı olarak işlemler gerçekleştirmek için iki farklı deyim kullanılabilir: if deyimi switch deyimi If Deyimi if (Koşul) else Koşul_doğru_ise_yapılacaklar

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ı

Data Structures Lab 1 2012-Güz

Data Structures Lab 1 2012-Güz Data Structures Lab 1 2012-Güz C# Ortamı Tanıtımı ve Uygulama Geliştirilmesi Visual Studio 2010 Ortamının Temini -NYG'ndan MSDN üyeliği için başvuru dilekçesi alınıp doldurulmalı ve yine NYG'ye teslim

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER 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 isimleri ortaktır. Elemanlar

Detaylı

Akış Kontrol Mekanizmaları

Akış Kontrol Mekanizmaları Akış Kontrol Mekanizmaları 1 Akış Kontrol Mekanizmaları if else switch for döngüsü for döngüsünün çalışma prensibi for döngüsüyle ilgili örnekler for döngüsüyle ilgili kurallar while döngüsü while döngüsünün

Detaylı

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 VII 1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 2 KOD YAZMAYA BAŞLANGIÇ 11.Net Framework 11 Yeni Proje Oluşturmak

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ı

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ı

ASP.NET ile Bir Web Sitesi Oluşturma

ASP.NET ile Bir Web Sitesi Oluşturma 29,30 Eylül 2011 ASP.NET ile Bir Web Sitesi Oluşturma ASP.NET sitesi oluşturmak için File menüsündeki, New açılır listesindeki, Web Site komutuna tıklıyoruz Açılan pencereden C# içindeki ASP.NET Web Site

Detaylı

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Doç. Dr. Aybars UĞUR

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Doç. Dr. Aybars UĞUR DATA STRUCTURES Lab II Metotlar, Diziler ve Hata Ayıklama Doç. Dr. Aybars UĞUR İçerik Debugging konusunun kısaca anlatımı. (10 dk.) F11, F10 ve Durma Noktası denemeleri yapılması ve gözlemlerin not edilmesi.

Detaylı

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Prof. Dr. Aybars UĞUR

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Prof. Dr. Aybars UĞUR DATA STRUCTURES Lab II Metotlar, Diziler ve Hata Ayıklama İçerik Debugging konusunun kısaca anlatımı. (10 dk.) F11, F10 ve Durma Noktası denemeleri yapılması ve gözlemlerin not edilmesi. (10 dk.) Örnek2

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ı

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ MTK467 Nesneye Yönelik Programlama Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ while döngüsü while(koşul){ } döngü ifadeleri Koşul boolean değerli olmalıdır. Koşulun değeri true

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ı

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

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ı

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 Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları C Programlama Dr. Serkan DİŞLİTAŞ 5.1. Atlama Komutları Program akışının yönlendirilmesinde

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ı

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ı

Microsoft Word 2010 ara yüzündeki bölümler aşağıda gösterilmiştir.

Microsoft Word 2010 ara yüzündeki bölümler aşağıda gösterilmiştir. Başlangıç Bu dersin amacı, öğrencilerin çalışma hayatlarında Microsoft Word programını daha etkili ve verimli kullanmalarını sağlamak ve karşılaştıkları sorunların çözümlerine ulaşma konusunda deneyim

Detaylı

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri İNTERNET PROGRAMLAMA 2 A S P. N E T Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri VERİTABANI BAĞLANTISI Site içindeki bilgilerin saklanması / düzenlenmesi ve kullanıcı etkileşiminin sağlanabilmesi

Detaylı

1. LabVIEW ile Programlama

1. LabVIEW ile Programlama 1. LabVIEW ile Programlama LabVIEW ile programlama mantığı, program kodu yazılan programlama mantığına benzemekle birlikte, kontrol adı verilen nesneler arasında veri yolu bağlantısı ile program akışı

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ı

VERİ ANALİZ KÜPLERİ. Küp Tasarım Formu (504200)

VERİ ANALİZ KÜPLERİ. Küp Tasarım Formu (504200) VERİ ANALİZ KÜPLERİ Küp Tasarım Formu (504200) Küp tasarım formunun amacı; kullanıcılarımızın kendi veri analiz küplerini basit ve kolaylaştırılmış bir ekran yardımı ile tasarlamalarına yardımcı olmaktır.

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 9 Dizi Değişkenler (Array) 2 Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1, eleman2,, elemann)

Detaylı

http://www.microsoft.com/visualstudio/eng/downloads

http://www.microsoft.com/visualstudio/eng/downloads Visual Studio 2012'nin kurulumunu, Visual Studio'nun kullanımını ve Windows Store'da basit bir proje hazırlanmasını anlatacağım. Hepsinden önce Visual Studio ortamından biraz bahsedelim. Visual Studio

Detaylı

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Öğretim Teknolojileri Destek Ofisi Instructional Technologies Support Office Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Semboller, Ses Ekleme, Video Ekleme Orta Doğu Teknik Üniversitesi

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

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

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 7. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Program Denetimi Yük. Müh. Köksal Gündoğdu 2 Program Denetimi Bir program, belirli deyim satırlarından oluşur ve genellikle bu

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ş Kontrol Yapıları if Seçme Deyimi if... else Seçme Deyimi while Tekrar

Detaylı

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü JAVA DÖNGÜ DEYİMLERİ Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrarlanabilir. Java da bu işi yapan üç ayrı deyim vardır: while

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

Detaylı

Lab Notları 4. for ( ilklenme yeri bir kez çalışır ; Kontrol yeri her döngüde bakılır ; Güncelleme yeri her döngüde )

Lab Notları 4. for ( ilklenme yeri bir kez çalışır ; Kontrol yeri her döngüde bakılır ; Güncelleme yeri her döngüde ) Lab Notları 4 1. Döngüler Bir program yazıldığı vakit bazı durumlarda bir satırın birden çok kez çalıştırılması düşünülebilir. Örneğin ekrana 1 den 100 e kadar sayılar yazılmak isteniyor. Bu durumda hepsini

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş C Programlama Dr. Serkan DİŞLİTAŞ 1.1. C# ile Program Geliştirme.Net Framework, Microsoft firması tarafından

Detaylı

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK 1.1 Programın Başlatılması 1.2 Yeni Proje Oluşturma 1.3 MCU Seçimi Yrd.Doç.Dr.Bülent Çobanoğlu 1.4 MCU Programlama Dil Seçimi 1.5 Proje İsmi

Detaylı

BİLGİSAYAR DESTEKLİ TASARIM II

BİLGİSAYAR DESTEKLİ TASARIM II 0 BÖLÜM 1 ORCAD PROGRAMINA GİRİŞ: OR-CAD programını başlatmak için Başlat menüsünden programlara gelinir. Programların içerisinde ORCAD Release 9 ve bunun içerisinden de ORCAD Capture seçilir. Karşımıza

Detaylı

C# Programının çalıştırılması, Program yazma ve Çalıştırma

C# Programının çalıştırılması, Program yazma ve Çalıştırma C# Programının çalıştırılması, Program yazma ve Çalıştırma Program çalıştırıldığında karşımıza Şekil 1.deki arayüz çıkacaktır. Burada daha önce yapılan bir program üzerinde çalışılacak ise kırmızı bulut

Detaylı

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access Programlamaya Giriş VERİ TABANI UYGULAMASI ÖN BİLGİ Veritabanları, verilere sistematik bir şekilde erişilebilmesine, depolanmasına ve güncellenmesine izin veren, yüksek boyutlu veriler için çeşitli optimizasyon

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ı

MPLAB IDE v7.60 PROGRAMI KULLANIMI

MPLAB IDE v7.60 PROGRAMI KULLANIMI MPLAB IDE v7.60 PROGRAMI KULLANIMI MPLAB IDE programı mikroişlemciler için hazırlanmış bir derleyici programdır. Microchip firması tarafından hazırlanmıştır. (Resim 1) MPLAB programı assembly dilinde simulasyon,

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# nedir,.net Framework nedir?

C# nedir,.net Framework nedir? 1 C# nedir,.net Framework nedir? C# nedir? C#, C/C++ ve Java dillerinde türetilmiş,bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı, güçlü basit, esnek, tip-güvenli(typesafe,tür dönüşümlerindeki

Detaylı

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

BİL BİLGİSAYAR PROGRAMLAMA (JAVA) BİL 141 - BİLGİSAYAR PROGRAMLAMA (JAVA) KURULUM DÖKÜMANI Ders kapsamında lab saatlerinde veya lab saatleri dışında Java kodları yazabilmek ve çalıştırabilmek için bilgisayarınıza bazı yazılımların kurulması

Detaylı

Android Ders Notları

Android Ders Notları Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU Kontrol deyimleri programlamanın olmazsa olmaz koşullarındandır. Şartlara (karşılaştırma) bağlı

Detaylı

KULLANIM KILAVUZU. Reserve Online Reservation Systems www.reserve.com.tr

KULLANIM KILAVUZU. Reserve Online Reservation Systems www.reserve.com.tr KULLANIM KILAVUZU Reserve Online Reservation Systems www.reserve.com.tr RESERVE ONLİNE REZERVASYON YAZILIMI KULLANIM KİTABI...3 ADMİN PANELİ... 3 Admin Panel Giriş (Login)... 3 Yönetim Paneli... 3 OTEL

Detaylı

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

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ı

IPACK LADDER. Arayüz Dökümantasyonu

IPACK LADDER. Arayüz Dökümantasyonu IPACK LADDER Arayüz Dökümantasyonu I. Giriş Bu dökümantasyon IPack Ladder yazılımının arayüz kullanımını, kullanılan model ile ilişkilerini ve işlevsel açıklamaları kapsamak üzere hazırlanmıştır. II. Dökümantasyon

Detaylı

VERİ TABANI UYGULAMALARI

VERİ TABANI UYGULAMALARI V. Ünite VERİ TABANI UYGULAMALARI A. BAŞLANGIÇ B. BİR VERİ TABANI YARATMA C. FORMLARIN KULLANIMI D. BİLGİYE ERİŞİM E. RAPORLAMA 127 A BAŞLANGIÇ Konuya Hazırlık 1. Veri tabanı programları hangi amaç için

Detaylı

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu BBS515 Nesneye Yönelik Programlama Ders 3 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bağıntısal Operatörler operatör tanımı < küçüktür > büyüktür = büyük eşittir eşittir!= eşit

Detaylı

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri LOGO PROGRAM KURULUMU VE AYARLARI Logo programlarının yüklemesi için kullanılacak,setup dosyaları ftp://download.logo.com.tr/ adresinden indirilerek yapılır. Örneğin Kobi ürünleri için; ftp://download.logo.com.tr/windows/kobi/guncel/go_plus/klasöründen

Detaylı

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005 Kaynak Kodlardan Derleme Turquaz Muhasebe Versiyon 0.2 Hüseyin Ergün 26 Mart 2005 Turquaz Muhasebe, Kaynak Kodları Derleme Sayfa 2 İçindekiler İÇİNDEKİLER 2 GEÇMİŞ DEĞİŞİKLİKLER 3 1. GİRİŞ 4 1.1 AÇIKLAMA

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

C# Çalışma Örnekleri

C# Çalışma Örnekleri C# Çalışma Örnekleri namespace sabittanimlama class program static void main (String [] agrs ) const String s="merhaba "; Console.WriteLine(s); Console.readLine ; merhaba namespace calisma class program

Detaylı

Java da Program Denetimi ve Operatörler

Java da Program Denetimi ve Operatörler Java da Program Denetimi ve Operatörler 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! 2 Temel (Primitive) Tiplerde Atama int a, b ; a=4 ; b=5 ; a=b ; Sonuç : a=5, b=5 3 Nesneler

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 - 2 C# Programlama Dili Elemanları Bu bölümde;

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 - 1 GUI Nesneleri ve Visual Studio IDE Kullanımı

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 2 (Denetim Yapıları, Diziler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Denetim Yapıları 1 if else Seçme yapısı, mantıksal

Detaylı

Kets DocPlace LOGO Entegrasyonu

Kets DocPlace LOGO Entegrasyonu Kets DocPlace LOGO Entegrasyonu Kets DocPlace Kurulumu Öncesinde Yapılması Gereken İşlemler Windows 7, Windows 8, Windows Server 2008 R2, Windows Server 2012 veya daha yeni işletim sistemlerinde Programlar

Detaylı

PROGRAMLAMA DİLLERİ I

PROGRAMLAMA DİLLERİ I PROGRAMLAMA DİLLERİ I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Öğr. Gör. M. Mutlu YAPICI Hafta 1. Hafta 2. Hafta 3. Hafta 4. Hafta 5. Hafta 6. Hafta 7. Hafta

Detaylı

Karşılaştırma İşlemleri ve Koşullu İfadeler

Karşılaştırma İşlemleri ve Koşullu İfadeler Karşılaştırma İşlemleri ve Koşullu İfadeler BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Karşılaştırma İşlemleri Java'da sayısal veri tiplerinin karşılaştırılması için aşağıdaki karşılaştırma

Detaylı

Vega Ayarları. Vega Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.

Vega Ayarları. Vega Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür. Vega Ayarları Vega muhasebe sistemini kullanan müşterilemizin, muhasebe sistemleri ile E Ticaret sitesi arasındaki entegrasyon parametrelerini tanımladıkları menüdür. Bu menü altındaki alt menüler kullanılarak

Detaylı

Bu uygulama saatinde, dinamik sistemlerin simülasyonu (benzetimi) için geliştirilmiş olan, oldukça kullanışlı bir arayüz, Simulink, tanıtılacaktır.

Bu uygulama saatinde, dinamik sistemlerin simülasyonu (benzetimi) için geliştirilmiş olan, oldukça kullanışlı bir arayüz, Simulink, tanıtılacaktır. Bu uygulama saatinde, dinamik sistemlerin simülasyonu (benzetimi) için geliştirilmiş olan, oldukça kullanışlı bir arayüz, Simulink, tanıtılacaktır. Simulink bir Grafik Kullanıcı Arayüzü (Graphical User

Detaylı

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010 Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010 Bu belge BT Sınıfı Etkinliklerinde Kullanılmak Üzere Hazırlanmıştır İÇİNDEKİLER GİRİŞ... 3 ÜYE (KAYIT) OLMA... 3 YÖNETİM PANELİ İŞLEMLERİ... 5 ŞABLON AYARLARI...

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ı

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz 13 Aralık 2007 Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL Đlgili Modül/ler : Raporlar KULLANICI TANIMLI RAPORLAR Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz Kendi isteklerinize özel rapor tasarımları

Detaylı

İnternet Programcılığı

İnternet Programcılığı 1 PHP le Ver tabanı İşlemler Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı

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ı

ELEKTRONİK BELGE YÖNETİM SİSTEMİ (EBYS)

ELEKTRONİK BELGE YÖNETİM SİSTEMİ (EBYS) ELEKTRONİK BELGE YÖNETİM SİSTEMİ (EBYS) AGENT KULLANIM DOKÜMANI HİZMETE ÖZEL 1/21 Rev. 1 İÇİNDEKİLER 1 İÇİNDEKİLER 2 1.1. AYARLAR... 3 1.2. YENİLE... 7 1.3. BİLDİRİM VE GÖREVLER... 9 1.4. ENVİSİON ANA

Detaylı

BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN

BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN BİLGİSAYAR PROGRAMLAMA Yrd. Doç. Dr. Beytullah EREN beren@sakarya.edu.tr 0264 295 5642 EXCEL DE DOĞRULAMA VE DENETLEME DOĞRULAMA Bir hücre grubuna veri girişi için doğrulama kriterleri (tamsayı, ondalıklı,

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ı

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ı

Python Programlama Dili

Python Programlama Dili Python Programlama Dili 3. Python da Döngüler Bu bölümde iki tane döngüden bahsedeceğiz: while ve for döngüleri. Ayrıca bu bölümde döngüler dışında break ve continue deyimleri ile range() ve len() fonksiyonlarına

Detaylı

Hukuk Parter ile SMS Yönetimi

Hukuk Parter ile SMS Yönetimi Hukuk Parter ile SMS Yönetimi Hukuk Partner ile SMS Yönetimi İÇİNDEKİLER Hukuk Partner ile SMS Yönetimi... 3 SMS Gönderimi ile ilgili Tanımlamalar... 3 SMS Gönderimine ilişkin yetkiler... 3 SMS Hesabı

Detaylı

DENEME SINAVI CEVAP ANAHTARI

DENEME SINAVI CEVAP ANAHTARI DENEME SINAVI CEVAP ANAHTARI ECDL BAŞLANGIÇ Bilgisayarı Kullanmak ve Dosyaları Yönetmek 1) Bilgisayar ı doğru şekilde kapatıp, açmak için uygun metodu uygulayınız.(bilgisayarı kapatın ve tekrar açın.)

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 2 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Mantıksal Operatörler ve Denetim Yapıları 1 Boolean Boolean, doğru ya da yanlış

Detaylı

NB Macro Kullanımı Hakkında Genel Bilgiler

NB Macro Kullanımı Hakkında Genel Bilgiler NB Macro Kullanımı Hakkında Genel Bilgiler Genel Bilgi Makro Nasıl Eklenir? NB Ekranlarda Genel Makro Mantığı Makro Nasıl Çağrılır? Örnek Makro Projesi Genel Bilgi Makro, gelişmiş bir HMI kontrol metodudur.

Detaylı

Açılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile

Açılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile POWERPOINT PROGRAMI Powerpoint bir sunu hazırlama programıdır. Belirli bir konu hakkında bilgi vermek için, derslerle ilgili bir etkinlik hazırlamak için, dinleyicilere görsel ortamda sunum yapmak için

Detaylı

Şekil 7.14: Makro Kaydet Penceresi

Şekil 7.14: Makro Kaydet Penceresi 7.2.4. Makrolar Kelime işlemci programında sık kullanılan bir görevi (çok kullanılan düzenleme ve biçimlendirme işlemlerini hızlandırma, birden çok komutu birleştirme, iletişim kutusu içinde daha kolay

Detaylı

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI C programlama dilinde, diğer programlama dillerinde olduğu gibi, işlemler, ilk satırdan başlamak üzere sırayla çalışır. Program kontrol yapıları ise, programın

Detaylı

BLGM 354 DENEY 1 * GİRİŞ

BLGM 354 DENEY 1 * GİRİŞ BLGM 354 DENEY 1 * GİRİŞ Amaçlar 1. Oracle istemcisi kurulumu 2. Veritabanı bağlantısı 3. SQL geliştirme ortamında çalışma Oracle İstemcisinin Kurulumu Oracle istemcisi bölümün FTP sunucusundan (ftp://ftp.cmpe.emu.edu.tr)

Detaylı

Yedek Nasıl Alınır? "Veri Tabanı Yedekleme ve Geri Alma" butonunu tıklayınca aşağıdaki gibi bir ekran açılacaktır.

Yedek Nasıl Alınır? Veri Tabanı Yedekleme ve Geri Alma butonunu tıklayınca aşağıdaki gibi bir ekran açılacaktır. Yedek Nasıl Alınır? Yedek almak için bir çok yöntem uygulanabilir. Biz yazımızda iki farklı yöntemi anlatacağız. Bunlardan birincisi; programın içinden alınan yedektir ki bu yöntemde; diğer kullanıcıların

Detaylı

ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI

ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI İÇİNDEKİLER 1. GİRİŞ 1.1. KAPSAM 1.2. SİSTEM ÖZETİ 1.3. DOKÜMAN ÖZETİ 2. ÇALIŞMA KONSEPTİ 2.1. Yeni Kullanıcı Oluşturmak 2.2. Şirket Bilgilerini

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ı

Ekle sekmesindeki Tablolar grubundaki Tablo seçeneği ile tablo oluşturulur.

Ekle sekmesindeki Tablolar grubundaki Tablo seçeneği ile tablo oluşturulur. 4. EKLE SEKMESİ Ekle sekmesi Excel de tablo, grafik, köprü ve resim eklendiği sekmedir. 4.1. Tablolar Ekle sekmesindeki Tablolar grubundaki Tablo seçeneği ile tablo oluşturulur. Tablo oluşturulmak istenen

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 M-Dosya Yapısı Bir senaryo dosyası (script file) özel bir görevi yerine getirmek

Detaylı

SAB 103 TEMEL BİLGİSAYAR KULLANIMI

SAB 103 TEMEL BİLGİSAYAR KULLANIMI SAB 103 TEMEL BİLGİSAYAR KULLANIMI Kelime İşlemci - Word Prof.Dr. Fatih TANK Ankara Üniversitesi Uygulamalı Bilimler Fakültesi Sigortacılık ve Aktüerya Bilimleri Bölümü Prof.Dr. Fatih TANK - Temel - Ders

Detaylı

MS Access. üzerinde. defa çalıştırıldığında

MS Access. üzerinde. defa çalıştırıldığında 5.2. Veritabanı İşlemleri MS Access MS Access ilişkisel veritabanıdır. Yani verileri, birbirleriyle ilişkili tablolar t içerisinde saklar. Birçok veritabanı yönetim sistemi uygulama programlarının aksine,

Detaylı

VAKIFBANK SANAL POS PANELİ KULLANICI KILAVUZU

VAKIFBANK SANAL POS PANELİ KULLANICI KILAVUZU VAKIFBANK SANAL POS PANELİ KULLANICI KILAVUZU DEĞERLİ ÜYE İŞYERİMİZ! Vakıfbank Sanal POS Ekibi olarak, sizlere daha iyi hizmet verebilmek için çalışmaya devam ediyoruz. İlerleyen dönemlerde panelimizin

Detaylı

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır.

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır. BA&BS MUTABAKAT PROGRAMI Kurulumu 1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır. 3. Server ayarlarının yapılacağı pencere açılır. 3.1 Server Adı\instance

Detaylı

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz. Ön bilgi: Dizi tanımlayabilmeli. foreach deyimi bilinmeli. Rastgele sayılar (Random) bilinmeli. 1. Aşağıda tamsayı tipinde iki boyutlu bir dizinin nasıl tanımlandığı, bir fonksiyona parametre olarak nasıl

Detaylı

Oluşturmak istediğimiz OU ye bir isim veriyoruz. Name kısmına ISTANBUL yazıyoruz,

Oluşturmak istediğimiz OU ye bir isim veriyoruz. Name kısmına ISTANBUL yazıyoruz, ORGANİZATİONAL UNİT (OU) OrganizationUnit(OU): Türkçe Yapısal Birim olarak adlandırılan ve merkezi yönetimimizi kolaylaştıran bir objedir. Organizational Unit domain içerisindeki kullanıcı, group ve bilgisayarları

Detaylı

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI YEDEKLEME PROGRAMI KURULUM VE KULLANIMI Kurulum 1..zip dosyasını açınız. 2. Açılan dosyanın içindeki Yedekleme klasörünü açınız. 3. Yedekleme.exe dosyasını açınız. 4. Üst pencerede ki ekran gözükecektir.

Detaylı