Algoritma nedir? Algoritmanın önemi nedir? [Programlama Öncesi]/Dergi Kulübü

xavier eckert

Basın&Medya Ekibi Kıdemli
16 Tem 2016
1,637
288
Bir problemi veya sorunun sonucuna sistemli ulaşmak için izlenen her bir adıma algoritma denir.
Peki algoritmanın önemi nedir?

Algoritma kullanarak istediğiniz işlemi karışık olmadan yapabilirsiniz ve programlamada çok işinize yarar.
Algoritmada kullanılan dil önemli değildir. Yani işlevliği her yerde , bütün programlama dillerinde geçerlidir.

ALGORİTMADAN BEKLENEN ÖZELLİKLER

-Kesin ve yalın olmalıdır.
-Sonu olmalıdır. Sonsuz bir döngüye girmemelidir.
-İşlemin sonucu kesin olmalıdır. Yani evrensel olmalıdır.
-İşlem -sonuç olmalıdır.

ALGORİTMANIN İFADE ŞEKİLLERİ​
Metin olarak yazılması
-İşlemler sıralı olarak yazılır
-Satırlar numaralıdırlar
-'Başla' ile başlanır , 'son' ile bitiriir

ÖRNEK
Klavyeden girilen iki sayı değerini toplayın ve sonuç ekranda gösterilsin
CEVAP
Kod:
1) Başla
2) İlk sayımızı gir (X)
3) İkinci sayımızı gir (Y)
4) İki sayının toplama işlemini hesapla (toplam = X+Y)
5) Sonucu (toplam) yaz
6)Dur
Kaba Kod (Pseudo Code)
- Konuşma dilinde eğer,iken koşu kelimelerinı >=< gibi ifadeler kullanılır
ÖRNEK
Kullanıcının girdiği herhangi bir sayı 10 dan büyük mü küçük mü olduğunu gösteren program kodunu kaba kod kullanarak yazınız.
CEVAP
1) Programın amacını kullanıcıya belirt
2) Kullanıcının sayıyı girmesini sağlal
3) Eğer Sayı > 10 ise SonDurum : "Sayı 10'dan büyük"
4) Eğer Sayı < 10 ise SonDurum : "Sayı 10'dan küçük"
5) Eğer sayı = 10 ise SonDurum : "Sayı 10'a eşit"
6) Sonucu göster

AKIŞ ŞEMALARI
Bu yönü bende pek anlamadım fakat anladığım kadarıyla anlatmak istiyorum
Algoritmanın, görsel veya biçimsel ifadesine denir. Buna Flowchart'ta denir.
Akış şeması sembolleri ANSI(American Natinal Standards Institute)'dir ve tüm dünya kullanmaktadır.
akis_semasi.jpg


ALGORİTMA OPERATÖRLERİ
tablo.jpg


ALGORİTMADA KULLANILAN TERİMLER
1) Tanımlayıcı
2) Değişken
3) Sabit
4) Aktarma
5) Sayaç
6) Döngü
7) Ardışık Toplama
8) Ardışık Çarpma

Tanımlayıcı

-Herhangi bir değişken, sabit , özel bilgilerin adlandırılmasıdır.
-İngiliz alfabesi A-Z,az 26 Harf ve 0-9 arası rakam kullanılabilir.
-Sembol olarak sadece(_) kullanılabilir.
-Tanımlayıcı ismi rakamla başlayamaz veya sadece rakam oluşturulamaz

Değişken

-Programı her çalıştırdığımızda farklı değerler alabilen bilgidir.
- Değişken isimlendirmesi tanımlayıcı kurallarına göre yapılmalıdır.
ÖRNEK
Bir ismin aktarıldığı değişken : ad
Bir PC özelliklerinin aktarıldığı değişken : pc_ram, pc_ekranboyutu

Sabit

- Adı üstünde sabit. Değişmeyen ifadelerdir.
- Genellikle tırnak içinde yazılır ("")
ÖRNEK
Kod:
Başla
Bir isim yazınız (A)
"Hoşgeldin dostum" mesajı (B)
A Ve B yi yaz
dur

Aktarma

-Herhangi bir ifadenin sonucunu bir başka bir değere aktarmaktır.
ÖRNEK
Kod:
Başla
Sayı giriniz (X)
2.sayıyı giriniz (Y)
(X+Y)=Toplam X ve Y sayılarını topla ve 'Toplam' değişkenine aktar
Sonuc(toplam) göster
dur

Sayaç

-Programda bazı işlemlerin belirli sayıda yapılmasını sağlar
genel formülü;
sayac = sayac + adım
X=X+3'gibi

Döngü

-Bir çok programda işlemler ard arda yapılır. ÖRNEK üzerinden anlatırsak
1 den 100'e kadar sayıların çarpılması gerekiyor X=1.2.3.4.5... döngü açılarak yapılır.
ÖRNEK
Kod:
x=Sayac
t=toplam
Başla
Döngüyü başlat (x= 2 den 100'e kadar 2şer 2 şer artar)
t=t+x
x=100 Döngüyü bitir
toplam değeri göster
dur

Ardışık Toplama
-Programlarda aynı değerin üzerine yeni değerler eklemek için kullanılır.
Genel form ;
Toplam değişkeni=Toplam değişkeni + Sayı

ÖRNEK
Klavyeden girilen 5 sayısının ortalamasını bulan programın
algoritması.
CEVAP:
Kod:
Başla
T=0
S=0
Eğer S>4 ise git 9
S=S+1
Sayıyı (A) gir
T=T+A
Git 4
Ortalama=T/5
Yaz Ortalama
Dur

Ardışık Çarpma
-Ardışık veya ardışıl çarpma işleminde; aynı değer, yeni
değerlerle çarpılarak eskisinin üzerine aktarılmaktadır.
Çarpım değişkeni=Çarpım değişkeni * Sayı
ÖRNEK
Klavyeden girilen N sayısının faktöriyelini hesaplayan
programın algoritmasını yazınız.
CEVAP
Kod:
Başla
N sayısını gir
Fak=1
S=0
Eğer S>N-1 ise git 9
S=S+1
Fak=Fak*S
Git 5
Yaz Fak
Dur

DÖNGÜ YAPISI
While
Koşul daha çevirim olmadan sınanır. Koşul olumsuz olduğu zaman döngü içerisindeki yapılması gerekenler atlanır.

Do-while

Bu döngü deneyiminde çevirim en az 1 defa olmak üzere gerçekleşir.Koşul olumsuz olur ise bir sonraki çevirime geçilmeden döngüden çıkılır.

for
Döngü girmeden önce sayaç değişkinine değer atanmakta ve daha sonra koşula bakılmaktadır. Döngü içerisinde işlem yapıldıktan sonra sayaç değişkeni arttırılmalıdır.
Daha önce böyle bir konu açıldıysa Affola
 
Ü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.