PROGRAM ADIMLARI VE ALGORITMA GELTRYORUM Verilen bir problemi
PROGRAM ADIMLARI VE ALGORITMA GELİŞTİRİYORUM
Verilen bir problemi çözmek için ne yaparsınız?
• Bir problemi çözmek için; Kısa ve anlaşılır biçimde çözmek Problemi iyi anlamak Ve sonucun doğruluğunu kontrol etmek gerekir.
Günlük yaşantımızda problem çözmenin aşamaları olduğu gibi program yazmanın da aşamaları vardır. Ama önce algoritma kavramının ne olduğunu öğrenelim. Çünkü bilgisayarımızdaki programlar da belli problemleri çözmek için geliştirilmişlerdir.
Hayatımızın hemen her anında problemlerle karşılaşırız ve sürekli problemleri çözmeye yönelik mantığımızı kullanırız. Örneğin; yarın arkadaşlarınızla pikniğe gideceksiniz. Ama yağmur yağacağını öğrendiniz. Ne yaparsınız?
BAŞLA bu z i m i Beyn adım e şekild şünür. dü m ı d a Pikniğe Gidilecek Pikniğe gitmekten vazgeçeriz. EVET Yağmur Yağacak Mı? DUR HAYIR Pikniğe gideriz.
Hayatımızdaki her problemimizi aşamalı olarak ve mantık yürüterek çözmeye çalışırız. Bir problemle karşılaştığımızda ilk adımda mantık yürütüp, sırasıyla ihtimalleri gözden geçiririz ve her zaman en mantıklı tercihleri yapmaya çalışırız.
PROBLEM: Misafir arkadaşınıza çay ya da kahve ikram etmek istiyorsunuz. Çayı koy Bardağa koy ÇAY Suyu kaynat Demlenmesini bekle Çay mı, kahve mi? KAHVE BAŞLA “Ne içmek istersin ? ” Sor “Afiyet Olsun” De Suyu koy Fincana koy Kahveyi pişir DUR
Bilgisayarın da problemleri çözme akışı insan beyni gibidir. Bilgisayarda bir problemin çözümü için sırasıyla ve adım ihtimaller yazılır ve sonuca ulaşılır.
Bilgisayarda işlerin yapılabilmesi için programlar kullanırız. leme n i d k i üz ı, r m a l ; ı n c i ı t ğ Örne müzik oyna rd o n i W ç i n i i k iç e işlem m l i ız. b r ı a n z a a l l y ı ku r yazı a l m a ogr gibi pr
Bu programlara yazılım da denir. Bilgisayarda kullandığımız programların hepsi kodlardan oluşur.
Bu kodlarda programların yapacakları işlemler adım belirtilir. Bilgisayar bu kodları sırasıyla adım uygular ve sonuca ulaşır. Program yazan kişilerin bu kodları yazmadan önce adım tasarlamaları gerekir.
Bu adım ne yapılacağını belirtme işlemine algoritma (iş akış şeması) oluşturma denir.
Algoritma; herhangi bir problemin çözümü için izlenecek yol anlamına gelir. Algoritma, bilgisayarın adım ne yapması gerektiğini söyleyen bir taslaktır. Her bir yazılım oluşturulmadan önce algoritma hazırlanır. Daha sonra bu algoritmadaki adımlara göre kodlar yazılarak, program oluşturulur.
Sıcaktan bunalmanız bir problemdir. Bu problemin birçok çözüm yolu olabilir.
Problem: Hava çok sıcak ve bunalıyorsunuz ADIM ADIM 1: 2: 3: 4: 5: 6: 7: Başla. Sıcaktan bunalıyor musun? Evet ise ADIM 5’ e git. Hayır ise ADIM 6’ ya git. Bol su iç. İşine devam et. Bitir.
Problem: Ayran yapıp bardağa dolduralım. ADIM ADIM 1: Başla. 2: Yoğurdu kaba koy. 3: Su koy. 4: Çırp. 5: Bardağa doldur. 6: Bitir.
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
Akış Şeması; Akış Şeması belirli bir işin yapılabilmesi için, basit işlemlerle şema halinde gösterilmesidir. Kısaca Algoritmanın şemalarla gösterilmesidir.
Elips Başla ve Bitir adımları için kullanılır. Akış şemasının başlangıç ve bitiş noktasında yer alır. BAŞLA BİTİR
Paralel Kenar Giriş işlemleri için kullanılır. Örneğin; klavyeden bir sayı girilmesi istenmesi gibi. Bir sayı giriniz
Dalgalı Dikdörtgen Çıkış işlemleri için kullanılır. Örneğin; ekrana işlem sonucunun yazdırılması gibi. Girdiğiniz sayı çift
Dikdörtgen Hesaplama ya da Değişkene Değer Atama işlemleri için kullanılır. Örneğin; iki sayıyı topla veya girilen ilk sayıyı A olarak kabul et. A ile B’yi topla A = İlk Sayı
Eşkenar Dörtgen Karşılaştırma ya da Karar Verme işlemleri için kullanılır. Örneğin; girilen sayı 5’ten büyük mü? Kalan süre 0’dan büyük mü? Oyunda başka elma var mı?
Yön Okları Akış şemasının ilerleme yönünü gösterir.
Akış Şeması Örneği Klavyeden girilen iki sayıyı toplayıp ekrana yazdıran programın akış şemasını çizeceğiz. Önce algoritmasını yazalım. Adım 1: Başla Adım 2: İlk sayıyı gir. Adım 3: A = İlk sayı Adım 4: İkinci sayıyı gir. Adım 5: B = İkinci sayı Adım 6: İki sayıyı topla (A+B) Adım 7: Sonucu ekranda göster. Adım 8: Bitir.
Akış Şeması Örneği Başla B = İkinci sayı Birinci sayıyı giriniz Sonuç = A+B A = Birinci sayı Sonucu göster İkinci sayıyı giriniz Bitir
Problem: Hava çok sıcak ve bunalıyorsunuz ADIM ADIM 1: 2: 3: 4: 5: 6: 7: Başla. Sıcaktan bunalıyor musun? Evet ise ADIM 5’ e git. Hayır ise ADIM 6’ ya git. Bol su iç. İşine devam et. Bitir.
Problem: Hava çok sıcak ve bunalıyorsunuz probleminin akış şeması BAŞLA Bol su iç EVET Sıcaktan bunalıyor musun HA YIR İşine devam et DUR
Problem: Havanın Yağmurlu olması durumunda «Şemşiye Al» , Yağmur Yağmıyorsa «Şemsiye Alma» yazacak programın algoritmasını yapalım. ADIM 1: Başla. ADIM 2: Hava Yağmurlu mu? ADIM 3: Evet ise adım 5’e git ADIM 4: Hayır ise adım 6’ya git ADIM 5 : Şemsiye al ADIM 6: Şemsiye alma ADIM 7: Bitir.
Havanın yağmurlu olması durumunda “Şemsiye Al” , yağmur yağmıyorsa şemsiye alma yazacak programın algoritmasını yapalım. BAŞLA HAYIR “Şemsiye Alma” Hava Yağmurlu mu? DUR EVET “Şemsiye Al”
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 Kötü İyi Sınav 2 = 2. Sınav Bitir Ortalama = (Sınav 1+Sınav 2)/2
değişken • Kullanıcıdan alınan bilgilerin hafızada tutulmasını, kolay okunabilmesini ve hızlı yazılabilmesini sağlar. Değişken isimleri oluştururken İngilizce alfabe kullanılır. Değişkene değer atmak için önce değişkenin ismi sonra eşittir(=) operatörü ve en son değişkenin değeri yazılır. a=100
Programlamada kullanılan matematiksel operatörler • 1) Eksi(-): Çıkartma işlemi için kullanılır. a=4 -2 • 2) Artı(+): Toplama işlemi için kullanılır. a=b+3 • 3) Çarpma(x): Çarpma işlemi için kullanılır. • 4) Bölme(/): Bölme işlemi için kullanılır. b=4 x 3 c=4/2 • 5) Parantez(): İşlem önceliğini belirtmek için kullanılır. a=(4+2)/2 a=4+2/2
• Programlamada kullanılan mantıksal operatörler 1) Büyüktür(>): İki değer arasındaki büyüklük ilişkisini gösterir. a>b • 2) Küçüktür(<): İki değer arasındaki küçüklük ilişkisini gösterir. b<10 • 3) Büyük eşit(>=): İki değer arasındaki büyük eşitliği gösterir. a>=5 • 4) Küçük eşit(=<): İki değer arasındaki küçük eşitliği gösterir. c=<9 • 5) Eşittir(=): İki değerin birbirine eşitliğini gösterir. a=c • NOT: Mantıksal operatörler akış şemasında eşkenar dörtgen içinde kullanıldığında soru şeklini alır. • Örnek: a=b ifadesi a, b’ye eşit mi şeklinde yorumlanır.
Bir öğrencinin iki yazılı notu klavyeden girilecektir. Bu notların ortalamasını hesaplayıp, ortalama 50’den büyükse ekrana “Geçti”, küçükse ekrana “Kaldı” yazdıran bir programın algoritmasını yapalım. BAŞLA “Bir sayı giriniz. ” =a Birinci Not = a “Bir sayı giriniz. ” =b İkinci Not = b Ortalama=(a+b)/2 “Kaldı” HAYIR Ortalama 50 den büyük mü DUR EVET “Geçti”
Problem: Pazardan Alınan 2 kg Armut ve 3 kg Muzun toplam fiyatını hesaplayan ve ekrana yazan bir programın algoritmasını yapalım. ADIM 1: Başla. ADIM 2: Armudun kilosu kaç lira? =a ADIM 3: Armudun maliyetini hesapla= a*2 ADIM 4: Muzun kilosu kaç lira? =m ADIM 5: Muzun maliyeti hesapla = m*3. ADIM 6: Toplam maliyeti hesapla = 2 a+3 m ADIM 7: Toplam Sonucu Göster. ADIM 8: Bitir.
Pazardan alınan 2 kg armut ve 3 kg muz toplam fiyatını hesaplayan bir programın algoritmasını yapalım. BAŞLA “Armudun kilosu kaç lira? . ” Armudun Fiyatı = A Armudun Maliyeti= Ax 2 “Muzun kilosu kaç lira? . ” Muzun Fiyatı = M Muzun Maliyeti= Mx 3 Toplam Maliyet= 2 A+3 M “Toplam Sonucu Göster” DUR
- Slides: 41