23 Şubat 2017 Perşembe

Android Studio Quickly - Sayaç Yapımı

Ekrana button ve textview ekleyin. Properties ekranından boyutlarını ve textlerini değiştirin.


Amacımız her 10 adımda bir rakamı (10,20,30,......) Butona yazmak. Sayac ve sayac10 diye iki değişken tanımlayalım. Butonun onclick olayında sayacı, her 10 adımda bir de sayac10'nu güncelleyip yazalım.


Sonuç;



20 Şubat 2017 Pazartesi

Algoritma Soruları 023 - String Sadeleştirme

Seviye : Orta

Kullanıcıdan alınan iki adet string içerisindeki benzer harfleri silerek sadeleştiriniz?

Açıklama : Kullanıcıdan alınan stringler şöyle olsun

genellik
eklemeli    birbirinin aynı olan ve birbirini götüren harfler kırmızı ile işaretlenmiştir. Burada dikkat edilmesi gereken, ilk stringte 2 adet "e" varken ikincisinde 3 adet "e" var. Dolayısı ile alttan gidecek e sayısı iki adet olacak.

19 Şubat 2017 Pazar

Algoritma Soruları 022 - Kare Yazma

Seviye : İleri

Kullanıcıdan alınan bir stringi kare olarak yazan programı yazınız?

Açıklama : Kullanıcı "KARE" girerse ekrana

KARE
A     R
R     A
ERAK

basılsın.

Eğer DORTGEN girerse

DORTGEN
O              E
R              G
T              T
G              R
E              O
NEGTROD

basılsın.


Algoritma Soruları 021 - String dizisini iki boyutlu olarak sıralamak

Seviye : İleri

Kullanıcıdan alınan bir sayı ile kare matris oluşturup, önce içini rastgele karakterlerle(alfabenin büyük harfleri olsun) doldurunuz. Ardından Karakterleri alfabetik olarak sıralayınız?

Açıklama : Kullanıcı 3 sayısını girmiş olsun. Ekrana basılacak son matris 3X3 kare matris olacağı için 9 adet random karakter üretmeniz gerekli. Sıralama işlemi bittikten sonra 9 elemanlı diziyi 3X3 matrise yerleştiriniz.

ilk üretilen random dizi 9 elemanlı {F,C,Z,Z,E,A,Y,L,K} olsun. Önce bunu sıralayınız {A,C,E,F,K,LY,Z,Z} olacaktır. Sonra bu tek boyutlu diziyi iki boyutlu olarak 3X3 matrise aktarıp yazdırınız.

A, C, E
F, K, L
Y, Z, Z

Ascii tablosu

18 Şubat 2017 Cumartesi

Algoritma Soruları 020 - Rastgele karakter üretmek ve sıralamak

Seviye : Başlangıç

Kullanıcının istediği sayıda rastgele karakter (alfabedeki büyük harfler olsun) üreterek bunları bir dizi içinde hizalayan programı yazınız?

Açıklama : Kullanıcı dizi boyutunu 6 olarak belirlemiş olsun.

Random üretilen karakterler {B,T,Z,E,F,E} olsun, sıralandığında ekrana {B,E,E,F,T,Z} olarak yazdırılır.

Aşağıdaki ascii tablosundan yararlanınız.


17 Şubat 2017 Cuma

Algoritma Soruları 019 - Kullanıcıdan alınan string dizisini alfabetik olarak sıralamak

Seviye : Orta

Kullanıcıdan alınan string dizisini alfabetik olarak sıralayan programı yazınız?

Açıklama : Kullanıcıdan alınan stringler bir dizide tutulsun örnek olarak

String dizi = {bal, keçi, ağaç, armut, bidon, zeki} gibi

bunları alfabetik olarak sıralayıp ekrana

ağaç, armut, bal, bidon, keçi, zeki olarak yazdırınız.

16 Şubat 2017 Perşembe

Algoritma Soruları 018 - String ayıklama

Seviye : Orta

Kullanıcıdan bir string veri alıncaktır, veri çindeki sayısal bilgiler virgüllerle ayrılmış olsun. Virgülleri atarak sayıları bir diziye aktaran programı yazınız?

Açıklama: Kullanıcıdan alınan string : "3,14,7,21,105,13,8" olsun, aradaki virgülleri atlayarak veriyi [3,14,7,21,105,13,8] şeklinde bir diziye aktarınız.

15 Şubat 2017 Çarşamba

Algoritma Soruları 017 - Shannon entropy

Seviye : Orta

Shannon entropisi bilgi analizinde kullanılan önemli bir ölçüm yöntemidir. Rastgele dağılımlı veride bulunan belirsizliği ölçemeye yarar. 1948 yılında Claude E. Shannon tarafından "İletişimdeki Matematik" adlı makale ile duyurulmuş ve bir çok alanda kullanılmıştır. 
Bu yöntem bir string veri içindeki karakterlerin minimum kaç bit ile kodlanması gerektiğini ölçer. Bir string veri içindeki harflerin yüzdelik dağılımlarının istenen logaritma tabanındaki tersi değer ile çarpılması ile bulunur;  
 
 
Daha fazla açıklama için Shannon Entropy 
 
Kullanıcıdan alınan bir stringi log 2 tabanına göre hesaplayıp, 2 bitlik veriler şeklinde kodlayınız? (Bkz. Üstteki link açıklaması)

14 Şubat 2017 Salı

Algoritma Soruları 016 - Reverse Polish Notation

Seviye : İleri

Bir matematik işlem sırasında operatörlerin sağa alınması işlemine Polish notation denir.

3+4 = 34+ gibi

(3+4)x7 ise 34+7x şeklinde yazılır
3+(4x7) ise  3+47x olarak parantez durumuna göre oparöter işaretleri sayılar arasına da yazılabilir.

Reverse Polish notation hakkında daha fazla bilgi için REVERSE POLISH NOTATION

Kullanıcıdan string olaran alınan işlem satırını (Örnek : 3+12-4 x (3+5) gibi ) Reverse Polish notation'a dönüştüren fonksiyon tasarlayınız? 

13 Şubat 2017 Pazartesi

Algoritma soruları 015 - Polish Notation

Seviye : İleri

Bir matematik işlem sırasında operatörlerin sola alınması işlemine Polish notation denir.

3+4 = +34 gibi

(3+4)x7 ise x+347 şeklinde yazılır
3+(4x7) ise  +3x47 olarak parantez durumuna göre oparöter işaretleri sayılar arasına da yazılabilir.

Polish notation hakkında daha fazla bilgi için POLISH NOTATION

Kullanıcıdan string olaran alınan işlem satırını (Örnek : 3+12-4 x (3+5) gibi ) Polish notation'a dönüştüren fonksiyon tasarlayınız?

12 Şubat 2017 Pazar

Algoritma Soruları 014 - Matris içeriği oluşturmak (Ters üçgen)

Seviye : Başlangıç

Kullanıcıdan tek olan bir sayı alın ve bir kare matris (AxA) oluşturun. Bu matrisin içeriğini 0 ve 1 ler ile ters üçgen oluşturacak şekilde doldurun?

Açıklama : Kullanıcıdan 7 sayısını (girilen sayı her zaman tek olacak) aldığınızı düşünün. 7x7 boyutlarında bir matris oluşturun ve görünümü şu şekilde ters üçgen olsun?

1 1 1 1 1 1 1
0 1 1 1 1 1 0
0 0 1 1 1 0 0
0 0 0 1 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0

11 Şubat 2017 Cumartesi

Algoritma Soruları 013 - Sesli harfleri öne almak

Seviye : İleri

Kullanıcıdan alınan bir string içindeki sesli harfler aşağıdaki kurallara göre öne alınmak isteniyor;
  • Rastlanan ilk sesli harf en önde olacak şekilde diğer sesli harfler ardında olacak şekilde öne çekilecek
  • Eğer sesli harften sonra aynı sesli harf gelirse, kaç adet geldiği ve harf yazılacak.
Açıklama :  Kullanıcıdan alınan kelimeler ve dönüşümleri şöyle

konum -> ouknm

etiket ->  eietkt

etekli -> 2eitkl     (burada iki "e"  harfi ard arda gelmiş e'nin başına 2 sayısı eklenir)

arama -> 3arm      (üç "a" harfi ard arda gelmiş)

açıklamalı -> aı2aıçklml     (ortadaki "a" harfleri ard arda 2 kere gelmiş)

araştırmamak -> 2aı2arştmmk (ilk iki "a" ve sondaki 2 "a" harfi ard arda gelmiş)



10 Şubat 2017 Cuma

Unicode Chessboard

Unicode satranç karakterleri ile istediğiniz özeliklerde satranç tahtasını web uygulamanıza yerleştirebilirsiniz.

Satranç Sembolleri
Name Symbol     Codepoint  HTML
white chess king U+2654 ♔
white chess queen U+2655 ♕
white chess rook U+2656 ♖
white chess bishop U+2657 ♗
white chess knight U+2658 ♘
white chess pawn U+2659 ♙
black chess king U+265A ♚
black chess queen U+265B ♛
black chess rook U+265C ♜
black chess bishop U+265D ♝
black chess knight U+265E ♞
black chess pawn U+265F ♟

Tamamen html + css ile oluşturulmuş satranç tahtası;

8
7
6
5
4
3
2
1
a b c d e f g h

 Tablo için kullanılabilecek HTML kodları;

 <table style="border-collapse: collapse; border-color: black; border-spacing: 0pt; border-style: solid; border-width: 0pt 0pt 0pt 0pt; font-family: &quot;arial unicode ms&quot;; text-align: center;">  
 <tbody>  
 <tr>  
 <td style="width: 12pt;">8</td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 1pt 0pt 0pt 1pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♜</span></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 1pt 0pt 0pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♞</span></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 1pt 0pt 0pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♝</span></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 1pt 0pt 0pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♛</span></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 1pt 0pt 0pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♚</span></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 1pt 0pt 0pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♝</span></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 1pt 0pt 0pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♞</span></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 1pt 1pt 0pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♜</span></td>  
 </tr>  
 <tr>  
 <td style="width: 12pt;">7</td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 0pt 1pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♟</span></td>  
 <td style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♟</span></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♟</span></td>  
 <td style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♟</span></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♟</span></td>  
 <td style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♟</span></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♟</span></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 1pt 0pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♟</span></td>  
 </tr>  
 <tr>  
 <td style="width: 12pt;">6</td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 0pt 1pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;"><br /></span></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 1pt 0pt 0pt; height: 24pt; width: 24pt;"></td>  
 </tr>  
 <tr>  
 <td style="width: 12pt;">5</td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 0pt 1pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;"><br /></span></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 1pt 0pt 0pt; height: 24pt; width: 24pt;"></td>  
 </tr>  
 <tr>  
 <td style="width: 12pt;">4</td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 0pt 1pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;"><br /></span></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 1pt 0pt 0pt; height: 24pt; width: 24pt;"></td>  
 </tr>  
 <tr>  
 <td style="width: 12pt;">3</td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 0pt 1pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;"><br /></span></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="height: 24pt; width: 24pt;"></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 1pt 0pt 0pt; height: 24pt; width: 24pt;"></td>  
 </tr>  
 <tr>  
 <td style="width: 12pt;">2</td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 0pt 1pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♙</span></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♙</span></td>  
 <td style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♙</span></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♙</span></td>  
 <td style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♙</span></td>  
 <td bgcolor="silver" style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♙</span></td>  
 <td style="height: 24pt; width: 24pt;"><span style="font-size: 150%;">♙</span></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 1pt 0pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♙</span></td>  
 </tr>  
 <tr>  
 <td style="width: 12pt;">1</td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 1pt 1pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♖</span></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 1pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♘</span></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 1pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♗</span></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 1pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♕</span></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 1pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♔</span></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 1pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♗</span></td>  
 <td bgcolor="silver" style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 0pt 1pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♘</span></td>  
 <td style="border-collapse: collapse; border-color: black; border-style: solid; border-width: 0pt 1pt 1pt 0pt; height: 24pt; width: 24pt;"><span style="font-size: 150%;">♖</span></td>  
 </tr>  
 <tr>  
 <td></td>  
 <td>a</td>  
 <td>b</td>  
 <td>c</td>  
 <td>d</td>  
 <td>e</td>  
 <td>f</td>  
 <td>g</td>  
 <td>h</td>  
 </tr>  
 </tbody></table>  

9 Şubat 2017 Perşembe

Algoritma Soruları 012 - Aritmatik taban dönüşümü

Seviye : Orta

Kullanıcıdan alınan sayıyı yine kullanıcın istediği tabana dönüştüren Class tasarlayınız?

Açıklama: Kullanıcıdan alınan sayı 12 olsun dönüştürülecek taban 2'li taban olsun.
Taban.donustur(12,2) şeklinde girilen sayı 1100 şeklinde return edilsin.

17 sayısı 5 tabınına dönüştürüleceğinde;
Taban.donustur(17,5) şeklinde girilen sayı 32 şeklinde 5 tabanında return edilsin.

8 Şubat 2017 Çarşamba

Algoritma Soruları 011 - Digital rakamlar

Seviye : Başlangıç

Dijital rakamlar gösterge üzerinde çeşitli parçalar halinde ifade edilirler. Bir rakamı 2 parça, sıfır rakamı 6 parça ile gösterilir. Tüm rakamlar aşağıdaki resimdeki gibi gösterilir.

Kullanıcıdan alınan sayıyı ifade edecek olan dijital rakamların kaç parçadan oluşacağını bulan programı yazınız?

Açıklama : Kullanıcıdan 106 rakamı alınmış olsun.  

1 rakamı 2 parçadan,
0 rakamı 6 parçadan,
6 rakamı ise 6 parçadan oluşmaktadır. toplamda ise 2 + 6 + 6 = 14 parçadan oluşacaktır.

7 Şubat 2017 Salı

Shannon Entropy

Shannon entropisi bilgi analizinde kullanılan önemli bir ölçüm yöntemidir. Rastgele dağılımlı veride bulunan belirsizliği ölçemeye yarar. 1948 yılında Claude E. Shannon tarafından "İletişimdeki Matematik" adlı makale ile duyurulmuş ve bir çok alanda kullanılmıştır. 

Bu örnekte bir string veri içindeki karakterlerin minimum kaç bit ile kodlanması gerektiğini hesaplayacağız. Bir string veri içindeki harflerin yüzdelik dağılımlarının istenen logaritma tabanındaki tersi değer ile çarpılması ile bulunur; 



Şimdi bir örnek ile açıklayalım;

Giriş verisi : "yasin" olsun. Burada hiç tekrar etmeyen 5 tane harf olduğu için tüm harflerin yüzdelik oranı %20 dir. Yani 0.2 dir.
  • 0.2 -> a
  • 0.2 -> i
  • 0.2 -> n
  • 0.2 -> s
  • 0.2 -> y
Shannon entropisi şöyle hesaplanır;

H(X) = -[(0.2log20.2)+(0.2log20.2)+(0.2log20.2)+(0.2log20.2)+(0.2log20.2)]
H(X) = -[(-0.464)+(-0.464)+(-0.464)+(-0.464)+(-0.464)]
H(X) = -[-2.32193]
H(X) = 2.32193

Burada logaritma 2 tabanında hesaplama yapılmıştır. Bunun anlamı şudur, eğer girilen string minimum bit (0,1 ikili tabanda) ile kodlanmak istenirse, entropi değeri olan 2.32193 yukarıya yuvarlanır ve 3 değeri bulunur. Beş karakterden oluşan yasin stringi minimum 15 bit ile kodlanabilir.

kodlama işlemi şu şekilde yapılabilir;
a için 000
i için 001
n için 010
s için 011
y için 100

görüldüğü gibi alfabetik sıralama ile her harfe 3 bitlik data atandı, bu işleme 0 dan başlanaral artırıldı. Sonuç stringi şöyle olacaktır;

yasin - > 100-000-011-001-010 -> 100000011001010

Metric Entropi : Shannon entropy ile ölçülen değerin karakter sayısına bölünmesi le bulunur. Yukarıdaki örnekte "yasin" stringi için

metrin entropi = 2,32193 / 5 = 0.46439 olacaktır. Metric entropi değerin 0 ile 1 arasında oluşmasını sağlar.

6 Şubat 2017 Pazartesi

Algoritma Soruları 010 - Faktöriyel sonucu rakamların toplamı

Seviye : Başlangıç

5! = 5 x 4 x 3 x 2 x 1 = 120 bu sayının rakamları toplamı -> 1 + 2 + 0 = 3

Kullanıcıdan alınan 2 sayının faktöriyel sonuclarının rakamları toplamı arasındaki farkı bulan programı yazınız?

Açıklama: Kullanıcıdan 7 ve 10 rakamları alınsın;
7! = 5040,  rakamlar toplamı = 5 + 0 + 4 + 0 = 9
10! = 3628800, rakamlar toplamı = 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27

27 - 9 = 18 olarak bulunacaktır.

5 Şubat 2017 Pazar

Algoritma Soruları 009 - 3 ve 5'in katları

Seviye : Başlangıç

Kullanıcıdan alınan sayının içinde bulanan 3 ve 5'in katları olan sayıları ve toplamları bularak ekrana basınız?

Açıklma : Kullanıcıdan 16 rakamı alınmış olsun, bu sayı içindeki;

3' ün katları : 3, 6, 9, 12, 15' dir.
5'in katları : 5, 10, 15' dir.

Tüm sayıların toplamı : 3 + 6 + 9 + 12 +15 + 5 + 10 + 15 =  75

4 Şubat 2017 Cumartesi

Algoritma Soruları 008 - Pisagor üçlüsü

Seviye : İleri

Pisagor teorisi a < b < c şeklinde verilen sayılar için;

32 + 42 = 9 + 16 = 25 = 52

eşitliğini sağlar. 

a + b + c = 1000 değerini sağlayan sadece bir tane üçlü vardır. Bu üç sayıyı bulan programı yazınız?

3 Şubat 2017 Cuma

Algoritma Soruları 007 - Piramit çıktı

Seviye : Başlangıç

Kullanıcıdan alınan bir karakteri Piramit şeklinde ekrana basan programı yazınız?

Açıklama: Kullanıcıdan alınan karakter @  olsun ekrana

            @
        @@@  
    @@@@@
@@@@@@@

şeklinde yazılacaktır. Burada satır sayısı 4'tür bu veriyi kullanıcıdan alarak piramitin yüksekliğini ayarlayabilirsiniz.


2 Şubat 2017 Perşembe

Algoritma Soruları 006 - Palindrome

Seviye : Başlangıç

Bir string ifade tersten yazıldığında da aynı ise bu tür stringlere palindromic string denir. KAYAK kelimesi tersten yazıldığında da aynı olduğu için palindromictir.

Aynı şekilde tersten yazıldığında aynı değeri veren sayılarda polindromictir. 121, 2332, 14541 gibi tersten yazıldığında aynı sayı değerini veren sayılara polindromic denir.

Kullanıcıdan 6 basamaklı iki sayı girmesini isteyin ve bu iki sayı arasındaki polindromic sayıları bulan programı yazınız?


Reverse Polish Notation

Reverse Polish NotationPolish Notation aksine operatör işaretçilerinin sayıların sağ tarafına yazılması ile gerçekleştirilen bir ifadedir. Operatörler belirli kurallar çerçevesinde sağ tarafa aktarılır. Böylece parantez gibi ayraçlar ifadelerde kullanılmaz. 3+4 ifadesi 3 4 + şeklinde ifade edilir.

Reverse Polish Notation operatör ifadenin sağına yazılır
3 - 4 + 5 ifadesi 3 4 5 + - şeklinde ifade edilebilir. Tabiki çarpma operatöründe durum biraz farklı olacaktır. 

( 3 - 4 ) x 5 ifadesinde işlem önceliği olduğu için 3 4 - 5 x şeklinde yazılmak zorundadır.

Daha karmaşık bir örnek;

5 + ((1 + 2) × 4) − 3
dönüşümü
5 1 2 + 4 × + 3 −

Reverse Polish Notation ile programlama yapılırken ifadenin solundan başlanır. Operatöre rastlanırsa kendisinden önceki iki sayı ile işlem yapılır ve sıraya yazılır. 

Şimdi sizde 5 1 2 + 4  x + 3 - ifadesi için bir program yazmayı deneyiniz.   

1 Şubat 2017 Çarşamba

Polish Notation

Polish Notation, lojik işlemlerin daha kolay ifade edilebilmesi için, matematiksel operatörlerin sayıların önüne alınması esasına dayanır. 3+4 ifadesi +34 şeklinde ifade edilir.

Polish Notation ile operatör sayıların önüne yazılır
Bu notasyon özellikle parentez içinde yazılan ifadelerde önemli ölçüde kolaylık sağlar.
(5 - 6) x 7
şeklinde verilen ifade şöyle kısaltılır;
(- 5 6 ) x 7
x - 5 6 7

Tabiki parentezin farklı yerlerde olması durumu değiştirecektir.
5 − (6 × 7) gibi bir ifadede parentezler kalkınca 
5 − 6 × 7 şeklinde olacaktır ve sonuç değişecektir.
Bundan dolayı ifade önce
- 5 ( x 6 7 )
son olarak
- 5 x 6 7 olarak yazılır.

Daha karmaşık bir ifade ise şu şekilde ifade edilecektir.

((15 ÷ (7 − (1 + 1))) × 3) − (2 + (1 + 1)) = 5















Verilen Polish Notation sağdan başlanarak tüm karakterlerin incelenmesi ile yapılır. Eğer operatör varsa öncesindeki iki sayı ile işlem gerçekleştirilir ve sıraya yazılır.Yukaridaki örnek bu algoritma ile çözülürse aşağıdaki sıra gözetilir;















Aşağıdaki örneği çözen algoritmayı geliştiriniz?
− × ÷ 15 − 7 + 1 1 3 + 2 + 1 1

Algoritma Soruları 005 - Magic square

Seviye : Orta 

3X3 bir matrisde yatay, dikey ve çapraz olarak bulunan her 3 sayının toplamları eşitse bu matrise Magic Square denir.

Açıklama: Aşağıdaki matrisde yatay,dikey ve çapraz olarak sayıların toplamı 15'i vermektedir.

4  9  2
3  5  7
8  1  6


Kendisine gönderilen 3X3 matrisin magic square olup olmadığını test eden fonksiyon tasarlayınız?