38

TEMEL BİLGİSAYAR BİLİMLERİ

Embed Size (px)

DESCRIPTION

TEMEL BİLGİSAYAR BİLİMLERİ. Programlamaya Giriş Algoritma Hazırlama Akış Diyagramları Programlama Dilleri Akış Diyagramlarından Program Kodlamaya Geçiş Visual Basic Programlama Dili. KONULAR. BÖLÜM 1 PROGRAMLAMAYA GİRİŞ. - PowerPoint PPT Presentation

Citation preview

Page 1: TEMEL BİLGİSAYAR BİLİMLERİ
Page 2: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 3: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 4: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 5: TEMEL BİLGİSAYAR BİLİMLERİ

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Ç

Page 6: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 7: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 8: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 9: TEMEL BİLGİSAYAR BİLİMLERİ

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#

Page 10: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 11: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 12: TEMEL BİLGİSAYAR BİLİMLERİ

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ı

Page 13: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 14: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 15: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 16: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 17: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 18: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 19: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 20: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 21: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 22: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 23: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 24: TEMEL BİLGİSAYAR BİLİMLERİ

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 ()

Page 25: TEMEL BİLGİSAYAR BİLİMLERİ

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ü

Page 26: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 27: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 28: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 29: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 30: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 31: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 32: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 33: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 34: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 35: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 36: TEMEL BİLGİSAYAR BİLİMLERİ

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

Page 37: TEMEL BİLGİSAYAR BİLİMLERİ

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.

Page 38: TEMEL BİLGİSAYAR BİLİMLERİ

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Ü