Bilmek istediğin her şeye ulaş

Yazılım Algoritmaları

Formatting of continuation data will be changing soon. To continue using the current formatting, use the 'rawcontinue' parameter. To begin using the new format, pass an empty string for 'continue' in the initial query.

Kasım 2016

Birkan Aydin, bir soruya yanıt verdi.

Programcı mantığını kavramak, programlama dilinden bağımsız olmak nedir ve bu nasıl yapılır?

Ben programcı mantığının sadece cümle kurma yapısı ile alakalı olduğunu düşünüyorum. Kısaca örnek vermek gerekirse, "Masada ki bardağı mutfağa bırak" işinde/cümlesinde, programcı mantığı şöyle oluyor.

1. Masa var mı?
2. Masanın üzerinde alabileceğim bir bardak var mı?
3. Bardakla birlikte kapıdan geçebilir miyim?
4. Mutfak var mı?
5. Mutfakta bardağı bırakabileceğim bir yer var mı?
..
..
..

Ne kadar detaylı cümle kurabiliyorsanız. O kadar iyi programcı olacaksınızdır. Siz ilk sorunun "Masa var mı? " olduğunu bildiğiniz sürece emin olun ki bunu istediğiniz programlama dili ile nasıl yazıldığını öğrenebilirsiniz. Bence programlama dilinden bağımsız olmak, doğru soruları sorabilmektir. Doğru sorular her zaman doğru cevapları getirecektir.

Ben bu mantığın doğuştan kazanıldığına kesinlikle inanmıyorum. Bu bir süreç ve sonu yok. Hangi yaşta başlanılırsa başlanılsın, bu yetinin kazanılabileceğine inanıyorum.

Ocak 2015

Rasim Andıran, bir soruya yanıt verdi.

İki dosyanın karşılaştırılmasını sağlayan hazır algoritmalar nelerdir? Karşılaştırma işlemi neler temel alınarak yapılır?

En mantıklısı dosyaların hash kodlarını karşılaştırmak. Aradaki farklara göre yapılması gereken işlemler varsa dosyalar program içinde okunur, herhangi bir işlem yapılmayacaksa dosyaları okumaya gerek kalmadan hash kodu karşılaştırmasıyla aynı olup olmadıkları anlaşılır.
Ocak 2015

Birkan Aydin, bir soruya yanıt verdi.

İki dosyanın karşılaştırılmasını sağlayan hazır algoritmalar nelerdir? Karşılaştırma işlemi neler temel alınarak yapılır?

Lise yıllarımda bu tarz bir program yazmıştım, dosyalar aynı ise birisini silmek üzere kodlamıştım. Kullanmış olduğum kriterler sırasıyla: Dosya isimleri, (dosya boyutları ve uzantıları) olmuştu. Aynı isimde, aynı boyutta ve aynı uzantıya sahip ise birisini sil. Aynı isime sahip ama boyutları farklı ise silinecek olanı seçmem için bana sor.. İsimleri farklı ama boyutları ve uzantıları aynı ise seçmem için bana sor şeklindeydi. Yalnız o zaman ki harddisk (40GB) tarama yöntemim bilgisayarımın bir kaç dakikalığına kilitlenmesine sebep oluyordu. VB6 'da thread işlemini kullanmayı halen bilmiyorum :)
Ocak 2015

Ceyhun Çakar, bir soruya yanıt verdi.

İki dosyanın karşılaştırılmasını sağlayan hazır algoritmalar nelerdir? Karşılaştırma işlemi neler temel alınarak yapılır?

Linux ve git'in ayrı ayrı diff komutları var. Bu komut karşılaştırma sonucunu içeren ama pek göze hitap etmeyen bir çıktı üretiyor. Eğer metin karşılaştırılıyorsa ilk dosyada olmayıp ikincide olanlar +, tersi olan satırlarsa - ile başlatılıyor.

Bununla beraber ben daha göze hitap eden sonuçlar için freeware olarak Meld (meldmerge.org/), daha iyi ama ücretli olarak Beyond Compare'i (scootersoftware.com) öneririm. Grafiksel karşılaştırma benim için kod geliştirmenin olmazsa olmazıdır.
Eylül 2014

Omer Ayverdi, bir soruya yanıt verdi.

Bir web sayfasının tekil gösterim sayısı istatistiğini nasıl bir algoritma ile saklayabilirim?

Google analytic kullan illa kendim yapicam diyorsan $_(COOKIE),$_(SESSION),$_SERVER[REMOTE_ADDR] bunlar ile ip adresi ve hangi urlde oldugu gibi bilgileri alip veritabaninda dondurmen gerekli. Veritabanina dondurmeyeyim cok yorar veritabanini diyorsan dosyaya yazdirman gerek. Fopen() dosya acar, fwrite() dosya yazar, fclose() dosya kapatir. Bu fonksiyonlar belli parametreler aliyor tabi...
Degisik bilgileri almak icin ne gibi sistem browser falan kullaniyor oda su sekilde $_SERVER['HTTP_USER_AGENT'].
Mayıs 2014

Şükrü Bezen, bir soruya yanıt verdi.

Algoritmalar ve Programlama ders içeriği olan Java'ya nasıl çalışılmalıdır? Nasıl bir çalışma yöntemi uygulanmalıdır ki başarılı olunmalı?

Javayı algoritmalar açısından yeni başlayan birisi için doğru dil olarak görmüyorum. C, C++ veya en olmadı Python daha mantıklı gözüküyor bana göre.

Bu arada algoritma öğrenmeniz için ide kullanmanız da şart değil. Açın vim'i veya sublime'yi oradan projecteuler veya hackerrank veya topcoderdaki soruları basitten zora doğru çözerek ilerleyin.
Mayıs 2014

Sadık Dereköy, bir soruya yanıt verdi.

Algoritmalar ve Programlama ders içeriği olan Java'ya nasıl çalışılmalıdır? Nasıl bir çalışma yöntemi uygulanmalıdır ki başarılı olunmalı?

Yazılımda öğrenilen bilgilerin kalıcı olması için onları uygulamaya dökmek gerekiyor. Dolayısıyla en basitinden programlar yazıp, ilerledikçe biraz daha karmaşık programlar yazarak öğrenme yolunu takip edebilirsiniz. Ortaya çalışan bir program, ürün çıkardığınız içinde ayrıca motive olacaksınız.
Şubat 2014

Ceyhun Çakar, bir soruya yanıt verdi.

Bilgisayar programlarında bir sözdizim var ama anlam yok mudur?

Bilgisayar programlarında anlam vardır ve bu yüzden de anlamsal ağlar (semantik web) gibi kavramlarla uğraşılır. Bunun yanında, C'de x++, x += 1, x = x + 1 aynı anlama sahiptir. Yani mikroişlemcinin aynı biriminin aynı şekilde çalışmasını temsil ederler buna karşın farklı sözdizimleridir. Semantik (anlam analizi) bilgisayar ve yazılım mühendisliğinin önemli bir bileşenidir.

443 kişi

Konunun Takipçileri

İlgili Konular

Şifreleme

11 Kullanıcı   8 Soru   22 Yanıt