ALGORİTMALAR Ders- #2 #Eagleweb

Eagleweb

Uzman üye
8 May 2021
1,412
620
Merhaba,
Serimizin 2. Dersini de paylaşıyorum iyi okumalar çok yakında konuya dair daha fazla görsel koyacağım bir tane tarayıcı sipariş ettim, bazı kitaplarda konu ile alakalı güzel fotoraflar var lakin tarayıcı lazımdı neyse hadi başlayalım;

7h458cd.gif


Yazılım
Elektronik aygıtların programcı tarafından belirlenmiş bir işlemi yapmalarını sağlayan, kod bloklarından oluşan programlardır. Sonuç Olarak Bir Yazılım; Derleyici tarafından derlenerek makine diline çevrilir.

Yazılımın Temel Özellikleri
Bir Yazılım, kullanıcının ihtiyaçlarını karşılayacak doğrulukta, gereken işlemleri yapabilecek güvvenirlikte olmalıdır. Bilgisiyarın kaynaklarını verimli kullanmalı ve güvenlik açığı bulunmamalıdır. Kullanım kolaylığı sunan bir yapıda tasarlanmalı ve kullanıcı dostu olmalıdır. Bir hatayı kolayca bulabileceğiniz, gerketiğinde değişiklik yapabileceğiniz bir esnekliğe sahip olmalıdır. Kod bloklarının temiz yazılması, yazılımın herhangi bir bölümünün tekrar kullanabilir olmasının sağlanması gereklidir.

Yazılım Çeşitleri
Aygıt Yazılımları : Sistem donanımı çalışmasını sağlayan yazılımlardır.
İşletim Sistemi Yazılımları : Bilgisayarı yöneten, kontrol eden, diğer programların çalışmasını sağlayan bir platform görevini yürütürler. Örneğin ; Windows, Linux, Mac, Pardus.
Uygulama Yazılımları : İhtiyaca göre hazırlanan ve belirli bir alana yönelik programlardır. Örneğin ; Word, Excel, web projeleri.


3pm0q96.gif


Problem Yaklaşım Temelleri, Algoritma Ve Akış Şeması
Bu Bölümde problem yaklaşımı, algoritma ile çözümler ve akış şemalarından bahsedeceğim.


Problem

  • Problemin tanımlanması,
  • Problemi oluşturan sebeplerin belirlenmesi,
  • Çözüm planlamasının yapılması,
  • Planların uygulanması,
  • Sonuçların Gözlemlenmesi.
Problem Çözme Ve Planlama
Örnek vererek başlamak istiyorum;
Eagleweb'in gün içinde yapması gereken İşleri bulunmaktadır. Ev ödevini yapmalıdır. Gelecek Olan misafirleri için alışveriş yapmak üzere markete gitmesi gerekmektedir. Arkadaşı ile buluşup gezmeyi planlamaktadır.

  • Saat 13.30'da okuldan eve gel, yemeğini ye.
  • Saat 14.000'da ödevini yapmaya başla.
  • Saat 14.45'de ödevine ara ver.
  • Markete git, Gerekli malzemeleri al.
  • Sat 15.15'te marketten aldıgın malzemeleri Annene Teslim et.
  • Ödevine Devam et.
  • 16.55'de cep telefonundan arkadaşına mesaj at, Buluşmayı hatırlat.
  • 17.00'da Buluşma noktasına doğru yola çık.
  • Otobüse Bin.
  • 17.30'da arkadaşının yanında ol.
  • 19.30'da eve dön, yemeğini ye.
  • 21.00'da kitap oku.
  • 21.30'da uyu.
Bakın İlk Algoritmanızı tasarlamış olduk Eagle herşeyi zaman ve süre belirterek hareket etmesini sağladık.

bopcd2a.gif

Algoritma
Algoritma ilk olarak matematikte, Muhammed Bin Musa El Harezmi tarafından kullanılmıştır. Algoritma yazılım geliştirmenin en önemli adımıdır. Geliştirilen Yazılım ile bir probleme çözüm sunulur..
Algoritma : Bir problemin çözümü için, izlenmesi gereken kesin, sıralı düzenli adımlardır. Bu adımlar sözlü veya yazılı olarak ifade edilebilir.
Verilerin Bilgisayara nasıl aktarılacağı, problem çözüm basamakları ve sonucun nasıl aktarılacağı sözel veya yazısal ifade edilir.


Bilgisayar Dilinde Problem Çözümü
Bilgisayar dilinde problem çözümü pratik yaşantımızdaki çözümlere benzetilebilir.

Problem örnekleri ;

  • İki sayının, Bilgisayar üzerinde toplanması,
  • Girilen Bir Sayının tek veya çift olma durumunun kontrolü,
  • Bir sayının faktöryelinin hesaplanması.
Bilgisayar üzerindeki bir problemin çözüm aşamaları ise şöyledir ;

Problemi Anlamak :
Bir Algoritmayı oluşturan ilk etmen, problemdir. Öncelikle problemin ne olduğunu anlaşılması çok önemlidir. Böylece oluşacak çözüm adımları belirlenir. Yanlış anladığınız bir problem, tüm çözümün boşa gitmesi anlamına gelebilir. Eğer mümkün ise örnek veriler kullanılmalı, bu verilerden elde edilen sonuçlar ile problem anlaşılmaya çalışılmalıdır. Mesela ; Bir Kişinin yaşının hesaplanması için gereken tüm işlemleri iyi anlamak gerekir.

Girdi-Çıktı Belirlemek :
Programın çalışması için gereken parametreleri iyi belirlenmeli ve kullanıcının anlayabileceği bir biçimde talep edilmelidir. Programın sunacağı çıktının, dökümanlar ile sunulması gerekmektedir. Mesela ; En basitinden, yaş hesaplamak için kullanıcıdan doğum tarihi istenilmelidir, Çıktı olarak yaş bilgisi sunulur.

Çözüm Geliştirmek :
Problemin çözümü için birçok yol mevcut olabilir, bu durumda en uygun olanı seçilmelidir. Her çözümü gruplandırmak, adımlamak ve ilişkilendirmek, geliştirdiğimiz çözümün kalıcı ve anlaşılır olmasını sağlar. Mesela ; Doğum tarihi bilgisi istendiğinde tarih verisinden, yıl bilgisini ayıklamak bir çözüm geliştirmektir.


8n7weih.png


Deneme Ve Hata Tespiti :
Algoritmanın doğruluğunu denenmesi gerekir. Sonucu bilinen verilerle, algoritma test edilir. Algoritmada karşılaşması muhtemel hatalar tespit edilip, çözüme kavuşturulmalıdır. Bu denemeler neticesinde en güvenli ve en hızlı algoritma veya algoritmalar tercih edilmelidir. Mesela ; Kaç Yaşında olduğu bilinen kişilerin yaşlarını hesaplanması, sorunularımızın doğruluğunu kontrol etmemizi sağlar.

Prototip Oluşturmak :
Çözüm kağıt üzerinde, Basamaklar halinde sunulması yani, prototipinin oluşturulması gerekir. Uzun bir algoritmanın, çözüm sürecinde faydalı olması oluşturulması gerekir. Uzun bir algoritmanın, Çözüm sürecinde faydalı olması için herkesin anlayabileceği şekilde notlar alınmalı ve şema oluşturulmalıdır.

Kodlama :
Bilgisayar ortamı için hazırlanan bir algoritmanın, bir programlama dili ile kodlanması gerekir. Böylece sonuçlar ve program hızı da test edilmiş olur. İnsan tarafından denenmesi çok zor işlemler, kodlama yapılan progrmlama dili ile saniyeler içerisinde gerçekleşmektedir.

Geliştirme :
Çözümde tekrar eden noktaları tespit edilerek, daha kısa ve hızlı sonuç alınmasını sağlamaktadır. Oluşan hatalar varsa giderilmeli ve en iyi performans ve güvenlik sağlanmalıdır.

  • Bir problemi deneysel yada deneme yanılma yöntemi ile çözebiliriz.
  • Algoritma geliştirerek çözebiliriz.


7h458cd.gif



Devamı Gelecek önceki derse ulaşmak için tıklayınız : ALGORİTMALAR Ders- #1 #Eagleweb
 

KaptanTR

Yazılım Ekibi Deneyimli
17 Nis 2015
991
249
Ellerine sağlık, çok güzel olmuş. Devamını bekliyoruz. :giggle:
 

Eagleweb

Uzman üye
8 May 2021
1,412
620
Ellerine sağlık, çok güzel olmuş. Devamını bekliyoruz. :giggle:
Merhaba,
Teşekkür ederim var olasın elimden geldiği kadar yazmaya devam edeceğim günde max. 2 post atmayı düşünüyorum algoritma ile alakalı daha tam anlamıyla hazır değil nedeni bir çok kitapta iyi görseller buldum bunları burada da paylaşmak istiyorum sipariş ettim yakın bir zamanda daha iyi olacak konularım :)


bopcd2a.gif
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.