
Joseph Goodman
0
1422
83
Programlamaya Öğrenirken Tüm Stressiz Programlamayı Öğrenme Tüm Stressiz Programlamayı Öğrenme Belki bir kariyer için veya bir hobi olarak programlama yapmaya karar verdiniz. Harika! Ama belki bunalmış hissetmeye başladın. Çok iyi değil. İşte yolculuğunuzu kolaylaştırmak için yardım. , temel yapı taşlarını anlamak, erken başarının anahtarıdır. Zor konuları daha sonra ele alacaksınız, ancak değişken türlerini, döngüleri ve işlevleri anlamıyorsanız, uzaklaşmak zor.
Çoğu yeni programcı öğrenir if-else ifadeleri, döngüler, ve döngüler için çok geçmeden. Ancak anlayamayabileceğiniz döngü türlerinden biri do-while döngüsü. Kullanmak istediğinizde, bu döngünün nasıl çalıştığını tartışalım ve birkaç örneğe bakalım.
Temeller
Bir do-while döngüsü bir kod bloğunu en az bir kez çalıştırır, bir koşulun doğru olup olmadığını kontrol eder, sonra koşulu bağlı olarak kodu çalıştırmaya devam eder. Basit bir sözde kod örneğine bakalım (öğrenmenize yardımcı olduklarından! 10 Hızlı Öğrenmenize Yardımcı Olacak 10 Temel Python Örneği 10 Hızlı Öğrenmenize Yardımcı Olacak 10 Temel Python Örneği Temel python örneklerinin bu makalesi, bazı programlara sahip olanlar içindir. deneyim ve sadece Python'a mümkün olduğunca çabuk geçmek istiyorum.):
do output "x değişkeni eşittir" + x; x ++; süre (x < 5); output "The loop has ended.";
Bu kod parçasında, içindeki çizgiler yap parantezler her zaman en az bir kere çalışır. Bu şu demek x döngünün başında herhangi bir değer olabilir.
Eğer x döngü başladığında 1 eşittir, x yanındaki durumu sağlamaz süre. Böylece toplam 5 kez çalışacaktı. Ne zaman x 5'ten küçük değilse, döngü sona erer ve ondan sonra koda devam eder. Bu çıktı aşağıdaki gibi olacaktır:
X değişkeni 1'e eşittir x değişkeni 2'ye eşittir x değişkeni 3 eşittir 3 değişken x eşittir 4 değişken x eşittir 5 Döngü sona erdi.
Aksine, eğer x Bu döngü başladığında 20'ye eşitti, sadece bir kez çalışacaktı. Böylece bir çıktı ifadesi göreceksiniz, x 21'e yükselir ve 21, 5'ten küçük olmadığından döngü sona erer.
X değişkeni 20'ye eşittir Döngü sona erdi.
Süre ve Döngülerle Kontrast
Nasıl yaparken döngü diğer döngülerden farklı mı? En önemli ayrım, süre döngüleri bir koşulu sınamaktır. sonra kod bloğu yürütülürken, diğer döngüler bir koşulu kontrol eder önce kodu çalıştırmak.
Bu basit sözde kodu düşünün süre Karşılaştırma için döngü:
x = 10; iken (x < 5) output "The loop has run!"; x++;
İşte, x 10 ve süre döngü kontrol eder ki x çalışmadan önce 5'ten az. Bu nedenle, içindeki kod hiçbir zaman çalışmaz. Aynı mantığı do-while döngüsüne uygulamak bize şöyle bir şey verir:
x = 10; do output "Döngü çalıştı!"; x ++; süre (x < 5)
Bu döngü bir kez metin çıktısı verecek, artış x, sonra devam et.
Do-while işlevselliğini bir önünde ek bir ifade ile yeniden oluşturabileceğinizi unutmayın. süre döngü, böyle:
çıktı "Merhaba!"; x ++; iken (x < 5) output "Hello!"; x++;
Ancak, bu tıknazdır ve bunu yaparken döngüler varken bunu yapmak için hiçbir sebep yoktur..
Döngüler
Do-while döngüleri ile benzer bir ayrım var için döngüler. bir için döngü bir değişkeni tanımlar, döngünün ne kadar sürmesi gerektiğini belirtir ve her yinelemenin sonu için bir davranış belirler.
İşte basit için Karşılaştırma için döngü:
(int i = 0; i < 5; i++) output "The loop has run " + i + " times.";
Bu arasında iyi bir kontrast vurgulamaktadır yaparken ve için döngüler - tam olarak kaç kere için döngü başlayacaktır çünkü koşulları siz başlatırsınız. Yukarıdaki kodu, şöyle bir do-while döngüsüne değiştirirseniz:
do output "Döngünün" + i + "süreleri vardır"; i ++; süre < 5);
Döngü çalışırken bir sorunla sonuçlanabilir. Başlatmadıysanız ben başka bir yerde, değerinin ne zaman olacağını bilmiyorsunuz. yap kısım çalışır - ve en az bir kere çalışır. Eğer ben bu döngü kaçtığında 500'dü, buradaki çıktı yanlış olurdu.
Özetle:
- bir do-while döngüsü Bir komutu en az bir kez ve bir koşul yanlış oluncaya kadar sürekli olarak çalıştırmak istediğinizde kullanışlıdır..
- bir döngü sırasında bir koşul doğru olduğu sürece bir kod bloğunu tekrarlamanıza ve koşul doğru olmadığı sürece durmanıza izin verir..
- bir döngü için kendi parametrelerinizi ayarlayarak döngünün tam olarak kaç kez çalışması gerektiğini belirtmenizi sağlar.
Do-While Döngüsünü Bırakma
Tabii ki, diğerleri gibi do-while döngüleri için bir çıkış koşuluna sahip olmalısınız. Olmazsa, sonsuz bir döngü ile sona erebilir. Aşağıdaki pasajı göz önünde bulundurun:
x = 5; do output "Bu asla bitmez!"; süre (x < 10);
Eğer artış yapmazsanız x Kodun başka bir yerinde, bu döngü sonsuza kadar çalışacaktır. Şimdi, bazen sonsuz döngüler kullanışlıdır çünkü programcı başka bir yerdeki döngüden çıkmak için kod ayarlar. Fakat çoğu zaman, acemi kodlayıcılar kazayla sonsuz döngülere giriyorlar Tarihin En Kötü 10 Programlama Hatası 10 Tarihin En Kötü 10 Programlama Hatası. Biraz hatalı kod örneği, felakete büyük ölçüde neden oldu. Aşağıdaki, tarihteki en kötü programlama hatalarından 10 tanesidir.. .
İşte uygun bir sonsuz döngü örneği. Diyelim ki bir oyun tasarlıyorsunuzdur 5 Kendi Oyunlarınızı Yapmak İçin Ücretsiz Oyun Geliştirme Yazılım Araçları 5 Kendi Oyunlarınızı Yapmak İçin Ücretsiz Oyun Geliştirme Yazılım Araçları Ücretsiz oyun geliştirme yazılımı, video oyun yapımına başlamak için harika bir yoldur. Piyasadaki en iyi oyun yazılımını derledik. kullanıcının bir kalıbı yuvarladığı ve ev tabanını terk etmek için bir 6 alması gerektiği. 6'ya gelinceye kadar kalıbı yuvarlamaya devam etmek istersiniz ve en azından bir kere yuvarlanmanız gerekir. Böylece, bu kodu kullanabilirsiniz:
do int roll = random (1, 2, 3, 4, 5, 6); eğer (rulo == 6) mola; süre (doğru);
iken (doğru) koşulu, bu döngünün sonsuza kadar çalışacağı anlamına gelir; ki bu, kullanıcının 6'yı alana kadar yuvarlanması gerekir. mola ifadesi, sıkışıp kalacaktı. Ancak kullanıcı bir 6'yı aştığında, Eğer deyimi gerçekleşir ve dizi döngüden kopar ve sonra olanın üzerine geçer.
İstemiyorsanız bir break deyimi kullanmak zorunda değilsiniz. Aslında, eğer yapabilirseniz break ifadelerinden kaçınmak muhtemelen daha iyidir. Kodunuzu korumayı zorlaştırır ve bir koşula son vermek izini sürmek daha kolaydır. Bu nedenle, aşağıdaki değiştirilmiş kod aynı amaca ulaşır:
do int roll = random (1, 2, 3, 4, 5, 6); süre (yuvarlanma! = 6);
Kötü Bir Sonsuz Döngü
Çıkma planınız olan sonsuz bir döngü iyi. Ancak bazen, aşağıdaki örnekte olduğu gibi, yanlışlıkla sonsuz bir döngü oluşturacaksınız:
int x = 7; x = 1; x = x + 2; çıktı "x eşittir" + x; süre (x < 10);
Bu artışlar gibi görünebilir x 2 ile her döngü ve x 10'dan küçük olmayana kadar tekrar eder, ancak daha yakından bakın. Çünkü döngü ayarlar x eşittir 1 Her çalıştığında, bu sonsuz bir döngüdür. Dikkat edin x = 1 ve x = x + 2 anlamına gelir x kaç kez çalıştığından bağımsız olarak bloğun sonunda daima 3'tür, yani x asla 10'dan az olmaz.
Bu gibi durumlardan kaçınmak için her çalıştırdığınızda istemeden bir değişkeni değişmeden değiştiren ifadeleri izleyin.
Gerçek Dünyadan Örnekler
Yukarıdaki bazı varsayımsal örnekleri tartıştık, ancak hadi do-while döngülerine ilişkin birkaç faydalı gerçek dünya örneğine hızlıca göz atalım..
Verileri bir dosyadan sonuna kadar okumak için bir döngü oluşturuyorsanız, bir do-while döngüsü kullanırsınız. Belli ki bir dosyadan okumayı planlıyorsanız en az bir karakter almanız gerekir, bu nedenle böyle bir işlem gerçekleştirme döngüsü kullanabilirsiniz (bu örnekte Stack Exchange kullanıcısı Steven Burnap sayesinde):
do result = readData (buffer); while (sonuç! = EOF);
Bir süre olmadan, biraz daha çirkin bir çözüm kullanmanız gerekir:
while (true) result = readData (buffer); if (result == EOF) sonu;
Başka bir örnek, bir kullanıcıdan gelen kapma girdisini içerir. Diyelim ki kullanıcıdan pozitif bir sayı girmesini isteyen bir program yazıyorsunuz. Bir süre kullanma kullanarak, girişlerinin uygun olduğundan emin olabilirsiniz:
do output "Lütfen pozitif bir sayı girin:"; int input = getInput (); while (giriş < 0);
Bu döngü ile, kullanıcı bir sayı girme istemini görür ve bir kez değer girer. Negatif bir sayı girerlerse, döngü tekrar çalışır ve uyuncaya kadar pozitif bir sayı girmeleri istenir. Diğer döngüler bu tür bir eylem için anlamsızdır.
Do-While Döngülerini Kullanmaya Hazır?
Temel ilkeleri, en iyi nasıl kullanıldıkları ve diğer döngülerle nasıl karşılaştırıldıkları dahil olmak üzere, bir süre bitim döngüleri araştırması yaptık. Bu makaleden başka bir şey hatırlamıyorsanız, biliyorsunuz ki-süre döngüleri Bir şeyi en az bir kez çalıştırmanız gerektiğinde, ancak döngüyü başlatmadan önce ihtiyacınız olacak öğelerin sayısını bilmiyorum..
Programlarınızda bunun gibi durumları düşünün ve do-while döngülerinin uygun olduğu yerleri kolayca bulacaksınız. Neredeyse tüm en iyi başlangıç dilleri 6 Yeni Başlayanlar İçin Öğrenilecek En Kolay Programlama Dilleri 6 Yeni Başlayanlar İçin Öğrenilecek En Kolay Programlama Dilleri Programlamayı öğrenmek, düzenleme süreciyle ilgili olduğu kadar doğru dili bulmakla ilgilidir. Yeni başlayanlar için ilk altı en kolay programlama dili. do-while döngülerine destek verin, bu nedenle bunları uygulamakta sorun yaşamazsınız.
Temel bilgileri öğreniyorsanız, yeni bir programlama dili için ustalık için en iyi püf noktalarımızı gözden geçirdiğinizden emin olun 7 Yeni Bir Programlama Dili için Ustalık Püf Noktaları 7 Yeni Bir Programlama Dili için Ustalık Püf Noktaları . Muhtemelen bir şeyleri öğrendiğiniz kadar çabuk unutacaksınız. Bu ipuçları tüm bu yeni bilgileri daha iyi saklamanıza yardımcı olabilir. .
Bir süre-kalışın anlamlı olduğu başka hangi durumları düşünebilirsiniz? Yorumlar bölümünde, programlarınızda do-while döngüleri kullanıyorsanız tartışın ve bize bildirin!
Image Credit: Shutterstock.com üzerinden Aaban