Algoritma Nedir? /preperty

Preperty

Yeni üye
1 Tem 2018
22
0
36
machine\\msd
-0- ALGORİTMA -0-​

9.Yüzyılda bizim coğrafyamız sayılacak olan bölgede kendi kanımızdan hatta uzak akrabamız sayılan Türkistanlı bir bilim adamı olan Ebu Abdullah Muhammed bin Musa el Harezmî tarafından bilim âlemine hediye edilmiştir. Bir program değildir unutmayalım bunu. Programlama dillerine kılavuzluk yapar.

Nasıl hediye edilmiş_?​
Avrupa da çok ilgi gören kitabın ismi ve âlimin ismi Avrupalılar tarafından telaffuz edilemediği için “algorizm” sözcüğününü kullanmışlardır. Algorizm “Arap sayıları kullanarak problemleri çözmek” anlamına gelir. Zamanla algorizm algoritmaya dönüşmüştür.
Tabi benim için bunlar işin felsefesi, Abi adamlar ne zaman bizi doğru düzgün insan yerine koymuş da ismimizi düzgün telafüz etmiş. Neyse dağıtmayalım ama bastian schweinsteiger bu ismi bile doğru telafüz eden nesile böyle muamele yapılmaz.


Neden algoritma hayatımızda var_?​
Eğer herhangi bir cihaz ya da malzeme alıyorsak ve yanında kullanma kılavuzu veriliyorsa işte size verilen kılavuz tam olarak algoritmanın kendisi. Çünkü size nasıl kullanmanız gerektiğini hangi menülerden nerelere ulaşacağınızı tek tek açıklıyor. Yani kısaca demek gerekirse, bu sabah kalkıp kendine saat 9 da kahvaltı yapayım 11 de dışarı çıkayım aylaklık yapayım diyorsan işte senin algoritman da tam olarak budur.

Algoritma bence planlama demek
Algoritma bence önsezi demek
Algoritma bence sadeleştirmek demek
Algoritma yöntem demek

Kısaca çözümsüzlükleri çözmede kullanacağımız yol demek.


Dünyada ki her problemin bir çözümü vardır. %80-85 arasında doğa kendi problemini yaratır ve çözer. Diğer %15-20 arasında da insanlar var olan problemleri çözer ya da kendi pisliklerini temizlemeye uğraşırlar. Bu iş de kolay bir iş değil, planlama gerekli, önsezi gerekli, problemi tanıyıp mümkün olduğunca kolay ve karmaşık olmayan çözümler üretilmeli ki bu sorunları aşalım. Elbette sorunun bir başlangıcı ve bir de sonu olacaktır. Hatta bazen bu sorun devamlı kendini yenileyecektir. Doğadaki grip gibi düşünebiliriz. Hiç kaybolmuyor lanet şey.

Algoritma yani problemin çözümünün bazı temel noktaları da var.

Değişken: Adı üstünde değişken, problemin her döngüsünde başka bir değer alabilen kısımlardır. Bunu biz tanımlarız. Örneğin deniz dalgasının her saniyedeki yüksekliği değişkendir. Bir dalga analizi yapacaksak yükseklik değerini değişken belirlememiz gerekli.

Sabitler: Problemde sorun da çözülecek her neyse değişkenler olduğu kadar sabitler de vardır. Bu sabitler kaç defa döngü olursa olsun değişmez. Her defasında aynı değerleri alarak döngü içindeki yerleri en kararlı değerlerdir. Sanıyorum ki sabiti bir defa yakalarsak problem çözümünü de kolayca çıkarabiliriz. Örnek vermek gerekirse, sürtünmeden dolayı yapılan iş formülü

Ws = Fs x (X2-X1)
Ws : sürtünmenin yaptığı iş
Fs : sürtünme kuvveti
X: yol

Bu formülde gidilen yol daima sabittir. Ancak değişken olan farklı yolların uyguladığı sürtünme direnci farklıdır yani değişkendir.


Akış diyagramı: Her problem 3’le 2’yi topla gibi küçük değil elbette dolayısıyla karmaşık ve rakamlarla içinde bulunmanın zor olduğu problemler için de akış şemaları çizerek işimizi kolaylaştırır ve çözümün daha akıcı ve kalıcı olmasını sağlayabiliriz.

Her algoritma aşağıdaki kriterleri sağlamalıdır.

1. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli.
2. Çıktı: En azından bir değer üretilmeli.
3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.
4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli.
5. Etkinlik: Her komut kişinin kalem ve kâğıt ile yürütebileceği kadar basit olmalıdır.

Not:4. özellik işletim sistemleri gibi sonsuz döngülere sahip sistemlerde bitmez bitmemeli

Örneğin bir problemle ilgileniyoruz nereden başlayacağız_?​
Bu 5 yolu uygulayacağız 
1. Problemin farkına varmak,
2. Problemi analiz etmek,
3. Çözüm yolları düşünmek,
4. İyi çözüm yolları seçip algoritma oluşturmak,
5. Akış diyagramı çizmek.


Size çok basit bir örnekle akış şemasını da göstereyim neye benzediğini bilelim en azından.

diktörgen alan hesabı
A1=> a kenarı
A2=> 2
A3=> b kenarı
A4=> 4
A5=> axb
A6=> 8
A7=> doğru sonuç

A1 :a değerini gir
A2 :a<0 ise 1. adımı tekrarla
A3 :b değerini gir
A4 : b<0 ise 3. adımı tekrarla
A5 :Alan = a*b
A6 :Alan değerini yaz
A7 :Bitir

Preperty sağlıcakla sunar :)
Lütfen eleştirin... kiii öğrenmemize faydanız olsun
 
Moderatör tarafında düzenlendi:

R4V3N

Adanmış Üye
3 Tem 2016
6,250
38
25
Kocaeli
Avrupa da çok ilgi gören kitabın ismi ve âlimin ismi Avrupalılar tarafından telaffuz edilemediği için “algorizm” sözcüğününü kullanmışlardır. Algorizm “Arap sayıları kullanarak problemleri çözmek” anlamına gelir. Zamanla algorizm algoritmaya dönüşmüştür.

1. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli.
2. Çıktı: En azından bir değer üretilmeli.
3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.
4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli.
5. Etkinlik: Her komut kişinin kalem ve kâğıt ile yürütebileceği kadar basit olmalıdır.

1. Problemin farkına varmak,
2. Problemi analiz etmek,
3. Çözüm yolları düşünmek,
4. İyi çözüm yolları seçip algoritma oluşturmak,
5. Akış diyagramı çizmek.

diktörgen alan hesabı
A1=> a kenarı
A2=> 2
A3=> b kenarı
A4=> 4
A5=> axb
A6=> 8
A7=> doğru sonuç

A1 :a değerini gir
A2 :a<0 ise 1. adımı tekrarla
A3 :b değerini gir
A4 : b<0 ise 3. adımı tekrarla
A5 :Alan = a*b
A6 :Alan değerini yaz
A7 :Bitir

Özgünlük oranı daha yüksek bir konu beklerdim preperty. Hadi ilki neyse ney de diğer 3'ünü yazmalıymışsın. Kendi kurduğun algoritmalar konunun kalitesini arttırabilirdi. Algoritma çok basit kaçmış, bunu şema ile gösterebilirmişsin. Ve madem çok basit + bilgin de varsa ufak bir c++ uygulaması da yazabilirmişsin konuyu pekiştirmek adına veya en azından kaynak kodları olabilirmiş en altta. Devamında daha iyi konularını görmek dileğiyle, kolay gelsin.
 

Preperty

Yeni üye
1 Tem 2018
22
0
36
machine\\msd
Özgünlük oranı daha yüksek bir konu beklerdim preperty. Hadi ilki neyse ney de diğer 3'ünü yazmalıymışsın. Kendi kurduğun algoritmalar konunun kalitesini arttırabilirdi. Algoritma çok basit kaçmış, bunu şema ile gösterebilirmişsin. Ve madem çok basit + bilgin de varsa ufak bir c++ uygulaması da yazabilirmişsin konuyu pekiştirmek adına veya en azından kaynak kodları olabilirmiş en altta. Devamında daha iyi konularını görmek dileğiyle, kolay gelsin.

Tüm eleştirileri haklı buluyor ve önemsiyorum bir dahaki konuda daha da özgür olacağına emin olabilirsin komutanım
Saygılarımla teşekkürler
 

LosT

Yaşayan Forum Efsanesi
5 Şub 2015
8,117
31
-
Konuda akış şemasını göstermen gerekirdi bahsetmişsin onu da göster ki soru işareti kalmasın. Dikdörtgen alan hesabında eksiklik var sen bulursun onu tekrar bak. Onun dışında renkleri iyi seçmelisin gözü alıyor okuma hevesi kaçıyor insanda. İyi yönleri de var tabi, konu sade ve başarılı bir anlatımlı olmuş ellerine sağlık :)
 
Ü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.