Atölye › Metin dedektifi › 10/13. adım
Şimdi gizli yazı! Sezar şifresi, her harfi alfabede birkaç harf ileridekiyle değiştirir: 3 kaydırınca a →
d, b → e olur. Jül Sezar'ın ordusuna böyle mesaj yolladığı anlatılır.
Önce tek bir harfi kaydıran bir fonksiyon yazıyoruz. z'den sonra alfabe biter; oradan başa döneceğiz.
```js
const alphabet = 'abcdefghijklmnopqrstuvwxyz'
function shiftLetter(letter, shift) {
const i = alphabet.indexOf(letter)
if (i === -1) return letter
return alphabet[(i + shift) % 26]
}
```const alphabet = '...' → İngiliz alfabesinin 26 küçük harfi, sırayla.function shiftLetter(letter, shift) → iki parametreli fonksiyon: hangi harf, kaç kaydırma.alphabet.indexOf(letter) → harfin alfabedeki sırası: a 0, b 1, ..., z 25. Alfabede yoksa (boşluk,
nokta) -1.if (i === -1) return letter → harf değilse olduğu gibi geri ver.(i + shift) % 26 → % bölümden kalan. z (25) + 3 = 28; 28'in 26'ya bölümünden kalan 2 → c. Böylece
alfabenin sonundan başa sarar.alphabet[...] → o sıradaki harf.Alfabeyi ve shiftLetter fonksiyonunu betiğin en üstüne, const box satırının üstüne yaz. Çalıştır.
Beceriler: Fonksiyonlar
← En sık kelime Bütün metni şifrele →