2X: Alıştırmalar

Bu derste bazıları size biraz zor gelebilecek alıştırmalar bulunuyor. Eğer takılırsanız, bir sonraki probleme veya derse geçmenizde hiçbir sakınca yok, daha sonra gelip tekrar deneyebilirsiniz. Daha önce yapmış olduğunuz alıştırmalara göz atmak için İlerleme sayfası her zaman elinizin altında.

İlk alıştırmamız hata ayıklama alıştırması. Nüfus artışının pek de doğru hesaplanamadığı bir formül kullanılmaya çalışılıyor.

Coding Exercise: Artış Hatası Ayıklama
Bu programdaki mantık hatasını düzeltin: Bu programın yıllık %10 artışla 2012'de 1000 kişilik nüfusu olan bir ülkenin takip eden 3 yılda sahip olacağı nüfusu hesaplaması gerekiyor.  En fazla 3 karakter değiştirebilirsiniz.
Takıldıysanız ipucu için tıklayın.

Bu dersteki diğer alıştırmalar  min ve max fonksiyonları ile ilgili.

Karmaşık bir ifadeyi basitleştirme

Multiple Choice Exercise: Basitleştirme
Aşağıdaki ifadeyi nasıl basitleştirebiliriz?

max(x - 3, min(x + 10, x + 5))
Doğru! Çünküx + 5 işleminin sonucu her zaman x + 10, işleminden küçük olacaktır. min(x + 10, x + 5) işlemini sadece x + 5 olarak ifade edebiliriz. Dışa doğru çıktığımızda tüm işlem max(x - 3, x + 5) şeklinde. Bu iki rakamdan en büyüğü her zaman x + 5 olacağı için sonuç da budur.

Basit bir ifadeyi karmaşıklaştırma

Coding Exercise: Karmaşıklaştırma
Düzenleyicinin tanımladığı  A ve B değişkenlerini kullanarak aşağıdaki değeri yazdıracak bir program yazalım:

min(A, B)
Ama burada bir tuzak var: Programda min fonksiyonunuzu kullanmanıza izin verilmiyor. Onun yerine min, fonksiyonunu taklit edecek şekilde  max fonksiyonunu kullanın. İpucu, 1. yöntemİpucu, 2. yöntem

Ödeme Hesaplayıcı

Coding Exercise: Ödeme Hesaplayıcı
Bir kredi kartı şirketi müşterilerinin "minimum ödeme"sini aşağıdaki kuralla hesaplıyor. Minimum ödeme, hangisi büyükse ya $10 tutarındadır ya da bakiyenin %2.1'i kadardır; fakat eğer bakiyeden fazlaysa minimum ödeme bakiyedir. min ve max  kullanarak minimum ödemeyi verecek bir program yazın. balance değişkeni bakiye olarak tanımlanmıştır. Para birimini yazdırmanıza gerek yok.
Örnek1: Eğer balance (bakiye) 1000 ise programınızın çıktısı 21 olmalı.
Örnek 2: Eğer balance 600, ise programınızın çıktısı12.6 olmalı.
Örnek 3: Eğer balance 25 ise programınızın çıktısı 10 olmalı.
Örnek 4: Eğer balance8 ise programınızın çıktısı  8 olmalı.
İpucu

Karmaşayı Düzenleme

Son problem, rakamları farklı bir şekilde sıralamanızı (sorting) isteyeceğimiz zor bir soru olacak. Daha iyi, daha basit ve daha hızlı sıralama yöntemleri ( sorting methods ) var. Bu başlangıç derslerini tamamladıktan sonra bu yöntemler hakkında bilgi edinmenizi tavsiye ederiz.

Eğer takılırsanız, problemi daha sonra çözmek üzere bırakın. Daha sonra gelip tamamlarsınız.  İlerleme sayfanıza giderek bitirdiğiniz derslerdeki hangi alıştırmaları tamamladığınızı, hangilerini tamamlamadığınızı görebilirsiniz.

Scramble Exercise: Sırala Karıştır
Kod karıştırma: xy ve z değişkenlerine tanımlanmış rakamları küçükten büyüğe sıralayacak (sort) bir program yazın; x en küçük, y orta ve z en büyük sayı olsun. 
Satırları farenizle çekerek ve bırakarak yeniden düzenleyebilirsiniz.İpucu için tıklayın.
  • x = min(x, y)
  • tmp = max(x, y)
  • z = tmp
  • x = min(x, y)
  • y = min(y, z)
  • y = tmp
  • tmp = max(x, y)
  • y = tmp
  • tmp = max(y, z)

3. derse devam!