Bilgisayarda Programlama. Temel Kavramlar



Benzer belgeler
Program Nedir?(1) Programlamaya Giriş

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

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

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

Bilgisayar Programı Nedir?

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

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

5. PROGRAMLA DİLLERİ. 5.1 Giriş

ALGORİTMA VE PROGRAMLAMA I

Algoritmalar ve Programlama. Algoritma

Dr. Musa KILIÇ Öğretim Görevlisi

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

PROGRAMLAMA TEMELLERİ

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

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

Programlama Dilinin Özellikleri

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

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

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

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

Bilgisayar Programlama Dilleri

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

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.

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

BLG 1306 Temel Bilgisayar Programlama

Dr. Fatih AY Tel: fatihay@fatihay.net

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

Fen ve Mühendislik Uygulamalarında MATLAB

Öğr. Gör. Serkan AKSU 1

ALGORİTMA VE AKIŞ ŞEMALARI

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

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

BİT in Temel Bileşenleri (Yazılım-1)

Bilgisayar Programlama. 1.Hafta

Genel Programlama I

KODLAMAYA HAZIRLIK MODÜLÜ 1. YAZILI SINAV ÇALIŞMA SORULARI VE MODÜL ÖZETİ

Yazılım Mühendisliği 1

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-1 Temel Kavramlar ve Algoritma

Hafta 1 Programlamaya Giriş

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR ORGANİZASYONU

Bölüm1. İlk Bilgiler ISBN

BÖLÜM 1: PROGRAMLAMAYA GİRİŞ

1) Programlama dillerinin temel kavramlarını öğrenir. 1,2,4 1

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

PROGRAMLAMA DİLLERİ. Programlama Dilleri Programlama Dillerinin Önemi Dilleri Sınıflandırılması Anlambilim BNF Notasyonu Kontrol Deyimleri

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

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

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

BİLGİSAYAR PROGRAMLAMA MATLAB

4. Bölüm Programlamaya Giriş

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

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

Ana Bellek (RAM) İşlemci (CPU) Depolama

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

C Dersi Bölüm 1. Bilgisayar Donanımı

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

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

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

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

Programlama dilleri. Programlama dili: İnsan-makina ve makina- makina arasındaki iletişimi sağlar.

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Algoritma ve Akış Diyagramları

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI

İÇ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

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

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

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

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

Bilgisayar Programlama. Giriş

Java Temel Özellikleri

C# nedir,.net Framework nedir?

Bahar. BM 211 Programlama Dilleri 3 1

İşletim Sistemlerine Giriş

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

PROGRAMLAMAYA GİRİŞ DERS 2

Ö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.

1. PROGRAMLAMAYA GİRİŞ

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Bilgisayar Yazılımları

Bilgisayar Mimarisi Nedir?

Yazılım Mühendisliği Bölüm - 3 Planlama

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

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

İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için,

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Programlama dili Nedir?

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

ALGORİTMA VE PROGRAMLAMA I

Hafta 1 Programlamaya Giriş

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

MPLAB IDE v7.60 PROGRAMI KULLANIMI

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

1.BÖLÜM PROGRAMLAMA ve TEMEL KAVRAMLAR

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Transkript:

Bilgisayarda Programlama Temel Kavramlar

KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu yapabilmek için, kodlamaya geçilmeden önce tasarım aşamasında, problemi oluşturan varlıkların bilgisayarda ifade edilebilecek şekilde modellerinin oluşturulması gerekmektedir. Programcı, çözülmesi gereken problemlerle ilgili kavram ve varlıkları, kullandıkları programlama dili ile bilgisayarda ifade etmeye çalışırlar gerçek dünyada insanların yaptığı gibi

KAVRAMLAR Program, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu sağlayarak, görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır. Bir başka deyişle var olan bir problemi çözmek amacıyla bilgisayar dili kullanılarak oluşturulmuş anlamlı ifadeler bütünüdür. Giriş değerlerini kullanarak istenilen çıkış değerlerinin elde edilebilmesi için bilgisayara iletilen komutlar dizisidir.

KAVRAMLAR 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. 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.

Program Türleri 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. 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. Uygulamalar İşletim sistemi üzerinde çalışan, kullanıcıların ihtiyaç duyduğu işlevleri sağlayan programlardır.

KAVRAMLAR Programlama dili, program tasarımında sorulardan biri tasarlanan çözümlemeye uygun programlama dilini seçmektir. ÖZET : Program, bilgisayara ne yapması gerektiğini söyleyen bir grup komuta (kod topluluğuna) verilen isimdir. Bu komutları veren kişiye programcı, komutların bütününe ise programlama dili denir.

Programlama Dilleri 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. Kullanılacak programlama dili, çözülecek problemin niteliğine bağlı olarak seçilebilir. Hangi dilin seçileceğini belirleyen etkenlerin başında, verilerin işlenmesinde zaman tasarrufu yada komut sayısını sınırlamak olabilir Bir programlama dilinin belirli amaçlara hizmet eden bir çok deyimi vardır ve bu deyimler özel kodlarla ifade edilir. Programlama dillerinin ortak özellikleri vardır.

Programlama Dilleri Programlama dillerinin tümü simgesel dir. Yani, bilgisayarın anlayacağı işlemleri insanların da anlayabileceği simgelerle ifade ederler. Örneğin program içinde yer alan write/print komutunun, yazma işlemini yerine getiren bir komut olduğu hemen anlaşılır. Bu simgeler, özel programlar yardımıyla bilgisayarın anlayabileceği bir biçime çevrilirler. Bu programlara derleyici adı verilir Programın yazımı, kaynak programın geçerli makine diline derleyici aracılığı ile çevrilmesi için bilgisayar ortamında bir yazım/editör programı yardımı ile, gerçekleştirilir. Programım yazımında anlaşılabilirlik ve okunabilirlik önem taşır.

Programlama Dilleri Program yazma, ilk kez yazma veya var olan programı geliştirme şeklinde olabilir. Programlar çoğunlukla ilk kez yazıldığından sonra üzerinde düzeltme ve geliştirmeler yapma gerektirir. Bu nedenle, diğer taraftan programlar bir kez kullanılmak için de hazırlanmaz bir süre sonra programa bakıldığında anlaşılabilir olma önemli olur. Açıklama satırları eklemek, program işlem kümelerini, yordamları, yapıları izlenebilir yapıda yazmak sonrada izlenebilmeye kolaylık sağlar. Değişkenlere, yordamlara işlev ve görevini anımsatacak isimler vermek, karar işlemlerini anlaşılır açıklıkta yazmak, okunabilirliğine yardım edecektir.

Kavramlar Derleyici (Compiler) : Programlama dili ile yazılmış bir programı, makine dili ile yazılmış amaç veya hedef programa çevirirler. Yüksek seviyeli bir dil ile yazılanlarda kurallarına ters düşen hata kontrollerini oluşturduktan sonra komut ve bilgilerin makine tarafından tanınarak işlemlerin yapılmasını sonuçların tekrar yüksek seviyeli program diline anlaşılır duruma çevrilmesini sağlarlar. Fortran, C, C ++, C#, Pascal, Delphi gibi diller derleyici kullanırlar. Elektronik ortamda disk kütüğü yapısında hazırlanan kaynak programın işleyebilir makine diline dönüştürülmesi, kullanılan üst düzey dil için hazırlanmış dil derleyicisi yazılımları ile gerçekleştirilir. Örneğin, C ve C++ destekleyen Turbo C++, Borland C++, MS Visual C++ derleyicileri yaygın kullanılan dil derleyicilerindendir.

Kavramlar Bu dönüştürme süreci bir adımda gerçekleşmez. Örneğin C Derleyicisi derleme (compile), bağlama (linker), yükleme (loader) işlemleri sonunda işleyebilir amaç programa (makine kodu) dönüşür. Yorumlayıcı (Interpreter) : Program kodlarının ilk satırından son satırına kadar satır satır belirtilmiş komut ve işlemleri inceleyerek kaynak programın hatalarının düzeltilmesine imkân veren ve çalıştıran programdır. Herhangi bir komut satırının çevrilmesinde ya da çalıştırılmasında bir hatayla karşılaştığında çalışmayı durdurur ve hatalı satırı programcıya bildirir. PHP, Perl, Lisp gibi diller yorumlayıcı kullanırlar.

Derleyici ve Yorumlayıcı Farkı Basitçe, bir kaynak kodu hedef koda çevirdikten sonra çalıştıran ve dolayısıyla koddaki hataları yakalama işlemini ve kodun iyileştirilmesini daha kod çalıştırmadan yapan çeviricilere derleyici, kodu satır satır veya bloklar halinde çalıştırıp sırası gelmeyen satırları hiç çalıştırmayan bu satırlardaki hataları hiçbir zaman göremeyen ve kodun bütününe ait iyileştirmeleri yapamayan çeviricilere de yorumlayıcı adı verilmektedir

Derleyici ve Yorumlayıcı Farkı Yorumlayıcıda kodun okunması ve çevrilmesi programın çalışması sırasında yapıldığından hız düşüktür. Yorumlayıcı yalnızca karşılaştığı ilk hatayı rapor edebilir. Bu hata düzeltildiğinde sonraki çalışmada da program ancak bir sonraki hataya kadar ilerleyebilir. Oysa derleyici kaynak kodundaki bütün hataları bulabilir. Buna karşılık hata ayıklama işlemi yorumlayıcılarla daha kolaydır. Ayrıca derleyicilerle gelen bazı sınırlamaların kalkması nedeniyle daha esnek bir çalışma ortamı sağlanır. Son yıllarda iki yöntemin üstün yanlarını birleştiren karma diler (Java ve Python gibi) öne çıkmaya başlamışlardır.

Çalışma Diyagramları: «Derleyici»

Derleyiciler / Yorumlayıcılar

Kavramlar Kaynak Program (Source Program): Bir programlama dili ile yazılmış programlardır. Kaynak program dosyasının uzantısı örneğin Visual Basic dilinde ise.bas veya.frm, C dilinde yazıldı ise.c, Java dilinde yazıldı ise.java, Assembly dilinde yazıldı ise.asm dir. Amaç Program (Object Program): Bir programlama dilinde yazılmış kaynak programın derlenmesi ile elde edilen program. Amaç program makine diline dönüştürülmüş ve çalıştırılmaya hazır programdır. Programlama dilleri, kaynak kodun makine koduna (amaç programa) çevrilmesi ve çalıştırılması işleminde derleyici, yorumlayıcı veya her ikisini birlikte kullanabilir.

Çalışma Diyagramları: «Yorumlayıcı»

Yazılım Geliştirme Aşamaları

Yazılım Geliştirme Aşamaları

Yazılım Geliştirme Aşamaları /Analiz Bir sistemin bileşenlerini (olaylar, kurallar, insanlar, makineler), bileşenlerin birbiri ile ilişkilerini, amaçlarını, önceliklerini belirleyerek sorunların tanımlanması amacıya yapılan çalışmalardır. Çözülecek soru tam olarak anlaşılmalıdır. Yanlış anlaşılmış bir sorunun çözümü yanlış olacak ve istenileni vermeyecektir. Analizde yapılacak ufak hatalar daha sonraki adımların yeni baştan yapılmasını gerektirebilir. İstenenler iyi belirlenmeli ve bunların var olan bilgiler ile ilişkileri öğrenilmelidir. Yapılacak işlemler belirlenir. Mümkün ise örnek veriler ile elde edilen sonuçlar değerlendirilmelidir.

Yazılım Geliştirme Aşamaları /Analiz Soru tanımını tam olarak yaptıktan sonra, çözüm için yol aramak gerekir. Genellikle bir sorunun birden fazla çözüm yolu olabilir. Bunlardan en uygunu seçilmeye çalışılır. Soru ne kadar karışık olursa olsun, alt birimlere bölünür. Her birimin çözümü ayrı, ayrı yapılır. Bu yapılırken birimler arası ilişki sürekli olarak korunur. Algoritma bir sorunun çözümü için izlenecek yolun tanımıdır. Kısaca algoritma mevcut bilgilerden istenilenlere erişme yöntemidir. (ileride detaylandırılacak)

Yazılım Geliştirme Aşamaları /Analiz Sonuçların dış ortama, dolayısıyla insana aktarımı düzgün bir biçimde yapılmalıdır. Programcı program çıktısı olarak almak istediği dökümün biçimini tasarlar. Bir döküm biçimi tasarlanırken anlaşılır ve kullanılabilir olmasına özen gösterilmelidir. Genellikle programa, çözdüğü soruna ilişkin bazı verilerin dışarıdan verilmesi gerekir. Örneğin bir denklem takımının kökleri bulunacaksa, ilgili katsayıların programa verilmesi gibi.

Yazılım Geliştirme Aşamaları /Analiz Akış Şemasını Çizme: Akış şeması belirli bir işin yapılabilmesi için, basit işlemlerle şema halinde gösterilmesidir. Kısaca algoritmanın şemalarla gösterilmesidir. Algortima geliştirildikten sonra, daha iyi anlaşılabilir olması ve programlama dillerine aktarımı daha kolay olması nedeniyle, akış şeması haline getirilir. Böylece sorunun çözüm basamakları, birbirleri ile ilişkileri ve bilgi akışı daha kolay görülebilir ve yanlışlıklar düzeltilebilir.

Yazılım Geliştirme Aşamaları / Tasarım

Yazılım Geliştirme Aşamaları / Tasarım Yapılan çözümlemeye göre Sistemin bilgi akışı, girdiler, çıktılar şematik olarak ortaya konur. Algoritmalar geliştirilir. Akış şemaları, karar tabloları vb. şemalar üretilir. Doğruluğunun mantıksal sınaması yapılır.

Yazılım Geliştirme Aşamaları

Yazılım Geliştirme Aşamaları

Yazılım Geliştirme Aşamaları / Test

Yazılım Geliştirme Aşamaları Bakım: Programın, problemin kendisindeki veya çözüm yolundaki değişiklikler nedeni ile işlevselliğini devam ettirebilmesi için veya çözüm için kullandığı teknolojilerin yenilenmesi için gerekli düzenlemeleri (güncelleme) içeren bir konudur