bilgisayar dünyasının temelidir. öyle sanılanın aksine bilgisayar programları, bilgisayarın başında haldur huldur kod yazmayla oluşturulmaz. Kod kısmı bir projenin zaman olarak en fazla %30'unu alır. mühim olan o programın optimum şekilde, belleği az kullanarak ve kısa zamanda çalışmasını sağlamaktır. yeri geldiğinde haftalar bile harcanabilmektedir uğruna.
ayrıca matematiğin öncülerinden harezminin latincedeki karşılığıdır.
bir yazılımcının projeye başlarken kuracağı mantık ve izleyeceği yol olarak tanımlanır. örnek verelim, çay demlemek için neler yapılır? çaydanlığa su koy, ocağı ateşle, su kaynayınca demle ve servis et gibi adımların önceden düşünülmesi gibi.
kafamda bir dusunce var. 255 karakterimiz var sanal ortamda. bunlarin asciileri belirli. simdi ben bu asciilerdeki human readable karsiliklari yazayim bir array icerisine. yani 1110001 degil de a b c gibi dusunun.
bu degerler array icinde 0-255 olacak sekilde sira numarasi alsin. esasen asil sorun burada.
oncelikle bu sira numaralarini binary degere cevirelim.
1100 sol bastan bir sifir ekleyelim: 01100 oldu ve toplayalim 0 1 - 1, 1 1 - 0, 1 0 - 1, 0 0 - 0 yani 1010 yeni degerimiz. az once 12 olan sira numaramiz simdi 10 oldu.
bir cumledeki tum harflerin sira numarasi uzerinde bu tarz islemler yapsak yani basina sifir ekleyip o harfin karsilik degerini versek bu metin artik sifreli bir metne donusur.
bu tarz bir algoritmada "lorem ipsum dolor sit amet" kac adimdan sonra sifreli bir metne donusur? ornegin l harfi 15. sirada:
1111 bu degerin basina 0 ekler ve toplarsak:
0 1 - 1, 1 1 - 0, 1 1 - 0, 1 1 - 0
15 sira numarali l harfi yerini 8 numarali g harfine birakir. ve boylece bi sifreli metin ortaya cikar.
ama lorem ipsum dolor sit amet icin kac basamak degismis olur?
iste benim algoritmam da bu ve kafam simdiden karisti.
bir problemin cozumunun mantiksal adimlar seklinde bir islemler butunu olarak sirali bir cozum seklindeki ifadesidir.bilgisayar bilimlerinin temelini olusturur.
Algoritma, belli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan yol. Matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir.
temeli 9. yüzyılda Ebu Abdullah Muhammed ibn Musa el Harezmi tarafından atılmış. algoritmik çalışmaları bir cebir kitabında toplamıştır ve günümüz matematiği için destekleyici olmuştur.
algoritma, bir sorunu yada bir problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların bütününe denir. Kısaca algoritma, mevcut bilgilerden istenilenlere erişme yöntemidir. Genellikle bilgisayar programlamada kullanılır ve tüm programlama dillerinin temeli algoritmaya dayanır.
aşağıda basit bir algoritma örneği ted-ed tarafından hazırlanmış.
temeli 9. yüzyılda ebu abdullah muhammed ibn musa el harezmi tarafından atılmış. algoritmik çalışmaları bir cebir kitabında toplamıştır ve günümüz matematiği için destekleyici olmuştur.
Bu adam günümüzde hive şehrinde yaşamış bir türkmendir.