temel bİlgİsayar bİlİmlerİ
Post on 30-Dec-2015
112 Views
Preview:
DESCRIPTION
TRANSCRIPT
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
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?Giriş değerlerini kullanarak istenilen çıkış değerlerinin elde edilebilmesi için bilgisayara iletilen komutlar dizisidir.Program Türleri 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 ç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
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.
VERİVERİ PROGRAMPROGRAM SONUÇSONUÇ
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
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 Programlama Dili, programcı ile bilgisayarın
haberleşmesini sağlar. Programlar 1 ve 0 sayılarından oluşan
makine diline çevrildikten sonra çalıştırılır. Programlama dilinin özellikleri
Sözdizimi (syntax) Gramer Semantik(anlamsal)
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 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++, Java, 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, 11011110Yordamların (Subroutine) ve Kütüphanelerin (Library) oluşması1957 FORTRAN1959 COBOL1968 Pascal1972 CNesneye Yönelik Programlama Dilleri:C++, JAVA2000 .NET Visual Basic .NET, Visual C#
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
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 .
Kaynak ProgramYüksek
Seviyeli Dil
Kaynak ProgramYüksek
Seviyeli Dil
Derleme
(compile)
Derleme
(compile)
Amaç Program
Makine Dili
Amaç Program
Makine Dili
Programın Derlenmesi
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Bilgisayar programları ile gerçekleştirilen işlemler;
a) Matematiksel İşlemlerb) Karşılaştırma(karar) İşlemleric) Mantıksal(lojik) İşlemler
İşlemler
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
a)Matematiksel İşlemler Temel aritmetik işlemler
toplama,çıkarma,çarpma,bölme Matematiksel fonksiyonlar
Üstel,logaritmik,trigonometrik, hiperbolik ) vbİşlem Matematik Bilgisayar
Toplama a+b a+b
Çıkarma a-b a-b
Çarpma a.b a*b
Bölme a:b a/b
Üs alma ab a^b
Matematiksel işlemler ve bilgisayar dilindeki karşılıkları
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Matematiksel işlemlerin öncelik sırası ?
Sıra
İşlem Bilgisayar dili
1 Parantezler ((…………….))
2 Üs alma a^b
3 Çarpma ve bölme
a*b ve a/b
4 Toplama ve çıkarma
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 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+2abc-7 a+b-c+2*a*b*c-7
a+b2-c3 a+b^2-c^3
a-b/c+2*a*c-2/(a+b)
(a+b)^(1/2)-2*a*b/(b^2-4*a*c)
(a^2+b^2)/(2*a*b)
baac
c
ba
22
acb
abba
4
22
ab
ba
2
22
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
b) Karşılaştırma(karar) İşlemleri İki büyüklükten hangisinin büyük veya
küçük olduğu, İki değişkenin birbirine eşit olup
olmadığı gibi konularda karar verebilir.İşlem sembolü
Anlamı
= 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ç
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
Matematiksel sembol
Komut
Ve . AndVeya + Ordeğil ‘ 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ç
Ö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
Yaz komutu 1. ve 2.koşulun her ikisi de sağlanıyorsa çalışır.
1.KOŞUL 2.KOŞUL
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ı 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
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
BÖLÜM 2 ALGORİTMA HAZIRLAMAAlgoritma; Bilgisayardaki bir işlemin
gerçekleştirilmesinde izlenecek yol.Algoritmalar; bir problemin çözümündeki
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ı; 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 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 verilmiştir.
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Matematiksel İşlem oper
Üs alma ^
Çarpma *
Bölme /
Toplama +
Çıkarma -
Tam ve onda ayırma
.
Mantıksal İşlem Operatörleri
Değil ‘
Ve .
Veya +
Karşılaştırma Operatörleri
Eşittir =
Eşit değildir <>
Küçüktür <
Büyüktür >
Büyük eşittir >=
Küçük eşittir <=
Genel İşlem Operatörleri
Aktarma =
Parantez ()
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Algoritmada Kullanılan Terimler
a) Tanımlayıcıb) Değişkenc) Aktarmad) Sayaçe) Döngü
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Tanımlayıcı Programcı tarafından oluşturulur. Programdaki değişkenleri,sabitleri, kayıt alanlarını,
özel bilgi tiplerini vb adlandırmak için kullanılan kelimeler
Tanımlayıcılar, yerini tuttukları ifadelere çağrışım yapacak şekilde seçilmelidir.
İngiliz alfabesindeki A-Z veya a-z arası 26 harften 0-9 arası rakamlar kullanılabilir Sembollerden sadece alt çizgi (_) kullanılabilir. Tanımlayıcı isimleri harfle veya alt çizgiyle
başlayabilir. Tanımlayıcı ismi,rakamla başlayamaz veya sadece
rakamlardan oluşamaz.
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Değişken Programın her çalıştırılmasında, farklı
değerler alan bilgi/bellek alanlarıdır. 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 ; adBir isim ve soyismin aktarıldığı değişken; adsoyadEv telefon nosunun aktarıldığı değişken; evtelEv adresinin aktarıldığı değişken; evadresİş adresinin aktarıldığı değişken; isadres
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Örnek AlgoritmaÖrnek Algoritma
Başla Bir isim giriniz(A)“İlk algoritmama Hoş geldin” mesajı (B)B & A yı YazDur
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Yukarıdaki algoritma, dışarıdan girilen bir A değişkeni ile B sabitini birleştirip ekrana yazar.
A değişk
eni
B sabiti
Sonuç
Onur İlk Algoritmama Hoş geldin
İlk Algoritmama Hoş geldin
OnurEmre İlk Algoritmama
Hoş geldinİ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 gösterme vb görevlerde “aktarma” operatörü kullanılır.
değişken=ifade Değişken yazan kısım herhangi bir değişken
ismidir İfade yazan kısımda ise matematiksel,mantıksal
veya alfasayısal ifade olabilir. = 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 önceki değeri silinir.
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Değişken = İfade
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.
AKTAR
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
a b Eski c Yeni cMatematiksel İfadelerde
(c=a+b)3 7 --- 105 7 10 12
20 33 12 53Alfasayısal ifadelerde
(c=a+b)Galata
saray
- Galatasaray
Bursa
Spor
Galatasaray
Bursaspor
Fener
bahçe
Bursaspor
Fenerbahçe
1.Çalıştırma
2.Çalıştırma
3.Çalıştırma1.Çalıştırma
2.Çalıştırma
3.Çalıştırma
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Örnek 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 adsoyad
arasinav
final
ort
sonuç
20061001
Emre 30 70 54
20061001–54
20061002
Serdar
70 90 84
20061002–84
20061003
Ahmet
50 80 68
20061003-68
1.Çalıştırma
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+1Bu 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
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Örnek 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.
1. Başla2. S=03. Eğer s>4 ise git 74. S=S+15. Yaz S6. Git 37. Dur
Eski S Yeni S Ekrana Yazılan
0 0+1=1 1
1 1+1=2 2
2 2+1=3 3
3 3+1=4 4
4 4+1=5 5
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç
Döngü
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: Aşağıdaki algoritmada, 1 ile 10 arası tek
sayıların toplamı hesaplanmaktadır.1. Başla2. T=03. J=14. Eğer j>10 ise git 85. T=T+J6. J=J+27. Git48. Dur
Eski J
Eski T
Yeni
T
Yeni J
1 0 0+1=1 3
3 1 1+3=4 5
5 4 4+5=9 7
7 9 9+7=16 9
9 16 16+9=25 11
11 - - -
DÖNGÜ
top related