Geleceğin en pârlak mesleği olan programcılık mesleğini öğrenebilmeniz ve bildiklerinizi ilerlete bilmeniz için size kaçmaz bir fırsat.

Turbo pascal

Turbo Pascal Nedir: Pascal, Basic ve C gibi yüksek seviyeli programlama dilleri ailesindendir. Pascal’ın geliÅŸtirilmesi ve daha kullanışlı bir hale getirilmesi sonucunda Turbo Pascal ortaya çıkmıştır. Turbo Pascal dili okullarada en çok öğretilen ve programlamayı öğrenmeye baÅŸlamak için en çok tercih edilen dildir. Turbo Pascal dilinin bu kadar çok kullanılmasının en büyük nedeni kolay ve cabuk anlaşılabilir bir dil olmasıdır. 

Neler Yapılabilir: Turbo Pascal ile yapa bileceÄŸiniz ÅŸeyler sadece sizin hayal gücünüzle sınırlıdır. GeliÅŸmiÅŸ ticari programlardan, kaliteli oyunlara kadar her ÅŸey yapılabilir. Tabi hayalgücünüzü çok fazla zorlamaya kalkarsanız daha temel ve daha hızlı bir dile ihtiyaç duymanız olaÄŸan :)) Neyse… eÄŸer ÅŸimdillik bir iÅŸletim sistemi yazmayı düşünmüyorsanız Turbo Pascal size yeter.

Turbo Pascal’da Komut Yapısı : Turbo Pascal programları bloklardan oluÅŸur. Kullanılacak olan komutlar görevlerine göre gerekli blokların içinde yeralırlar. 

Blokları anlayabilmek için basit bir pascal programına göz atalım.

Uses crt;

var
x:string[24];
begin
x:=’www.siteniz.com’;
clrscr;
write(x);
end.

Yukarıdaki örnekte görüldüğü gibi öncelikle Uses bloÄŸunda programda kullanacağımız yardımcı programı çağırrıyoruz. Daha  sonra Var bloklarını kullanarak deÄŸiÅŸkenlerimiz varsa onları tanımlıyoruz. Ve Begin …. End. bloÄŸuna programımızı yazıyoruz. Turbo Pascal’da bunların dışında Const, Type,Procedure,Function ve Label gibi bir kaç blog daha kullanılmaktadır. İlerki derslerimizde bunları detaylı olarak göreceÄŸiz

Turbo Pascal Dilinin Özellikleri (Önemli):

  • Kullanılacak deÄŸiÅŸkenler ve deÄŸiÅŸkenlerin tipleri önceden tanımlanmak zorunludur.
  • Komut ve deÄŸiÅŸkenlerde büyük küçük harf ayrımı yoktur.
  • İfadelerin sonuna mutlaka “;” noktalı virgül eklenmelidir.
  • Alt programlar ana programdan önce tanımlanmalıdır.

*Derslerimizde yazacağımız örneklerde hata yapmamak için bu özelliklere mutlaka gözatın.

DeÄŸiÅŸkenler Ve DeÄŸiÅŸken Tipleri

Turbo Pascal dilinde kulanılacak olan değişkenlerin ve budeğişkenlerin tiplerinin önceden tanımlanması zorunluluğu vardır. Bu nedenle değişken mantığının ve değişken tiplerinin iyi anlaşılması büyük önem taşır.

DeÄŸiÅŸken: DeÄŸiÅŸken, adındanda anlaşılabileceÄŸi ÄŸibi  programcı tarafından tanımlanan ve  istenildiÄŸinde deÄŸeri deÄŸiÅŸtirilebilen nesneleridir. ÖrneÄŸin, programcı “isim” adına bir deÄŸiÅŸken tanımlayıp program içerisinde bu deÄŸiÅŸkene “Ahmet”, “Mehmet” gibi istediÄŸi herhangi bir deÄŸerlri atayabilir. Ve ihtiyaç olduÄŸunda bu deÄŸeri deÄŸiÅŸtirebir.

Turbo Pascal’da deÄŸiÅŸkenler begin … end  bloÄŸundan önce var bloÄŸu içerisinde tanımlanırlar. DeÄŸiÅŸken tanımlama aÅŸağıdaki ÅŸekilde yapılır.

var
isim:integer;

begin
……
end.

Değişken Tipleri: Daha öncede söylediğimiz gibi Turbo Pascal dilinde program yazılırken kullanılacak değişkenler ve tipleri daha öncaden tanımlanmalıdır. Aslında bu işlem bir çoğunuz formalite icabı ve gereksiz olduğunu düşünebilir. Ama bu özellik aslında çok önemlidir. Değişkenin tipinin belirtilmesi ile bilgisayarın okuyacağı değişken için en uygun alanı ayırarak gereksiz bellek kulanımı engellemesi sağlanır. Ayrıca değişken tibi belirtilmesi sayasinde girilen değişkenin sayısal bir değermi yosa bir yazımı olduğu bilgisayar tarafından anlaşılmış olur.

Tamsayı Değişken Tipleri: Tamsayı değişkenleri genellikle matematiksel işlem yapmak için kullanılan değişken tipleridir. Yalnızca tam sayı değeri kabul eder girilen değer reel sayı yada alfanumerik karekter olamaz.

Real 2.9 x 10 -39 1.7 x 10 38 6 Byte
Single 1.5 x 10 -45 3.4 x 10 38 4 Byte
Double 5.0 x 10 -324 1.7 x 10 308 8 Byte
Extended 3.4 x 10 -4932 1.1 x 10 4932 10 Byte
Comp -2 63 + 1+….2 63 -1 8 Byte

String Değişken Tipi: String değişken tibi alfnumerik değişkenler tanımlamak için kullanılır. Yani string değişkenlere girilen değer bilgisayar tarafından yazı olarak algılanır ve üxerinde matematiksel işlem yapılamaz.

String[n] ÅŸeklinde tanımlanır ve n karekterlik bilgi alır, n+1 Byte’lık yer kaplar. Uzunluk belirtilmeden yalnızca string ÅŸeklinde tanımlanırsa 256 byte’lık yerkaplar ve 255 karektere kadar deÄŸiÅŸken girilebilir.

String Maxsimum  255 karakter n+1 Byte

Char Değişken Tipi: Yalnızca bir karakterden oluşan değişkenleri tanımlamak için kullanılır. Üzerinde matematiksel işlem yapılamaz.

Char 1 karakter 1 Byte

Bolean Değişken Tipi: Yalnızca True(doğru), False(Yanlış) değerleri kullanılmak istenen değişkenleri tanımlamak için kullanılır.

Bolean True - False  yada 1 - 0 1 Byte

Mantıksal ve Matematiksel İşlemler

KarşılaÅŸtırmalar : KarşılaÅŸtırma iÅŸlemleri genellikle koÅŸul vermek için kullanılır. DeÄŸerler koÅŸula uygunsa sonuç “true”, deÄŸilse “false” dir.

Operatör Adı Anlamı
= EÅŸit Sol ve saÄŸdaki deÄŸerler biribirlerine eÅŸitse
<> EÅŸitdeÄŸil Sol ve saÄŸdaki deÄŸerler birbirlerine eÅŸitdeÄŸilse
< Küçük Soldaki değer sağdaki değerden küçüse
> Büyük Soldaki değer sağdaki değerden büyükse
<= Küçük yada eşit Soldaki değer sağdaki değere eşit yada küçükse
>= Büyük yada eşit Soldaki değer sağdaki değere eşit yada büyükse

Mantıksal İşlemler : Mantıksal iÅŸlemler genelde birden fazla karşılaÅŸtırma iÅŸlemi arasında baÄŸ kurmak içim kullanılır. ÖrneÄŸin iki koÅŸul arasında “Or” operatörü kullanıldığında saÄŸdaki yada soldaki koÅŸullardan herhangi birinin sonucu “true” (doÄŸru) ise mantıksal iÅŸlemin sonucunda “true” dir.

Operatör Adı Anlamı
And Ve Sol ve sağdaki koşulların her ikiside doğruysa
Or Veya Sol ve saÄŸdaki koÅŸullardan herhangi biri doÄŸruysa
Not DeÄŸil Verilen koÅŸul doÄŸru ise
Xor Veya DeÄŸil Verieln koÅŸullardan herhangi biri doÄŸru deÄŸilse

Matematiksel İşlemler : Dört işlem (toplama, çıkartma, çarpma ve bölme) için kullanılan basit matematiksel ifadelerdir.

“+”,”-” ve “*” iÅŸelemlerinde iÅŸlem yapılan sayı cinsi reel ise sonuç ta reel ‘dir. İşlemyapılan sayılar tamsayı ise sonuçta tammsayıdır. “/” iÅŸleminde ise sonuç herzaman reel sayıdır. 

Operatör Adı Anlamı
+ toplama Sol ve saÄŸdaki deÄŸerleri birbirine ekler.
- çıkarma Soldaki değerden sağdaki değerleri çıkarır.
* çarpma Sol ve sağdaki değerleri birbiri ile çarpar.
/ bölme(Reel) Soldaki değeri sağdaki değere böler.
Div bölme(Tamsayı) Soldaki değeri sağdaki değere böler.
mod kalan Soldaki değerin soldaki değere bölünmesinden kalan

Mod ve Div işlemlerinin sonuçları herzaman  tamsayıdır.

4 div 12 = 0,    13 div 4 = 3         3 mod 2 = 3,   4 mod 2 = 0  
12 div 4 = 3,    16 div 4 = 4         5 mod 2 = 1,   4 mod 0 = (tanımsız) 

WriteVe Read Komutları

Write: Write komutu ekrana herhangi ÅŸey yazdırmak için kullanılır. Ve kulanımı write(’metin’) ÅŸeklindedir. Ayrıca write komutu ile ekrana write(deÄŸiÅŸken) ÅŸeklinde bir deÄŸiÅŸkenin deÄŸeride yazdırılabilir. Burada dikkat edilmesi gerken nokta, metinin tekli tırnak ‘ ‘ içerisinde, deÄŸiÅŸkenin ise direk yazılıyor olmasıdır.

Örnek:

const
site = ‘www.siteniz.com’;
begin
write(’Türkiyenin teknoloji merkezi’);
write(site);
end.

Bu program ekrana; “Türkiyenin teknoloji merkezi www.siteniz.com” ÅŸeklinde bir metin yazar.

Yukardaki örnekte bu yazıyı yazmak için iki write komutu kullandık. Bunun yerine tek write komutuda kullanabilirdik.

yani iki write komutu yerine, write(’Türkiyenin teknoloji merkezi’,site); Åžeklindeki kullanımda ekrana aynı görüntüyü verecektir. Bu kullanım ÅŸekliyle biden fazal yazı ve deÄŸiÅŸken aynı anda ekrana yazdırılabilir.

WriteLn: WriteLn komutunun kulanımıda aynen write komutunun kullanımı gibidir. Aralarındaki terk farkvardır. Dikkat ettiyseniz birden fazla write komutu ile yazdırılan yazılar ekranda yan yana yazılmaktaydı. WriteLn komutu ile yazılan yazlılar ise alt alta yazılır.

Örneğin yukardaki ilk örnekte write yerine writeln komutunu kullansaydık ekranda;

Türkiyenin teknoloji merkezi
www.siteniz.com

şeklinde bir metin görülecekti.

Sayısal Bilgilerin Formatlıyazılması: Write yada WriteLn komutlarıyla ekrana  “510.4542″ gibi reel bir sayı yazdırılmak istendiÄŸinde, ekranda 5.1045420000E+02 gibi karmaşık bir deÄŸer görülür. Bu deÄŸeri anlaşılır bir ÅŸekle dönüştürmek için bir yazım formatı belirtilmesi gerekir.

Örnek:

var
a:real;
begin
a:=510.4542;
write(a:6:2);
end.

Bu örnek ekrana “510.45″ ÅŸeklinde bir sayı yazar. Buradaki 6 nokta dahil sayının karakter uzunluÄŸu, 2 ise virgülden sonraki kısımın uzunluÄŸudur

Eğer verilen karakter uzunluğu, sayının olması gereken karakter uzunluğundan küçükse, ekrana olması gereken uzunlukta sayı yazılır, yani verilen uzunluk dikkate alınmaz. Eğer girilen uzunluk olması gerkenden fazla olursa, sayının başına fazlalık kadar boşluk eklenir.

Bu format tam sayılar içinde kullanılabilir. Bu durumda kullanım şekli sayı:uzunluk şeklinde olur.

ÖrneÄŸin; write(1:5); komutu ekrana dört nane boÅŸluk koyduktan sonra 1 yazar “    1″ .

Read: Read komutu daha önceden tanımlanmış bir değişkene program çalıştırıldıktan sonra dışarıdan değer girilmesi için kullanılır.

Örnek

var
x,:integer;
begin
read(x);
write(’girdiÄŸiniz say=’,x);
end.

Bu örnek çaalıştırıldığında bilgisayar herhangi bir sayı girip “Enter” tuÅŸuna basmanızı bekleyecektir. Sayı girilim “Enter” tuÅŸuna basılınca girdiÄŸiniz deÄŸeri ekrana yazcaktır.

ReadLn: ReadLn komutunun kullanımıda aynen read komutunun kullanımı gibidir. Aradaki terk fark. ReadLn komutuna deÄŸer girilip “Enter” tuÅŸuna bastıktan sonra bir alt satıra geçer.

if - Then - Else  Ve  Case - Of

if….then Komutu: Belirtilen koÅŸulun doÄŸru olması durumunda belirtilen iÅŸlemin yapılmasını saÄŸlamak için kullanınlır. Daha açık bir tabirle eÄŸer verdiÄŸim koÅŸul gerçekleÅŸirse ÅŸu iÅŸlemi yap manasında kullanılır.

if a>b then write(’a, b den büyük’); bu komutla eÄŸer a, b’den büyükse “a, b den büyük” metninin ekrana ekrana yazılmasını saÄŸlamış oluyoruz.

Eğer  if koşulu sağlandığında yapacağımız işlem birden fazlaysa bu işlemleri görünüm güzelliği ve anlaşılırlık bakımında şu şekilde yaptıra biliriz.

Örnek:

begin
if a>b then
    begin
    write(’a, b den büyük’);
    a:=3;
     end;
end.

Bu örnekte a’nın b’den büyük olması durumunda a, b den büyük” metninin ekrana ekrana yazdırıyor ve a’ya “3″ deÄŸerini veriyoruz.

Else Komutu: Else komutu, if…then kalıbından sonra kullanılır ve if koÅŸulu gerçekleÅŸmediÄŸi taktirde yapılması istenen iÅŸlemler varsa onları yaptırmak için kullanılır. 

Örnek:

begin
if a>b then write(’a, b den büyük’);
Else write (’b, a’dan büyük”);
end.

Bu örnekte a>b koÅŸulu saÄŸlanırsa ekrana “a, b’den büyük” yazdırıyoruz. EÄŸer koÅŸulsaÄŸlanmazsa, ekranna “b, a’dan büyük” yazısını yazdırmışoluyoruz.

Case - Of: Case - Of  komutunun kulanım amacı if komutuyla hemen hmen aynıdır ve koşul belirtmek için kullanılır..Bir değişkenin değişik değerleri için birden fazla koşul konulmak istenildiğinde ayrı ayrı  if  komutları yazmak yerine kolaylık sağlamak için case - of  komutu kullanılır. Else komutu case - of  komutu ile birlikte kullanıldığında, case - of  komutu ile belirtilen koşulların hiç birinin gerçekleşmediği durumda yapılması istenilen komutların işlnmesi sağlanır.

var
sayi:intger;
begin
write(’1 ile 10 arasında bir sayı girin’);readln(sayi);

Case sayi Of 
   1:write(’I');
   2:write(’II’);
   3:write(’III’);
   4:write(’IV’);
   5:write(’V');
   6:write(’VI’);
   7:write(’VII’);
   8:write(’VIII’);
   9:write(IX’);
   10:write(’X');
   Else write(’GirdiÄŸiniz sayı 1 ile 10 arasında deÄŸil’)
end;

end.

Bu örnekte Case - Of  komutu kullanılarak, klavyeden girilen 1 ile 10 rasında sayıların romarakamı karşılığı ekrana yazdırılıyor. 

 

 

Döngüler

For - Do Döngüsü: For-Do döngüsü herhangi bir işlemi istenilen sayıda tekrarlamak yada bir değişkene belirtile değer aralığındaki değerleri sırayla vermek için kullanılır.

For I := 1 To 10 Do writeln(I);  Åžeklindeki bir kulanım ile I deÄŸiÅŸkenine sırasıla 1′den 10′a kadar tamsayı deÄŸerler atanıp ekrana  yazdırılması saÄŸlanılır.

For I := 1 DownTo 10 Do writeln(I); Åžeklindeki bir kulanım ile I deÄŸiÅŸkenine sırasıla 10′den 1ea kadar tamsayı deÄŸerler atanıp ekrana  yazdırılması saÄŸlanılır.

Döngü içerisinde yaptırılacak iÅŸlemler birden fazlaysa  begin…..end  kalıbı kullanılabilir.

Örnek:

begin
for I :=1 to 10 Do
   begin
   writeln”www.siteniz.com”;
   end ;
end.

Yukarıdaki örnekte for - do döngüsünü kullanarak ekrana; altalta 10 kez www.siteniz.com yazdırmış oluyoruz.

While - Do döngüsü: While - Do döngüsü ile isteğe göre belirtilen şart sağlandığı sürece, döngü içerisinde  belirtilenlen işlemlerin tekrarlanması sağlanır.

While - do döngüsünün kulanım formatı for - do döngüsünün farmatıyla aynıdır.

Örnek:

var
a:integer;
begin
a:=0;
while a<10 do
    begin
    a:=a+1;
    write(”www.siteniz.com”);
    end;
end.

Bu örnekte başlangıçta sıfır değeri verilen a değişkeninin değeri döngü içerisinde devamlı 1 arttırılıyor. a değişkeninin değeri 10 olduğunda program döngüden çıkıyor. Böylece bu örnek de ilk örnekte olduğu gibi ekrana altalta 10 kez www.siteniz.com yazıyor.

Repeat - Until Döngüsü: Bu döngü ÅŸekli Pascal’a özgü bir döngü ÅŸeklidir. Repeat - Until döngüsünde belirtilen kuÅŸul saÄŸlanana kadar belirtilen komutların tekrarlanması saÄŸlanılır.

Repeat - Until döngüsünde begin…end kalıbına gerek yoktur. Yapılacak iÅŸlem sayısı birden fazlada olsa repeat….until kalıbı içrisine yazılabilir.

Örnek;

var
a:integer;
begin
a:=0;
repeat
a:=a+1;
writeln(”www.siteniz.com”);
until a=10;
end.

Bu örnek de ilk iki örnek gibi ekrana 10 kez altalta www.siteniz.com yazılmasını sağlar.

Continue Komutu: Contınue komutu döngü içlerinde kullanılır. For - next döngüsü içrisinde kullanıldığında döngünün to yada downto ile kurulmuş olmasına bağlı olarak, döngü değişkenini 1 artırıp yada 1 azaltıp döngü içerisindeki işlemlerin tekrar yapılmasını sağlar. Repeat - until döngüsünde sonraki işlemleri atlayarak direk until komutuna gider. While - do döngüsünde ise while komutuna geri gidilmesini sağlar.

Break Komutu: Break komutu döngünün yarıda kesilerek döngüden çıkılmasını ve döngüden sonraki işlemlerin yapılamsını sağlamak amacı ile kullanılır.

Alt Programlar

Procedure: Procedure Turbo Pascal dilinde en çok kullanıla alt program tipidir. Procedure ile tanımlanan alt programlar ana programda bir komut gibi kullanılabilirler. Alt programları tanımlarken yapılmasını istediÄŸimiz komutları begin…end kalıbının içerisne yazmamız gerekmektedir.

Örnek:

procedure yaz;
    begin
    write(’www.siteniz.com’);
    End;

begin
yaz;
end.

Bu örnekte öncelikle yaz isminde bir alt program tanımlıyoruz. Daha sonra ana programda “yaz” procedure’sini bir komut gibi kullanarak ekrana “www.bilimveteknloji.com” yazdırıyoruz.

Procedure’ye  Parametre Girme: Proceduremizi tanımlarken beraber tanımlayacağımız deÄŸiÅŸkenler sayesinde proceduremizi parametreli bir komut olarak kullana biliriz.

Örnek:

procedure isim(a:integer);
   Begin
   if a:=1 then writeln(’Ahmet’);
   if a:=0 then writeln(’Mehmet’);
   end;
begin
isim (0);
isim (1);
isim (0);
end;

Bu örnekte ana programda ilk olaram isim altrrogramını 0 parametresiyle çağırdığımız için ekrana Mehmet yazacak. Daha sonra ise 1 ve takrar sıfır parametrelerini kullandığımız için Ahmet, Mehmet yazacak. Yani program ekrana alt alta Mehmet, Ahmet, Mehemet yazacak.

Procedure’de Forward: Procedure ler ana programdan önce tanımlanmalıdır. EÄŸer görünüm güzelliÄŸi ve anlaşırlık açısından alt program ana programdan sonra yazılmak istenirse. Ana programdan önce procedure’nin adı ve deÄŸiÅŸkenleri tanımlanıp sonuna Forward eklenir. Bu durumda alt program ana programdan sonra yazıla bilir. Fakat ana programdan önce tannımlanmış olur.

Örnek:

procedure isim(a:integer); Forward;
  
begin
isim (0);
isim (1);
isim (0);
end;

procedure isim
   Begin
   if a:=1 then writeln(’Ahmet’);
   if a:=0 then writeln(’Mehmet’);
   end;

Bu örnek ikinci örnekle aynı işlemi yapmaktadır. Tek farkı alt programın ana programdan sonra yazılmış olmasıdır.

Function: Functionlar da procedureler gibi komut olarak kullanılabilen alt programlardır. Function, Procedureden farklı olarak geriye bir değer döndürür. Döndüreceği değer tibi function tanımlanırken belirtilir. Function içerisinde kullanılacak olan değişkenlerin önceden tanıtılmasına grek yoktur. Değişken isimleri ve tipleri function ile birlikte tanımlanır. 

var
x,y:integer;
function ucgenalan (a,h:integer):integer;
   begin
   ucgenalan := (a*h) div 2;
   end;

begin 
write(’Üçgenin taban uzunluÄŸunu giriniz’);readln(x);
write(’Üçgenin yüksekliÄŸini giriniz’);readln(y);
writeln(ucgnalan(x,y))
end.

Yukarıdaki örnek üçgenin alanını hesaplamak için kullanılan bir function örneÄŸidir. Ana programda girilen taban uzunluÄŸu ve yükseklik deÄŸerleri “ucgenlan” alan isimli functiona gönderilerek ücgenin alanı hesaplanıyor.

 

Bazı ‘Crt’ Komutları:

Turbo Pascal dilinde bazı komutlar Unitler içerisinde yer alır ve bunları kullanmak için programın başında ilgili Unitin belirtilmmesi gerekir. Aksi taktirde bu komutlar program tarafından algılanmaz. Bu derste ‘crt’ Uniti ile kullanılan bazı komutları öğreneceÄŸiz.

Not: Bu sayfadaki komutların kullanılabilmesi için programın başına mutlaka ‘Uses crt;’ satırı eklenmelidir

Ekran Komutları:

Komut:

Kullanım Şekli:

CLRSCR: Ekranın temizlenmesi için kullanılır. Eğer programda window tanımlanmışsa windowun içini tmizler. clrscr;

GOTOXY: İşlemin yapılması istenilen koordinatları belirtmek için kullanılır.

GotoXY (x,y);
WINDOW: Ekranın belirtilen koordinatlarında pencere oluşturmak için kullanılır Window (x1,y1,x2,y2);
DELLINE: O an üzerinde bulunan satırı silmek için kullanılır. Diğer satırlar bir yukarı kayar. DelLıne;
INSLINE: Üzerinde bulunulan satırdan önce bir satır boşluk eklemek için kullanılır. InsLıne;
LOWVIDEO: Yazılan yazının parlaklık oranını düşürmak için kullanılır. LowVideo;
NORMVIDEO: Yazılan yazının parlaklık oranını normale çevirmek için kullanılır. NormVideo;
HIGHVIDEO: Yazılan yazının parlaklık oranını yükseltmek için kullanılır. HıghVideo;
CLREOL: Kursörün bulunduğu noktadan satır sonuna kadar olan kısımı silmek için kullanılır. ClrEOL;
WHEREX: Kursörün bulunduÄŸu noktanın x cordinatını öğrenmek için kullanılır. x:=WhereX  ‘x daha önce tanımlanmış integer bir deÄŸiÅŸkendir.
WHEREY: Kursörün bulunduÄŸu noktanın y cordinatını öğrenmek için kullanılır. y:=WhereY  ‘y daha önce tanımlanmış integer bir deÄŸiÅŸkendir.
   

Renk Komutları:

Komut:

Kullanım Şekli:

TEXTCOLOR: Ekrana yazılan yazının rengini belirtmek için kullanılır. TextColor (Renk);  ‘Renk 0-16 arasındabir tamsayı olamalıdır.
TEXTBACKGROUND: Ekrana yazılan yazının zemin rengini belirlemek için kullanılır. TextBackGround(Renk); ‘Renk 0-16 arasındabir tamsayı olamalıdır.

Renk Tablosu:

DeÄŸer:

  Renk:
0 Siyah
1 Mavi
2 YeÅŸil
3 Turquaz
4 Kırmızı
5 Pembe
6 Kahverengi
7 Parlak Gri
8 Koyu Gri
9 Açık Mavi
10 Açık Yeşil
11 Açık Turquaz
12 Açık Kırmızı
13 Açık Pembe
14 Sarı
15 Beyaz

Ses Komutları

Komut:

Kullanım Şekli:

SOUND: Speakerdan verilen frekans ses çıkratmak için kullanılır. Sound(frekans); ‘frekans herhengi bir sayı deÄŸeridir.
NOSOUND: Sound komutu ile oluşturulan ses devamlı olarak çalar. Çalmayı durudurmak için NoSound komutu kullanılır. NoSound;

DiÄŸer Komutlar:

Komut:

Kullanım Şekli:

READKEY: Basılan tuÅŸ deÄŸerini okumak için kullanılır.Bu komut ile char veri tipinde bir deÄŸer elde edilir. tus:=ReadKey;  ‘tus deÄŸiÅŸkeni daha önce tanımmlanmış olmalıdır.
KEYPRESSED: Bir tuÅŸa basılıp basılmadığını algılamak için kullanılır. Sonuç bir bolean deÄŸiÅŸkendir. if KeyPressed then….
DELAY: Programın akışını belirtilen süre kadar durdurmak için kullanılır. Delay(Süre);  ‘Sure milisaniye cinsinden bir deÄŸerdir.

TextMode:

Komut:

Kullanım Şekli:

TEXTMODE: Ekranın satır ve sütün sayısını ayarlamak için kullanılır. TextMode(Mod);

TextMode Modları:

DeÄŸer:

Mod:

BW40  veya  0 40 X 25  B / W on CGA
CO40  veya  1 40 X 25 Color on CGA
BW80  veya  2 80 X 25  B / W on CGA
CO80  veya  3 80 X 25 Color on CGA
Mono  veya  7 80 X 25  B / W on MDA or HGC
Font 8×8  veya  256 43- / 50 -line mode EGA / VGA

Diziler

Bazen birbirleri ile bağlantılı ve aynı tipte birden fazla değişken kullanılmesı gerekebilir bu durumlarda. Tek tek birden fazla değişken tanımlamak yerine hepsini bir arada tanımlamak daha mantıklıdır. Bu şekilde tanımlanan değişkenler dizi değişkenler denir.

ÖrneÄŸin; 20 farklı isim girilecek bir parogramda, ‘isim’ adlı dizi deÄŸiÅŸken kullanılarak 20 isimi tek deÄŸiÅŸkende tanımlana bilir. Kullandığımız bu dizi  deÄŸiÅŸkende ilk isim, isim[x], ikinci isim isim[x+1], n’inici isim isim[x+n] olacaktır.

Array Komutu: Dizi değişkenleri tanımlamak için array komutu kullanılır. Bu komutta dizi değişkenin kaç tane değişkeni tanımlayacağı ve bu değişken numaralarının kaçtan başlayıp kaçta bitecğini tanımlanır. Ayrıca değişkenin tibide belirtilmak zorundadır.

tek boyutlu bir dizi deÄŸiÅŸken:
değişken_adı : Array[X..Y] Of deşiken_tipi  

iki boyutlu bir dizi deÄŸiÅŸken;
değişken_adı : Array[X..Y,K..L] Of deşiken_tipi  

Tek Boyutlu Diziler: Ortak herhangi bir noktası olmayan fakat aynı özelliği taşıyan birden fazla değişkeni tanımlamak için tek boyutlu diziler kullanılır.

Tek boyutlu dizilrde dizi dğişkeni tanımlama formatı aşğıdaki gibidir. 

değişken_adı : Array[X..Y] Of deşiken_tipi  

Bu formatta ‘X’ dizi deÄŸiÅŸken numaralarının baÅŸlangıç deÄŸeri ‘Y’ ise bitiÅŸ deÄŸeridir.

Örnek: 10 sayı girilmesini bekleyip bu sayıların toplamını ekarana yazdıran bir örneği dizi değişken kullanarak yapalım.

uses Crt;var
sayi: array [1..10] of integer;
i,toplam:integer;

begin
for i := 1 to 10 do
   begin
   clrscr;
   write(’Bir sayı giriniz.’);read(sayi[i]);
   toplam:=toplam+sayi[i];
   end;
clrscr;
writeln(toplam:3:0);
end.

Çok Boyutlu Diziler: Birbiri ile ortak noktaları bulunan birden fazla değişkenin tanımlanması için çok boyutlu diziler kullanılır.

iki yada üç boyutlu bir dizi tanımlamak için iki ayrı format vardır.

değişken_adı : Array[X..Y] Of  Array[K..L] Of deşiken_tipi  

değişken_adı : Array[X..Y,K..L] Of deşiken_tipi  

Örnek: 5 öğrencinin girilen iki notunu okuyup  ortalamalırını ekrana yazdıran programı çok boyutlu dizi yöntemini kullanarak yazalım. (1. ve 2. sınav notları ortalamaya aynı oranda etki etmektedir.)

uses Crt;

var

ogrenci: array [1..5] of array [1..2] of integer;
i,j,toplam:integer;
begin
for i := 1 to 5 do
   begin
   clrscr;
   write(’Birinci notu giriniz.’);read(ogrenci[i,1]);
   write(’İkinci notu giriniz.’);read(ogrenci[i,2]);
   end;
   clrscr;
for j := 1 to 5 do
   begin
   write(j,’. öğrencinin ortalaması=’,(ogrenci[j,1]+ogrenci[j,2])/2:3:0);
   end;
end.

 

Sayısal İşlem Komutları

Turbo Pascal’ da dört iÅŸlem dışındaki komutlar ‘Crt’ Untili içerisindedir. Bu komutların çalışabilmesi için; programın başında ‘Crt’ Untili tanımlanmalıdır.

Not: Bu sayfadaki komutların kullanılabilmesi için programın başına mutlaka ‘Uses crt;’ satırı eklenmelidir

Komut:

Kullanım Şekli:

ABS: Belirtilen sayısal ifadenin mutlak değerini bulmak için kullanılır. Abs(x);

SIN: Belirtilen sayısal ifadenin sinüs değerini verir. Sonuc reel tipte bir sayıdır.

Sin(x);
COS: Belirtilen sayısal ifadenin cosinüs değerini verir. Sonuc reel tipte bir sayıdır. Cos(x);
ARCTAN: Belirtilen sayısal ifadenin arctanjant değerini verir. Sonuc reel tipte bir sayıdır. ArcTan(x);
INC: Belirtilen sayısal deÄŸiÅŸkenin deÄŸerini istenen sayıda arttırmak için kullanılır. Inc(x,y);  ‘x sayısal ifade y ise, x in artış miktarı.
DEC: Belirtilen sayısal deÄŸiÅŸkenin deÄŸerini istenen sayıda azltmak için kullanılır. Inc(x,y);  ‘x sayısal ifade y ise, x in azalma miktarı.
INT: Belirtilen sayısal ifadenin ondalık kısmını atmak için kullanılır. Int(x);
FRAC: Belirtilen sayısal ifadenin ondalık kısmını alıp, tam kısmını atmak için kullanılır Frac(x);
EXP: Belirtilen sayısal ifadenin e üssü deÄŸerini verir, yani ex ‘in deÄŸerini verir  Exp(x);
LN: Belirtilen ifadenin Ln logaritmik değerini bulmak için kullanılır. Ln(x);
PI: Pi sabit sayısının deÄŸeridir. Karşılığı yaklaşık olarak 3,141592653589 ‘dır. Pi  ‘deÄŸer bir deÄŸiÅŸkene atanarak yada direk formül içerisinde kullanılabilir.
SQR: Belirtilen sayısal ifadenin karesini almak için kullanılır. Sqr(x);
SQRT: Belirtilen sayısal ifadenin karekökünü almak için kullanılır. Sqrt(x);
ODD: Belirtilen sayısal ifadenin tek sayı olup olmadığını gösteren bolean tipi bir ifadedir. Odd(x);
ORD: Belirtilen karakterin ASCII kodunu verir. CHR komutunun tersi. Ord(x);  ‘burdaki x char tipi bir ifadedir. 
ROUND: Belirtilen ondalıklı sayısal ifadeyi kendisine en yakın tam sayıya yuvarlar. Round(x);
RANDOM: 0 ile belirtilen sayı arasında rasgele sayı üretmek için kullanılır. Random(x);
RANDOMIZE: Random komutunun farklı sayılar üretmesini saÄŸlar. Randomize;   ‘random(x) komutundan önce kullanılır. 
TRUNC: Belirtilen sayısal ifadenin tamsayı kısmını almak için kullanılır. Trunc(x);
VAL: Sayısal deÄŸer içeren sitring ifadeyi sayısal ifadeye çevirmek için kullanılır.  Val(string ifade,sayısal ifade,x);  ‘çevirme doÄŸru olarak gerçekleÅŸirse x deÄŸiÅŸkeni 0 deÄŸeri alır.
   
   
Yorum yaz