İPUCU

Algoritma Algoritma geliştirme için gerekli tekniklerin paylaşıldığı alandır.

Seçenekler

Algoritma //K3YL0CK3R

10-07-2018 13:22
#1
K3YL0CK3R - ait Kullanıcı Resmi (Avatar)
Stajyer Moderatör
Üyelik tarihi:
09/2016
Nereden:
Ankara
Yaş:
20
Mesajlar:
645
Teşekkür (Etti):
7
Teşekkür (Aldı):
124
Konular:
43
Ticaret:
(0) %
Merhabalar dostlar bugün sizlere ALGORİTMA konusunu anlatacağım uygulamalı olarak . Konu bitiminde aklınızda herhangi bir soru işareti kalırsa ö.m yolu ile dilediğiniz gibi bana ulaşabilirsiniz .

ALGORİTMA

Programlamanın temelinde çalışma akışını , izlenecek yolları belirleyen algoritmalar vardır . Bir iş yapılmaya başlanmadan önce nasıl planlanıyorsa , kodlamaya başlamadan/geçilmeden önce de bir çalışma planı belirlenmelidir . Yazılımlar , bu planda yazılan kodları belirli bir sıra ile okur ve işler . Dolayısıyla algoritma çok iyi kurmak gerekir . Kurulan algoritmalar akış diyagramlarına ile görsel zenginlik kazanırlar .
Bu yazıyı okuduktan sonra :
1) Algoritma kurmayı öğrenecek
2) Akış diyagramları ile algoritmaları görsel olarak elde edebileceksiniz .

Algoritma Nedir Ne Değildir ?
Algoritma , bir programın hangi yolları izleyeceğini gösteren çalışma mantığıdır . Algoritma bir programlama dili değildir . Programlama dillerine yol gösteren yöntem dizisidir . Her dilde kodlama için algoritma uygalanır/uygulanabilinir . Mesela bir oyunu başlatırken ki gördüğümüz ana ekran ardından oyunun gelmesi bir algoritma işidir .

Algoritma yazarken uygulamanın çalışması için kullanılan kaynakların , yapılması gereken kontrollerin veya işlemlerin açıkça ifade edilmesi gerekir . Ayrıca tam destekli bir algoritmanın bütün ihtimalleri göz önünde bulundurarak kontrol edip istenmeyen durumlarda ne yapılması gerektiğini belirlemesi gerekir .

!!! Örneğin bir öğrenci uygulamasında öğrenci puanları algoritması çıkarılır . Öğrenci seçildikten sonra , kullanıcıdan puanı değerinde okulları seçmesi istenir . Uygulama yazılırken , bu değerin int veri tipinden olacağına karar verildiği düşünülürse ; kullanıcının girdiği okulun puanı değişkene atanmadan önce kontrol edilmelidir . Eğer int veri tipinin tutmayacağı bir değer girilmişse ( yani öğrencinin puanının yetmediği bir okul seçilmiş ise ), çalışma anında uygulamanın beklenmedik bir şekilde durduğu ya da istenmeyen sonuçların üretildiği gözlemlenir . Ayrıca sistemin verdiği hata kullanıcının anlayamayacağı bir mesaj içeriği için , uygulamanın imajını da kötü yönde etkiler .

Veri Girişi

Çalışma zamanında çoğu zaman , işleyişin tamamlanması için dışarıdan bir bilgi girilmesi gerekir. Algoritmanın çalışması için ihtiyaç duyduğu veriler , işlemi başlatan kişiden veya belirtilen bir kaynaktan alınabilir . Bu bilgiler sağlanmadan işlem devam etmez .

Kararlar

Karar ve kontrol yapıları algoritmanın akışını yönlendiren en önemli kavramlardır . Girilen veya işlem sonucunda elde edilen veriler , işlemin amacına göre kontrol edilir ve sonucuna göre algoritma akışı istenilen yere yönlendirilir .

İşlemler

Algoritmanın akışı boyunca veriler üzerinde değişiklikler , yeni değer atamaları gibi işlemlere ihtiyaç duyulur . Algoritmalar kurulurken , yapılan işlemlerin yalın halde tek tek yazılması okunabilirliği arttırır .
Algoritmalar adım sırası ile çalışır ve karar yapıları sonucunda farklı bir yere yönlendirilmediği müddetçe , bir sonraki adım ile işlemeye devam eder .


Bunların sonucunda örnek olarak bir tane yapalım : Atm'den para havale etmek
1- Bankana ait Atm'ye git



2- Kredi Kartını çıkart



3- Sırada kaç kişi olduğuna bak



4- Kişi sayısı 2'den fazla ise 3'e dön

5- Kişi sayısı 2'den az ise sıraya geç

6- Sıra yok ise ATM'ye geç

7- Kredi Kartını çıkart

8- Kartla müşteri menüsüne giriş yaptıktan hemen sonra “para gönderme” yahut “para transferi” seçeneğini bulunuz.

9- Ardından, “banka hesabına” seçeneğini bularak gerekli bilgileri, istenenleri doldurunuz. Muhtemelen sizden hesap numarası yahut IBAN ve elbette T.C. Kimlik numarası istenecektir.

10- Sonrasında işlemi onaylayarak hesabınızdan, havale gerçekleştirmeniz mümkün.


Bu algoritmanın işlemesi için , her ihtimal ( benim örneğim de her ihtimal olmayabilir mahcup ) gözden geçirilerek , algoritma akışı gerekli yerlere yönlendirilir . Örneğin Sıra yok ATM'ye geç komutunda ATM'ye geçmek için gerekli komutlar verilmelidir . Bu algoritmanın ihtiyaç duyduğu veriler , ya kullanıcı tarafından verilir ya da işlem başlamadan önce belirlidir . Sıradaki kişi sayısı , atm kartı gibi veriler kullanıcı tarafından sağlanmış ; havale yapacağınız kişi önceden belirlenmiştir .
Akış Diyagramı
Madde madde yazılan algoritmaların okunması kolaydır ancak işleyişin bütünün görmek çoğu zaman mümkün değildir . Akış diyagramları , algoritmaları görsel biçimde göstermeyi , dolayısıyla daha anlaşılır hale getirmeyi sağlar . Algoritmada yapılacak işlemlerin çeşitlerine göre çeşitli semboller kullanılır .

Başla-Bitir

Algoritmanın hangi aşamadan başlayacağını ve ne zaman bitireceğini gösteren sembolüdür . Bir algoritmayı temsil eden akış diyagramında , bir tane Başla ve bir tane Bitir sembolü olmalıdır .


Veri Girişi

Kullanıcıdan veya başka bir kaynaktan alınan verilerin isimleri tutar .



Karar Verme

Karar yapısını belirten semboldür . Üstünde koşul ifadesi belirtilir.



Veri Tabanı

Veri tabanında okuma yazma işlemi yapıldığını gösterir .



Ekran

Üzerinde yazılan yazının bilgi olarak ekranda görüneceğini belirtir.



Printer

Üzerinde yazılan yazının yazıcıdan çıkarılacağını belirtir .



İşlem

Bir işlem yapılacağını belirten semboldür. Her işlem için ayrı bir fonksiyon sembolü kullanılması , akış diyagramını daha anlaşılır kılar .



Fonksiyon

İşlem sembolüne yazılamayacak büyüklükte işlemler , alt işlem olarak bu sembolle belirtilir .

UYGULAMA
Üniversite Eğitim Notunu Hesaplama

Üniversitede bir dersin başarı notu , genelde bir vize ve bir final notu ile hesaplanır . Vize notunun katsayısı finalden daha düşüktür . Sonuçta çıkan not 50 ve üstüyse öğrenci geçer , 50 altıysa öğrenci kalır . Bu örnek vizenin %30 ve finalin %70 ağırlıklı olduğu başarı notunun hesaplanmasını akış diyagramı ile gösterilir .

1. Notu hesaplanacak öğrencinin numarası kullanıcıdan alınır .
2. Veritabanından öğrencinin vize ve final notları çekilir .
3. Eğer final notu 28 veya daha düşükse öğrenci kalır ve 9. etaba gidilir . Bu durumda vize notu 100 olsa dahi , sonuç olarak toplanan not 50 altında olur . Dolayısıyla öğrencinin kalması kesinleşir . Böyle bir kontrol yapılması , gereksiz işlemlerin yapılmasını engeller .
4. Vize değişkenine veritabanından alınan vize notunun %30'u atanır .
5. Final değişkenine veritabanından alınan vize notunun %70'i atanır .
6. Sonuç değişkenine final ve vize değerlerinin toplamı atanır .
7. Sonuç değerinin 50'den büyük olup olmadığı kontrol edilir .
8. Sonuç 50'den büyükse ekrana " Geçtiniz " yazan bir mesaj çıkartılır . Algoritma kapanır .
9. Sonuç 50'den küçükse ekrana " Kaldınız " yazan bir mesaj çıkartılır .

Kullanıcı İmzası
Gerçek dostlar, güneş ☀ doğduğunda ortaya çıkmazlar. Gerçek dostlar yıldızlar ✨ gibidir, karanlık çökünce ortaya çıkarlar.

Oscar Wilde
Konu K3YL0CK3R tarafından (15-07-2018 20:03 Saat 20:03 ) değiştirilmiştir.

10-07-2018 13:24
#2
"Tranquila - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2017
Nereden:
Trabzon
Yaş:
1
Mesajlar:
2.011
Konular:
224
Ticaret:
(0) %
eline sağlık bide tht kredi kartını nerden alabilirim
Kullanıcı İmzası
Eski bilgi teknolojileri ekibi ve sosyal medya timi albayı

^{_SolidStar_}^
10-07-2018 13:24
#3
Rhotav - ait Kullanıcı Resmi (Avatar)
Hunter
Üyelik tarihi:
12/2017
Mesajlar:
2.298
Teşekkür (Etti):
922
Teşekkür (Aldı):
640
Konular:
154
Ticaret:
(0) %
Ellerine Sağlık :}
Kullanıcı İmzası
Rhotav ~ Rhot
10-07-2018 13:25
#4
Üyelik tarihi:
12/2017
Nereden:
İstanbul
Mesajlar:
1.183
Teşekkür (Etti):
207
Teşekkür (Aldı):
216
Konular:
471
Ticaret:
(0) %
Eline Şaglik
10-07-2018 13:26
#5
4UR0R4 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2018
Nereden:
T.C
Mesajlar:
666
Teşekkür (Etti):
125
Teşekkür (Aldı):
147
Konular:
72
Ticaret:
(0) %
Ellerine Sağlik Bu Tür Kaliteli Konularin Devamini Bekliyoruz..
Kullanıcı İmzası
Tarihini bilmeyen millet yok olmaya mahkumdur….
Mustafa Kemal AtaTÜRK


Sayilmayiz Parmakla Ölmeyiz Vurulmakla...
10-07-2018 13:29
#6
PikseL - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2018
Nereden:
İzmir
Mesajlar:
12
Teşekkür (Etti):
6
Teşekkür (Aldı):
2
Konular:
3
Ticaret:
(0) %
Eline sağlık,atm örneğin güzel olmuş diper örnekleri de farklı bir bakış açısından vermişsin hoş olmuş
Kullanıcı İmzası
Yapmacık olup sevilmektense, kendim olup nefret edilmeyi tercih ederim
10-07-2018 13:31
#7
K3YL0CK3R - ait Kullanıcı Resmi (Avatar)
Stajyer Moderatör
Üyelik tarihi:
09/2016
Nereden:
Ankara
Yaş:
20
Mesajlar:
645
Teşekkür (Etti):
7
Teşekkür (Aldı):
124
Konular:
43
Ticaret:
(0) %
Alıntı:
Ernoylmz´isimli üyeden Alıntı Mesajı göster
eline sağlık bide tht kredi kartını nerden alabilirim
Henüz satışlar başlamadı Teşekkürler güzel yorumunuz için ayrıca ..

Alıntı:
Phemis´isimli üyeden Alıntı Mesajı göster
Ellerine Sağlık :}
Teşekkürler

Alıntı:
ProTeknoAdam´isimli üyeden Alıntı Mesajı göster
Eline Şaglik
Teşekkürler

Alıntı:
4UR0R4´isimli üyeden Alıntı Mesajı göster
Ellerine Sağlik Bu Tür Kaliteli Konularin Devamini Bekliyoruz..
Sağolasın dostum .. İnşallah

Alıntı:
PikseL´isimli üyeden Alıntı Mesajı göster
Eline sağlık,atm örneğin güzel olmuş diper örnekleri de farklı bir bakış açısından vermişsin hoş olmuş
Teşekkürler
Kullanıcı İmzası
Gerçek dostlar, güneş ☀ doğduğunda ortaya çıkmazlar. Gerçek dostlar yıldızlar ✨ gibidir, karanlık çökünce ortaya çıkarlar.

Oscar Wilde
keylow3 Teşekkür etti.
10-07-2018 13:33
#8
ENİGMA - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2016
Mesajlar:
1.673
Teşekkür (Etti):
11
Teşekkür (Aldı):
989
Konular:
92
Ticaret:
(0) %
Bilmeyenler için yararlı bir konu olmuş. flowchart programı ile daha detaylı akış diyagramları çizerek anlatabilirsiniz bilmeyen kullanıcılar için pekiştirmiş olursunuz. bir dahaki konuda beklerim hocam
Kullanıcı İmzası

Teşekkür Butonunu Kullanalım...! >

keylow3 Teşekkür etti.
14-07-2018 18:30
#9
DyzAx - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2014
Nereden:
İstanbul
Mesajlar:
121
Teşekkür (Etti):
8
Teşekkür (Aldı):
25
Konular:
22
Ticaret:
(0) %
Teşekkürler, çok güzel konu.
04-12-2018 10:59
#10
EdizEfe - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2018
Nereden:
Ankara
Mesajlar:
1
Teşekkür (Etti):
1
Teşekkür (Aldı):
0
Konular:
0
Ticaret:
(0) %
Ellerine sağlık çok teşekkür ederim .

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı