Persian Türkçe English

İkili Kod Çözme Yarışması

Yarışmanın Amacı

Bu yarışmada, bir ikili diziyi (0 ve 1'lerden oluşan) orijinal metnine dönüştürmelisiniz. Bunun için, verilen tabloya göre ikili kodları ilgili karakterlere veya kelimelere çevirmelisiniz.

Önemli Noktalar:

  • Önek olmayan kodlama: Hiçbir kod başka bir kodun öneki değildir, bu da çözümün belirsizlik olmadan yapılmasını sağlar.
  • Sık kullanılan harfler için daha kısa kodlar: İngilizcede sık kullanılan E, T, A, O, I, N gibi harfler daha kısa ikili kodlara sahiptir.
101010 111 001 010 111 000 111...

Kodlama Tablosu

Aşağıdaki tabloda, İngiliz alfabesindeki her harf benzersiz bir ikili kodla gösterilmiştir:

Harf İkili Kod Harf İkili Kod Harf İkili Kod
A 1101 J 010000 S 01101
B 10110 K 10001 T 0101
C 0001 L 0111 U 10111
D 0110 M 11000 V 000001
E 111 N 1001 W 10101
F 00101 O 0011 X 001001
G 01001 P 11101 Y 0100001
H 00001 Q 11001 Z 11100
I 1010 R 10000 BOŞLUK 00000

İkili Diziyi Çözme

Aşağıdaki program, yukarıdaki kodlama tablosuna göre ikili dizileri çözmenize yardımcı olur:

Çözüm Sonucu:

Sonuç burada gösterilecek...

İkili kod örnekleri

Aşağıda şifre çözme bölümüne kopyalayıp yapıştırabileceğiniz iki adet ikili kod örneği bulunmaktadır:

Birinci örnek:

            10101 111 0111 0001 0011 11000 111 0101 0011 0101 00001 111 0001 
            0011 11000 11101 111 0101 1010 0101 1010 0011 1001 0011 1001 111 
            1010 0110 111 1101 0011 1001 111 1010 0110 111 1101 0011 1001 
            10101 0011 10000 0111 0110 0101 10111 10000 10001 111 0100001
                    

İkinci örnek:

            10101 111 0111 0001 0011 11000 111 00000 0101 0011 00000 0101 00001 111 00000 0001 
            0011 11000 11101 111 0101 1010 0101 1010 0011 1001 00000 0011 1001 111 00000 
            1010 0110 111 1101 00000 0011 1001 111 00000 
            10101 0011 10000 0111 0110 00000 0101 10111 10000 10001 111 0100001
                    

Uygulama Hakkında

Bu program aşağıdaki gibi çalışan bir çözme algoritması kullanır:

  1. Kodlama tablosunu JavaScript'te bir veri yapısı olarak saklarız.
  2. İkili diziyi baştan okuruz ve karakterleri kontrol ederek, kodlardan biriyle eşleşen mümkün olan en uzun diziyi tanımlamaya çalışırız.
  3. Bir kod tanımladıktan sonra, karşılık gelen harfi sonuç dizisine ekleriz.
  4. Tüm ikili dizi işlenene kadar bu işleme devam ederiz.