1.BÖLÜM PROGRAMLAMA ve TEMEL KAVRAMLAR



Benzer belgeler
Bilgisayarda Programlama. Temel Kavramlar

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.

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

Program Nedir?(1) Programlamaya Giriş

Bilgisayar Programlama Dilleri

Algoritmalar ve Programlama. Algoritma

Java Temel Özellikleri

5. PROGRAMLA DİLLERİ. 5.1 Giriş

C PROGRAMLAMA DİLİ. Hedefler

4. Bölüm Programlamaya Giriş

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

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

Dr. Fatih AY Tel: fatihay@fatihay.net

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

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

BİLGİSAYAR ORGANİZASYONU

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

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

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

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

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

PROGRAMLAMAYA GİRİŞ DERS 2

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

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

PASCAL PROGRAMLAMA DİLİ YAPISI

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Algoritma ve Akış Diyagramları

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

C Programlama Dilininin Basit Yapıları

Bilgisayar Programlama. 1.Hafta

Öğr. Gör. Serkan AKSU 1

HSancak Nesne Tabanlı Programlama I Ders Notları

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

Genel Programlama I

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

ALGORİTMA VE PROGRAMLAMA I

Yrd.Doç.Dr.Bülent Çobanoğlu

1. PROGRAMLAMAYA GİRİŞ

Diziler İndisli Değişkenler

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

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Nesne Tabanlı Programlama

C# nedir,.net Framework nedir?

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

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

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

PROGRAMLAMAYA GĐRĐŞ I

ALGORİTMA VE PROGRAMLAMA I

Algoritma ve Akış Diyagramları


PROGRAMLAMA TEMELLERİ

Fen ve Mühendislik Uygulamalarında MATLAB

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

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

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

JAVASCRIPT JAVASCRIPT DİLİ

Temel Bilgisayar Programlama

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

Bilgisayar Programlama MATLAB

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

C/C++ ile Programlamaya Giriş. Yrd.Doç.Dr.Bülent Çobanoğlu

Bahar. BM 211 Programlama Dilleri 3 1

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

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

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Internet Programming II

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

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

10.DERS Yazılım Gerçekleştirme

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Bölüm 7. İfadeler ve atamalar ISBN

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

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

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

C++ Dersi: Nesne Tabanlı Programlama

Fortran komut satırı toplam 80 kolon ve 5 bölgeden oluģur. Komut satırının yapısı aģağıdaki gibidir:

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

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

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

C#(Sharp) Programlama Dili

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

YAZILIM VE PROGRAMLAMA DİLİ. Donanım ve yazılım nedir? Yazılım nedir? Yazılım çeşitleri nelerdir? Programlama dili nedir

Bigisayar Programlama

Pascal Programlama Dili

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

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

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

BİLGİSAYAR PROGRAMLAMA (C#) DERS NOTU 1

Transkript:

1.BÖLÜM PROGRAMLAMA ve TEMEL KAVRAMLAR GİRİŞ 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. İnsan ya da programcı ( konuşma dili biliyor) ile bilgisayar ( makine dili biliyor) arasındaki iletişim nasıl gerçekleşir? Bu sorunun çözümünü birbirinin konuşma dilini bilmeyen iki yabancı devlet adamının bir araya gelip görüşmesine benzetebiliriz. Bu görüşmede ancak tercüman veya çevirmenler aracılığı ile gerçekleşmektedir. Benzer şekilde bilgisayar üreticileri, aynı sorunu insanın konuşma dilini bilgisayarın makine diline çevirecek, bir nevi tercümanlık yapacak derleyici veya yorumlayıcı programlar geliştirerek çözmektedirler. Aşağıdaki şekilden de anlaşılacağı üzere insanın algılamasına yakın diller üst seviyeli diller, makineye yakın diller ise alt seviyeli diller olarak adlandırılmaktadır. Şekil 1. Programcı ile Makine (PC) arasındaki İlişki NOT: İkili sayı (BInary digit-bit) formatındaki gösterime makine dili denir. Mantıksal olarak 1 var, 0 yok anlamındadır. Sayısal sistemler ikili mantığa göre çalışırlar. 1

DERLEYİCİ ve YORUMLAYICI KAVRAMLARI Yazdığımız programları makine diline çeviren, makine dilinde elde edilen sonuçları bizim anladığımız biçime dönüştüren programlara çevirici ( Derleyici veya Yorumlayıcı) programlar denir. Kaynak kodun makine koduna (amaç programa) çevrilmesi ve çalıştırılması işlemi üç farklı yaklaşımla gerçekleştirilebilir 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. Derleyicinin çevirme işlemi genellikle üç adımda gerçekleşir: 1. Sözel Analiz (Lexical Analysis) 2. Gramer Analizi ve Tanıma ( Syntax Analysis) 3. Kod Üreteci (Code Generator) Sözel analiz sırasında kaynak kodunu oluşturan kelimeler incelenir ve bu kelimelerin makine dilinde karşılıkları bulunup bulunmadığı kontrol edilir. Gramer analizi, kaynak kodun yazıldığı programlama dilinin kendi gramer kuralları içinde doğru yazılıp yazılmadığını kontrol eder. Kod Üretimi aşamasında tanınan komutlara karşılık gelen makine dili komutları üretilir. Bu adımlar paralel olarak gerçekleştirilir ve kaynak kod, amaç koda çevrilmiş olur. Çevirme işlemi adımları aşağıdaki blok şemada görülmektedir. 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. Basic, PHP, Perl, Lisp gibi diller yorumlayıcı kullanırlar. 2

Derleyici ile Yorumlayıcının Farkı Yorumlayıcıda kodun okunması ve çevrilmesi programın çalışması sırasında yapıldığından hız düşüktür. Ayrıca 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 ilerleye bilir. 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. Derleyici programın tamamını kontrol eder bir satırında hata varsa program satırları bittikten sonra hatayı gösterir. Yani kaynak kodu bir defa çevirir. Yorumlayıcı ise programın bir yerinde hata varsa çalışırken hatalı satıra geldiğinde durur ve hata mesajı verir. Hata düzeldikten sonra tekrar birinci satırdan itibaren kodu çevirir. NOT: Hem derleyici hem de yorumlayıcı tekniği birlikte de kullanılabilir. Bu tip çalışmada kaynak kodu sanal bir bilgisayarın makine koduna (bytecode) çevrilir ve daha sonra bu sanal bilgisayarı gerçekleyen bir program yardımıyla yorumlanarak çalıştırılır. Örneğin Java dilinde yazılmış bir kaynak kodu önce Java derleyicisinden geçirilerek Java Sanal makinesinin (Java Virtual Machine- JVM) makine koduna dönüştürülür; sonrada bu sanal makineyi gerçekleyen bir Java çalışma ortamı ( Java Runtime Environment JRE ) yardımıyla çalıştırılır. Bu işlemin nasıl yapıldığı aşağıda grafiksel olarak gösterilmiştir. Bağlama (Linking) Günümüzde yazılan birçok program genellikle programlama dili içerisinde bulunan kütüphane fonksiyonlarına ve yordamlara bağlantı içerdiğinden kaynak programdan üretilen amaç program kodu bilgisayarda çalıştırılmaya hazır olması için bu amaç program (object code) bağlama (linking) işlemine tabi tutulur. Bu işlem sonucu eksik parçaların program kodu içerisine eklenmesi ile artık yazılan program çalışmaya hazır hale gelmiş olur. 3

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, 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. PROGRAM GELİŞTİRME AŞAMALARI Yazılan programın büyüklüğüne göre program geliştirme aşamaları farklılık gösterse bile bizim amacımız yolun başındakilere rehberlik etmektir. Algoritma bölümünde de anlatılacağı üzere problemin çözüm analizi yapıldıktan sonra tasarım aşamasında program fonksiyonları belirlenir, daha sonra herhangi bir programlama dili ile kodlanır, test edilip varsa hatalar giderildikten sonra çalıştırılır ve gerekli dokümantasyon hazırlanır. PROGRAM FONKSİYONLARI Genel olarak bir program üç kısımdan ibarettir. Bilgi girişi, işlem ve hesaplamalar, çıkış. Programın çıkışında ne elde edeceğimizi bilmemiz gerekir ki programın doğru sonuç üretip üretmediğini test edebilelim. Çıkış işleminde çıkışın içeriği ve çıkış formatı önemlidir. Çıkış içeriği elde edilen veya edilecek bilgidir. Çıkış formatı ise çıkış içeriğinin gösteriliş biçimidir. 4

Programa bilgi girişi yapıldıktan sonra, girdilerden çıktıların alınması gerekli işlem ve hesaplamaların yapılmasına bağlıdır. Bu işlemlerin neler olacağı problemin çözüm analizi yapılırken belirlenir. Örneğin bir dikdörtgenin alanını hesaplayan programı yazalım. Dikdörtgenin alanının kısa kenar ile uzun kenarın çarpımına eşit olduğunu biliyoruz. Bu programın yazım aşaması; Bilgi girişi ; Dikdörtgenin kısa kenarı (a)= Dikdörtgenin uzun kenarı (b)=... Bilgi girişi için bu iki verinin bilinmesi yeterlidir. İşlem ve hesaplamalar; Dikdörtgenin Alanı (Alan = a * b) Bu aşamada dikdörtgenin kısa kenarı (a) ile uzun kenarı(b) nın çarpımı bize dikdörtgenin alanını verir. Çıkış ; Yaz Dikdörtgenin Alanı=, Alan Ekranda görülecek ifade ve değerler ile bunların gösterim biçimini planladığımız yerdir. Programın; Visual Basic dilinde kodlaması Program fonksiyonları a=inputbox ( dikdörtgenin kısa kenarı ) Bilgi girişi b=inputbox( dikdörtgenin uzun kenarı ) Bilgi girişi Alan=a*b İşlem ve hesaplama Print ( Dikdörtgenin Alanı= ), Alan Çıkış PROGRAMIN KODLANMASI Algoritması hazırlanan program, herhangi bir programlama dili ile kodlanır. Bu kodlama sürecinde kullanılan programlama dilinin yazım kurallarına tam olarak uyulması gerekir. Kodlama genellikle bir editör program (notepad veya benzeri) kullanılarak yapılır ve bu editör çıktısına kaynak kod denir. PROGRAMIN TEST EDİLMESİ Yazılan program test edilmek üzere çalıştırılır varsa yazım hataları düzeltilip program tekrar çalıştırılır. Yazım hatası vermeden çalışan fakat istenilen sonuçları üretmeyen programdaki hataları düzeltmek için algoritma tekrardan gözden geçirilerek aynı adımlar tekrar edilir. Bu tip hatalara mantık hatası denir ve bulunması için test verileri kullanılır ya da program adım adım çalıştırılır. PROGRAM DOKÜMANTASYONU Dokümantasyon, programı kullanacak kişiler için bir kullanıcı el kitabı formatında hazırlanır. Problemin tanımı, çözüm yöntemi, girdi/çıktı tanımı, çözüm algoritması, sonraki çalışmalar için 5

öneriler, kaynak program listesi, uygulama koşulları, örnek girdi/çıktısı ve kullanım amaçları ayrıntılı olarak yer alır. PROGRAMLAMA DİLLERİ VE ÖZELLİKLERİ Bir programlama dili, programcının bir bilgisayara ne yapmasını istediğini anlatmasının standartlaştırılmış bir yoludur. Bir programcı komutları farklı programlama dilleri kullanarak yazabilir. Günümüzde yüzlerce programlama dili mevcuttur. Bu dilleri Şekil 1. de gösterildiği gibi insanın algılamasına veya makineye yakın olmasına göre 3 gruba ayırabiliriz; 1. Alçak seviyeli diller ( Assembly dili) 2. Orta Seviyeli Diller ( C, ADA dili) 3. Yüksek Seviyeli Diller( Visual Basic, Pascal, Delphi, Cobol, FoxPro, Java gibi..) NOT: Programlama, temel olarak çözüm algoritması geliştirme işlemi, bilgisayar programı ise bir programlama dili ile yazılmış algoritmadır. Günümüzde yaygın olarak kullanılan bazı programlama dillerinin listesi aşağıda verilmiştir; ASSEMBLY: Assembly programlama dili, çoğu zaman özel alanlarda geliştirilen yazılımlarda kullanılan alt düzel bir Yazılım dili olarak tanımlanır. Bu dilin komutları, bilgisayarın doğrudan islettiği makine dili komutlarının birebir karşılığıdır. Bu nedenle bu dil için makine dili de denilebilir. Her ne kadar uzman programcıların özel alanlarda kullandığı bir dil olarak tanımlansa da, programcılar istedikleri takdirde her türlü uygulamayı bu dil ile geliştirebilirler ya da kullandıkları üst düzey dilaltından çağırabilecekleri procedurler yazabilirler. Assembly diliyle yazılmış bir program assembler derleyicisi ile makine diline çevrilir. BASIC (Beginner s All Purpose Symbolic Instruction Code) : Bu dil 1964 yılında Jhon Kemeny ile Thomos Kurtz tarafından Darthmouth College Üniversitesinde geliştirilmiştir. Eğitim amaçlı bir programlama dilidir. Mikrobilgisayarlar için ilk Basic uyarlamasını Microsoft un kurucuları olan Paul Allen ile Bill Gates yazmıştır. BasicA, GWBasic, QBasic, Commodore Basic V2, Turbo Basic gibi değişik sürümleri çıkmıştır. VISUAL BASIC: Microsoft tarafından, Basic programlama dili üzerinde geliştirilmiş, hareket bağımlı, nesne tabanlı ve görsel bir programlama dilidir. Visual Basic yapısal bir programlama dili olan Basic dilinden türetilmiş olmasına rağmen hareket bağımlı bir programlama (event-driven programming) dilidir. Yani bir kodun çalışması için bir olayın veya hareketin olması gerekir. İlk sürümü 1991 yılında Visual Basic 1.0 olarak çıkmıştır. Daha sonraki yıllarda 2.0 (1992 yılında),3.0 (1993 yılında), 4.0 (1995 yılında), 5.0 (1997 yılında ), 6.0 (1998 yılında) sürümleri çıkmıştır. C : 1970 lerin başında Ken Thompson ve Dennis Ritchie tarafından UNIX İşletim Sistemi için geliştirilmiş bir programlama dilidir. C, günümüzde neredeyse tüm işletim sistemlerinde kullanılan, dünyanın en çok kullanılan sistem programlama dilidir. Ancak, uygulama programları yazmak için de çok sık kullanılır. C ++ da, C den türemiş bir dildir. 6

C++ : Nesneye yönelik bir programlama dilidir. 1980'lerin başında Bjarne Stroustrup tarafından geliştirilen C dilinin birçok temel özelliğini destekleyen ve nesne yönelimli programlamaya olanak sağlayan, sınıflar sayesinde yeni veri türlerinin oluşturulduğu çok yaygın olarak kullanılan programlama dilidir. C++ (si-plas-plas okunur) genel amaçlı bir programlama dilidir. İlk olarak C de bulunmayan sınıf kavramı eklendiği için C With Classes olarak adlandırılmış, daha sonra C'deki herhangi bir sayısal değişkenin değerini bir arttırmaya yarayan ve özellikle döngü yapılarında çok sık kullanılan 'i++' ifadesine benzer biçimde C++ olarak adlandırılmıştır. PASCAL:1970 Yılında Niklous Wirth tarafından öğrencilerine programlama öğretmek için geliştirilmiştir. Bilgisayar bilimcisi Niklaus Wirth Pascal'ı 1970'te yapısal programlamayı derleyiciler için daha kolay işlenir hale getirebilmek amacıyla geliştirmiştir. Adını matematikçi ve düşünür Blaise Pascal'dan alan Pascal dili, Algol programlama dilinden türemiştir. Wirth, Pascal'dan başka Modula-2 ve Oberon programlama dillerini de geliştirmiştir. Bu diller Pascal'a benzerler ve ayrıca nesneye yönelik programlamayı da desteklerler. DELPHI: Temeli Pascal dilidir. Özellikle nesne yönelimli programlama anlayışıyla yapılandırılmış Turbo Pascal dilinin görsel sürümü denilebilir. Nesne, sınıf, kalıtım, fonksiyon aşırı yükleme (overloading) gibi temel nesneye yönelik programlama tekniklerini ve daha fazlasını içeren ve C++ den aşağı kalmayan güçlü ve esnek bir programlama dilidir FORTRAN(Formula Translater): 1954'de IBM tarafından üretilen IBM 704 için ilk sürümü John Backus ve ekibi tarafından geliştirilmiştir. Fortran ilk yüksek düzey programlama dili olmasa da 1950'deki yüksek programlama dilleri derlenmeden, bir çevirici (interpreter) yardımıyla çalıştırılıyordu. Bu da makine koduyla yazılan programlardan en az 10 kat daha yavaş çalışmalarına sebep oluyordu. İşte bu noktada Backus ve ekibi hem yüksek programlama dilleri gibi kolay yazılabilen hem de makine kodunda yazılmış gibi hızlı çalışan bir programlama dili sözüyle Fortran 'ı tanıttılar. Her ne kadar ilk derlenebilir yüksek düzey dilin Fortran olup olmadığı hala tartışma konusu olsa da, Fortran geniş kitleler tarafından kullanılmış ilk yüksek düzey derlenebilir dildir. İlk Fortran sürümü Fortran 0 'dır. Fortran II, III,IV,77,90 ve 95 gibi farklı sürümleri bulunmaktadır. Matematiksel, Bilimsel İşlemlerde kullanılmak üzere tasarlanmıştır. COBOL(Common Business Oriented Language):1959 Yılında Ticari Amaçlar ile kullanıcı tarafından geliştirilmiştir. Ticari bir programdır veri tabanına dayanır. JAVA : Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış gerçek nesneye yönelik, platformdan bağımsız, yüksek performanslı, çok işlevli, yüksek seviye, adım adım işletilen bir dildir. İlk sürümü 1996 yılında çıkmış olup, 1.1,1.2,1.3,1.4 ve 5.0,6.0 gibi sürümleri geliştirilmiştir. Kaynak : tr.wikipedia.org MİCROSOFT.NET: Internet uygulamalarında yaygın olan sorunları çözmek için önceden üretilmiş altyapısına verilen isimdir..net,.net Framework adlı yeni bir çalışma zamanı ortamı sağlar. Yazdığınız program ve bileşenler bu ortam içinde yürütülür. Ayrıca derlenen bir programda kaynak kodların derleyici tarafından hazırlanan ara kod oluşturma safhasının standartlaştırılarak, dillerden bağımsız bir ortam sağlar..net, HTML sayfaları oluşturmak için ASP.NET, Internet sunucularının herhangi bir istemciye işlev sunması için. NET Web Services adlı yeni bir yol sağlar. ADO. NET i kullanarak veritabanı işlemlerine iyi bir destek sağlar. 7

Visual Studio.NET,.NET platformu için geliştirilmiş uygulama geliştirme platformudur. En büyük özelliklerinden birisi IDE (Integrated Development Environment) dediğimiz ortak bir uygulama geliştirme platformu sunmasıdır. İster C# ile uygulama geliştirin ister VB.NET ile kullanacağınız en etkin ve ortak uygulama geliştirme platformlarından biridir. PROGRAMLAMA DİLLERİNDE KULLANILAN TEMEL KAVRAMLAR Hangi programlama dilini kullanırsak kullanalım bazı temel kavramlar değişmez. Bunlar; KOMUTLAR: Bilgisayarın o an ne yapacağını belirten emirlerdir. Komutlar kısaltılmış ya da tam İngilizce kelimelerden oluşur. Örneğin; Yaz Niksar Meslek Yüksekokulu komutu Basic/Visul Basic dilinde; Print Niksar Meslek Yüksekokulu C dilinde; Printf Niksar Meslek Yüksekokulu Pascal dilinde; Write Niksar Meslek Yüksekokulu şeklinde ifade edilmektedir. DEĞİŞKENLER: Bilgileri saklamak üzere kullandığımız ismini ve tipini bizim belirlediğimiz bellek alanlarına verilen isimdir. Kısaca bellekte herhangi bir adresi gösteren sembolik bir addır. Kullandığımız programlama dili ne olursa olsun kendisine verdiğimiz değerleri belleğinde hangi ad ile saklayacağını biz söylüyoruz. Belleğinde nerede saklayacağını (adres bilgisini) ise bilgisayar kendisi belirler. Genel olarak değişkenler ikiye ayrılır; 1) İçerisinde sayıları sakladığımız değişkenlere sayısal veya nümerik değişken adını veriyoruz 2) İçinde sayı haricindeki bilgileri (isim, soy isim, adres, vb.) sakladığımız değişkenlere de alfa sayısal, alfa nümerik, text veya string değişkenler diyoruz. NOT: Bilgilerin geçici olarak tutulduğu yere Bellek denir. Değişkenlerde bellekte tutulur. 8

NOT: Bellek ve bilgi depolama birimlerinin genişliğini ölçmek için kullandığımız temel birim bit ve byte dır. Bugün bilgi işlemdeki temel ölçü birimi byte olarak geçmektedir. { 1 byte= 8 bit, 1 Kilobyte= 1024 byte dır. } Değişken Tanımlama Kuralları Değişkenlerin isim ve tiplerinin programcı tarafından belirlendiğini söylemiştik. İşte değişkenleri tanımlarken dikkat edeceğimiz hususlar; 1) Bir değişkenin ilk karakteri mutlaka harf olmalıdır. 2) Değişken isimlerinin içerisinde _ karakteri hariç, boşluk veya özel karakterler bulunmamalıdır. [.,@? * : ;!, ( / - + = % & $ # karakterleri gibi] 3) Değişken isimlerinde Türkçe karakter kullanmamaya özen gösterilmelidir. 4) Değişken isimleri kullanılan programlama diline ait komutları içeremez 5) Değişken isimleri, anlamlı ifadelerden oluşmalıdır. Örnek değişken tanımlamaları; DOĞRU Ali74 Al74 AD_SOYAD Saat YANLIŞ 74ALİ ali Koç sa:at sa%at Değişkenlere Değer Aktarma( = ) Bir aritmetik ya da string ifadeyi değişkene aktarmak için = parametresi kullanılır. { a = 5, b = Ali gibi } NOT: Eşitliğin sağ tarafındaki ifadenin sonucu sol taraftaki değişkene aktarılır. NOT: İlk eşit işareti 1557 Yılında Londra kentinde Oxford lu Robert Recard ın The Whetstone of Witte adlı cebir kitabında eşit kavramı (=) işareti ile simgelendiği ve hatta kendisine: Neden başka bir işaret değil de bunu seçtiniz? sorusuna: bir birine paralel iki çizgiden daha eşit şey düşünemezdim. yanıtını verdiği yazılıdır. Örnek 1.1. Aşağıdaki programın akışı (çalışması) sırasındaki değişkenlerin alacağı değerler yandaki tabloda verilmiştir. NOT: Ekrana yazdığımız hiçbir şey değişkenlerin içeriğini değiştirmez. 9

Değişkenlerin Tanımlanması Bir değişken kullanılmadan önce tanımlanır. Bu tanımlama programlama dillerine göre farklılık gösterse bile mantık aynıdır. Her değişken belirli bir veri tipine sahip olmalıdır (integer, long, string gibi) Bu veri tipi, değişkenin bellekte kaplayacağı alanı ve sakladığı bilginin büyüklüğünü belirtir. Visual Basic Dilinde Değişkenlerin Tanımlanması Visual Basic dilinde değişkenlerin tanımlanması Dim (Boyut Aç) komutu ile program kodunun başında yapılır. Yapısı: Dim Değişken_adı As tip [ Örnek; Dim x as integer, y as string gibi ] Tip; Değişkenin alabileceği veri türünü tanımlar. [integer, byte, long,string,currency gibi ] Değişken tanımlanmaz veya tanımlanırken tip belirtilmezse, VB o değişkeni Variant veri tipinde algılar. Variant bir değişken herhangi bir tip veriyi içerebilir. Variant tipli değişken kullanmanın iki kötü yanı olabilir: Daha fazla bellek kullanımına neden olur. Variant veri tipi bazı veri işlem fonksiyonları için geçersiz olabilir. Sayısal bir değişkenin ilk değeri 0, String bir değişkenin ilk değeri, Variant değişkenlerin ise ilk değeri Empty dir. C Dilinde Değişkenlerin Tanımlanması C dilinde değişkenlerin, kullanılmadan önce tanımlanma zorunluluğu vardır. Programda kullanılacak değişkenleri tanımlamak için aşağıdaki yapı kullanılır. Yapısı: Veri Tipi Değişken_adı [ Örnek; int x,y ; char veri gibi ] Veri Tipleri Visual Basic dilinde kullanılan veri tipleri aşağıdaki listede verilmiştir. Bildiri Deyimi Veri Tipi Bellek Alanı Değer Aralığı String Karaktersel 1 byte 65535 / -128 +127 ( her karakter için ) Integer Tamsayı 2 byte -32.768 32.767 Long Uzun tamsayı 4 byte 2.147.483.647 Single Tek duyarlı sayısal 4 byte 3.4x10^38 Double Çift duyarlı sayısal 8 byte 1,7x10^308 Currency Para 8 byte 922.337.203.685.447 Byte Tamsayı 1 byte 0 255 Boolean Doğru /Yanlış 2 byte True / False Date Tarih 8 byte 1/1/100 12/31/9999 Variant --- 16 byte + her karakter için 1 byte NOT: String Türü Değişkenler + veya & işlem operatörleri ile birbirlerine eklenebilirler. 10

SABİTLER Program içerisinde değeri değişmeyen ifadelere sabit denir.( sayısı, 2.5, gibi). Sabit değerler sayısal ve string olmak üzere ikiye ayrılırlar. İki tırnak ( ) işareti arasında yazılan her türlü bilgi string sabittir. Sabitler özellikle bilinen değerlerin kullanımını sağlar. Kodlamayı ve kodun okunabilirliğini kolaylaştırırlar. NOT: Visual Basic dilinde sabit ifadeler program kodunun başında Const deyimi ile tanımlanırlar. { Const pi=3.14 } MESAJLAR Kullanıcı ile iletişim kurmak için kullanılır. Mesajlar kullanıcıyı yönlendirmek amacıyla kullanılırlar. NOT: Bir sayı giriniz gibi kullanıcıyı program çalışırken yönlendiren ifadelere mesajlar denir. OPERATÖRLER İşlem yapmamızı sağlayan işaretlerdir. Genellikle, aritmetiksel { +, -, *, /, } mantıksal { And, Or, Not } ve karşılaştırma { <, >, =, }operatörleri isimleri altında sınıflandırılırlar ve her program dillerinde farklı şekillerde gösterilebilirler. ARİTMETİKSEL OPERATÖRLER Aritmetiksel işlemlerde kullanılan ( dört işlem gibi ) operatörlerdir. Matematiksel işlemlerde kullanılan ilgili operatörler ve bilgisayar ortamlarındaki formatları tabloda gösterilmiştir. İŞLEMLER Aritmetik Matematiksel VB Notasyonu Operatör Notasyon Toplama + X+Y X + Y Çıkartma - X-Y X Y Çarpma * (XY),(X.Y),(X*Y) X* Y Bölme / X/Y ve Tamsayı Bölme \ X/Y ve X Y X Y X / Y X \ Y Üs Alma ^, ** X Y X^Y veya X**Y Mod Alma (Kalan) Mod X Mod Y X Mod Y String & Bade Zehra Bade & Zehra 11

Birleştirme Negatif - Y Y KARŞILAŞTIRMA OPERATÖRLERİ Verilerin birbiriyle karşılaştırılmasında kullanılır. Sonuç doğru ise 1 ya da TRUE, yanlış ise 0 ya da FALSE değerini alır. İŞLEM OPERATÖR KARŞILAŞTIRMA NOTASYONU VB NOTASYONU C NOTASYONU Küçüktür < A < B A < B A < B Büyüktür > A > B A > B A > B Küçük eşit <= A B A <= B A <= B Büyük eşit >= A B A >= B A >= B Eşittir = A = B A = B A = = B Eşit değil < > A B A < > B A!= B MANTIKSAL OPERATÖRLER Mantıksal operatörlerin temelini, verilerin birbirleriyle kıyaslanması oluşturur. Kıyaslamanın sonucuna bağlı olarak da hangi işlerin yapılacağına karar verilir. İŞLEM OPERATÖR KARŞILAŞTIRMA NOTASYONU VB NOTASYONU Ve AND A VE B A AND B Veya OR A VEYA B A OR B Değil NOT A DEĞİL B A NOT B Özel XOR A ÖZELVEYA B A XOR B Veya Eşit EQV A EŞİT B A EQV B Mantıksal operatörlerin işlevlerini şöyle açıklayabiliriz; AND Operatörü; Lojik ifadelerin her ikisinin de doğru olması halinde TRUE sonucunu aksi takdirde FALSE sonucunu üretir. OR Operatörü; Lojik ifadelerden herhangi birinin doğru olması halinde TRUE sonucunu aksi takdirde FALSE sonucunu üretir. XOR Operatörü; Lojik ifadelerden her ikisinin de aynı olması halinde FALSE aksi takdirde TRUE sonucunu üretir. 12

NOT Operatörü; Lojik ifadenin değilini (tersini) alır. İfade doğru ise FALSE, yanlış ise TRUE sonucunu üretir. EQV Operatörü; Lojik ifadelerden her ikisinin de aynı olması halinde TRUE aksi takdirde FALSE sonucunu üretir X Y NOT X NOT Y X AND Y X OR Y X XOR Y X EQV Y 1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 Örnek 1.2. A=5, B=4 olarak verildiğinde tersi ne olur? Y= ( A < 5 ) OR ( B >= A ) AND ( A=5 ) ifadesinin Çözüm: Y= ( A < 5 ) OR ( B >= A ) AND ( A=5 ) ifadesinin sonucu; Y= False OR False AND True = 0 OR 0 AND 1 = 0 OR 0 = 0 = FALSE dur. Bu ifadenin tersini alırsak; Y = ( A>=5 ) AND ( B < A ) OR ( A< >5 ) = True AND True OR False Y = 1 AND 1 OR 0 = 1 OR 0 = 1 = TRUE Sonucu elde edilir. Örnek 1.3. NOT A=1 AND B<>C OR (D=2 AND ADI= AHMET ) ifadesinin sonucunu A=7, B=5, C=2, D=3 ve ADI= AHMET değerleri için bulunuz. Çözüm: Örnek 1.4. Aşağıdaki programı çalıştırdığımızda hangi işlem gerçekleşir. 13

Çözüm: Program çalıştırıldığında A değişkeni 5, B değişkeni -3, Y değişkeni 7 değerlerini alır ve B=Y olmadığı için B 1 işlemi gerçekleşir ( ekranda -4 değerini görürüz ) ve program çalışması sona erir. BİLGİSAYAR ORTAMINDA MATEMATİKSEL İFADELERİN GÖSTERİMİ Bir matematiksel ifadede birden fazla işlem (çarpma, bölme, toplama v.b ) yer alabilir. Bu durumda işlemlerin uygulama sıralarına dikkat etmek gerekir. Matematiksel Operatörler Ve Öncelik Sıraları Matematiksel operatörlerin öncelik sırası aşağıdaki tabloda verilmiştir. Aynı önceliğe sahip işlemlerde soldaki daha önce işlem görür. Öncelik Sırası İşlemler İşlem Simgesi 1 Sayıları negatifleştirme - 2 Parantez içi ( ) 3 Matematiksel fonksiyonlar Sin, Cos, v.b. 4 Üs Alma ^, ** 5 Çarpma veya Bölme * veya / 6 Kalan Mod 7 Toplama veya Çıkarma + veya - 14

Örnek 1.5. olur. Şeklindeki matematiksel ifadenin bilgisayar ortamındaki kodlanması aşağıdaki şekilde Kodlanması : ( a^2 +b*c ) / ( 2*a*b) Örnek 1.6. Şeklindeki matematiksel ifadenin bilgisayar ortamındaki kodlanması ve işlem sonucu aşağıdaki şekilde olur. Kodlanması : ( 6 + 2 *4) /2 3 ^2 + (6/3) / (2-3) İşlem önceliği : ( 6 + 8) /2 3 ^2 + (6/3) / (2-3) 14 /2 3 ^2 + (6/3) / (2-3) 7 3 ^2 + (6/3) / (2-3) 7 9 + (6/3) / (2-3) 7 9 + 2 / (2-3) 7 9 + 2 / -1 7 9 + -2 7 9-2 2 2 4 NOT: Aynı öncelikteki işlemlerin uygulanmasının soldan sağa doğru yapıldığına dikkat ediniz. Örnek 1.7: Matematiksel ifade..: y=pr q +w/x-z Bilgisayar ortamındaki kodlaması : y = p * r ^ q + w / x y Harflerin yerine rakam yazarak matematiksel ifadeyi test edersek; Sonucunu elde ederiz y = 3.4 2 + 6 / 2 7 y = 3*16+ 6 / 2 7 y = 48 + 6/2 7 y = 48 + 3 7 y = 51 7 y = 44 NOT: Örnek 1.7. de İşlem önceliği, ilk önce üs alma, daha sonra çarpma(solda olduğu için), bölme, toplama ve çıkarma şeklindedir. 15

Örnek 1.8. şekilde olur. şeklindeki matematiksel ifadenin bilgisayar ortamındaki kodlanması aşağıdaki Kodlanması : z= - (5*a**(2/3)) / (sqr(x*x-y*y)) Örnek 1.9: olur. m= - 5 8 Mod 4 + 7 * (2 ^ 2 + 2) ifadesinin işlem önceliği aşağıdaki şekilde sonucu elde edilir. m= - 5 8 Mod 4 + 7 * (4+ 2) m= - 5 8 Mod 4 + 7 * 6 m= - 5 8 Mod 4 + 42 m= - 5 0 + 42 m= - 5 + 42 m= 37 16