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



Benzer belgeler
Algoritmalar ve Programlama. Algoritma

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

Algoritmanın Hazırlanması

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Algoritma & Matlab.

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Algoritma ve Programlamaya Giriş

BİLGİSAYAR PROGRAMLAMA MATLAB

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

Algoritma ve Akış Diyagramları

1. PROGRAMLAMAYA GİRİŞ

BÖLÜM 2: ALGORİTMALAR

Bilgisayar II Dersi. Bölüm-2

Bilgisayar Programı Nedir?

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

Dr. Musa KILIÇ Öğretim Görevlisi

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1


İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Algoritma ve Akış Diyagramları

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

ALGORİTMA VE AKIŞ ŞEMALARI

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

BLG 1306 Temel Bilgisayar Programlama

Bilgisayarda Programlama. Temel Kavramlar

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ. Yrd.Doç.Dr. Emel ARSLAN

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

Bilgisayar Temelleri ve Programlamaya Giriş Yard.Doç.Dr. Metin HASDEMİR İstanbul-2008 PROGRAMLAMAYA GİRİŞ

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

Matematiksel Operatörler

Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

BÖLÜM 3: AKIŞ DİYAGRAMLARI

BİLGİSAYAR PROGRAMLAMA MATLAB

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir?

ALGORİTMA HAZIRLAMA. Temel tanımlar ve işleyiş. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ

Algoritma. 19. yüzyılda Persli matematikçi Al- Khowarizmi (Al-Harezmi) tarafından bulunmuş ve onun adında türetilmiştir.

1.1. Yazılım Geliştirme Süreci

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

Ünite 01 Algoritma Geliştirme

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

2. BÖLÜM. Problem Çözme ve Algoritmalar

FORMÜLLER VE FONKSİYONLAR

Ünite-3 Bilgisayar Yazılımı.

Bilgisayar programlaması sırasında izlenebilecek bir çok yol ve yöntem vardır. Programcının probleme ilişkin çözümü ortaya çıkarabilmesi için problem

Diziler İndisli Değişkenler

BMT 101 Algoritma ve Programlama I Güz Dönemi. Yük. Müh. Köksal Gündoğdu 1

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir.

BÖLÜM FORMÜLLER ve OTOMATİK TOPLAM Formüller

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

BLG 1306 Temel Bilgisayar Programlama

PROGRAMLAMA ALGORĠTMA

EM-554 İleri Bilgisayar Programlama Teknikleri Algoritma ve Akış Diyagramları

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

4- ALGORİTMA (ALGORITHM)

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz Bölüm 1-2

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

C SHARP UYGULAMA ÇALIŞMASI

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.)

Algoritmik Program Tasarımı, Akış Şemaları ve Programlama. Bilgisayar Mühendisliğine Giriş 1

Algoritma Hazırlama. Programlama. nereden başlamalı? ALGORİTMA VE PROGRAMLAMA Öğr.Gör.Günay TEMUR

Başlayanlara AKTİF MATEMATİK

5. PROGRAMLA DİLLERİ. 5.1 Giriş

BİL-142 Bilgisayar Programlama II

BİLGİSAYAR PROGRAMLAMA

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

ALP OĞUZ ANADOLU LİSESİ EĞİTİM ÖĞRETİM YILI BİLGİSAYAR BİLİMİ DERSİ 2.DÖNEM 2.SINAV ÖNCESİ ÇALIŞMA SORULARI VE YANITLARI

DEĞERLENDĐRME ÖDEV % 20 ARASINAV % 30 FĐNAL SINAVI % 50

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

5- AKIŞ DİYAGRAMLARI (FLOW- CHART) M.İLKUÇAR - 1

Transkript:

TEMEL BİLGİSAYAR BİLİMLERİ Doç. Dr. M.Ümit GÜMÜŞAY YTÜ - 2012

2 PROGRAMLAMA MANTIĞI Herhangi bir amaç için hazırlanan programın mantık hataları içermesi durumunda, alınacak sonucunda yanlış olacağı aşikardır. Program hazırlama aşamasında iki tür hata yapılabilir. Bunlardan birincisi yazı(lı)m hataları dır ki; bilgisayar bu hatalar konusunda programcıyı uyarır ve hata düzeltilmeden program çalışmaz. İkinci tür hata mantık hatası adı verilen hatadır ve bu tür hatalar yapılacak işin yanlış tanımlanması anlamındadır. Örneğin, bir grup sayının toplamını hesaplayan bir program yazmak istediğimizi düşünelim. Eğer programcı sayıların toplamını hesaplayacak şekilde yazmak yerine, sayıların çarpımını hesaplayacak şekilde yazarsa, bilgisayar çarpma işlemini gerçekleştirir. Ancak programcı yada programı çalıştıran kullanıcı amacına ulaşamamış olur. İşte bu tür hatalara mantık hataları denir. Bilgisayara yaptırılacak bir işlemin programının hazırlanmasında dikkat edilmesi gereken en önemli nokta, söz konusu problemin çok iyi anlaşılması ve detaylı olarak analiz edilmesidir. Bilgisayar sadece kendisine verilen emirler (programlama komutları) yardımıyla problemleri çözebilir. Bilgisayara komutlar doğru olarak verilmelidir. Demek ki verilen emirlerin yanlış olması durumunda alınacak sonuçların da yanlış olacağı açıktır. PROGRAMLAMA AŞAMALARI Programlamada (veya problem çözmede) her programcı tarafından farklı yaklaşımlar izlemekle birlikte, bütün programcılar tarafından genellikle şu programlama aşamalarını izlemektedir: 1. Problemin tanınması 2. Çözüm yönteminin belirlenmesi 3. Algoritmanın geliştirilmesi 4. Akış şemasının (çizelgesinin, diyagramının) düzenlenmesi 5. Programın el ile çalıştırılıp denenmesi 6. Uygun programlama dilinin seçilmesi 7. Programın kodlanması 8. Programın bilgisayar ile çalıştırılıp sınanması Problemin Tanınması Programlama işleminde en önemli aşama problemin tam olarak anlaşılması ve teşhis edilmesidir. Yanlış anlaşılmış veya tam olarak tanınmamış bir problemin çözümünün de yanlış sonuçlar vereceği açıktır. Problemin tanınması veya teşhis edilmesinde iki aşama izlenir. 1. Giriş bilgilerinin belirlenmesi 2. Çıkış bilgilerinin belirlenmesi Programcı mutlaka konuyu yada problemi kavramış olmalıdır. Eğer mümkünse elle yapılmış örnekler kullanılarak kontrol işlemi yapılmalıdır. Muhasebe işlemlerini hiç bilmeyen çok profesyonel bir programcının muhasebe programı yazması mümkün değildir. Demek ki, bir programcının muhasebe işlemlerini gerçekleştiren bir program yazması için muhasebe işlemini çok iyi bilmesi veya bilen birinden yardım alması gerekir. Aynı mantıkla, bir programcının satranç oyunu programı yazabilmesi için de söz konusu oyunu çok iyi bilmesi veya oyunu bilen birisinin yardımını alması gerekir. Aksi halde, satrançtaki bütün varyasyonları veya alternatif stratejileri dikkate almaması nedeniyle, problem eksik olarak teşhis edilecek ve bilgisayarda çalıştırılan program daha iyi satranç oynayan birisi tarafından yenilmiş olacaktır. Şimdi problemin tanınması aşamasını şu basit örnek üzerinde inceleyelim. %25 kar marjı ile çalışan bir marketin malların satış fiyatını hesaplayan bir program yazmak istenirse, bu problemde giriş bilgisi olarak alış fiyatı (AF diyelim) ve çıkış bilgisi olarak da satış fiyatı (SF diyelim) söz konusudur. Satış fiyatına ek olarak çıkış bilgisi istendiğinde kar marjının, karın veya

3 alış fiyatının yazılması da mümkündür. Burada yer alan kar marjı sabit bir bilgidir ve programa sabit olarak girer. Çözüm Yönteminin Belirlenmesi Bu aşamada yapılması gereken giriş bilgilerinden hareketle çıkış bilgilerine nasıl ulaşılacağının belirlenmesidir. Çözüm yönteminin belirlenmesi bir anlamda problemin matematiksel modelinin kurulması olarak da ifade edilebilir. Market örneğine dönersek bu problemin çözümü için şu yöntem belirlenir. SF = AF + AF * 0.25 AF parantezine alınırsa SF = AF * (1+0.25) ve buradan da SF = AF * 1.25 Değeri elde edilir. Böylece çözüm yöntemi de belirlendiğine göre algoritma aşamasına geçilebilir. Algoritmanın Geliştirilmesi Problem teşhis edilip çözüm yöntemi belirlendikten sonra yapılacak işlemler sistematik biçimde sözel olarak ifade edilebilir. İşte bir problemin çözülmesi için yapılacak işlemlerin belirli bir sıraya göre mantıksal olarak düzenlenmesi ve sözel olarak ifade edilmesi işlemine algoritma adı verilir. Günlük yaşamda teknolojik yenilikler sonucunda karşılaştığımız araçlardan yararlanmak için kullanım klavuzuna başvururuz. Bu klavuzlar o aracın kullanılması sırasında izlenecek aşamaları basit bir dille hatta kısaltarak anlatır. Algoritmanın temel amacı kendisinden sonra gelen aşamaları yönlendirmektir. Genellikle emir cümleleri ile ifade edilen algoritmanın dili günlük yaşamda kullandığımız insan dilidir. Algoritma insan dili ile yazılmış bir program olmasına nedeniyle bilgisayar için herhangi bir anlamı yoktur. Bilgisayarın anlayabilmesi için kodlama işleminin yapılması gerekir. Yukarıda verilen market örneğine dönersek, bu örneğe ilişkin algoritma şu şekilde yazılabilir: 1. Adım Başla 2. Adım Alış fiyatını (AF) oku (gir) 3. Adım SF = AF * 1.25 işlemini yap 4. Adım Alış (AF) ve satış fiyatını (SF) yaz 5. Adım Dur Bu algoritma incelendiğinde alış fiyatının giriş bilgisi olarak bilinmesi gerekmektedir. Aksi halde bu işlemin yapılması mümkün değildir. Akış Şemasının Düzenlenmesi Akış diyagramları (akış semaları, akış çizelgeleri, flowchart), algoritması yazılan programın sembollerle ifade edilen geometrik şekilleridir. Algoritma insan diline göre yazıldığından farklı dilleri (Türkçe, İngilizce, Almanca, Fransızca, vb.) kullan insanlar tarafından anlaşılması zor olabilir. Bu nedenle programın standart bazı semboller kullanılarak yazılması sonucu herkes tarafından anlaşılması sağlanmış olur. Bu sembolleri trafik işaret sembollerine benzetmek mümkündür. Trafik sembolleri dünyanın her yerinde standart olduğundan yurt dışına giden veya dışardan ülkemize gelen birisi bu işaretleri tanıyarak herhangi bir sorunla karşılaşmaz.

4 Aynı mantıkla akış şemalarında semboller algoritmanın diyagram üzerindeki akışının ifade eder. Bir problemde neler yapıldığını anlamak için algoritma yerine akış diyagramına bakmak da yeterli olur. Hatta bu şekilde programın mantığının algılanması daha kolay hale gelmiş olur. Akış diyagramlarında en çok kullanılan bazı semboller ve anlamları aşağıda verilmiştir. SEMBOL ANLAMI Başlama ve durma Ekrandan bilgi giriş ve çıkışı Aritmetik işlem ve değer atama Karşılaştırma (Koşul) İşlem akış yönü okları İşlem akış bağlacı

5... Döngü. Yazıcıdan çıkış Şimdi daha önce verilen market örneğinin akış diyagramını çizimi. Başla AF Gir SF = AF * 1.25 AF, SF Yaz Dur

6 Programın El ile Çalıştırılıp Sınanması Programın doğru olup olmadığına ilişkin kontrollerin yapıldığı aşamadır. Programda çalışmayan veya hatalı işleyen yerlerin olması durumunda değişiklik yapılır. Malın alış fiyatı olarak 100 değeri giriş bilgisi olarak verildiğinde AF değişkeninin içine 100 değeri yerleşir. Bir sonraki aşamada AF (100) değeri ile 1,25 sayısı çarpılarak elde edilen sonuç SF(satış fiyatı) değişkeninin içine atanır. SF değişkeninin çıktısı ekranda 125 olarak görüntülenir. Böylece programın doğru sonucuna varılır. Uygun Programlama Dilinin Seçilmesi Buraya kadar izlenen aşamalar bütün programlama dilleri için aynı olup programlama mantığını oluşturur. Bu aşamada programın yapısına uyan programlama dilinin seçilmesi gerekir. Örneğimizde söz konusu program için VISUAL-BASIC, BASIC, COBOL, FORTRAN, C gibi programlama dillerinden amaca uygun olan dil seçilir. Problemin Kodlanması Bilgisayarın söz konusu problemi anlaması için verilen emirlerin veya komutların programlama dilinde olması gerekir. Her programlama dilinde kullanılan komutlar farklıdır. Yukarıda programlama mantığını öğrenmek için verilen basit örneğin Visual Basic programlama dilinde kodlanmış şekli şu şekildedir. AF$ = InputBox("Alis Fiyatini Giriniz") SF$ = AF$ * 1.25 Show Print "ALIS FIYATI="; AF$, "SATIS FIYATI="; SF$ Programın Bilgisayar ile Çalıştırılıp Sınanması Private Sub Form_Load() AF$ = InputBox("Alis Fiyatini Giriniz") SF$ = AF$ * 1.25 Show Print "ALIS FIYATI="; AF$, "SATIS FIYATI="; SF$ End Sub From_Load yordamına yazılan programdan sonra Ana menü üzerinde bulunan Run altındaki menü üzerinden Start seçildiğinde program çalışır ve bize Alış Fiyatımızı sorar daha sonra sonuç değerler form üzerine yazdırılır.

7 Değişken (Variable): Farklı zamanlarda farklı değerler alabilen bilgi sahlarına verilen sembolik addır. Değişken adları A-Z arası alfabetik bir harfle başlayıp 0-9 rakamı ile devam edebilir. (Arada boşluk olmayacak) TOPLAM1, SAYAC, A, AD, ADSOY1 gibi. Değişken adlarında Türkçe karakter kullanmayınız. Aritmetiksel işlemler: Aritmetiksel işlemleri ve uygulama sıralarını, aynen kullanamayız. Bilgisayar mantığına göre yeniden yazılmaları gerekir. Algoritmada kullanılan aritmetiksel işlemleri ve öncelik sıraları aşağıdaki gibidir. İşlem öncelik sırası kuralları: Matematiksel Bilgisayar 1. Parantezler (( )) ( ( ) ) 2. Üs Alma n a A^N 3. Çarpma ve bölme ab a/b A*B A/B 4. Toplama çıkarma a+b a-b A+B A-B Parantez kullanılarak işlem öncelik sıraları değiştirilir. İşleme ilk önce parantezin içindekiler girer. İçiçe kullanılan parantezlerde öncelik en içtekindedir. Aynı işlem önceliğine sahip elemanlarda soldan sağa doğrudur. Matematik Bilgisayar Matematik Bilgisayar A(B+C) A*(B+C) A 2 B A^2+B ( A B) (A-B)/C B A-B/C A C C AC A/B*C B A -A^B B 2 (A) 2 (A^2)^2 A 2 B A^2*B