Dr. Barış Gökçe

Dr. Barış Gökçe

Cumartesi, 31 Mart 2012 20:15

MühendislikEğitimi.Com Hakkında

MÜHENDİSLİKEĞİTİMİ.COM Sitesine Hoşgeldiniz...

http://www.muhendislikegitimi.com sitesi Yrd.Doç.Dr Barış Gökçe tarafından kurulmuştur. Sitenin kuruluş amacı, tüm mühendislik bölümleri derslerinin içeriklerini oluşturmak, çeşitli kaynaklardan derlenen ders içeriklerini, soruları ve projeleri paylaşmak, ders anlatımlarını görsel eğitim videoları şeklinde yayınlamak ve online mühendislik eğitimine katkıda bulunmaktır.

Bu hizmet  tüm öğrencilere ve ziyaretçilere tamamen ücretsiz olarak  verilmektedir ve verilecektir. Bu sebeple sizlerden sitemize içerik ekleyerek katkıda bulunmanızı rica ediyoruz. Siz de online mühendislik eğitimi çalışmalarında muhendislikegitimi.com sitesinde söz sahibi olmak ve içerik geliştirmek istiyorsanız "Yazar Ol" üyelik formundan siteye üye olduktan sonra içerik göndermeye başlayabilirsiniz.

Katılım ve desteğinizden dolayı teşekkür ederim. 

Saygılarımla  Yard. Doç. Dr. Barış GÖKÇE

Cumartesi, 31 Mart 2012 17:53

MÜHENDİSLİK EĞİTİMİ HAKKINDA

http://www.muhendislikegitimi.com sitesi Yrd.Doç.Dr Barış Gökçe tarafından kurulmuştur. Sitenin kuruluş amacı, tüm mühendislik bölümleri derslerinin içeriklerini oluşturmak, çeşitli kaynaklardan derlenen ders içeriklerini, soruları ve projeleri paylaşmak, ders anlatımlarını görsel eğitim videoları şeklinde yayınlamak ve online mühendislik eğitimine katkıda bulunmaktır.

Yrd. Doç. Dr Barış Gökçe, 1978 yılında Mersin'in Mut ilçesinde doğdu. İlk ve orta öğrenimini burada tamamladıktan sonra metal öğretmenliği alanında sırasıyla 2001 yılında lisans, 2004 yılında yüksek lisans ve 2009 yılında doktora derecelerini Afyon Kocatepe Üniversitesinden aldı. Afyon Kocatepe Üniversitesinde 2004 yılına kadar araştırma görevlisi olarak çalıştı, 2004 yılından sonra öğretim görevlisi olarak çalıştı.  2011 yılında Afyon Kocatepe Üniversitesi Teknoloji Fakütlesi  Mekatronik Mühendisliğine öğretim üyesi (Yardımcı doçent) olarak atandı.

 

Halen Afyon Kocatepe Üniversitesi Uzaktan Eğitim Meslek Yüksek Okulu Müdürlüğünü yürütmektedir. 

 

Siz de online mühendislik eğitimi çalışmalarında muhendislikegitimi.com sitesinde Yazar Olarak söz sahibi olmak ve içerik geliştirmek istiyorsanız lütfen bizimle iletişim kurunuz.

Katılım ve desteğinizden dolayı teşekkür ederim. 

Saygılarımla  Yard. Doç. Dr. Barış GÖKÇE

 

DESTEKLEYENLER:

Öğretim Görevlisi Mefule GÖKÇE

Bilgisayar ve Öğretim Teknolojileri Öğretmeni Celil BAYER

Cuma, 23 Mart 2012 09:19

ElektroPnömatik Problem (4-6)

ElektroPnömatik Problem 4: Çalkalama Tertibatı

Bir sepet içine konulmuş iş parçaları temizleme sıvısı içine batırılarak temizlenmektedirler. Başlatma  işlemi silindir geri son konumda ise olacak,  çalkalama işlemi yapılırken silindir geri son konuma kadar değil,  orta konumdan geri dönecektir. Çalkalama işlemi 50 kez yapıldıktan sonra otomatik olarak duracaktır. 

Bu sistemin elektro pnömatik devre şeması ve numaralandırması aşağıda verilmiştir. 

Elektro Pnömatik Problem Çözümü Çalkalama


Elektro Pnömatik Problem 5: Delme Tertibatı

Elektro Pnömatik Problem Çözümü sayıcıya bağlı kontrol

Bir tezgahta magazinden gelen parçalar otomatik olarak delinecektir. Sistemde 3 adet silindir bulunmaktadır. A(1) silindiri iş parçasını magazinden alır ve matkabın önüne sürer ve geri gelir, B (2) silindiri matkabın altına gelen parçayı sıkıştırır, C (3) silindiri ise matkaba bağlıdır ve parçayı deler ve geri gelir. B(2) silindiri parçayı çözer. Bütün bu işlem bir start butonu ile başlatıcaktır.

Problemin yol adım diyagramı aşağıdadır.

Elektro Pnömatik Problem Çözümü sayıcıya bağlı kontrol

Bu sistemin elektro pnömatik devre şeması ve numaralandırması aşağıda verilmiştir. 

Elektro Pnömatik Problem Çözümü sayıcıya bağlı kontrol

 


 

Elektro Pnömatik Problem 6: Perçinleme Tertibatı

Özel plakalar 3 yerinden kör perçinler ile perçinlenecektir.  Sistemde 3 adet silindir kullanılmaktadır. Start butonuna basılması ile  A(1) silindiri ileri hareket ederek plakayı perçinler 2 sn süre ile ileri son konumda bekler ve geri gelir. Sonra B(2) silindiri ileri hareket ederek plakayı perçinler 2 sn süre ile ileri son konumda bekler ve geri gelir ve son olarak C(2) silindiri ileri hareket ederek plakayı perçinler 2 sn süre ile ileri son konumda bekler ve geri gelir.

Bu sistemde kaskad sistemi kullanılmıştır. Kaskad sisteminde silindir hareketleri önce gruplara bölünür burada A ileri ve A geri (A+A-), B ileri ve B geri (B+B-), C ileri ve C geridir (C+C-). Buna göre  gruplar ve yol adım diyagramı aşağıda verilmiştir.

Sistemin yol adım diyagramı....

Elektro Pnömatik Problem Çözümü Yol Adım Diyagramı

Elektro Pnömatik Problem Çözümü Kaskatlı iki silindirli kontrol

Cuma, 23 Mart 2012 09:12

ElektroPnömatik Problem (1-3)

ElektroPnömatik Problem 1: Alüminyum   plakalara bir düzenek yardımıyla  presleme işlemi yapılmaktadır. Başlangıç konumunda silindir piston kolu geri son konumunda bulunmaktadır.  Sistem bir start butonu ile başlatılsın, parçaların aynı kalitede preslenmesi  için piston ileri son konumuna vardıktan sonra ve  6 barlık bir baskı kuvvetine eriştikten sonra  10 sn süre beklesin ve ondan sonra otomatik olarak geri dönebilsin. 

Bu sistemin elektro pnömatik devre şeması ve numaralandırması aşağıda verilmiştir. 

Elektro Pnömatik Problem Çözümü Basınca bağlı kontrol


 

Elektro Pnömatik Problem 2: Bir atölyede iş parçaları seri olarak damgalanacaktır.  İşlem isteğe bağlı olarak tekli veya sürekli çevrim olarak gerçekleştirilecektir. Başlangıça silindir geri son konumdadır. İş parçası yerinde ise ve tekli çevrim butonuma basılırsa birkez damgalama işlemi olacak, İş parçası yerinde ise ve sürekli çevrim butonuna basılırsa 10 kez damgalama işlemi yapılacaktır. Sistem, 10 kez damgalandıktan sonra veya bir stop butonu ile durdurulacaktır. Sürekli çevrim iş parçası otomatik olarak beslendikçe çalışacaktır.


Bu sistemin elektro pnömatik devre şeması ve numaralandırması aşağıda verilmiştir. 

Elektro Pnömatik Problem Çözümü sayıcıya bağlı kontrol

 


 

Elektro Pnömatik Problem 3: Bir atölyede, takozlar pnömatik bir sistemle sıkıştırılıp delinmektedir. Sistemde 2 adet silindir kullanılmıştır. Bir start butonuna basılması ile A silindiri ileri hareket ederek parçayı sıkar, B silindiri ileri hareket ederek parçayı deler ve geri gelir. B silindiri geri geldikten sonra A silindiri geri gerelek parçayı çözer. 

Bu sistemin elektro pnömatik devre şeması ve numaralandırması aşağıda verilmiştir.

Bu sistemde kaskad sistemi kullanılmıştır. Kaskad sisteminde silindir hareketleri önce gruplara bölünür burada A illeri A+ ile A geri A-, B ileri B+ ve B geri ise B- ile ifade edilmektedir. Buna göre A+B+  Bir grupta / B-A- bir gruptadır(A+B+/B-A-).  Bu problemin yol adım diyagramı aşağıdadır.  Buna göre Başlangıç Referans Valdi (BDV) A0, ve Grup değiştiren valf ise B1 dir.

Sistemin yol adım diyagramı....

Elektro Pnömatik Problem Çözümü Yol Adım Diyagramı

Elektro Pnömatik Problem Çözümü Kaskatlı iki silindirli kontrol

Cuma, 23 Mart 2012 09:10

İş ve Atölye Organizasyonu

İş ve Atölye Organizasyonu ders notlarını indirmek için tıklayınız

Proje hazırlarken dikkat edilecek konular

Proje ile ilgili en az 30 dk lık bir power point sunusu hazırlanacak ve sınıfta aşağıda belirtilen tarihte yapılacak. Aynı zamanda proje çıktısı  yazıcıdan alınacak, yazıcı çıktısı MS Word programında makale hazırlama kriterlerine göre hazırlanacak. Organizasyonunu yaptığınız şirketin genel tanıtımı, kuruluş zamanı ve kimler tarafından kurulduğu

Şirket 3 yönlü incelenecektir.  Bunlar

1. Fiziki şartlar: Binanın yüzölçümü, havalandırma, aydınlama ve ısınma sistemleri, gün ışından maksimum faydalanma yöntemi, Enerji tasarrufu önlemleri ve yöntemleri, Binanın yerleşimi, her kat için ayrı ayrı kroki çizimi.

2. Personel Yönetimi: Yönetim organizasyon şeması çizilecek ve birimleri iler birimlere bağlı kişiler belirtilecek,  Mesai uygulaması ve ücret politikası, personel memnuniyeti uygulamaları, Hizmetiçi eğitim uygulamaları. Müşteri ve araç takip sistemleri nasıl ve kullanılan otomasyon sistemleri, müşteri ilişkileri ve memnuniyeti, Müşteri geribildirimleri nasıl değerlendiriliyor, Örnek uygulama eklenecek. Personel alım ve yönetim politikları.

3. İşletmenin kısa, orta ve uzunvadeli planları (örneğin, büyüme, hizmet, kar arttırımı vs.) İşletmenin genel hedefleri.

Grupların proje anlatım tarihleri

21.04.2011

  1. FIAT: Hülya Yıldırım, Melih Dündar, Abdurrahim Ak.
  2. MERCEDES: Ahmet Tekcan, İsmail Eser, Mehmet Osmancaoğlu

28.04.2011

  1. WOLKSVAGEN: Ali Kıransoy, Mesut Ordu, Onur Şentürk
  2. RENAULT: Hüseyin Süner, Sinem Sönmez, Cihan Kırmızıgül.
  3. FORD: Burak Bozer, Abdullah Güneş
  4. PEUGEOUT: Cemal Aytulun, Hasan Güney, İlyas Akbayrak, Selim Çetin

05.05.2011

  1. KİA: Murat Ateş, Cevat Aslan, Serdar Bilir, Kayhan Özsarı.
  2. OPEL: Murat Şimşek, Fatih Ayrancıoğlu, Hüseyin Açıkmeşe.
  3. HYNDAI: İbrahim Kölek, Yalın Uğurlu, Coşkun Bay,

12.05.2011

  1. TOYOTA: İsmail Kızılkaya, Nesip Kavak.
  2. HONDA: Hüseyin Karaköse, Önder Çakın

Kullanım amacı, google maptan aldığınız koordinatları girerek firmanızın veya sitesini yaptığınız firmanın adresini kendi siteniz içerisinde gösterebilirsiniz. Kullanımı çok kolaydır. Extensions sayfasını görmek için bu bağlantıyı kullanabilirsiniz.,

-İlk olarak buradan Google Map plugi'ini indiriyoruz ve Joomla sitemize kurulumunu yapıyoruz.

-Eğer önceden almadıysanız buradan Google API Key (numara) alıyoruz.

-Daha sonra kurulumu yaptığımız plugin'in ayarlarına girelim (Eklentiler > Uyumlu Ek Yöneticisi > Google Map). Burada Google API Key yazan yere daha yeni aldığımız Google API numaramızı yazıyoruz ve kaydediyoruz.

-Şimdi biraz kod düzenlemesi yapmamız gerekecek. FTP ile sitenize bağlanın ve anadizindeki (Joomla kurulumunu yaptığınız dizin) index.php adlı dosyayı bilgisayarınıza indirin.

-İndirdiğiniz bu dosyayı herhangi bir yazı editörü ile (Not Defteri olabilir) açın. Aşağıda verdiğim kodu bulun:

$mainframe->render();

Bu kodu bulduktan sonra hemen altına aşağıdaki kodları ekliyoruz:

JPluginHelper::importPlugin('content');
$tmp_row->text = JResponse::getBody();
$tmp_params = new JParameter(null);
$mainframe->triggerEvent('onMap', array( &$tmp_row, &$tmp_params ), true );
JResponse::setBody($tmp_row->text);

 

Artık dosyamızı kaydedip, FTP programı ile tekrar yükleyip, üzerine yazdırabiliriz.

-Şimdi Joomla admin panelinize giriş yapın ve Bileşenler > İletişim > Haritayı ekleyeceğiniz iletişim tıklayın. Açılan sayfada bulunan Ek Bilgi kısmıa ise {mosmap} yazın.

-Artık İletişim'i kaydedip, sitenizden İletişim sayfanızı kontrol edebilirsiniz. Google haritası eklenmiş olacaktır, ilk bir kaç dakika çıkmasa bile, 10 dakka sonra (bir yanlış yapmadıysanız) çıkması gerekir.

Şimdi gelelim haritada istediğiniz yeri nasıl göstereceksiniz. Yukarıdaki işlemleri yaptığınız zaman haritanızda varsayılan bir yer gösterilmektedir (muhtemelen Amerika). İstediğiniz yeri haritada gösterebilmek için ise, koyacağınız yeri Google Haritalar'da arama yapın. Tam olarak bulduktan sonra da o yerin üzerine sağ tıklayın ve Buradan Yol Tarifi veya Bu Noktaya Yol Tarifi gibi 2 seçenek vardır, bunlardan herhangi birine tıklayın. Tıkladıktan sonra sol tarafta küçük bir pencere açılacaktır ve burada 2 farklı numara yer alacaktır. Bu numaralar istediğiniz yerin Latitude ve Longitude bilgileridir, yani eylem ve boylam koordinatları.

Google Maps plugininin ayarlarına girip orada bulunan Latitude ve Longitude kısımlarına bu numaraları uygun şekilde yazın. Artık haritanızda göstermek istediğiniz yer çıkacaktır.

Kaynak:http://www.joomlabilgi.org/joomla-dersleri/item/5-iletisim-icerisine-google-harita-ekleme.html

Excel bir hesap tablosu programıdır. Excel, her türlü veriyi (özellikle sayısal verileri) tablolar ya da listeler halinde tutma ve bu verilerle ilgili ihtiyaç duyacağınız tüm hesaplamaları ve analizleri yapma imkanı sunan bir uygulama programıdır. 
Excel ile, verilerle ilgili grafikler çizebilir, kolay ve hızlı bir şekilde raporlar, özetler hazırlayabilir, istenilen verilere ulaşabilir, sıralayabilir, sorgulayabilirsiniz.
Excel'de veriler, açılan dosyalarda saklanır. Dosya uzantısı "xls" dir.

Excel programını kullanabilmeniz için bilgisayarınızda Microsoft Office programının kurulu olması gerekmektedir. Programımızı;

 Başlat | Programlar | Microsoft Office | Microsoft Excel 2010 simgesini tıklayarak çalıştırıyoruz. Karşımıza aşağıdaki ekran gelmektedir.

Excel ekranı

Yukarda Dosya Menüsü, Ekle, Sayfa Düzeni, Formüller, Veri, Gözden Geçir, Görünüm , Eklentiler, Load Test, Team menüleri bulunmaktadır. 

fx ile başlayan yer formül çubuğudur
. Formül çubuğu hücre adını verdiğimiz bölgelere bir veri girdiğimiz zaman bu verinin bu verinin aynı zamanda formül olarak gösterimini sağlamaktadır. 

A1 yazan bölüm hücrelerin etiketlerini gösteren ad kutusudur.

Satır, Sütun: Excel sayfası satır ve sütunlardan oluşan bir tablodur. Çalışma sayfalarının her birinde 1048576 satır ve 256 sütun vardır.Sol tarafta "Satır Numaraları" 1, 2, 3... biçiminde; "Sütun Başlıkları" ise A, B, C ... biçimindedir.
 
Hücre: Satırların ve sütunların kesiştikleri her bir kutuya verilen isimdir. Bu hücrenin etiketi (satır ve sütunu) ad kutusunda görünmektedir. 

Çalışma Kitabı: Excel'de yaratılmış bir dosya, bir çalışma kitabıdır. 

Çalışma Sayfası: Çalışma kitaplarını temsil eden belge pencerelerinin alt kısmında yan yana dizili olan düğmelerden her birine (Sayfa1, Sayfa2, Sayfa3, …..) çalışma sayfası denmektedir. Her sayfa birbirinden bağımsızdır. 255 adet sayfa ekleyebiliriz.

HÜCRE BOYUTLANDIRMA


Bir hücrenin genişliği sütuna, yüksekliği ise satıra bağlıdır. Tek başına bir hücre boyutlandırılamaz. Boyutlandırılan o satırdaki veya sütundaki tüm hücrelerdir. Boyutlandırma işlemlerini şu şekillerde yapabiliriz:

1) Satır/sütun başlıkları arasında sürükleme
2) Sütun başlıkları arasına çift tıklama.(Sütun içindeki hücrelerde yer alan en uzun veriye göre boyutlandırılacaktır)
3) Biçim-Satır-Yükseklik , Biçim-Sütun-Genişlik
4) Birden fazla satırın,  sütunun yüksekliğini-genişliğini aynı yapmak için sütun veya satırlar seçildikten sonra başlıklar arasında sürükleme uygulanır .


Hücre kenarlığı uygulama ve hücreye renk vermek için,

  1. Kenarlık eklemek istediğiniz hücreyi veya hücre aralığını seçin.
  2. Giriş sekmesinde, Yazı Tipi grubunda, Kenarlıklar'ın yanındaki oku tıklatın ve sonra istediğiniz kenarlık stilini tıklatın.
  3. Giriş sekmesinde, Yazı Tipi Grubunda, Dolgu Rengi'nin yanındaki oku tıklatın ve istediğiniz rengi seçerek hücreyi renklendirebilirsiniz.

Excel Şerit Resmi


Hücreye sayı veya metin girmek için;

  • İstediğiniz sayı veya metni yazın ve ardından ENTER veya SEKME tuşuna basın. 
    • Hücrede, sütun genişliğinden daha geniş bir sayı biçimi olan bir sayı bulunursa, ##### görüntülenebilir. Metnin tamamını görmek için sütun genişliğini arttırmalısınız.

    GizleSütun genişliği nasıl değiştirilir?

    1. Sütun genişliğini değiştirmek istediğiniz hücreyi tıklatın.
    2. Giriş sekmesinin Hücreler grubunda Biçim'i tıklatın.

    Hücre Boyutu'nun altında aşağıdakilerden birini yapın:

    • Metnin tamamını hücreye sığdırmak için, Sütun Genişliğini Otomatik Sığdır seçeneğini tıklatın.
    • Daha geniş bir sütun genişliği belirlemek için, Sütun Genişliği seçeneğini tıklatıp istediğiniz genişliği Sütun genişliğikutusuna girin.

    Hücre içindeki bilgiyi değiştirmek istediğimizde aşağıdaki yollardan birini kullanırız;
    1. Hücrenin üzerine çift tıklarız içerisinde değişiklik yaparız.
    2. Hücrenin üzerine bir kere tıklayıp yukarıdaki formül çubuğunda değişiklik yaparız.
    3. Hücrenin üzerine bir kere tıklayıp  F2 tuşuna basarak hücrenin içine giriş yaparız.


    Hücreden Veri Silmek

Bir veriyi hücreden kaldırmak istiyorsanız, hücreye yeni bilgiler yazarak ; yazınızın eskisinin yerini almasını sağlayabilirsiniz. Aynı işlem hücre seçildikten sonra DELETE tuşuna basılarak da yapılabilmektedir ya da EDIT menüsünden CLEAR komutunu kullanabilirsiniz. Eğer silme işlemini yeni birşey yazmak için yapacaksak; eski bilgilerin yerine doğrudan yenilerini girmek en hızlı yöntemdir.

 Hücrenin İçeriğini Taşımak

 Bir hücrenin içeriğini çalışma yaprağındaki herhangi bir hücreye taşımak için çeşitli yöntemler kullanılabilir. İçeriği taşınmak istenen hücre seçildikten sonra, mouse’un sağ tuşu tıklanarak kısayol menüsünden CUT komutu seçilir. Hücrenin çevresindeseçildiğini gösteren kesik çizgiler belirecektir. Çalışma sayfasında istediğimiz yere konumlanıp yine mouse’ın sağ tuşundan kısayol menüsünü açtıktan sonra PASTE komutunu kullanarak hücrenin içeriği yeni bir hücreye taşınmış olur. CUT komutuna düğmesi kullanılarak da ulaşılabilir PASTE komutunun düğmelerde gösteriliş biçimi ise şeklindedir. Seçilen hücrelerin üstünde yapılabilecek işlemler farenin sağ tuşu ile açılan bu kısayol menüsünde toplanmıştır. Excel’de bir çok işlem için kısayol tuşu atanmıştır. Bir başka yol ise kesilecek bloğu seçtikten sonra CRTL+X tuşlarına birlikte basmaktır. CTRL+V tuşlarının birlikte basımı halinde; seçilen blok otomatik olarak yeni hücresine yapıştırılabilir.Bu yol en kolay yol alarak bilinmektedir

Hücrenin İçeriğini Kopyalamak

Seçili olan bir veriyi kopyalamak için birkaç yol izlenebilir. Taşıma işleminde de olduğu gibi, ilk önce kopyalanmak istenen hücre seçilir. Sonra kısayol menüsünden COPY komutu uygulanır. Çalışma sayfasında istenilen hücreye konumlandıktan sonra yine kısayol menüsünden PASTE komutu uygulanarak içerik yeni hücreye kopyalanmış olur.

OTOMATİK TAMAMLAMA: 

Hücreye yazdığınız ilk birkaç karakter o sütunda varolan bir girdiyle eşleşiyorsa, Excel kalan karakterleri sizin için otomatik olarak girer. Excel, otomatik olarak yalnızca metin veya metin ve sayı bileşimi içeren girdileri tamamlar. Yalnızca sayı, tarih veya saat içeren girdiler otomatik olarak tamamlanmaz.

OTOMATİK DOLDURMA


Excel, haftanın günlerini, ayları ve rakamları otomatik doldurabilir. Örneğin bir hücreye Ocak yazın; bu hücreyi seçili duruma getirip sağ alt köşesindeki noktayı fare ile çekiştirerek seçili alanı sütunun altına doğru 4-5 hücre genişletin. Diğer hücrelerin (Şubat, Mart, Nisan,…) olarak dolduğunu göreceksiniz. Rakamlarda ise en az iki veri girişi gerekir. Örneğin bir sütunda ilk hücreye 1, ikinci hücreye 2 yazıp aynı işlemi yaparsanız, geri kalan hücreler (3, 4, 5,…) olarak dolar. Bu tür verilerde ilk iki hücreye birer atlamalı doldurma yaparsanız (örneğin 1 ve 3 ya da Ocak, Mart) otomatik doldurma işlemi de birer atlamalı devam eder (1, 3, 5, 7, 9… veya Ocak, Mart, Mayıs,… gibi).

Sadece gün, ay ve rakamlarla da sınırlı değilsiniz.  Bunun için 

Dosya | Seçenekler | Gelişmiş | Özel Listeleri Düzenle 

bölümünden sıralamalarda ve dolgu sıralarında kullanmak için listeleri kendiniz tanımlayabilirsiniz.


Formül Girişi
Excel’in en önemli özelliği hücreye girilen formüllerdir. Formüller diğer hücreler içindeki veriler üzerinde istediğimiz işlemi yapmamızı sağlar. Hücrelere formül girmeden önce (=) işareti kullanılmalıdır. Eğer formüllere eşittir ile başlanmazsa o veriler Excel tarafından formül olarak algılanmaz ve bir sonuç üretmez. 

Öncelikle işlem yapmak istediğiniz hücreye gidin ve farenizle bir kez tıklayarak hücreyi aktifleştirin. Örneğin, hedef hücre A1 olsun. Bu hücrede 4 işlem yapılmak isteniyorsa basitçe klavyede sağ tarafında bulunan işaretleri kullanın. ÜST KARAKTER (Shift) ve 0 tuşlarına basıp = işaretini hücreye girdikten sonra istenilen her türlü işlem yapılabilir. Verileri girip ENTER’a bastıktan sonra işlemin sonucu hücreye yansıyacaktır. Yaptığınız işlemi görmek için hücreye dönüp çift tıklayın. Böylece gerçekleştirilen işlemin verilerini görebilirsiniz. Verilerde bir değişiklikte yapmak da mümkündür.

SQLDMO.SQLServer srv;
SQLDMO.Database db;
public void CreateUser()
{
string BilgAdi = SystemInformation.ComputerName.ToString();

//Kullanıcı oluşturulacak veritabanını önceden oluşturmuş varsayıyoruz.

srv.LoginSecure = true;
srv.Connect(BilgAdi + "\\SQLEXPRESS", "", "");

SQLDMO.Database dbs = (SQLDMO.Database)srv.Databases.Item("DuyuruTV", "");

#region Kullanıcı nesnesi oluştur
SQLDMO.Login login = new SQLDMO.Login();
string loginName = "DuyuruTV";
login.Name = loginName;
string password = "sifreniz";

login.SetPassword("", password);
login.Database = "DuyuruTV";

//Kullanıcının olup olmadığını kontrol et          
bool found = false;
foreach (SQLDMO.Login ologin in srv.Logins)
{
if (ologin.Name == loginName)
{
found = true;
break;
}
}
if (!found)
srv.Logins.Add(login);
#endregion

#region Kullanıcı oluştur
SQLDMO.User user = new SQLDMO.User();
//Kullanıcıyı veritabanına ata
string userName = "DuyuruTV";
user.Name = userName;
user.Login = loginName;
//dbs.Users.Add(user);

found = false;
foreach (SQLDMO.User oUser in dbs.Users)
{
if (oUser.Name == loginName)
{
found = true;
break;
}
}
if (!found)//Kullanıcıyı Veritabanlarına Ekle    
{
dbs.Users.Add(user);

//add user to role
//db_owner
//SQLDMO.DatabaseRole oRole = new SQLDMO.DatabaseRole();
//oRole =
//oRole.AddMember(loginName);
dbs.DatabaseRoles.Item("db_owner").AddMember(userName);
dbs.DatabaseRoles.Item("db_datareader").AddMember(userName);
dbs.DatabaseRoles.Item("db_datawriter").AddMember(userName);
}
#endregion

//string connString = "server=" + BilgAdi + "\\SQLEXPRESS;database=DuyuruTV;uid=" + userName + ";pwd=" + password + ";";
}

Cuma, 23 Mart 2012 08:54

C# Diziler

Aynı tipteki bir veri gurubunun bir değisken içinde saklanmasıdır.

-Veriler Hafızada 0 dan baslayarak sıra ile bulunur.

-C# dilinde dilinde diziler system.Array tipindedir.

-Bir örnek olarak, haftanın günleri bir boyutlu dizi olarak düsünülebilir. İlkeleman (0. Eleman),

-Pazartesi, son eleman da (6. Eleman) Pazar günü olacaktır.

-Diğer bir örnek, bir ayda bulunan günler, iki boyutlu bir dizi olarak düsünülebilir. Yatayda haftanın günleri bulunurken, düseyde hafta sayısı olabilir.

-Bir yıldaki günleri de üç boyutlu bir dizi olarak  düsünülebilir. 1. boyut Haftanın günleri, 2. boyut hafta numarası. Üçüncü boyut da aylar olur.

-C# da tek boyutlu bir dizi, normal bir değisken gibi tanımlanır , sadece değisken ifadesinden sonra köseli parantez kullanılır.

 

Örnek 1:

private void Form1_Load(Object sender, EventArgs e)
{
string[] gunler = new string[7];
gunler[0] = "Pazartesi";
gunler[1] = "Salı";
gunler[2] = "Çarsamba";
gunler[3] = "Persembe";
gunler[4] = "Cuma";
gunler[5] = "Cumartesi";
gunler[6] = "Pazar";
Messagebox.Show(gunler[0]);
}

Diziler

Örnek 2 :

Veriler dizilere yerlestirilirken 0 dan itibaren baslanarak yerlestirilir ve diziden veriler alınırken 0 dan baslanır. Değisken adının önündeki küme parantezinin içindeki sayılar değiskenin index numarasını verir.

private void Form1_Load(Object sender, EventArgs e)
{
string[] gunler = {"Pazartesi","Salı","Çarsamba","Persembe","Cuma","Cumartesi","Pazar"};
Messagebox.Show(gunler[0]);
}

Diziler

Dizi değisken tanımlama sekilleri

 

string[] gunler = {"Pazartesi","Salı","Çarsama","Persembe","Cuma","C.tesi","Pazar"};

 


string[] gunler = new string[7];
gunler[0] = "Pazartesi";
gunler[1] = "Salı";
gunler[2] = "Çarsamba";
gunler[3] = "Persembe";
gunler[4] = "Cuma";
gunler[5] = "Cumartesi";
gunler[6] = "Pazar";

Örnek 3 :

 

 private void btnGoster_Click(object sender, EventArgs e)

{ string[] gunler = new string[7];

gunler[0] = "Pazartesi";

gunler[1] = "Salı";

gunler[2] = "Çarsamba";

 gunler[3] = "Persembe";

gunler[4] = "Cuma";

gunler[5] = "Cumartesi";

gunler[6] = "Pazar";            

for (int i = 0; i < gunler.Length; i++)

{              

 lsbGunler.Items.Add(gunler[i]);

}        

}

Diziler

For DÖNGÜSÜ YERİNE Foreach KULLAN  

 private void btnGoster_Click(object sender, EventArgs e)

{ string[] gunler = new string[7];

 gunler[0] = "Pazartesi";

gunler[1] = "Salı";

gunler[2] = "Çarsamba";

gunler[3] = "Persembe";

gunler[4] = "Cuma";

gunler[5] = "Cumartesi";

gunler[6] = "Pazar";

foreach (string i in gunler)     

  {        

lsbGunler.Items.Add(i);     

 }        

 }  

 

Örnek 4 :


&nbsp;private void Form1_Load(object sender, EventArgs e)
{
double[] sayilar = { 0.15, 0.17, 0.1, 0.3, 0.22, 0.45, 0.54, 0.68, 0.72, 1.1, 3.1};
int eleman = sayilar.Length;
MessageBox.Show("Sayılar dizinde toplam" + eleman.ToString() + " adet eleman vardır");
foreach (double i in sayilar)
{
lsbGunler.Items.Add(i);
}
}

Örnek 5 :

-1 ile 500 arasında rastgele 100 adet tamsayı üretip bir diziye dolduran bir program yazınız.

-Dizideki bu sayıların en büyük ve en küçük değerlerini bularak ekrana yazdırın. Ayrıca, ortalama değerini de hesaplayarak ekranda gösterin.

private void btnGoster_Click(object sender, EventArgs e)
{
int max, min, ortalama,toplam;
Random rastgelesayi = new Random();
int[] dizi = new int[100];
for (int i = 0; i < 100; i++)
{
dizi[i] = rastgelesayi.Next(500);
}
max = dizi[0];
min = dizi[0];
toplam = 0;
ortalama = 0;
for (int i = 0; i < 100; i++)
{
if (max < dizi[i])
{
max = dizi[i];
}
if (min > dizi[i])
{
min = dizi[i];
}
toplam += dizi[i];
}
lblmax.Text = "Maksimum Sayı: " + max.ToString();
lblMin.Text = "Minimum Sayı: " + min.ToString();
ortalama = toplam / 100;
lblOrtalama.Text = "100 adet Sayının ortalaması: " + ortalama.ToString();
}

Bir önceki örnekte üretilen 100 adet random sayıyı, büyükten küçüğe yada küçükten büyüğe doğru sıralatın ve listbox a ekletin…

Asağıdaki kodları, bir önceki örneğin devamına ekleyelim…

int yedek;
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 100; j++)
{
if (dizi[i] > dizi[j])
{
yedek = dizi[j];
dizi[j] = dizi[i];
dizi[i] = yedek;
}
}
}
lsbSayilar.Items.Clear();
for (int i = 0; i < 100; i++)
{
lsbSayilar.Items.Add(dizi[i]);
}

.Length Dizideki Eleman sayısı

 

Belirtilen dizinin eleman sayısını integer (int) olarak verir.

private void Form1_Load(object sender, EventArgs e)
{
Random rastgelesayi = new Random();
int[] dizi = new int[50];
for (int i = 0; i < dizi.Length; i++)
{
dizi[i] = rastgelesayi.Next(100);
}
}
.Clear Diziyi Temizleme

 

Parametre olarak verilen dizinin, belirtilen indis aralığındaki tüm değerleri temizler.Temizleme isleminde atanan değer, dizi elemanlarının tiplerine göre değisir. Örneğin int tipinde tanımlı bir dizinin elemanları temizlenirse 0 değerini alacaktır. Buna karsın String tipindeki elemanlar “” (bos yazı) değerini alır.

Örnek;

int[] dizi = new int[50];
private void Form1_Load(object sender, EventArgs e)
{
Random rastgelesayi = new Random();
int elemansayisi = dizi.Length;
int dizininboyutu = dizi.Rank;
MessageBox.Show("Dizinin Eleman sayisi: " + elemansayisi.ToString());
MessageBox.Show("Dizinin Boyutu: " + dizininboyutu.ToString());
for (int i = 0; i < dizi.Length; i++)
{
dizi[i] = rastgelesayi.Next(500);
}
// Burada Dizi doldu
}
private void btnDiziyiBosalt_Click(object sender, EventArgs e)
{
Array.Clear(dizi, 0, dizi.Length); // Dizi Burada Bosaltıldı Durma noktası ekle ve Dizinin içine Bak
}

.Çok Boyutlu Diziler

Birden fazla boyutu olan dizilere çok boyutlu diziler denir. İki tip çok boyutlu dizi vardır.

Matris diziler

Düzensiz diziler (Jagged)

Matris Diziler

Adından da anlasılacağı gibi matris yapıda dizilerdir. Matris diziler 2 veya daha fazla boyutlu olabilirler. Örneğin 3x2 boyutlu bir matris dizisi asağıdaki gibi tanımlanır.

int [,] mdizi ={{1,2},{3,4},{5,6}};
mdizi[0,0] = 1;
mdizi[0,1] = 2;
mdizi[1,0] = 3;
mdizi[1,1] = 4;
mdizi[2,0] = 5;
mdizi[2,1] = 6;

3 veya daha çok boyutlu diziler teoride dilin yapısına uygun olmasına rağmen gerçek hayatta çok fazla kullanılmazlar. 3 ve daha fazla boyutlu dizilerde islem yapması daha zordur. Mesela 3 boyutlu bir dizi için iç içe 3 tane for döngüsü kullanmak gerekmektedir. Asağıda 3 boyutlu bir matris dizi tanımlaması örnek olarak verilmistir.

int [ , , ] mdizi ={{{1,2},{3,4},{5,6}}, {{1,2},{3,4},{5,6}}};
mdizi[0,0,0] = 1;
mdizi[0,0,1] = 2;
mdizi[0,1,0] = 3;
mdizi[0,1,1] = 4;
mdizi[0,2,0] = 5;
mdizi[0,2,1] = 6;
mdizi[1,0,0] = 1;
mdizi[1,0,1] = 2;
mdizi[1,1,0] = 3;
mdizi[1,1,1] = 4;
mdizi[1,2,0] = 5;
mdizi[1,2,1] = 6;

Düzensiz (Jagged) Diziler

Bir dizinin her bir elemanı ayrı bir dizi ise bir dizi içeriyorsa o zaman bu dizilere düzensiz diziler denir. Her bir satırdaki dizi farklı boyut olabileceği için matris dizisi formunda olması gerekmez. Bu sebeple bu dizilere düzensiz (jagged) yada çentikli dizi adı verilir.

int[][] dizi = new int[3][];
dizi[0] = new int[5];
dizi[1] = new int[4];
dizi[2] = new int[3];

Örnek.

string [] [] dizi = new string [3] [];
dizi[0] = new string [2];
dizi[1] = new string [3];
dizi[2] = new string [1];
dizi[1] [2] = “çentikli";

Buradan da anlasılacağı gibi düzensiz dizilerin matris dizilerden farkı, sütun sayısının sabit olmamasıdır. Diziler konusunu bir defada anlamak elbette zordur. Özellikle düzensiz dizileri anlamak için çok fazla örnek yapmak gerekir.

Örnek.

private void Form1_Load(object sender, EventArgs e)
{
int[][] dizi = new int[3][];
dizi[0] = new int[5];
dizi[1] = new int[3];
dizi[2] = new int[2];
for (int i = 0; i < dizi.Length; i++)
{
for (int j = 0; j < dizi[i].Length; j++)
{
dizi[i][j] = 1*( i + j);
}
}
foreach (int[] sayi in dizi)
{
foreach (int deger in sayi)
{
lblSonuc.Text += deger.ToString()+ " ";
}
}
}

Dizi İşlemleri

Dizi işlemleri, programlarda çok sık kullanılan programlama öğelerindendir.

-IndexOf()

-LastIndexOf()

-Sort()

-Reverse()

Array sınıfı yardımıyla kullanılırlar.

IndexOf() - LastIndexOf()

IndexOf() : Aramayı bastan baslatır ve aranan elemanın kaçıncı sırada olduğunu değer olarak döndürür.
LastIndexOf() : Aramayı sondan baslatarak aranan elemanın bastan kaçıncı sırada
olduğunu değer olarak döndürür.
Eğer aranan eleman bulunamazsa -1 değeri döndürülür.

ÖRNEK

private void Form1_Load(object sender, EventArgs e)
{
int[] dizi = { 1, 3, 5, 7, 9, 11, 1, 3, 5, 7, 9,11 };
MessageBox.Show(Array.IndexOf(dizi,1).ToString());
}

Sonuç : 0 dır. Arama sol baştan itibaren başlamıştır. Yer numarası ise baştan 0. sıradadır.

private void Form1_Load(object sender, EventArgs e)
{
int[] dizi = { 1, 3, 5, 7, 9, 11, 1, 3, 5, 7, 9,11 };
MessageBox.Show(Array.LastIndexOf(dizi,1).ToString());
}

Sonuç : 6 dır. Arama sağdan sola yani sondan basa doğrudur. Ancak yer bildirimini bastan bastan itibaren baslamıstır yeri ise 0 dan itibaren 6. sıradadır.

Array.Sort()

Dizinin elemanlarını  küçükten büyüğe doğru sıralar.

private void Form1_Load(object sender, EventArgs e)

{
int[] dizi = { 1, 3, 5, 7, 9, 11, 1, 3, 5, 7, 9,11 };
for (int i = 0; i < dizi.Length; i++)
{
lblSonuc1.Text += dizi[i].ToString() + " - ";
}
Array.Sort(dizi); // lblSonuc2 de dizinin sıralandığını görüyoruz
for (int i = 0; i < dizi.Length; i++)
{
lblSonuc2.Text += dizi[i].ToString() + " - ";
}
}

ArrayList

-Klasik dizilerle çalısırken karsılasabileceğimiz temel sorunlar sunlardır.

-Dizilerin sınırları sabittir. int[] dizi = new int[60];

- Dizilerin tüm elemanları aynı türden olmalıdır. Örn. Hepsi int

-Kullanmadığımız dizi elemanlarından dolayı bellek alanları gereksiz yere isgal edilmektedir.

-Örneğin sayısını bilemediğimiz bir dizinin eleman sayısını 500 olarak belirlediğimizi varsayalım. Çalısma zamanında dizimizin sadece 10 elamanını kullandığımız durumda diğer 490 elemanlık bellek alanı bos olarak kalır. Öte yandan dizimizde tutmak istediğimiz değiskenlerin sayısı 501 bir olduğu bir durumda "IndexOutOfRangeException" istisnai durumu ortaya çıkar ve program bu hatadan dolayı sonlanır.

-ArrayList sınırları dinamik olarak değisebilen diziler olarak tanımlanır.

-Bu veri yapısı .NET sınıf kütüphanesinin System.Collections isim alanında bulunur.

ÖRNEK


private void Form1_Load(object sender, EventArgs e)
{
ArrayList DiziListesi = new ArrayList();
// DiziListesi isimli ArrayList nesnesi olusturuyoruz.
// DiziListesi nesnemize sırası ile 5, 8, 1, 17 ve 20 değerlerini
DiziListesi.Add(5);// Add metodu ile ekleyelim.
DiziListesi.Add(8);
DiziListesi.Add(1);
DiziListesi.Add(17);
DiziListesi.Add(20);
foreach (object eleman in DiziListesi) // DiziListesi'in Sonuç 1'e yazdıryoruz:
{ lblSonuc1.Text += eleman.ToString() + " - "; }
DiziListesi.Remove(8);// DiziListesi dizimizden 8 ve 20 değerlerini çıkartalım:
DiziListesi.Remove(20);
DiziListesi.Add(66); // DiziListesi dizimize 66 ve 4 değerlerini ekliyoruz:
DiziListesi.Add(4);
foreach (object eleman in DiziListesi) // DiziListesi'in Sonuç 2'ye yazdıryoruz:
{ lblSonuc2.Text += eleman.ToString() + " - "; }
}

ArrayList Metodları ve Özellikleri

 Add()  Bir nesneyi ArrayList'in sonuna ekler.
 BinarySearch() Sıralanmıs bir ArrayList içinde bir nesneyi Binary search algoritması kullanarak arar.
 Clear()  ArrayList'in tüm elemanlarını siler. Sıfırlar.
 Contains()  Herhangi bir nesnenin ArrayList'in elemanı olup olmadığını kontrol eder.
 Insert() Dizinin sonuna değilde istediğimiz bir yerine indeksini belirterek eklememizi sağlar.
 Remove()  Herhangi bir elemanı diziden siler.
 Reverse()  Diziyi ters çevirir.
 Sort()  Diziyi sıralar.

Diğer metodlar için lütfen asağıdaki linki kullanın;

http://msdn.microsoft.com/enus/library/system.collections.arraylist_methods.aspx


Örnek

Personel adlarını tutacak bir ArrayList  tanımlayınız.
 Form a bir textbox ekleyerek adları girin. Girilen bu adlar bir ArrayList’te tutulmalı.
 Listeyi ve Eleman sayısını Label a yazdırın
 Listeden adı textbox a girilen isimi silin.
 Listeyi harf sırasına göre sıralatın.
 Listeyi harf sırasına göre tersten sıralatın. 

Form Ekranı

 






if - else (Eğer - Değilse)

If (Eğer) Kosul İfade Yapısı

Sorgulama yapısı, mantıksal olarak;

-Esit mi? Esit değil mi?

-Büyük mü? Büyük Esit mi?

-Küçük mü? Küçük Esit mi?

Sorgulamalarının sonucuna göre islem yapılır. Sonuç olarak iki değer ortaya çıkar bu sonuç ya doğrudur olur yada yanlıstır.

Eğer Sonuç doğru ise if sorgusunun içine girer ve küme parantezi içindeki komutu yerine getirir, eğer değilse bu komut satırını atlar yani uygulamadan devam eder.

private void Form1_Load(object sender, EventArgs e)
{
int sayi1 = 4;
int sayi2 = 5;
if (sayi1 == sayi2)
{
MessageBox.Show("Sayı1 ile Sayı2 Bir birine Esit");
}
}

Else (Değilse)

Yapılan sorgulama sonucunda eğer değer doğru değilse o zaman else komutu ile yanlıs olan sonuç için komutlar yerine getirilir. 

 private void Form1_Load(object sender, EventArgs e)
{
int 
sayi1 = 4;
int sayi2 = 5;
if (sayi1 == sayi2) // Eğer bu iki sayı bir birine esitse

{

MessageBox.Show("Sayı1 ile Sayı2 Bir birine Esit");

}

else // Değilse

{

MessageBox.Show("Sayı1 ile Sayı2 Bir birine Esit Değil");

 }
}

if – else if – else

-Bu sorgulama tipinde eğer sorgusu sonucunda doğru değer elde edilememisse ardısık olarak eğerli olarak sorgulama isleminde kullanılır.

-Son olarak da else ifadesi ile yanlıs sonuç için bir komut yazılır.

private void Form1_Load(object sender, EventArgs e)
{
int sayi1 = 4;
int sayi2 = 5;
int sayi3 = 9;
if (sayi1 == sayi2)
{
MessageBox.Show("Sayı1 ile Sayı2 Bir birine Esit");
}
else if(sayi1+sayi2 == sayi3)
{
MessageBox.Show("Sayı1 ile Sayı2 toplamı sayı3 e Esit");
}
else
{
MessageBox.Show(“Hiç Esitlik Yok");
}
}

 

 İç-İçe if-else yapısı

-Her programlama dilinde olduğu gibi C#  programlama dilinde de if-else yapısı iç içe kullanılabilir. Burada eğer karsılastırma doğru ise içe girer ve tekrar karsılastırma ile karsılasır. Eğer o da doğru ise tekrar içe girer değilse else yapısına girer yada bir üst elseif yada else yapısına çıkar.

-Asağıdaki örnekte bunu çok rahat bir sekilde görebiliriz.

private void Form1_Load(object sender, EventArgs e)
{
int nem = 40;
int sicaklik = 35;
int ruzgar = 10;
if (nem < 20)
{
   if (sicaklik <= 10)
{
    MessageBox.Show("Soğuk ve kuru bir gün");
    if (ruzgar < 10)
{
    MessageBox.Show("Aynı zamanda rüzgarsız bir gün");
}
}
   else
{
   MessageBox.Show("Sıcaklık normal ama kuru bir gün");
}
}
    else if (nem < 60)
{
    if (sicaklik <= 10)
{
    MessageBox.Show("soguk ve orta nemli bir gün.");
}
   else
   MessageBox.Show("Sıcaklık ve nem normal.");
}

switch – case

Switch deyimi genellikle kompleks if-else bloklarının yerine tercih edilir. Switch deyimi ile yapılabilen bütün kontroller if deyimi ile de  yapılabilir. Ancak bazı durumlarda switch deyimi daha sade bir yapıda görünür.

 switch yapısında break, case, switch ve goto anahtar sözcükleri kullanılır.

Dikkat edilecek kurallar;

-switch kelimesi, yapının baslangıcını belirler.

-switch bölümünden sonra bir değisken yazılmalıdır.

-Değiskenin tipi string veya nümerik olabilir.

-case bölümünde, sabit değerler olmalıdır. Burada ifade bulunmaz.

-case bölümleri break ifadesi ile bitirilmelidir.

-case'den sonra { } isaretlerine gerek yoktur.

 Yazım Kuralı
switch (sınama değeri )
{
case değer1 :
yapılacak islemler ;
break;
case değer2 :
yapılacak islemler ;
break;
case değer3 :
yapılacak islemler ;
break;
default :
yapılacak islemler ;
break;
}

switch case

 

Switch – Case Hakkında Notlar

-switch parantezleri içinde double,decimal tipinde değisken kullanılmaz.

-case etiketinden sonra istenen sayıda deyim satırı bulunabilir.

-Her zaman default: bölümünü kullanmanız program yazarken hataları bulabilmenizi sağlar.

-En çok rastlanan hata break; deyiminin unutulmasıdır. Switch yapısı kurulduktan sonra break'lerin doğru yerlerde olup olmadığını kontrol ediniz. 

 Döngüler

Döngüler bir program içerisinde belirli isleri defalarca yapmamızı sağlayan komut bloklarıdır. Sonsuz döngüler yapılabildiği gibi belirli kriter değerine ulastığında biten döngüler de yapılabilir.

C# Dilinde 4 tip döngü vardır.

1.For döngüleri
2.While Döngüleri
3.Do While Döngüleri
4.Foreach Döngüleri

For Döngüsü

for (int i = 1; i < 300; i++)
{
i++
}

  • for döngüsünde parantez içindeki deyimler bos bırakılabilir. Ama noktalı virgüllerin tutulması gereklidir.

  •  birinci ve üçüncü deyimin yazılmaması for döngüsünün while döngüsü olarak kullanılmasını sağlar.

  • İkinci deyim yazılmadan, döngünün ne zaman biteceği belli olmaz. Böyle durumlarda, break komutuyla döngünün dısına çıkılır.

for ve while döngüleri, mantıksal ifadenin en basta sınandığı yapılardır. Mantıksal ifade doğruysa, döngüye girilir doğru değilse döngüden çıkılır.

while döngüsü ile do-while döngüsü arasındaki tek fark kosulun sınandığı yerdir. do-while döngüsünde kosul  sınaması bloğunun en sonunda yapılır. Bu yüzden kosul herne olursa olsun kod bloğunu en az bir kez isletilir ve kosul sınamasına gelir. 

foreach

int[] sdizi = new int[] { 0, 1, 2, 3, 5, 8, 13 };
foreach (int i in sdizi)
{
lblSonuc.Text += i.ToString();
}

private void btnHesapla_Click(object sender, EventArgs e)
{
lblSonuc.Text = "";
int sayac = Convert.ToInt32(txtSayi.Text);
int toplam = 0;
int[] dizi = new int[sayac];
for (int i = 0; i < dizi.Length; i++)
{ dizi[i] = i; }
foreach (int x in dizi)
{
lblSonuc.Text = lblSonuc.Text + Convert.ToString(x) + " ";
toplam = toplam + x;
}
lbltoplam.Text = "Toplam: " + toplam.ToString();
}

Döngüden Çıkıs

-break ifadesi ile döngü yapısından çıkıs için  kullanılır. Eğer iç içe döngü varsa break içteki döngüden bir üstteki döngüye çıkıs için kullanılır

-continue, bulunulan yerden döngünün sonuna gitmek için kullanılır.

-Her iki ifade de , algoritmaların uygulanmasında çok sık kullanılan ifadelerdir.

Break ifadesi ile döngüden çıkıs

private void Form1_Load(object sender, EventArgs e)
{
int x = 0;
for (; ; )
{ /* sonsuz döngü */
if (x == 5)
{
break;
}
MessageBox.Show(x.ToString());
x++;
}
}
Yukarıdaki programda, bir sonsuz döngü vardır ancak bu sonsuz döngü x'in değeri 5 olduğunda döngü kesilir ve çıkılır..

continue: döngüye devam

private void Form1_Load(object sender, EventArgs e)
{
int x;
for( x = 0; x <= 8 ; x++) {
if (x == 4)
{
continue;
}
MessageBox.Show("X = " + x.ToString());
}
}

Yukarıdaki programda, 4 dısında 0'dan 8‘e kadar olan bütün sayılar sıra ile mesaj kutusunda gösterilir.

continue: Örnek 2

private void Form1_Load(object sender, EventArgs e)
{
int x;
for( x = 0; x <= 8 ; x++) {
if (x != 4)
{
MessageBox.Show("X = " + x.ToString());
}
}
}

Yukarıdaki programda, 4 dısında 0'dan 8‘e kadar olan bütün sayılar sıra ile mesaj kutusunda gösterilir.

Örnek: İç İçe For Döngüleri
private void Form1_Load(object sender, EventArgs e)
{
int x;
for( x = 10; x <= 20 ; x++)
{
for (int y = 2; y < x; y++)
{
int bolum = x / y;
if (bolum * y == x)
{
MessageBox.Show(y.ToString() + " " + x.ToString()+" in bölenidir ");
}
}
}
}

 

SIKÇA YAPILAN HATALAR

if’in bulunduğu satır sonuna noktalı virgül konulması

if bloğunun sonunu belirleyen küme parantezinden sonra noktalı virgül konulması

İf bloğunun sonunda küme parantezinin kapatılmaması

Çok ifadeli if bloğunda küme parantezlerinin kullanılmaması

else kelimesinden sonra noktalı virgül konulması

çok ifadeli if/else bloklarında küme parantezlerinin unutulması

iç içe if else yapısındaki else if kelimelerinin bitişik yazılması