1.BÖLÜM
1.BÖLÜM
PROGRAMLAMA ve TEMEL
PROGRAMLAMA ve TEMEL
KAVRAMLAR
KAVRAMLAR
GİRİŞ
GİRİŞ
ProgramProgram, bilgisayara ne yapması gerektiğini söyleyen bir grup komuta (kod topluluğuna) verilen, bilgisayara ne yapması gerektiğini söyleyen bir grup komuta (kod topluluğuna) verilen isimdir. Bu komutları veren kişi
isimdir. Bu komutları veren kişiye programcı, komutların bütününe ise programlama dili denir.ye 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 İ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ı 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üma
devlet adamının bir araya gelip görüşmesine benzetebiliriz. Bu görüşmede ancak tercüman veyan veya
çevirmenler aracılığı ile gerçekleşmektedir. Benzer şekilde bilgisayar üreticileri, aynı sorunu ç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 insanın konuşma dilini bilgisayarın makine diline çevirecek, bir nevi tercümanlık yapacak
“derleyici
“derleyici veya yorumlayıcıveya yorumlayıcı progr progr amlar” geliştirerek çözmektedirler. Aşağıdaki şekilden deamlar” 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 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.
seviyeli diller olarak adlandırılmaktadır.
Şekil 1.
Şekil 1.
Programcı ile Makine (PC) arasındaki Programcı ile Makine (PC) arasındaki İlişkiİlişkiNOT:
NOT:
İkili sayı (BI
İkili sayı (BI
nary diginary digiT-T-BIT) formatındaki gösterime makine dili denir. Mantıksal
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.
olarak “1” var, “0” yok anlamındadır. Sayısal sistemler ikili mantığa göre çalışırlar.
D
ERLEYİ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.
K aynak 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, Delphigibi diller derleyici kullanırlar.
Derleyicinin çe
virme 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
D
erleyici 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.
B
ağ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.
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.
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ı=”, AlanEkranda görülecek ifade ve değerler ile bunların gösterim biçimini planladığımız yerdir .
Programın;
Visual Basic dilinde kodlam
ası
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
ö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: P
rogramlama, 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 dedenilebilir. 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 programassemblerderleyicisi ile makine diline çevrilir.
BASIC
(Beginner’sAllPurposeSymbolicInstructionCode) : Bu dil 1964 yılında JhonKemeny 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ınveya 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 sistemlerindekullanı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.
C++ :
Nesneye yönelik bir programlama dilidir. 1980'lerin başında Bjarne Stroustruptarafı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 k ullanı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 sonraC'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 WirthPascal'ı 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 pr ogramlama 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ışıylayapı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 veC++ den aşağı kalmayan güçlü ve esnek bir programlama dilidir
FORTRAN
(For
mulaTran
slater): 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 Goslingtarafı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ınstandartlaş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
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österensembolik 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
veyanümerik değişken adını veriyoruz 2) İçinde sayı haricindeki bilgileri (isim, soy isim, adres, vb.) sakladığımız değişkenlere de alfasayısal, alfa nümerik, text
veya stringdeğişkenler diyoruz.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şlemde
ki temel ölçü birimi byte olarak geçmektedir. { 1byte= 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ı;
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: E
krana yazdığımız hiçbir şey değişkenlerin içeriğini değiştirmez
.DOĞRU
Ali74 Al74 AD_SOYAD SaatYANLIŞ
74ALİ ali Koç sa:at sa%atDeğ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ı:DimDeğişken_adıAs tip
[
Örnek;Dim
xas 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. Variantbir değişken herhangi bir tip veriyi içerebilir.Varianttipli 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ğer i “ ”, Variant
değişkenlerin ise ilk değeri Emptydir.
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
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 iletanımlanırlar. {
Constpi=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 Operatör Matematiksel Notasyon VB Notasyonu Toplama + X+Y X + Y Çıkartma - X-Y X – Y Çarpma * (XY),(X.Y),(X*Y) X* Y Bölme / X/Y ve Y X X / Y
Tamsayı Bölme \ X/Y ve
Y
X X \ Y
Üs Alma ^, ** XY X^Y veya X**Y
Mod Alma (Kalan) Mod X Mod Y X Mod Y
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ış
ise0 yada FALSEdeğ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 Veya
XOR A ÖZELVEYA B A XOR B
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 FALSEsonucunu üretir.
OR Operatörü; Lojik ifadelerden herhangi birinin doğru olması halinde TRUE
sonucunu aksi takdirde FALSEsonucunu üretir.
XOR Operatörü;
Lojik ifadelerden her ikisinin de aynı olması halinde FALSE aksi NOT Operatörü; Lojik ifadenin değilini (tersini) alır. İfade doğru ise FALSE, yanlış
iseTRUE sonucunu üretir.
EQV Operatörü; Lojik ifadelerden her ikisinin deaynı olması halinde TRUEaksi
takdirde FALSEsonucunu üretir
X Y NOTX NOTY XANDY XOR Y XXOR Y XEQVY
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 Y= ( A < 5 ) OR ( B >= A ) AND ( A=5 ) ifadesinin tersi ne olur?
Çö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ğerleriiçin bulunuz.
Çözüm:
Çö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
-Örnek 1.5.
Şeklindeki matematiksel ifadenin bilgisayar ortamındaki kodlanması aşağıdaki şekilde olur.
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 —4NOT: 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 – yHarflerin yerine rakam yazarak matematiksel ifadeyi test edersek;
y = 3.42 + 6 / 2 – 7 y = 3*16+ 6 / 2 – 7 y = 48 + 6/2 – 7 y = 48 + 3 – 7 y = 51 – 7 y = 44
Sonucunu elde ederiz
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.
Örnek 1.8.
şeklindeki matematiksel ifadenin bilgisayar ortamındaki kodlanması aşağıdaki şekilde olur.
Kodlanması
: z= - (5*a**(2/3)) / (sqr(x*x-y*y))Örnek 1.9: m= - 5 – 8 Mod 4 + 7 * (2 ^ 2 + 2) ifadesinin işlem önceliği aşağıdaki şekilde olur. 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