20
Diziler için For Each Next döngüsü
18 Comments | aspkodlari.com tarafından yazıldı, kategori: ASP'ye Giriş, Döngüler
Sayaç kullanmayan For Each döngüsü For Next döngüsü gibi çalışır. Bir dizi değişkenin bütün değerleri için bir kere çalışır. Dizi-değişkenler, ASP ile kodlamada önemli yer tutar. Örneğin bir sınıftaki öğrencilerin veya müşterilerimizin listesi bir dizi değişkenin elemanları olabilirler. İşlem, dizi-değişkenin bütün elemanları için tekrar edilecekse, For Each..Next döngüsü daha elverişli olabilir. Bir dizi-değişkenin eleman sayısı ilerde değişirse ve siz döngüyü For..Next ile kurmuşsanız döngünün sayacı için verdiğiniz için alt ve üst sınırı değiştirmek zorunda kalırsınız. Oysa For Each, kaç kere tekrar edeceğine ilişkin değeri her zaman dizi-değişkenin elemanların sayısından alır. Örneğin, bütün öğrencilerin listesini tutan Ögrenciler dizi-değişkeninin bütün elemanlarının değerini ekrana yazdıralım:
For Each Ogrenci In Ogrenciler
Response.Write Ogrenci
Next
Burada “Ogrenci” Ogrenciler dizi-değişkeninde döngünün her adımında okunan bir elemanın değerini tutar. For Each döngüsü tarafından “okunmakta olan” dizi-değişkenin her bir değeri sırayla bu değişkene yazılacaktır.
Net bir örnek vereyim, şimdi olayı anlayacaksınız.
<%
Dim langs(2)
langs(0)=”asp”
langs(1)=”php”
langs(2)=”js”
For Each x In langs
document.write(x & “<br />”)
Next
Bir başka For Each örneği Asp’de tüm Server Variable değerleri makalemizde mevcut.
İlgili makaleler
18 Yorum for Diziler için For Each Next döngüsü
gül güneş | 05 Mart 2010 at 17:01
serkan | 05 Mart 2010 at 19:42
while döngüsünü sonlandırmamışsınız. neden burda while döngüsünü kullanıyorsunuz yazmamışsınız. daha detaylı yazarsanız iyi olur.
gül güneş | 06 Mart 2010 at 10:21
while döngüsünü sonlandrdm end whileyle
sub hesap(obj as object,e as eventargs)
Const pi as long=3
dim r as long
r=t1.text
while t1.text>0
response.write(“daire alanı” & pi*r^2)
end while
end sub
kodlarımın hepsi böyle dedigim gibi ifle yapabildm ama hocamz while döngüsüyle yapmamızı istedigi için bunla yapmaa çalışıorum ama yapamadm.Eger biliyosanız yardm edersenz sevinirm çnkü pazartesiye kadar vermem gerekio ödevi..
grbz | 06 Mart 2010 at 12:12
gül güneş bu kodlar asp değil asp.net kodları. sorun şu: while döngüsü içinde kontrol değişkenini değiştirmemişsin.
while r>0
response.write(“daire alanı” & pi*r^2)
response.write(“”)
r=r-1
end while
bu şekilde yaparsan çalışacaktır.
gül güneş | 07 Mart 2010 at 21:35
Bir sınıftaki öğrencilerin notları klavyeden girilecektir.Sınıftaki geçen ve kalan öğrenci sayısını döngü ve kontrol deyimleri kullanarak hesaplayınız. yapamıorum yardımcı olursanız sevinirim teşekkür edrm.
gül güneş | 09 Mart 2010 at 18:05
yardım edicek kmse yokmu acil!!…
gül güneş | 11 Mart 2010 at 17:33
1′den 100′e kadar olan tek sayıları Do While döngüsüyle yazdırınız ? arkadaşlar yardımcı olursanz sevinirm yapıorum ama ekrana 50 tane 0 yazdırıo
gül güneş | 13 Mart 2010 at 18:22
teşekkr edrm..
gül güneş | 13 Mart 2010 at 18:25
arkadaşlar çarpım tablosunu iç içe for kullanarak yapmam gerekiyo yardım edermisinz acil!!…
marcos | 13 Mart 2010 at 19:30
çarpım tablosu için
for i=1 to 9
for j=i to 9
sonuc=j*i
response.write sonuc & ” – ”
next
next
burdaki mantık işinizi görür. biraz daha detay verseydiniz iyi olurdu.
gül güneş | 13 Mart 2010 at 20:42
yalnız söledgnz gibi hepsini sırayla yapıo alt alta söle 1*1=1
1*2=2
1*3=3 ….1*10=10
sonra 2*1=2
2*2=4
2*3=6…. 2*10=20 ….. en sonunda da
10*1=10 10*2=20….10*10=100 bu şekilde olması lazm.. teşekkr edrm.
GüL Güneş | 13 Mart 2010 at 23:03
çarpım tablosu şeklnde olucak yani 1*1=1
1*2=2 1*3=3… 1*10=10
2*1=2 2*2=4 ….. 2*10=20….
3′ler 4′ler 5 ler 6 lar 7 ler 8 ler 9 lar 10 lar bu şekilde olucak teşekr edrm..
marcos | 13 Mart 2010 at 23:55
yazdığım kodda bir kaç değişiklik ile bunu yapabilirsiniz. site editörü istediğin kodları çarpım tablosunu eklemiş bu arada. http://www.aspkodlari.com/?p=215
Kolay gelsin.
GüL Güneş | 14 Mart 2010 at 00:23
teşekkr edrm =)
yaprak | 25 Mart 2010 at 22:43
arkadaşlar hoca bizden fonsiyonu kullanarak ilk değer atamasını yapan program komut satırlarını yazmamızı istedi.
Faktoriyel hesabı alt programda do while döngüsü ile
1den girilen sayıya kadar olan sayıların toplam işlemi while döngüsü ile
1den girilen sayıya kadar olan çift sayıların toplamı do until
1den girilen sayıya kadar olan tek sayıların toplamı for döngüsü ile yapılacaktır.
dedi nasıl yapıcağımı bilmiyorum yardım edermsnz
naime | 05 Mayıs 2010 at 19:38
sub page_load(sender as object,e as eventargs)
if not page.ispostback then
randomize()
session(“tahmin”)=CInt(rnd()*25)
i=session(“sayac”)
i=i+1
end if
end sub
sub goster(sender as object,e as eventargs)
if i<=6
if tah.textsession(“tahmin”) then
son.text=”Rakamınız büyük”
else if tah.text=session(“tahmin”) then
son.text=”Tebrikler”
else
son.text=”Bilemedin”
end if
end if
end sub
Kodlarda 6. denemeden sonra “bilemedin” yazsın ve textbox girişine izin vermesin istiyorum. ama bir türlü yapamadım. döngüden çıkmıyor hiç, kaç kez girsem kabul ediyor,bilemedin yazmıyor neden?


güzel açıklanmış ama daha açık örnekler olabilirmiş
bide bnm sorum vardı görenler yardımcı olursa sevinirm
while komutuyla
while textbox1>0
response.write(“daire alanı” & pi*r^2) pi ve r degişknlerimi ve textboxlarımı oluşturdm if deyimi ile yapabildigm halde while döngüsünde yapamıyorum neden acaba ? bilen varsa yazarsa sevinirm…