IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  reklamver

Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 26 Kasım 2011, 11:59   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Döngüler




Sınama bir programın akışını kontrol için kullanacağımız birinci en önemli unsur ise, döngü de ikinci en önemli unsur sayılır. Hatta programcının tembellik katsayısına göre, belki de birinci en önemli unsuru bile sayılabilir! Çünkü Döngü (Loop) programa, bir işi biteviye yaptırmaya yarar. Tabiî bu iş sonsuza kadar sürecek olursa, buna Endless Loop (Sonsuz Döngü) denir; en iyi program ve Windows dondurma yöntemidir!

VBScript’te kullanabileceğimiz döngü yöntemleri şunlardır

Aşagıdaki Konu Başlıklarından Takip Edebilirsiniz..

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver
Alt 26 Kasım 2011, 12:01   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Döngüler




For..Next Döngüsü

Programın bir işi belirli kere yapmasını istiyorsak, ona yapacağı işi bir sayaç değişkeniyle birlikte,

For döngüsüyle bildiririz:


PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
For sayaç başlangıç To son Step adım
    yapılacak işler
Next 


Burada, “sayaç” yerine istediğiniz bir değişken adını, “başlangıç” yerine sayacın başlamasını istediğiniz sayıyı, “son” yerine sayacın durmasını istediğiniz sayıyı, ve “adım” yerine, sayacın kaçar-kaçar artmasını istediğinizi yazabilirsiniz. En sondaki Next deyimi ise döngünün bir sonraki adıma geçmesini sağlar. Bu adımda sayaç, Step kelimesi varsa, karşısındaki değer kadar arttırılır ve yapılacak işler yeniden yapılır. Bir örnek yapalım (gunler.asp):,



PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<HTML>
<
HEAD>
<
TITLE>ASP ILE GÜNLERI SAYMA</TITLE>
<
META http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<
META http-equiv="Content-Type" content="text/html; charset=windows-1254">
</
HEAD>
<
BODY>
<
H2>
<
CENTER>
<%
Dim Gunler 
Gunler 
= Array("Pazartesi""Salı""Çarşamba""Perşembe""Cuma""Cumartesi""Pazar")
For 
sayac 0 to 6
    Response
.Write Gunler(sayac)
    
Response.Write "<BR>"
Next
%>
</
CENTER>
</
H2>
</
BODY>
</
HTML



Bu ASP kodunda, Gunler adıyla bir dizi-değişken oluşturuyoruz ve bu değişkenin yedi hanesine, günlerin adlarını atıyoruz. Sonra, sayac adlı sayacı 0’dan 6’ya kadar arttırıyoruz (Bir sayaç birer birer artsın istersek, Step bölümüne adım sayısı yazmayız). Şimdi kendimizi bir an için VBScript’in yerine koyalım ve birinci adımda yapacağımız işi düşünelim: “Hmm.. Programcı bey, benim sayac’ı önce 0 yapmamı istiyor; peki sayac 0 olsun. Sonra, Gunler dizi-değişkeninden sayaç değeri ile aynı sayıyı taşıyan değişkeni alıp, bunu ziyaretçinin Browser’ına yazmamı istiyor. Peki, Gunler(0) ne imiş, bakalım. Hmm Gunler(0) Pazartesi imiş. o halde ziyaretçinin ekranına bir Pazartesi kelimesi yazalım. Sonra bir de <BR> kodu yazmamı istiyor. Onu da yazalım.. Şimdi, sırada Next var. Yani bir sonraki adıma devam edeceğiz. Step değeri olmadığına göre sayacı bir arttırayım. Sayaç böylece 1 oldu. ...”
Ve böylece VBScript, sayacın son değeri olan 6’ya ulaşıncaya kadar, biteviye Gunler dizi-değişkeninden sayacın değerine göre değer seçerek ve bunu ekrana yazdırarak, işini yapacaktır. Bu bakımdan VBScript, güvenilir ve çalışkan bir arkadaştır!

 
Alıntı ile Cevapla

Alt 26 Kasım 2011, 12:02   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Döngüler




While...Wend Döngüsü

Ne var ki, program mantığı bazen bize böyle açık ve seçik bir sayaç kurma imkanı vermez. Sayaç olarak kullanacağımız değer, programın başka bir bölümü tarafından üretiliyor olabilir. Veya bu değer ziyaretçi tarafından belirlenmiş olabilir. Özetle yapılmasını arzu ettiğimiz işin ancak sayaç bir değerden azsa, çoksa veya eşitse yapılmasını, bu durum değişirse durmasını isteyebiliriz. Bunu While (..iken) komutuyla yapabiliriz. While döngüsünü kullandığımız zaman sayacı bizim arttırmamız gerekir.
Sözgelimi, yukarıdaki programın 7 günün tümünü ekrana yazmasını değil de, mesela gün sayısı 5’den küçük ise yazmasını istiyor olabiliriz. Bu durumda kodumuzda For.. Next arasında kalan bölümde şu değişikliği yapabiliriz:


PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
While sayac <= 5
    Response
.Write Gunler(sayac)
    
Response.Write "<BR>"
sayac sayac 1
Wend 


Burada While döngüsünün Wend kelimesiyle sonlandırıldığına dikkat edin. While satırındaki sayacı değiştirdik, programın sayaç 5’den küçük veya 5’e eşit iken işlemesini sağladık. For’dan farklı bir diğer ifade ise sayacı arttıran “sayac = sayac + 1” ifadesidir. Bu ifade, ilk bakışta garip görünebilir. Fakat bilgisayar açısından bu “sayac’ın o andaki değerini al, 1 ile topla ve bulduğun yeni değeri sayacın mevcut değerinin yerine yaz!” demektir. VBScript sayacı bir arttırdıktan sonra önce While satırındaki şartın gerçekleşip gerçekleşmediğine bakar; gerçekleşmiş ise Wend’i izleyen ilk satıra gider; gerçekleşmemişse While döngüsünün içindeki işi yapmaya devam eder. Kendinizi VBScript’in yerine koyup, birinci ve ikinci adımda nasıl düşündüğünüzü ve ne iş yaptığınızı söyleyebilir misiniz

 
Alıntı ile Cevapla

Alt 26 Kasım 2011, 12:04   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Döngüler




Do..Loop Döngüsü Do (Yap) komutu ile kuracağımız döngüler iki ayrı türde olabilir: bu döngü ile bir dizi komutu, bir koşul doğru iken veya doğru oluncaya kadar yaptırabiliriz. Bu yöntemlerden her biri iki ayrı şekilde yazılabilir. Bir koşul doğru iken bazı işlerin biteviye yapılmasını istiyorsak, Do While yöntemini kullanırız:

Do While koşul
koşul doğru iken yapılacak işler
Loop
Bu ifade ile VBScript koşul doğru olduğu sürece istediğimiz işi yapacaktır. Buradaki Loop kelimesi, döngünün başa dönmesini sağlar. Bu yöntemden şu şekilde de yararlanabiliriz:
Do
koşul doğru iken yapılacak işler
Loop While koşul
Burada, Loop komutu şartın hâlâ doğru olup olmadığını sınar ve doğru ise verilen işleri yapar; artık değilse bir sonraki satıra geçer.
Döngünün bir şart gerçekleşinceye kadar bir işi yapmasını ise Do Until yöntemiyle sağlarız. Bu durumda döngü şöyle yazılır:
Do Until koşul
koşul gerçekleşinceye kadar yapılacak işler
Loop
Bu ifade ile VBScript koşul doğru oluncaya kadar istediğimiz işi yapacaktır. Buradaki Loop kelimesi, döngünün başa dönmesini sağlar. Bu yöntemden şu şekilde de yararlanabiliriz:
Do
koşul gerçekleşinceye kadar yapılacak işler
Loop Until koşul
Burada, Loop komutu şartın henüz gerçekleşip gerçekleşmediğini sınar ve henüz gerçekleşmemişse verilen işleri yapar; gerçekleşmişse bir sonraki satıra geçer.
Visual Basic metinlerinde bu döngüye verilen klasik örnek, bilgisayara yazı-tura attırmaktır! Biz de ASP sayfamıza yazı-tura attırabiliriz. Bunun için şu kodu yazın ve yazi-tura.asp adıyla kaydedin:


PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<% Option Explicit %>
<
HTML>
<
HEAD>
<
TITLE>ASP ILE YAZI-TURA</TITLE
<
META http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<
META http-equiv="Content-Type" content="text/html; charset=windows-1254">
</
HEAD>
<
BODY>
<
H2>
<
CENTER>
<%
Dim ParaAtYaziTuraAtis
Randomize
Yazi 
0
Tura 
0
Atis 
0
Do While Tura 3
    atis 
Atis 1
    ParaAt 
Int(Rnd 2) + 1
    
If ParaAt 1 Then
%>
Yazı!<P>
<%
    
Yazi Yazi 
    
Else
%>
Tura!<P>
<%
    
Tura Tura 1
    End 
If
Loop
%>
3 Tura getirebilmek için parayı <%=Atis%> kere atmak gerekti!
</
HTML





Bu kodda şu ana kadar karşımıza çıkmamış olan Randomize (Tesadüfî sayı bulma) Fonksiyonu’nun kullanıldığını görüyoruz.

 
Alıntı ile Cevapla

Cevapla

Etiketler
döngüler


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
C# Döngüler 2 Sunay C# 3 04 Ekim 2010 23:40
Delphi'de Döngüler Slipknot Delphi 0 07 Temmuz 2010 20:44
C# Döngüler 3 Sunay C# 0 24 Nisan 2010 01:48
C# Döngüler 1 Sunay C# 0 24 Nisan 2010 01:48