30 Ocak 2017 Pazartesi

Algoritma soruları 004 - Bankomat programı

Seviye : Orta

Bir bankomat kasasında 100, 50, 20 ve 10 tl’lik banknotlar bulunmaktadır. Bankomat sadece 10 tl ve katlarını verebilmektedir. Kullanıcının çekmek istediği para miktarına göre uygun olan en büyük banknottan başlayarak verilecek banknotları ekrana basacak programı yazınız?

Açıklama : Aşağıdaki ekran görüntüsünü inceleyin.
 

29 Ocak 2017 Pazar

Algoritma Soruları 003 - Diziyi tersten yazmak

Seviye : Başlangıç

n elemanlı bir diziyi, yeni boş bir dizi kullanmadan nasıl tersten yazabiliriz?

Açıklama : 5 elemanlı {2, 7, 3, 9, 4} dizisini yeni bir diziye aktarmadan nasıl tersten {4, 9, 3, 7, 2} yazdırabiliriz?

Algoritma Soruları 002 - Dizide tekrar eden sayıyı bulmak

Seviye : Orta

0'dan n'e kadar olan bir sayıyı dizisi karışık olarak bir dizide bulunuyor. Fakat sayılardan bir tanesi yanlışlıkla yazıldığı için, bir sayıda yazılmamış. Tekrar eden sayıyı ve yazılmayan sayıyı bulan programı yazınız?

Açıklama: 0'dan 12'ye kadar olan sayılar bir dizi de karışık olarak tutulsun, fakat 7 sayısı yanlışlıkla 2 kere yazıldığı için 3 sayısı yazılmamış olsun.

dizi = {10, 9 , 0, 7, 6, 1, 2, 4, 7, 11, 12, 5, 8}

Böyle bir dizide tekrar eden sayıyı ve eksik olan sayıyı bulduran algoritma nasıl yazılır?

Algoritma Soruları 001 - Dağılım tablosu

Seviye : Orta

String olarak verilen bir dizi içindeki rakamların kaç defa tekrar ettiğini bulan fonksiyonu tasarlayınız?
Açıklama:
0 ile 9 arasında random olarak oluşturulmuş bir string verimiz olsun "332123009660"
Bu veri için dağılım tablosu şöyle oluşur;
 0=***
1=*
2=**
3=***
4=
5=
6=**
7=
8=
9=*

Random bir string oluşturan ve dağılım tablosunu oluşturan bir fonksiyon yazınız.

Algoritma Soruları 000 - Hücresel otomat

Seviye : İleri

Bir hücresel otomatda KAPALI olan durumlar (0) ve AÇIK olan durumlar ise (1) işareti ile verilmektedir. Her adımda otomat kendini sırasıyla şu iki kurala göre güncellemektedir;

1) Kapalı hücrenin sağındaki hücre kapalı ise kapalı kalacak, sağındaki açık ise yeni durumu açık olacaktır.
2) Açık olan hücrenin sağındaki ve solundaki hücreler açık ise yeni durumu kapalı olacaktır.

Şimdi örneği inceleyelim;

Başlangıç olarak 5 hücreli otomat şöyle başlasın;
0 0 0 0 1

İlk adım sonunda
0 0 0 1 1

2. adımda
0 0 1 0 1 

3. adımda
0 1 1 0 1

4. adımda 
1 0 1 0 1
  
Başlangıç durumu
0 0 0 1 0 0 0 0 1 1 0 0 1  şeklindeverilen otomatın 13 adım sonra durumunu bulunuz.