Merhaba ustalarım algoritma kurma hakkında yardım eder misiniz ?

Başlatan leflau42, 28 Eylül 2017, 12:02:45

leflau42

Hocalarım ben bu programlama işine gönül verdim ccs c ile çalışıyorum basit uygulamalar display sürmeler falan çok rahat yapabiliyorum. Fakat biraz daha ileri gidilince tıkanıp kalıyorum. Algoritma kurarken zorlanıyorum. Yazılmış bir programı açtığım zaman kodlarla ne yapılmak istendiğini anlıyorum fakat dediğim gibi bir algoritma kurarken çok zorlanıyorum. Lise'den muhasebe mezunuyum üniversite yok. Ancak baba mesleği yaptığımız iş elektronik ile ilgili olunca bende işin bir yerinden tutmak istiyorum. Elektronik bilgim kötü değil ancak matematiğim oldum olası hep zayıf olmuştur. Bana algoritma kurma ve  geliştirme konusunda ilham verecek, ufkumu açacak kaynaklar önerir misiniz ? Beyin egzersizi vs. gibi. Ete hocam yıllarını bu işe veren birisi olarak siz birşeyler tavsiye edebilir misiniz ?

ete

Algoritma oluşturma konusunda piyasaya bakınca çok fazla kaynak göremezsin. Çünki bu iş kitap ile öğrenilecek bir konu değil. Bu zamanla insanın kendi yeteneklerini geliştirmesi sonucu oluşan bir bilgi birikimidir. Elbette yol göstermeler örnek programların incelenmesi sana yardımcı olur. Bu nedenle kendine program konuları seçip onları programa dönüştürme konusunda senaryolar yazmalısın. Sonra örneklere bakıp örnekleri yazanların nasıl bir senaryo takip ettiklerine bakman sana doğru yolu bulmanda yardımcı olacaktır. Programcılıkta genelde birden fazla alternatif ile sonuca gidilebilir. Ama esas olan en az kodu kullanıp en hızlı ve emniyetli şekilde sonuca gitmek gerekir. En iyi algoritma budur.
Algoritma geliştirme konusunda kendimi gerçekten iyi seviyede görürüm. Bu seviyeyi yıllardır eksantrik işleri nasıl başarırım diye kendi kendimi sorgulayarak yakaladım desem yalan olmaz.
Algoritma bir nevi problem çözmek gibi bir şeydir. Tek farkı çözüme giden yolu birden fazla olmasıdır. Ama yolların yalnızca bir tanesi en iyisidir ve sana düşende onu bulmaktır.
Bana kalırsa biraz örnek program incele sende aynı programlar için başka nasıl algoritmalar yaratabilirsin düşünmeye çalış.
Ete


leflau42

Teşekkür ederim hocam haklısınız şuan iyi kötü bir şeyler üretebiliyorum ve bunu bile başka programları inceleye inceleye yaptım. Ancak benim derdim üzerimde yazılımla ilgili bir şeyler başarmam için baskı var ve bu baskı neticesinde zamanın az olduğunu düşünüyorum. Her gün 10 saat yazılımın başına çöküyorum bir şeyler araştırıp bir şeyler deniyorum. Ama sanırım bu çok daha uzun zaman isteyen bir iş. Sakıncası yoksa kaç yıldır bu programlama işinin içinde olduğunuzu söyler misiniz hocam ?

leflau42

Bir de mesela bir entegrenin datasheetine bakıp (şu clock data giriş olayları) o entegreyi çalıştırabilmek için fonksiyon yazmak istiyorum. Bunların dikkat edilmesi gereken bir ince noktası var mı ? Yoksa yine o entegrelerin hazır yazılmış fonksiyonlarını kütüphanelerini inceleyerek mi kalkabilirim bu işin altından ? Yani bu da mı zamanla olabilecek bir şeydir ?

ete

Program işi derken Pic programlamayı kast ediyorsanız kesin tarih hatırlayamıyorum. Pic ile tanışmadan önce ev tipi bilgisayarlarda kullanılan basic konusunda biraz uğraşmışlığım var idi. Tesadüfen pic ile tanıştım. Mikroişlemciler hakkında En ufak bir bilgim yok idi. Ama öyle ilgimi çektiki deliler gibi öğrenme ihtiyacı hissedip üzerinde çalışmaya başladım. Ne kitap var ne Türkçe Kaynak. İnternet desen daha yeni yeni yayılmaya başlıyor. Bu şekilde yola çıktım ve yaklaşık 1,5-2 yıl içinde programcılıkta tavan yaptım diyebilirim. İnsan ne zaman tavan yaptığınıda anlamıyor. Bunu sana birileri söylüyor yada hatırlatıryor. En kolay yolu bu işlerle ilgili bir siteye üye ol ve bak bakalım gelen mesajlara ne oranda cevap veriyorsun. Senmi soru soruyorsun yoksa gelene sorularımı cevaplıyorsun. İşte ölçü budur. Çoğunlukla soru cevaplıyorsan ve o arada da iyi programlar ortaya koyuyorsan tavan yapmışsın demektir. Öğrenmenin sonu yok elbette. Bende hala öğreniyorum. Elbette eski sıklıkta değil öğrendiğim konular.

Algoritma ile ilgili şunuda eklemek isterim. İyi algoritmalar yaratmanın yolu program komutlarını çok iyi kullanmaktan geçiyor. Komutlara hakim değilseniz algoritmada epeyce zorlanırsınız. Bu nedenle öncelikle programlara komutlar açısından çok iyi hakim olmak gerekir. Derleyicinin komut setini sular seller gibi öğrenmeniz çok önemlidir.

mehmet

https://goo.gl/643Ysi

Bir kaç kitap çıkıyor aratınca.
Yine de kitaptan kalıpları, yazarın ürettiği şeyleri
öğrenebiliriz. Yol göstermesi açısından her kaynak
kullanılabilir.

Başlangıç için; MCU dan önce PC üzerinde bir şeyler
yapmanız daha yerinde olacaktır. Python bu konuda
uygun bir başlangıç olabilir. Basit yapısı ile kolay oğrenilip
çok uygulama yapmaya müsait bir dildir.

Bir kaç adım atınca MCU için istediğiniz dile geçmek
pek sorun olmayacaktır.

Tabii bir de öğrenme için kendinize ne kadar süre verdiğiniz ile
de ilgili bir durum. Ayrıca saatlerce bir şeyleri deneyerek bulmaktansa
belli konularda çalışıp yavaş yavaş ilerlemek daha uygun olacaktır.

Kaliteli zaman geçirmek daha iyi öğrenmenizi sağlayacaktır.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

Powered by EzPortal