1Forum.Net  

Go Back   1Forum.Net > IRC Sunucu Sahipleri - WEB > Genel IRCD > Socketbotlar
Sosyal Gruplar Oyun Dünyası Yasaklılar Listesi Etiketler Arşiv Rss


Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 29/03/08, 19:12 PM   #1 (permalink)
Moderator
 
ShotKiLLa - ait Kullanıcı Resmi (Avatar)
1 Bilgi
Üyelik tarihi: Mar 2008
Mesajlar: 623
Konular: 423
Ruh Halim:
1 Karizma
Rep Gücü : 2
Rep Puanı : 114
Rep Seviyesi : ShotKiLLa will become famous soon enoughShotKiLLa will become famous soon enough
Teşekkür Sayısı : 110
Gösterdiği Tepki : 3
3 mesajına 3 kez tepki gösterildi
1 Reklam
Standart Pogram denetimi (Mantiksal Denetleme IF - ELSEIF - ELSE - SWITCH )


Pogram denetimi (Mantiksal Denetleme IF - ELSEIF - ELSE - SWITCH )

Programlamanin en önemli kosulu mantiksal denetlemedir. Mantiksal denetlemede; programa bir şart verilerek, bu şartın gerçekleşmesi yada gerçekleşmemesi durumunda oluşabilcek durumları belirtir.

IF Deyimi:

Bir cok programlama dilinde en cok kullanilan mantiksal denetleme deyimidir. Türkçe kelime karsiligi "eğer" olan if deyimi bir cok yerde kullanilmaktadir. If deyiminin calisma mantigi su sekilde tarif edilebilir, Programa bir sart kosariz. Mesela; Girilen değer eğer su ise sunu yap, girilen deger eğer su degilse sunu yap, eger deger girilmediyse de sunu yap.

Kullanimi

if { yapilmasi istenen koşul yada koşullar } {

..bu kosul yada kosullar dogru ise yapilacak islemler

}

Yukarida goruldugu gibi if deyimin kosulu "{ }" güzel parantez icine alinarak sorgulanir ve bir diger guzel parantezle kosul sonuclari denetlenerek güzel parantez ile son bulur.


Bir ornek vererek konuyu kavramanizi saglayalim:

if {5 > 4} {

putlog "5 sayisi 4 sayisindan buyuktur"
}

Bu kosulu calistirdigimiz zaman karsimiza 5 sayisi 4 sayisindan buyuktur yazisi cikar. Burada TCL ye sunu diyoruz; Eğer 5, 4 den buyukse sunu yap.

IF deyimi yalnizca bir kosul gerceklestirmez, gerektiginde bir cok kosulu sorgulamamiz icin kullanacagimiz 2 operator sunlardir " && " ve " || " operatorleridir.

Ornek vermek gerekirse:

if {5 > "4" && 5 < "10"} {

putlog "5, 4 den buyuktur ve 5, 10 dan kucuktur"
}

Burada iki kosul sorguladik birinci kosulumuz, 5 sayisinin 4 den buyuk olma durumu ikinci kosulumuz ise 5 sayisinin 10 sayisindan kucuk olma durumu dur.

Arada kullanmis oldugumuz && operatoru su anlama gelmektedir, birinci ve ikinci kosullarimiz dogruysa, yani "ve" anlamina gelmektedir. Bunun bir benzeri olan || (veya) operatorudur, bu ise iki kosulun tartisilmasindan ote, birinci sorgumuz veya ikinci sorgumuz dogru sonuc getirmesemis olsa bile, bunlarsan sadece birinin dogru sonuc getirmesi komut dizinimizin calistirilmasini saglayacaktir.

Buna bir ornek vermek gerekirse:

if { 5 == "8" || 4 == "8" } {

putlog "Bu sorgulardan biri dogru"

}

Burada veya operatoru olan || icin bir ornek vermis olduk, sonuc olarak 5, 8 sayisina esit veya 4, 8 sayisina esit oldugunda komut dizinimizde belirtigimiz ekranimiza bu sorgulardan biri dogru yazdirilacaktir.


ELSE Deyimi:

ELSE deyimi denetlenecek olan kosulun yanlis olmasi kosulunda yapilacak olan komutlari icerir. Bu deyim IF deyimi ile birlikte kullanilabilir. IF deyimi ile alinacak bir sonuc eger alinamamissa ELSE deyimi ile bu sorgunun sonucsuz kaldigini ve calismasini istedigimiz komutlari belirtmemizi saglar. Her sonuc dogru olamayacagi icin genelde ELSE deyimi surekli kullanilir.

Ornek vermek gerekirse:

if { 15 == "12" } {
puthelp "Bu iki sayi esittir"
} else {
puthelp "Bu iki sayi esit degildir"
}

Bu sorguyu calistirdigimiz TCL, 15 sayisi ile 12 sayisinin esit olup olmadigini denetleyecek. Denetlme bittigi zaman sayilarin esit olmadigini anlayacak ve ELSE deyimini arayacak. Biz ELSE deyimini kullandigimiz icin ELSE deyimi altinda kullanmis oldugumuz islemler uygulanacaktir.

Anlatim boyunca surekli olarak rakamlari denetldik istenilirse kelimeleri de kontrol etmek mumkundur.

set kelime "rockturk.com"
set kelime2 "irckolik.com"

if {$kelime == $kelime} {
putlog "bu iki degisken birbirine esittir"
} else {
putlog "bu iki degisken birbirine esit degildir"
}

Not: degisken sorgularken sorgu " " (tirnak) icerisine alinmak zorunda degildir, fakat eger degisken degilde bir rakam yada yaziyi elimizle belirtmek istersek rakam orneklerinde oldugu gibi sorgu " " (tirnak) icine alinarak denetlenmelidir.

Ornek olarak;

Elimizle belirtilen bir string ifade icin "" kuralinin uygulanmasi

if {$kanal == "#kanal"} {
putlog "degisken #kanal ile esittir"
} else {
putlog "degisken #kanal ile esit degildir"
}

Degiskenlerle ifade edilmis sorgulama ise su sekilde olmalidir

if {$kanal == $chan} {
putlog "iki degiskende birbirlrine esittir"
} else {
putlog "degiskenlr esit degildir."
}


ELSEIF Deyimi:

IF deyimi ile kullanilan bu deyim bir onceki if sorgusu sonucunun dogru olmadigi durumlarda bir sonraki kosulu belirtmek icin kullanilir. Program if ile bir sorgu denetimi yapar, ve sonuc dogru olmadigi zaman ilk once elseif deyimi aranir eger bulunamazsa else ile program son bulmak ister, bu nedenle elseif programinizin mantigi disinda elverisli calismasinida kolaylastirmaktadir.


Kullanimi tam olarak su sekilde olmalidir:

if { kosul ve kosullar } {
kosul veya kosullar dogruysa uygulanacak komutlar
} elseif { bagimsiz kosul veya kosullar } {
bu kosulun dogru olmasi sonucu uygulanacak komutlar
} else {
tum kosullar sonuc getirmediginde uygulanacak komutlar
}

Bilmeniz gereken hususlar:

1. Bir if deyimi kullanmak icin, sadece if deyimide kullanilabilir.
2. Bir if deyiminden sonra istenildigi kadar elseif deyimi kullanilabilir.
3. if deyimi kullanilmadan elseif deyimi kullanilmaz.
4. if deyimi kullanilmadan else deyimi kullanilmaz.


NOT: Cok fazla sorgu yapmiyorsaniz if deyiminden sonra diger sorgular icin mutlaka elseif kullanin, bu programinizin daha mantikli calismasina olanak saglayacaktir ve gerekli gordugunuz her denetimde else deyimini kullanin, bu sizin programinizda eslesmelerin dogru olup olmadigini sorgulamaniz ve bunun icin bir onlem almanizi kolaylastiracaktir.

Ipucu: Genel anlamda bir cok dil icin bu deyimler bu algoritma ile uretilmislerdir, kurallari aynidir kullanimlari farkli olabilir.



SWITCH Deyimi

TCL program denetiminde kullanilan bir diger deyimde switch'tir. Bu deyimde bir degisken yapilir ve degisik seceneklere atanabilir. Bu degisken hangi secenege uyuyorsa o komutlar uygulanir. Switch deyimini if deyimi ile de yapmaniz mumkundur, fakat if deyimi ile yaptiginiz herseyi switch ile yapmaniz mumkun degildir.

Yapilan bazi arastirmalar sonucu switch deyiminin if deyiminden daha hizli calistigi ortaya konulmustur, bu nedenle swicth ile yapabileceginiz sorgulama tekniklerinde if kullanmamaniz programinizin daha elverisli ve hizli calismasina olanak saglayacaktir.

Su sekilde kullanilir.

switch -- degisken {
"birinci kosul" {
Bu kosul dogru ise uygulanacak komutlar
}
"ikinci kosul" {
Bu kosul dogru ise uygulanacak komutlar
}
"ucuncu kosul" {
Bu kosul dogru ise uygulanacak komutlar
}
default {
Bu kosullardan hic biri dogru degilse uygulanacak komutlar
}
}


Birinci ikinci ve ucuncu kosul basamaklarimiz ayni if elseif gibi dusunulebilir dogrudur ve daha pratiktir, burada else yerine ise default kullanilir ve kullanilmalidir.

Bir diger ornek icin Burc yorumlama botumda kullanmis oldugum sorgu teknigini gosterecegim.

switch -- $burc {
"koc" {
putlog "sectiginiz burc koc burcudur"
}
"ikizler" {
putlog "sectiginiz burc ikizler burcudur"
}
"yengec" {
putlog "sectiginiz burc yengec burcudur"
}
"aslan" {
putlog "sectiginiz burc aslan burcudur"
}
"basak" {
putlog "sectiginiz burc basak burcudur"
}
default {
putlog "sectiginiz burc yanlistir"
}
}

$burc degiskenine atanmis olan deger koc, ikizler, aslan veya basak ise bunlarla ilgili islemler gerceklesecek eger hic bir uygunluk rastlanmazsa default ile secili olan burcun hatali oldugu saptanabilecektir.

Deyimler de kullanilan operatorler:

== eşitligi denetler
!= eşitsizligi denetler
<= kucuk ve esit sorgular denetler
>= buyuk ve esit sorgulari denetler
< kucuk oldugunu denetler
> buyuk oldugunu denetler
&& cok anlamli sorgular icin degerlerin ayni olmasini denetler
|| cok anlamli sorgular icin degerlerin birinin dogru olmasini denetler

Unutmayin bir cok program bu denetimler uzerine kurulmustur, birini ogrenmeniz digerini kolay anlamanizi saglayacaktir. Bu orneklere dayali olarak cok daha mantikli programlar yazmaniz dilegiyle...

Not: Bazi nedenlerden dolayi 1 ay sonra burada yayinlanip kisilerin bilgi edinmesini uygun gordum.

Yayinlanma ilkesi; yalnizca altta belirtilen yazar adi ve iletisim yolunun gostermesidir.

Yazar: Adil Bülbül (aCoustiC)
Email: acoustic@realcoder.com


_______________________
Üye olup ailemize katılmak ve reklamsız bir forumdan yararlanmak isterseniz TIKLAYIN

Konu ShotKiLLa tarafından (29/03/08 Saat 19:14 PM ) değiştirilmiştir..
ShotKiLLa isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Yeni Konu aç  Cevapla

Sosyal Paylaşım Kısayolları


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
-------------------------------------------------------------
Stil


Tüm Zamanlar GMT +4 Olarak Ayarlanmış. Şuanki Zaman: 12:56 PM.

Powered by vBulletin® Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2008, Crawlability, Inc.

Sitemiz bir forum sitesi olduğu için kullanıcılar her türlü görüşlerini önceden onay olmadan anında siteye yazabilmektedir,
bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir,
yine de sitemizde yasalara aykırı unsurlar bulursanız buradan bize bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede gereken yapılacaktır.
Report Abuse, Harassment, Scamming, Hacking, Warez, Crack, Divx, Mp3 or any Illegal Activity to here

Reklam vermek için bize buradan ulaşabilirsiniz.
3 4 5 9 11 12 13 14 15 18 20 22 24 25 27 28 29 30 31 33 34 35 36 38 39 40 42 43 44 45 46 51 52 54 55 57 59 61 62 68 69 70 71 75 76 81 82 88 91 95 96 99 100 101 104 109 120 121 128 131 132 135 136 139 142 147 150 151 152 153 154 155 156 157 158 159 160 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 251 252 253 254 255 259 277 279 280 281 282 283 285 286 287 288 289 290 291 292 293 295 296 303 304 306 307 308 309 310 311 312 313 314 319 321 322 323 325 327 328 329 330 331 332 334 338 340 341 342 343 344 345 346 347 348 349 351 355 358 359 360 362 364 365 366 367 371 377 378 379 380 381 382 383 384 385 387 411 412 417 419 420 421 422 423 426 432 434 439 440 441 442 444 449 466 469 470 471 472 473 474 475 476 477 478 479 481 482 483 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 505 518 519 520 521 523 524 526 533 537 539 541 545 546 548 549 550 551 552 555 556 557 558 559 560 561 562 563 565 566 569 571 574 580 581 582 583 584 585 586 589 590 591 593 595 596 597 598 599 600 601 604