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. |
| Â | Â |
| Â | Â |
Yazılar(RSS)