• Tidak ada hasil yang ditemukan

Algoritma

N/A
N/A
Protected

Academic year: 2021

Membagikan "Algoritma"

Copied!
16
0
0

Teks penuh

(1)

1.BÖLÜM

1.BÖLÜM

PROGRAMLAMA ve TEMEL

PROGRAMLAMA ve TEMEL

KAVRAMLAR 

KAVRAMLAR 

GİRİŞ

GİRİŞ

Program

Program, 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şki

NOT:

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.

(2)

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

(3)

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.

(4)

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.

(5)

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

(6)

ö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 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 programassemblerderleyicisi ile makine diline çevrilir.

BASIC

(Beginner’sAllPurposeSymbolicInstructionCode) : 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.

(7)

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 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ışı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 veC++ den aşağı kalmayan güçlü ve esnek bir  programlama dilidir 

FORTRAN

(

For

mula

Tran

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

(8)

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

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 alfa

sayısal, alfa nümerik, text

veya stringdeğişkenler diyoruz.

(9)

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. { 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ı;

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 Saat

YANLIŞ

74ALİ ali Koç sa:at sa%at

(10)

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ı: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

(11)

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

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

(12)

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 ya

da 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

(13)

 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:

(14)

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

(15)

-Ö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  —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;

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.

(16)

Ö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

Referensi

Dokumen terkait

Adanya kondisi tersebut pada koperasi karyawan “emas putih” telah memberikan suatu alasan yang cukup mendasar untuk mengetahui bagaimana hasil dari penyusunan laporan

(6) Layanan jenazah bagi orang terlantar yang ditemukan dalam kondisi telah meninggal dunia sebagaimana dimaksud pada ayat (1) huruf e dilakukan oleh Dinas

Proses pelarutan pada batuan karst berpotensi menghasilkan air tanah, hal ini terjadi karena batuan tersebut memiliki porositas sekunder sehingga hasil pelarutannya

Untuk keterampilan membaca Pondok Pesantren Darul Hikmah dan Pondok Pesantren Al Kamal menggunakan metode qiro’ah atau membaca teks Arab langsung untuk melatih

Pada masa sekarang, kita dianugrahi dengan data yang banyak (bahkan tidak terbatas), teknik machine learning menjadi intuitif untuk melakukan inferensi pada data yang besar.. Hal

Dari beberapa pengertian tersebut, peneliti mengambil kesimpulan bahwa aktivitas belajar adalah segala bentuk kegiatan yang dilakukan peserta didik baik fisik

I Marilah Berdoa: Allah Bapa kami yang maha mulia, kami mengimani bahwa Kristus telah bersatu dengan Dikau dalam kemuliaan dan bahwa Dialah Penyelamat umat

Peraturan Bupati Kabupaten Kebumen Nomor 8 Tahun 2014 Tentang Anggaran Pendapatan dan Belanja Daerah Tahun Anggaran 2015 (Lembaran Daerah Kabupaten Kebumen Tahun