KONULAR Programlamaya Giri Algoritma Hazrlama Ak Diyagramlar Programlama

  • Slides: 38
Download presentation

KONULAR Ø Programlamaya Giriş Ø Algoritma Hazırlama Ø Akış Diyagramları Ø Programlama Dilleri Ø

KONULAR Ø Programlamaya Giriş Ø Algoritma Hazırlama Ø Akış Diyagramları Ø Programlama Dilleri Ø Akış Diyagramlarından Program Kodlamaya Geçiş Ø Visual Basic Programlama Dili Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

BÖLÜM 1 PROGRAMLAMAYA GİRİŞ Bilgisayarlar problemleri çözebilmek için “program” a ihtiyaç duyarlar. Program Nedir?

BÖLÜM 1 PROGRAMLAMAYA GİRİŞ Bilgisayarlar problemleri çözebilmek için “program” a ihtiyaç duyarlar. Program Nedir? Giriş değerlerini kullanarak istenilen çıkış değerlerinin elde edilebilmesi için bilgisayara iletilen komutlar. Türleri dizisidir. Program Sistem Programları Sürücüler (Driver) Uygulamalar Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

o Sistem programları Her program, bir işletim sistemi üzerinde çalışır. İşletim sistemi, diğer programların

o Sistem programları Her program, bir işletim sistemi üzerinde çalışır. İşletim sistemi, diğer programların çalışması için gerekli olan kaynakları ve ortamı sağlar. o Sürücüler (Driver) İşletim sistemi ile donanım aygıtları arasında iletişim sağlayan programlardır. Klavye ile yazılan yazıların algılanması için, klavyenin sürücü programı kullanılır. o Uygulamalar İşletim sistemi üzerinde çalışan, kullanıcıların ihtiyaç duyduğu işlevleri sağlayan programlardır. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Programların çalışma modeli VERİ n n n PROGRAM SONUÇ Veri girişi: Program, kullanıcıların veri

Programların çalışma modeli VERİ n n n PROGRAM SONUÇ Veri girişi: Program, kullanıcıların veri girmesi ile başlar. Girilen veriler daha sonra işlenmek üzere hafızada saklanır. Program: Veriler, programın yazılma şekline göre bir dizi işlemden geçirilir. Sonuç: İşlenen veriler kullanıcıya aktarılır. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

n n n Lütfen Dikkat ! Bilgisayar insanın komutlarla verdiği emirleri yerine getirir. Yani

n n n Lütfen Dikkat ! Bilgisayar insanın komutlarla verdiği emirleri yerine getirir. Yani kullanıcı bilgisayara ne öğretirse onun karşılığını alır. Programdaki çözüm yolu yanlış ise bilgisayarın bulacağı sonuç ta yanlış olur. Bir problemin çözümünde birden çok yol vardır. En uygun olanı seçmek, programcının yetenek ve tecrübesine bağlıdır. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Programlama Dilleri n Programlama Dili, programcı ile bilgisayarın haberleşmesini sağlar. n Programlar 1 ve

Programlama Dilleri n Programlama Dili, programcı ile bilgisayarın haberleşmesini sağlar. n Programlar 1 ve 0 sayılarından oluşan makine diline çevrildikten sonra çalıştırılır. n Programlama dilinin özellikleri q Sözdizimi (syntax) q Gramer q Semantik(anlamsal) n 2500 den fazla programlama dili mevcuttur Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Programlama Dilleri; • Düşük Seviyeli Diller: Makine dillerini içerir. • Orta Seviyeli Diller: Makine

Programlama Dilleri; • Düşük Seviyeli Diller: Makine dillerini içerir. • Orta Seviyeli Diller: Makine dilinden daha gelişmiş dilleri içerir. • Yüksek Seviyeli Diller: Konuşma dillerine yakın dilleri içerir. Bunlardan bazıları Pascal, Basic, C, C++, Javascript, Cobol, Perl, Python, Ada, Fortran, Visual Basic. NET, Microsoft Visual C# programlama dilleridir. Yüksek seviye programlama dillerine Visual Basic. NET, Microsoft Visual C++ dillerini örnek verebiliriz. C ile işletim sistemi yazılabilindiğinden daha alt seviye bir dil olarak değerlendirilir. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Programlamanın Tarihi Makine dili 10110110, 11011110 Yordamların (Subroutine) ve Kütüphanelerin (Library) oluşması 1957 FORTRAN

Programlamanın Tarihi Makine dili 10110110, 11011110 Yordamların (Subroutine) ve Kütüphanelerin (Library) oluşması 1957 FORTRAN 1959 COBOL 1968 Pascal 1972 C Nesneye Yönelik Programlama Dilleri: C++, JAVA 2000. NET Visual Basic. NET, Visual C# Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Programın Derlenmesi Makina dilinin zorluğu, programları makina diline çevrilebilen üst düzey programlama dillerinin geliştirilmesine

Programın Derlenmesi Makina dilinin zorluğu, programları makina diline çevrilebilen üst düzey programlama dillerinin geliştirilmesine neden olmuştur. Üst düzey programlama dilleri, programın kullanıcıya daha yakın ifadelerle geliştirilmesini sağlar. Ardından bu program (kaynak program) derleyici programlar aracılığıyla makina diline çevrilir. Amaç Derleme Kaynak Program (compile) Yüksek Seviyeli Dil Makine Dili Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

İşlemler Bilgisayar programları ile gerçekleştirilen işlemler; a) Matematiksel İşlemler b) Karşılaştırma(karar) İşlemleri c) Mantıksal(lojik)

İşlemler Bilgisayar programları ile gerçekleştirilen işlemler; a) Matematiksel İşlemler b) Karşılaştırma(karar) İşlemleri c) Mantıksal(lojik) İşlemler Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

a)Matematiksel İşlemler q Temel aritmetik işlemler n toplama, çıkarma, çarpma, bölme q Matematiksel fonksiyonlar

a)Matematiksel İşlemler q Temel aritmetik işlemler n toplama, çıkarma, çarpma, bölme q Matematiksel fonksiyonlar n Üstel, logaritmik, trigonometrik, hiperbolik ) vb İşlem Toplama Çıkarma Çarpma Bölme Üs alma Matematik Bilgisayar a+b a-b a. b a*b a: b a/b ab a^b Matematiksel işlemler ve bilgisayar dilindeki karşılıkları Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

n Matematiksel işlemlerin öncelik sırası ? Sıra İşlem 1 Parantezler 2 Üs alma 3

n Matematiksel işlemlerin öncelik sırası ? Sıra İşlem 1 Parantezler 2 Üs alma 3 Çarpma ve bölme 4 Toplama ve çıkarma Bilgisayar dili ((……………. )) a^b a*b ve a/b a+b ve a-b Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

NOT: Bilgisayar diline kodlanmış bir matematiksel ifadede, aynı önceliğe sahip işlemler mevcut ise bilgisayarın

NOT: Bilgisayar diline kodlanmış bir matematiksel ifadede, aynı önceliğe sahip işlemler mevcut ise bilgisayarın bu işlemleri gerçekleştirme sırası soldan sağa(baştan sona) doğrudur. Örneğin ; Y=A*B/C Önce A*B işlemi yapılacak, ardından bulunan sonuç C ye bölünecektir. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Matematiksel Yazılım Bilgisayara Kodlanması a+b-c+2 abc-7 a+b 2 -c 3 a+b-c+2*a*b*c-7 a+b^2 -c^3 a-b/c+2*a*c-2/(a+b)^(1/2)-2*a*b/(b^2

Matematiksel Yazılım Bilgisayara Kodlanması a+b-c+2 abc-7 a+b 2 -c 3 a+b-c+2*a*b*c-7 a+b^2 -c^3 a-b/c+2*a*c-2/(a+b)^(1/2)-2*a*b/(b^2 -4*a*c) (a^2+b^2)/(2*a*b) Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

b) Karşılaştırma(karar) İşlemleri n İki büyüklükten hangisinin büyük veya küçük olduğu, n İki değişkenin

b) Karşılaştırma(karar) İşlemleri n İki büyüklükten hangisinin büyük veya küçük olduğu, n İki değişkenin birbirine eşit olup olmadığı gibi konularda İşlemkarar verebilir. Anlamı sembolü = Eşittir <> Eşit değil > Büyüktür < Küçüktür >= veya => Büyük eşittir <= veya =< Küçük eşittir Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

n c) Mantıksal İşlemler “ve, veya, değil “ operatörleri hem matematiksel işlemlerde hem de

n c) Mantıksal İşlemler “ve, veya, değil “ operatörleri hem matematiksel işlemlerde hem de karar ifadelerinde kullanılırlar. Mantıksal işlem Ve Veya değil n n n Matematiksel sembol Komut . + ‘ And Or Not Bütün şartların sağlatılması isteniyorsa koşullar arasına VE Herhangi birinin sağlatılması isteniyorsa koşullar arasına VEYA Koşulu sağlamayanlar isteniyorsa DEĞİL mantıksal operatörü kullanılır. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

n Örnek; Bir işyerinde çalışan işçiler arasından yalnızca yaşı 23 üzerinde olup, maaş olarak

n Örnek; Bir işyerinde çalışan işçiler arasından yalnızca yaşı 23 üzerinde olup, maaş olarak asgari ücret alanların isimleri istenebilir. Burada iki koşul vardır ve bu iki koşulun da doğru olması gerekir. Yani; Eğer Yaş>23 VE maaş=asgari ücret ise ismi Yaz 1. KOŞUL 2. KOŞUL Yaz komutu 1. ve 2. koşulun her ikisi de sağlanıyorsa çalışır. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Örnek; Bir sınıfta Bilgisayar dersinden 65 in üzerinde not alıp, Türk Dili veya Yabancı

Örnek; Bir sınıfta Bilgisayar dersinden 65 in üzerinde not alıp, Türk Dili veya Yabancı Dil derslerinin herhangi birinden 65 in üzerinde not alanların isimleri istenmektedir. Burada 3 koşul vardır ve Bilgisayar dersinden 65 in üzerinde not almış olmak temel koşuldur. Diğer iki dersin notlarının herhangi birinin 65 in üzerinde olması gerekir. Eğer ; Bilg. Not>65 ve (TDili not>65 veya YDil not>65) ismi Yaz n Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

BÖLÜM 2 ALGORİTMA HAZIRLAMA Algoritma; Bilgisayardaki bir işlemin gerçekleştirilmesinde izlenecek yol. Algoritmalar; problemin çözümündeki

BÖLÜM 2 ALGORİTMA HAZIRLAMA Algoritma; Bilgisayardaki bir işlemin gerçekleştirilmesinde izlenecek yol. Algoritmalar; problemin çözümündeki bir işlemlerin, kararların ve bunların icra edildiği sıranın oluşturduğu akış olarak düşünülebilir. Algoritmanın özel geometrik şekillerle çizilmiş hali de “Akış Diyagramı” olarak adlandırılır. Algoritma kurma, programlama aşamasının en önemli kısmıdır. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Program Yazma Adımları; 1. Sistem analizi : Bir karmaşıklığın bileşenlerini (olaylar, kurallar, insanlar, makineler),

Program Yazma Adımları; 1. Sistem analizi : Bir karmaşıklığın bileşenlerini (olaylar, kurallar, insanlar, makineler), amaçlarını, önceliklerini tanımlamak amacıyla yapılan çalışmalardır. Yani sorunlar tanımlanır. 2. Sistem Tasarımı: Sistemin bilgi akışı, girdiler, çıktılar şematik olarak ortaya konur. Algoritmalar geliştirilir. Akış şemaları, karar tabloları vb şemalar üretilir. 3. Kodlama: Algoritma ve akış diyagramı, programcının tercih ettiği bir programlama diliyle kodlanarak program oluşturulur. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

4. Test etme: Kodlamadan sonra program test edilir. 5. İşletme: Programın çalıştırılması anlamındadır. Bu

4. Test etme: Kodlamadan sonra program test edilir. 5. İşletme: Programın çalıştırılması anlamındadır. Bu aşamada programın client(istemci) ya da server (sunucu) olarak kurulması, düzenlenmesi ve çalıştırılması sağlanır. 6. Belgeleme: Bütün bu çalışmaların belli bir dosyalama sistemi içinde belgeler halinde saklanmasının sağlandığı aşamadır. 7. Bakım: Programın güncel koşullara göre yeniden düzenlenmesini içeren bir konudur. Oluşan hataların giderilmesi, , yeni eklemeler yapılması ya da programın teknolojisinin yenilenmesi gibi işlemlerdir. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Algoritmada Kullanılan Operatörler İşlemleri belirten sembollere bilgisayar dilinde “operatör” denir. Algoritmada kullanılan operatörler Tabloda

Algoritmada Kullanılan Operatörler İşlemleri belirten sembollere bilgisayar dilinde “operatör” denir. Algoritmada kullanılan operatörler Tabloda verilmiştir. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Matematiksel İşlem oper Karşılaştırma Operatörleri ^ = Üs alma Eşittir * <> Çarpma Eşit

Matematiksel İşlem oper Karşılaştırma Operatörleri ^ = Üs alma Eşittir * <> Çarpma Eşit değildir / < Bölme Küçüktür + > Toplama Büyüktür >= Çıkarma Büyük eşittir. <= Tam ve onda Küçük eşittir ayırma Genel İşlem Operatörleri Mantıksal İşlem = Aktarma Operatörleri () Parantez ‘ Değil. Ve Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç + Veya

Algoritmada Kullanılan Terimler a) b) c) d) e) Tanımlayıcı Değişken Aktarma Sayaç Döngü Algoritma

Algoritmada Kullanılan Terimler a) b) c) d) e) Tanımlayıcı Değişken Aktarma Sayaç Döngü Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Tanımlayıcı Programcı tarafından oluşturulur. n Programdaki değişkenleri, sabitleri, kayıt alanlarını, özel bilgi tiplerini vb

Tanımlayıcı Programcı tarafından oluşturulur. n Programdaki değişkenleri, sabitleri, kayıt alanlarını, özel bilgi tiplerini vb adlandırmak için kullanılan kelimeler n Tanımlayıcılar, yerini tuttukları ifadelere çağrışım yapacak şekilde seçilmelidir. n İngiliz alfabesindeki A-Z veya a-z arası 26 harften n 0 -9 arası rakamlar kullanılabilir n Sembollerden sadece alt çizgi (_) kullanılabilir. n Tanımlayıcı isimleri harfle veya alt çizgiyle başlayabilir. n Tanımlayıcı ismi, rakamla başlayamaz veya sadece rakamlardan oluşamaz. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç n

Değişken Programın her çalıştırılmasında, farklı değerler alan bilgi/bellek alanlarıdır. n Değişken isimlendirilmeleri, yukarıda sayılan

Değişken Programın her çalıştırılmasında, farklı değerler alan bilgi/bellek alanlarıdır. n Değişken isimlendirilmeleri, yukarıda sayılan tanımlayıcı kurallarına uygun biçimde yapılmalıdır. Örneğin ; Bir ismin aktarıldığı değişken ; ad Bir isim ve soyismin aktarıldığı değişken; adsoyad Ev telefon nosunun aktarıldığı değişken; evtel Ev adresinin aktarıldığı değişken; evadres İş adresinin aktarıldığı değişken; isadres n Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Örnek Algoritma Başla Bir isim giriniz(A) “İlk algoritmama Hoş geldin” mesajı (B) B &

Örnek Algoritma Başla Bir isim giriniz(A) “İlk algoritmama Hoş geldin” mesajı (B) B & A yı Yaz Dur Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

n Yukarıdaki algoritma, dışarıdan girilen bir A değişkeni ile B sabitini birleştirip ekrana yazar.

n Yukarıdaki algoritma, dışarıdan girilen bir A değişkeni ile B sabitini birleştirip ekrana yazar. A değişken i Onur Emre B sabiti Sonuç İlk Algoritmama Hoş geldin Onur İlk Algoritmama Hoş geldin Emre Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Aktarma Herhangi bir bilgi alanına, veri yazma; herhangi bir ifadenin sonucunu başka bir değişkende

Aktarma Herhangi bir bilgi alanına, veri yazma; herhangi bir ifadenin sonucunu başka bir değişkende gösterme vb görevlerde “aktarma” operatörü kullanılır. değişken=ifade n Değişken yazan kısım herhangi bir değişken ismidir n İfade yazan kısımda ise matematiksel, mantıksal veya alfasayısal ifade olabilir. n = sembolü, aktarma operatörüdür ve sağdaki ifadenin/işlemin sonucunu soldaki değişkene aktarır. Bu durumda değişkenin eğer varsa bir Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç önceki değeri silinir. n

Değişken = İfade AKTAR 1. işlem: sağdaki ifadeyi gerçekleştir veya sağdaki işlemi yap 2.

Değişken = İfade AKTAR 1. işlem: sağdaki ifadeyi gerçekleştir veya sağdaki işlemi yap 2. işlem: Bulunan sonucu soldaki değişkene aktar. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

a b Eski c Yeni c Matematiksel İfadelerde (c=a+b) 3 7 --10 5 7

a b Eski c Yeni c Matematiksel İfadelerde (c=a+b) 3 7 --10 5 7 10 12 20 33 12 53 Alfasayısal ifadelerde (c=a+b) 1. Çalıştırm a 2. Çalıştırm a 3. Çalıştırm a 1. Çalıştırm a Galat saray Galatasara a y 2. Çalıştırm Bursa Spor Galatasara Bursaspor a y 3. Çalıştırm Fener bahç Bursaspor Fenerbahç Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç a e e

Örnek n n n n Başla Öğrenci numarasını (no) gir Öğrenci ad ve soyadını

Örnek n n n n Başla Öğrenci numarasını (no) gir Öğrenci ad ve soyadını (adsoyad) gir Öğrenci ara sınav notunu (arasinav) gir Öğrenci final notunu (final) gir ort=0. 4*arasinav + 0. 6*final Numara(no) ve Ortalamayı(ort) yaz Dur Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

no 2006100 1 adsoya arasinav final ort d Emre 30 70 54 sonuç 1.

no 2006100 1 adsoya arasinav final ort d Emre 30 70 54 sonuç 1. Çalıştırma 20061001– 54 2006100 2 Serdar 70 90 84 20061002– 84 2006100 3 Ahmet 50 80 68 2006100368 2. Çalıştırma 3. Çalıştırma Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Sayaç Programlarda bazı işlemlerin belirli sayıda yaptırılması veya işlenen/üretilen değerlerin sayılması gerekebilir. say=say+1 Bu

Sayaç Programlarda bazı işlemlerin belirli sayıda yaptırılması veya işlenen/üretilen değerlerin sayılması gerekebilir. say=say+1 Bu işlemde sağdaki ifadede değişkenin eski değerine 1 eklenmekte; bulunan sonuç yine kendisine yeni değer olarak aktarılmaktadır. Bu tür sayma işlemlerine algoritmada sayaç adı verilir. Sayacın genel formülü; Sayaç değişkeni=sayaç değişkeni+adım Örnek; X=X+3 Örnek; S=S-5 n Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Örnek n 1. 2. 3. 4. 5. 6. 7. Aşağıdaki algoritmada 1 -5 arası

Örnek n 1. 2. 3. 4. 5. 6. 7. Aşağıdaki algoritmada 1 -5 arası sayılar, ekrana yazdırılmaktadır. 1 -5 arası sayıları oluşturmak için sayaç(s=s+1) kullanılmıştır. Başla Eski S Yeni S Ekrana Yazılan S=0 0 0+1=1 1 Eğer s>4 ise git 7 1 1+1=2 2 S=S+1 2 2+1=3 3 Yaz S 3 3+1=4 4 Git 3 4 4+1=5 5 Dur Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Döngü n n Bir çok programda bazı işlemler, belirli ardışık değerlerle gerçekleştirilmekte veya belirli

Döngü n n Bir çok programda bazı işlemler, belirli ardışık değerlerle gerçekleştirilmekte veya belirli sayıda yaptırılmaktadır. Programlardaki belirli işlem bloklarını, verilen sayıda gerçekleştiren işlem akış çevrimlerine “döngü” denir. Örneğin 1 ile 1000 arasındaki tek sayıların toplamını hesaplayan programda T=1+3+5 …. yerine 1 ile 1000 arasında ikişer artan bir döngü açılır ve döngü değişkeni ardışık toplanır. Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç

Örnek: n 1. 2. 3. 4. 5. 6. 7. 8. Aşağıdaki algoritmada, 1 ile

Örnek: n 1. 2. 3. 4. 5. 6. 7. 8. Aşağıdaki algoritmada, 1 ile 10 arası tek sayıların toplamı hesaplanmaktadır. Eski Yeni Başla J T T=0 1 0 0+1=1 3 J=1 3 1 1+3=4 5 Eğer j>10 ise git 8 5 4 4+5=9 7 T=T+J DÖNGÜ J=J+2 7 9 9+7=16 9 Git 4 9 16 16+9=25 11 Dur 11 - Algoritma Geliştirme ve Programlamaya Giriş-Öğr. Gör. Feridun Karakoç