ALGORTMA ve AKI EMASI KAZANIMLAR vnyz xyz Verilen



































- Slides: 35
ALGORİTMA ve AKIŞ ŞEMASI KAZANIMLAR vnyz. xyz • Verilen problemi çözmek üzere farklı algoritmalar tasarlar. • Karmaşık bir problemi alt problemlere ayırarak çözümleri sözde kod olarak tasarlar. . • Algoritmayı analiz ederek sonucunu yordar. • Verilen problemin çözümü için uygun akış şemaları oluşturur. Ç. Volkan YILDIZ - Bilgisayar Bilimi - Ekim 2018
ALGORİTMA VE AKIŞ ŞEMASI • Bilgisayarların çok iyi çözdüğü problemler, algoritmik yapıda olanlardır yani adım işlemlerden oluşan yapılardır. Bu işlemler bilgisayarın anlayabileceği biçimde ifade edilir ve bilgisayar bu satırları sıra ile çalıştırır. • Evden okula gitmek, kütüphanede aradığın kitabı bulmak gibi günlük işlerimizde dahi algoritmaları kullanırız.
Peki Ya Bilgisayarlar? Bilgisayarlar da problemleri tıpkı bizler gibi çözmeye çalışır. Kullanıcı tarafından kendisine verilen komutları adım uygulayarak problemin çözümüne ulaşır. Kullandığımız yazılımların tamamı «kod» adı verilen bilgisayarın anlayacağı dilde yazılmış özel komutlardan oluşur. Bu kodlar bilgisayar yazılımcıları tarafından yazılır.
Kodlamadan Önce… Kodlamaya başlamadan önce oluşturacağımız yazılımın adım ne yapacağını tasarlamamız gerekir. İşte açık ve net ifadelerle problemin adım çözümünü gösteren bu taslağa «algoritma» adı verilir. Programlamanın ilk adımı algoritma oluşturmaktır.
Algoritma(örnek) Bir problemin çözümünde izlenecek yol anlamına gelir ve problemin çözümünün adımlar halinde yazılmasıyla oluşturulur. Algoritma basamaklarının bir başlangıcı ve sonu bulunur. Her adımda yapılacak işlem açıkça belirtilir. Adım 1: Başla Adım 2: Hava yağmurlu mu? Adım 3: Evet ise Adım 5’e git. Adım 4: Hayır ise Adım 6’ya git. Adım 5: Yanına şemsiye al. Adım 6: Evden çık. Adım 7: Bitir.
TOPLAMA YAPAN PROGRAM 1. SAYI 2. SAYI TOPLAM Toplamaya Başla
1. Adım : Başla 2. Adım: Değişkenler(toplam, sayı 1, sayı 2) 3. Adım: 1. Sayıyı Al GİRİLEN 2 SAYININ TOPLAMINI GÖSTEREN ALGORİTMA 4. Adım: 2. Sayıyı Al 5. Adım: 1. Sayıyı Sayı 1 Değişkenine At 6. Adım: 2. Sayıyı Sayı 2 Değişkenine At 7. Adım: Sayı 1 ve Sayı 2 yi Topla ve Toplam Değişkenine At 8. Adım: Toplamı Göster 9. Adım: Bitir
Başla 1. Sayıyı Al 2. Sayıyı Al Sayı 1= 1. Sayı GİRİLEN 2 SAYININ TOPLAMINI GÖSTEREN AKIŞ ŞEMASI Sayı 2= 2. Sayı Toplam= Sayı 1+Sayı 2 Toplamı Göster Bitir
İki Sayının Toplamının Kodu int Sayi 1, Sayi 2, Toplam; Basla. click{ Sayı 1= Convert. To. Int 32(textbox 1. text); Sayı 2= Convert. To. Int 32(textbox 2. text); Toplam=Sayı 1+Sayı 2 textbox 3. text= Toplam. Tostring; }
Neden Algoritma Kullanıyoruz? Sizce kodlamaya başlamadan önce niçin algoritma hazırlıyoruz? Gerekli tüm bilgi ve birikime sahipsiniz ve sizden bir bina yapmanız isteniyor. Yapacağınız ilk iş ne olurdu?
Neden Algoritma Kullanıyoruz? Oluşturacağımız yazılımın kusursuz olması için öncelikle her adımını gösteren planını, yani algoritmasını hazırlamalıyız.
AKIŞ ŞEMASI • Algoritmaların daha anlaşılır olabilmesi için akış şemaları kullanılır. • Akış şemasına bakan insanlar, hangi kodları yazması gerektiğini ve algoritmanın nasıl bir şekilde işlediğini anlamaktadırlar.
AKIŞ ŞEMASI ŞEKİLLERİ 1. Elips • Algoritma her zaman "Başla" komutu ile başlar, "Bitir" komutu ile biter. • "Başla" ve "Bitir"i belirtmek için "elips"i kullanırız Başla Bitir
AKIŞ ŞEMASI ŞEKİLLERİ 2. Paralelkenar • Programımıza klavye ile veri girişi yapılacağı ya da veri işlendikten sonra ekranda veri çıkışı bilgisini veren semboldür. Birinci Sayıyı Giriniz Not Ortalaması: 65
AKIŞ ŞEMASI ŞEKİLLERİ 3. Dikdörtgen • Hesaplama veya değişken ataması yapılacağını bildirir. toplam=s 1+s 2 Değişkenler ad, okul. No
AKIŞ ŞEMASI ŞEKİLLERİ 4. Eşkenar Dörtgen • Programda bir karşılaştırma durumunun olduğunu, yani programın "Evet" veya "Hayır" cevaplarına göre bir yol izleyeceğini bizlere aktarır. Evet ders. Notu <=50 Hayır Evet yas>=18 Hayır
AKIŞ ŞEMASI ŞEKİLLERİ 5. Yön Okları • Akış şemasının ilerlediği yönü gösterir.
QUİZ • http: //vnyz. xyz/algoritma-ve-akis-semasi-ornekleri-1/
Başla AKIŞ ŞEMASI - Örnek-1 (Girilen iki sayıyı toplayan algoritma) 1. 2. 3. 4. 5. 6. 7. 8. 9. Başla Değişkenler (toplam=0, s 1, s 2) Birinci sayıyı gir Birinci sayı = s 1 İkinci sayıyı gir İkinci sayı = s 2 toplam=s 1+s 2 Sonucu (toplam) ekranda göster. Bitir Değişkenler toplam=0, s 1=0, s 2=0 Birinci sayıyı gir, s 1 İkinci sayıyı gir, s 2 toplam=s 1+s 2 Sonuç, toplam Bitir
Uygulama Bir öğrencinin klavyeden girilen iki notunun ortalamasını hesaplayan ve çıkan sonuca göre notun iyi veya kötü olduğunu ekrana yazdıran programın algoritmasını ve akış şemasını hazırlayınız. (Ortalama 70’ten büyük ise İYİ, küçük ise KÖTÜ kabul edilecek. )
Uygulama Başla 1. Sınav notunu gir Sınav 1 = 1. Sınav Evet Ortalama<70 Hayır 2. Sınav notunu gir İyi Kötü Sınav 2 = 2. Sınav Bitir Ortalama = (Sınav 1+Sınav 2)/2
AKIŞ ŞEMASI - Örnek-2 (Doğum tarihine göre yaşını bulup hesaplayan ve 18 yaşında veya büyükse ekranda “Kayıt Olabilirsin”, küçükse “Kayıt Olamazsın” yazan programın algoritma ve akış şeması) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Başla Değişkenler (yas, dogum. Tarihi) Doğum Tarihini gir dogum. Tarihi = Doğum Tarihi yas=2019 -dogum. Tarihi Yaşı (yas) 18'den büyük veya eşitse Adım 8'e git Yaşı (yas) 18'den küçük ise Adım 9'a git Yaşınız 18 veya 18'den büyük kayıt olabilirsiniz. Yaşınız 18'den küçük kayıt olamazsınız. Bitir
Başla Değişkenler yas=0, dogum. Tarihi=0 Doğum Tarihini gir, dogum. Tarihi yas=2019 -dogum. Tarihi Kayıt olabilirsin Evet yas>=18 Bitir Hayır Kayıt olamazsın
ALIŞTIRMA • Bir üniversite öğrencisinin dönem geçme notunu hesaplayıp, bu nota göre geçme kalma durumunu gösteren akış şemasını aşağıdaki şartlara göre yapınız. • İki vize ve bir final sınav notu vardır. • Dönem geçme notu, vize notlarının %40'ı, final notunun %60'ı alınıp toplanarak elde edilir. • Dönem geçme notu 50'dir.
• 1. Başla 2. Değişkenler; v 1, v 2, f, d. Notu 3. v 1= 1. Vize notunu gir 4. v 2= 2. Vize notunu gir 5. f= Final notunu gir 6. d. Notu= (((v 1+v 2)/2)*0. 4) + (f*0. 6) 7. d. Notu değişkeninin değeri 50’ten küçük ise 9. adıma git 8. d. Notu değişkeninin değeri 50’ye eşit veya büyük ise 10. adıma git 9. Ekranda “KALDI” yaz. 10. Ekranda “GEÇTİ” yaz. 11. Bitir
KAYNAKLAR • https: //www. elektrikport. com/teknik-kutuphane/bes-dakikada-algoritmayi-taniyin/8223#ad-image-0 • https: //tr. khanacademy. org/computing/computer-science/algorithms/intro-to-algorithms/v/what-are-algorithms • https: //www. muhendisbeyinler. net/algoritma-ve-akis-semalari/ • https: //tolpp. com/quick-sort-hizli-siralama/



































