lostyazilim
tr.link

Hemen C# For döngüsünü öğrenmem lazım

14 Mesajlar 2.414 Okunma
acebozum
tr.link

servet6666 servet6666 bilgieksenim.com Kullanıcı
  • Üyelik 26.02.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci, Bloggerci
  • Konum Hatay
  • Ad Soyad S** A**
  • Mesajlar 93
  • Beğeniler 22 / 4
  • Ticaret 0, (%0)
Arkadaşlar başlıkta da belirttiğim gibi acilen for döngüsünü öğrenmem lazım, bunu bana en basit şekilde öğretebilecek biri var mı?

Yada önerdiğiniz bir site vs.

Acilen öğrenmem lazım, teşekkürler.

NOT: Siyah ekranda öğreniyorum.
 

 

wmaraci
reklam

bjlkl bjlkl WM Aracı Kullanıcı
  • Üyelik 22.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Avrupa
  • Ad Soyad B** C**
  • Mesajlar 1843
  • Beğeniler 269 / 263
  • Ticaret 1, (%100)
for(ifade1;kosul;ifade2)
{
komut1;
komut2;
.
.
.
}

İşlem sırası:
1) ifade1 çalıştırılır.
2) Koşula bakılır. Eğer koşul sağlanıyorsa;

2.1) küme parantezleri içindeki ya da -küme parantezleri yoksa- kendinden sonra gelen ilk satırdaki komut çalıştırılır.
2.2) ifade2 çalıştırılır.
2.3) 2. adıma dönülür.
3) Eğer koşul sağlanmıyorsa küme parantezleri dışına ya da -küme parantezleri yoksa- kendinden sonra gelen ilk satırdaki komuttan hemen sonraki satıra çıkılır. Dolayısıyla döngüden çıkılmış olur.

Örnek:

using System;
class AkisKontrolMekanizmalari
{
static void Main()
{
int toplam=0;
for(int i=1;i<=3;i++){
toplam+=i;
}
Console.Write("toplam={0}",toplam);
}
}

1'den 3e kadar olan sayıların toplamı
i++ dememezin nedeni eğer bir işlem belirlemezsek i hep 3'ten küçük olur ve sonsuz döngüye girer. biz i++ diyerekher yazırma işlemi sonunda i değerini 1 arttırdık aşağıdaki gibi de kodlayabilirsin.

using System;
class AkisKontrolMekanizmalari
{
static void Main()
{
int toplam=0;
for(int i=1;i<=3; ){
toplam+=i;
i++;
}
Console.Write("toplam={0}",toplam);

}
}

Ek Olarak: ayrıntılı bilgiler: http://tr.wikibooks.org/wiki/C_Sharp_Programlama_Dili/Ak %C4%B1%C5%9F_kontrol_mekanizmalar%C4%B1
servet6666

kişi bu mesajı beğendi.

yakupqqq yakupqqq Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 25.10.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek üniversite öğrencisi
  • Konum İstanbul Anadolu
  • Ad Soyad Y** K**
  • Mesajlar 963
  • Beğeniler 33 / 285
  • Ticaret 11, (%100)
örneğin 1 den 100 e kadar sayıları toplamak istiyorsun.



int toplam;
for(int basla=1; basla<=100; basla++)

{
toplam=toplam+basla;
}

Bu döngünün 1.elemanı int basla=1; sayıyı 1 den başlatır. Döngünün 2.elemanı basla<=100; 100'e kadar döngüyü döndürür. biz diyoruzki "ey döngü 100'e kadar dön". 3.elemanımız basla++ ise bu zalim for düngüsünü 1'er 1'er döndürmektedir.

toplam=toplam+basla; toplam başlanlangıçta 0 dır.


dönme---------basla------------toplam
1.dönme: 1 1 0=0+1
2.dönme: 2 3 1=1+2
100.dönme: 100 xxx

anladınız?

Ek Olarak:

servet6666

kişi bu mesajı beğendi.

3han 3han 3HanNET Tasarım&Yazılım Kullanıcı
  • Üyelik 12.01.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Web&amp;Masaüstü Programlama
  • Konum İstanbul Avrupa
  • Ad Soyad H** A**
  • Mesajlar 93
  • Beğeniler 19 / 15
  • Ticaret 0, (%0)
For döngüsü yapılacak işlemleri sorgu sağlanana kadar tekrarlayan bir yapı.
Örnek

For(int i=0; i==10; i++)
{
MessageBox.Show("10 Defa Ekrana Bu Yazıyı Yazar");
}

Yukarıdaki sayaç doğrultusunda güzel parantez içerisindeki komutu döndürüyor. Sayaç tamamlandığında ise döngü durur.
 

 

3HanNET Web Tasarımı & Yazılım Teknolojileri - 3hannet.com
wmaraci
wmaraci

servet6666 servet6666 bilgieksenim.com Kullanıcı
  • Üyelik 26.02.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci, Bloggerci
  • Konum Hatay
  • Ad Soyad S** A**
  • Mesajlar 93
  • Beğeniler 22 / 4
  • Ticaret 0, (%0)
Yardım eden herkese teşekkür ederim, for döngüsünü öğrendim ama iç içe olunca kafam karışıyor, ne yapacağımı karıştırıyorum.

Bunu nasıl çözerim, ne yapmam lazım?
 

 

bjlkl bjlkl WM Aracı Kullanıcı
  • Üyelik 22.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Avrupa
  • Ad Soyad B** C**
  • Mesajlar 1843
  • Beğeniler 269 / 263
  • Ticaret 1, (%100)
bir çarpım tablosu yapmayı dene
iç içelerle en iyi öyle anlarsın bence
servet6666

kişi bu mesajı beğendi.

servet6666 servet6666 bilgieksenim.com Kullanıcı
  • Üyelik 26.02.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci, Bloggerci
  • Konum Hatay
  • Ad Soyad S** A**
  • Mesajlar 93
  • Beğeniler 22 / 4
  • Ticaret 0, (%0)
Şu an klavyeden girilen sayı kadar yıldız yazarak kare yapan program yapmaya çalışıyorum. Dediğinizi de küçük bir yardım ile yapmıştım.
 

 

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)
c bilgiğini düşündüğüm için ve mantığı yakalaman için sorununu c de çözüyorum. c# da sana mantık anlamında yardımcı olacaktır. başarılar.


#include
#include

int main() {

int yildiz_adeti;
printf("Yildiz adetini girin : ");
scanf("%d",&yildiz_adeti);

int sayac;
for(sayac=0; sayac<=yildiz_adeti; sayac++){
printf("*");
}

getch();
return 0;
}
 

 

servet6666 servet6666 bilgieksenim.com Kullanıcı
  • Üyelik 26.02.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci, Bloggerci
  • Konum Hatay
  • Ad Soyad S** A**
  • Mesajlar 93
  • Beğeniler 22 / 4
  • Ticaret 0, (%0)

Referee adlı üyeden alıntı

c bilgiğini düşündüğüm için ve mantığı yakalaman için sorununu c de çözüyorum. c# da sana mantık anlamında yardımcı olacaktır. başarılar.


#include
#include

int main() {

int yildiz_adeti;
printf("Yildiz adetini girin : ");
scanf("%d",&yildiz_adeti);

int sayac;
for(sayac=0; sayac<=yildiz_adeti; sayac++){
printf("*");
}

getch();
return 0;
}


C bilmiyorum ama bişey soracam, buradaki karenin içi boş mu?
 

 

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)

servet6666 adlı üyeden alıntı

C bilmiyorum ama bişey soracam, buradaki karenin içi boş mu?


Özür diliyorum sorunu eksik okumuşum bu program kare yapmıyor ama hemen istediğin programı yazıyorum, biraz bekleteceğim.


Ek Olarak: Mesajınızı geç gördüğüm ve yanlış okuduğum için programı c yerine işini tam olarak görecek c#dilinde hazırladım. Umarım öğrenmenize yardımcı olur. Açıklama satırlarını okursanız mantığı anlayacağınızı umuyorum. Yinede soruların olursa yanıtlamaya çalışırım. Tekrar başarılar.

Program görseli :




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("Yildiz edetini girin : ");
String yildiz_adeti = Console.ReadLine(); // String olarak kullanıcıdan yıldiz adeti alındı.
int int_yildiz_adeti = Int32.Parse(yildiz_adeti); // String ifade integer ifadeye dönüştürüldü.

if (int_yildiz_adeti % 4 != 0) // Sayının 4'e modunu aldık ve kare yapılabilirliğini kontrol ettik.
{
Console.WriteLine("Bu degerlerden bir kare yapilamaz..");
}
else
{
int en_ust_satirdaki_yildiz_sayisi = int_yildiz_adeti/4;
int ust_satir_sayaci;
int alt_bolumde_atilacak_bosluk_sayisi = 1;
for (ust_satir_sayaci = 1; ust_satir_sayaci <= en_ust_satirdaki_yildiz_sayisi; ust_satir_sayaci++)
{
Console.Write("*");
alt_bolumde_atilacak_bosluk_sayisi++;
}

alt_bolumde_atilacak_bosluk_sayisi -= 2; // alt bölümde atılacak boşluk sayısı üst satırdaki en baş ve en son * ların çıkarılması ile belirlendi.
String string_olarak_boslugun_yazimi = " ";
String string_olarak_yildizin_yazimi = "*";
int bosluk_sayaci;
String yeni_string_olarak_boslugun_yazimi = ""; // başta boş
String yeni_string_olarak_yildizin_yazimi = "";

for(bosluk_sayaci=1; bosluk_sayaci < alt_bolumde_atilacak_bosluk_sayisi; bosluk_sayaci++){
yeni_string_olarak_boslugun_yazimi = yeni_string_olarak_boslugun_yazimi+string_olarak_boslugun_yazimi;
yeni_string_olarak_yildizin_yazimi = yeni_string_olarak_yildizin_yazimi+string_olarak_yildizin_yazimi;
}

Console.WriteLine("");
for (ust_satir_sayaci = 1; ust_satir_sayaci < en_ust_satirdaki_yildiz_sayisi; ust_satir_sayaci++)
{
if (ust_satir_sayaci == alt_bolumde_atilacak_bosluk_sayisi) // Son satırdaysa.
{
Console.WriteLine("*" + yeni_string_olarak_yildizin_yazimi + "*");
}
else
{
Console.WriteLine("*" + yeni_string_olarak_boslugun_yazimi + "*"); // Ara satırdaysa
}
}
}



Console.ReadLine(); // konsolu ekranda tutmaya yarar.
}
}
}

 

 

wmaraci
wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al