Pascal programlama dili
hakkında konumsak gerekirse Dos tabanlı olmasına rağmen suan da
kullanılan bir çok işletme ve kurumlar var.Pascal programlama dili
programlamaya başlayacak bir insan için iyi bir başlangıç olur.Nedeni
ise programlama dilinin mantığını öğrenmiş olursunuz.Pascal programlama
dilinin baksa bir yararı ise Delphi programlama diline geçiş yapacak bir
kişinin Pascal la başlaması sonucunda Delphi programlama dilinin
tabanını kurmuş oluruz.
1) Program Saklama
Bunun için File menüsünden Save veya F2 tuşu ile yapabilirsiniz.
Farklı bir İsim içinde Save As bileşenlerini kullanabilirsiniz.
2) Program Çağırma
File menüsünden Open seçeneği ile veya F3 tuşu ile
3) Program Çalıştırma
Run menüsünden Run seçeneği veya Alt+F9 Bileşenleri ile
Özel Semboller
+ , - , / , * aritmatik işlemlerde kullanılırlar.
= , <> karşılastırma işlemlerinde kullanılırlar.
; Pascal komut ve deyimlerini birbirinden ayırmak için kullanılır.
:= değişkenlere değer atamak için kullanılır.
: değişken tanımlama sırasında değişkenle tipi arasına konulur.
Atama İşlemi
Değişken:=ifade;
Ör:İki Sayıyı Toplayan programı yazalım.
Uses Crt;
Var
a,b,c:Integer;
Begin
Write(1. Sayıyı Girin=);readln(a);
Write(2. Sayıyı Girin =);read(b);
C:=a+b;
Write(sayıların Toplamı,c);
End;
Veri Tipleri
Tip Adi Sınırı Kapladığı Alan
ShortInt -128 128 1 byte
Byte 0 255 1 byte
Integer -32768 -32767 2 byte
Word 0 65535 2 byte
LongInt -2147483648 217483647 4 byte
String 1& 255 karekter Alan tanımlama Şekline Göre değişir.
Char 1 byte
Real : Bölme İşlemi yapılıp sonucu atılacak Değişkenler böyle tanımlanır.
Ör: Tanımlamalar.
Tus : char;
Ad : string;
Telno : string;
Sayi : Integer;
Bölüm: real;
Sayi : byte;
Programlamaya Giriş
Uses Crt;
Var Bu komut Değişken tanımlanacaksa yazılır.yoksa yazılmaz.
Begin programa baslamak için kullanılır.
Write
- Writeln(Sayıyı Girin) ; Evet bu komut kullanıcıyı bilgilendirmek
amacı ile kullanılır sözel Bilgi kısımları arasına yazılır.Eğer bilgi
sayısal ise Write(değişken); Writeln( )kullanırsanız bilgi alt satırdan
istenir veya yazılır.)
Read-Readln( değişken ) Değişkene
kullanıcıdan alınacak bir bilgiyi atamak için kullanılır,Readln yazar
iseniz bilgi alt satırda istenecektir.
İşlemLer
Readln; (bu komut Program tarafından bir tuşa basılana kadar programdan çıkmaz.)
End. Program sonu ise nokta konulur.
Şimdi Tam Bir Program yazalım
Ör:3 yazılı notunu alıp ortalamasını yapan program.
Uses Crt;
Var
a,b,c:Integer;
ortalama:Real;
Begin
Writeln(1.sayı);readln(a);
Writeln(2.sayı);readln(b);
Writeln(3. sayi);readln(c);
Ortalama:=(a+b+c)/3 ; İşlemler matematikteki gibidir.Önce parantez içleri ele alınır.
Writeln(ortalamanız =,ortalama);
Readln;
End.
Bu
komutlarla biraz uygulama yapın kendinize göre ki komutların
kullanımlarını geliştirmeniz ve daha fazla şeyler yapmanız gerekir.
Evet Şimdiki 3 Konuyu İyi Anlamalıyız.!
1_)KARŞILAŞTIRMA KOMUTLARI
If Then Else
IF(eger) Şart Then(ise) komut-komutlar Else(degilse) komut veya komutlar.
Ör: If a
Eger a sayısı buyukse ayı bir artirdim Degılse b yi Bir artırdım.
Ör:If (a>b) and (a>c) then Write(A sayısı büyük);
Evet burada And kullandık anlamı ve dir.
Ör: Ör:If (a=B ) or (a=b) then Write(Basılan Tuş B harfi );
A sayısı büyük veya küçük b ye eşitse basılan Tuş B harfi sonucunu verir.
Ör:If ort<50 then Write(kaldın)
Else Write(geçti);
2_)Döngüler
a-)For Döngüsü
For değişken:=başlangıç değeri To bitiş Değeri Do
Eğer Tek Komut kullanacaksak
Begin
.
.
End; Bloğuna gerek yok ama eğer çok komut kullanacaksak gerek var örnekle açıklayalım.
Ör: 1 den 100 e kadar olan sayıları ekrana yazan program.
Uses Crt;
Var
I:byte;
Begin
For I:=1 To 100 Do
Write(I);
Readln;
End.
Eğer tersten işlem yapacaksak ör 100 den 1 e kadar olan sayıları ekrana yazacak olursak To terine Down To yazarız.
Ör:1 den 10 a kadar olan sayıların toplamı.
Uses Crt;
Var
I:=byte;
Toplam:byte;
Begin
Toplam:=0;
For I:=1 To 10 do
Begin
Toplam:=Toplam+I;
End;
Write(sayıların toplamı ,toplam);
Readln;
End.
Toplam:=toplam+I; komutu ile I bir olunca Toplam sıfırdı yani toplam:=0+1;
Oldu I=2 olunca Toplam:=1+2; olur.
Ör:Ekrana 10 defa Mustafa yazdıran program.
Uses Crt;
Var
I:=byte;
Begin
Toplam:=0;
For I:=1 To 10 do
Begin
Write(mustafa);
End;
Readln;
End.
Case Of
İstenen İşlemleri yapmak için kullanılan komuttur.
Case İfade Of
Olması gereken: Begin
Komut veya komutlar
End;
Olması gereken: Begin
Komut veya komutlar
End;
Ör:
Girilen
iki sayının kullanıcı tarafından dört işlemden biri seçilerek, işlem
bittikten sonra sonucu ekrana yazan programı yazalım.
Uses Crt;
Var
a,b,secim: Integer;
sonuc: Real;
Begin
clrscr;
Writeln('1. sayiyi girin=');readln(a);
Writeln('2. sayıyı girin=');readln(b);
clrscr;
Writeln ('Toplama için 1 tuşuna');
Writeln('Çıkarma için 2 tuşuna');
writeln('Çarpma icin 3 tusuna');
writeln('Bölme icin 4 tusuna bas�n');
Writeln('Seciminiz..:');readln(secim);
Case secim of
1:write('toplam...:',a+b);
2:write('Fark...:',a-b);
3:write('çarp�m....:',a*b);
4:write('Bolum...:',a/b2); (burada bölümden çıkan ondalık sayıdan sağdan 2 tane sayı alınır.)
End;
Readln;
End.
Evet
arkadaşlar program çalışıyor ama burada yazılan hiçbir programı
kopyalayarak Pascal a atmayın çünkü çalışmaz.siz buna örneklere bakarak
Pascal da yeniden yazın.
3_)Repeat Until
İstenen şart veya şartlar sağlanıncaya kadar istenene işlemlerin tekrarlanmasını sağlar.
Repeat
Komut Komutlar
Until Şart
ÖR :bu örnekte az once For döngüsünde yaptığımız bir den 10 a kadar olan sayıları toplamını yapacaz.
Uses Crt;
Var
I:byte;
Begin
I:=0;
Repeat
I:=I+1;
Toplam:=Toplam+1;
Until I=10;
Write(sayıların toplamı ,Toplam);
Readln;
End.
ÖR:Biraz daha gelişmiş bir örnek yapalım Girilen 10 sayının içinden pozitif ve negatiflerin sayısını bulan programı yapalım.
uses crt;
var
I:byte;
sayi,nssayisi,pssayisi:Integer;
Tus:char;
Begin
clrscr;
For I:=1 to 10 do
begin
Write(I,'.Sayiyi girin... :');read(sayi);
IF sayi>0 then pssayisi:=pssayisi+1;
IF sayi<0 then nssayisi:=nssayisi+1;
End;
WRiteln('pozitiflerin Sayisi...:',pssayisi);
writeln('negatiflerin Sayisi...:',nssayisi);
Tus:=readkey;
Burada bu değişkenin tanımına bakın.Ve yeni bir şey öğrenmiş olduk
burada işlemler yapıldıktan sonra kullanıcı tarafından bi tusa basılana
kadar program bekler.)
end.
Ör:Bir firmada çalışanlara normal ücretlerine ek parça yaparlarsa ona göre alıyorlar.
Parça sayısı (1-10 arası için parça başına 50 Ytl
Parça sayısı (1-30 arası için parça başına 80 Ytl
Parça sayısı 30 ve yukarısı için parça başına 120 ytl
Buna göre normal maaşı ve parça sayısına göre maaşı hesaplayan programı yazın.
uses crt;
var
nm,em,tm:longInt;
ps,eucret:Integer;
Tus:char;
begin
clrscr;
Repeat
Writeln('normal Maasi girin...:');read(nm);
WRiteln('Par!a sayisini girin...:');read(ps);
IF (ps>0) and (ps<10) then eucret:=50;
IF (ps>10) and (ps<30) then eucret:=80;
IF ps>30 then eucret:=120;
Em:=ps*eucret;
tm:=em+nm;
Writeln('Toplam maas...:',tm);
writeln;
writeln;
writeln;
Writeln('Cıkmak icin "ESC" tusuna basin');
Tus:=readkey;
until
Tus=#27; ( Burada programdan çıkışı EsC ile yaptık bunlara cok dikket
etmelisiniz. Ve daha fazla örnekle buları anlamayha çalışmalısınız.);
End.
Evet şimdide biraz Komut öğrenelim.
1.*********oXy(Satir,Sutun)
Programda kürsörü istenilen satir ve sutuna taşır.
2.Readkey
Klavyeden bir tuşa basılmasını ister.
3. Keypressed
Klavyeden bir tuşa basılana kadar istenilen işlemlerin yapılmasını sağlar.
4.Textcolor(renk no)
Adındanda anlasılacağı gibi yazı rengini belirler.
5.Textbackgroung
Arka pilan rengini belirler.
Bunlarla İlgili bir örnek yapalım.
Ör:kullanıcı
tarafından girilen bir ifadeyi mavi renkte arka plan yesil olan ve bir
kadar yazma işlemi devam eden ESC ye basınca çıkan programı yazalım.
uses crt;
var
m:string;
Tus:char;
begin
clrscr;
textcolor(1);
textbackground(2);
write('mesaj girin');readln(m);
repeat
repeat
write(m);
Until keypressed;
Tus:=readkey;
Until Tus=#27;
End .
KOMUTLAR
1) Lenght(sitring değişken)
Verilen string ifadenin karekter sayısını verir.
2) copy(string değişken,başlangıç değeri ,bitiş değeri)
Verilen string ifadenin istenilen bölümünü almak için kullanılır.
3) Delete(string değişken,Başlangıç değeri ,Bitiş değeri)
Verilen string ifadeden karekter silmek için kullanılır
4) Upcase(karakter);
Verilen string ifadedeki küçük harfleri büyük harfe Çevirir.
5) Chr(kod);
AscII kodu verilen karekteri verir.
6) Int(sayısal ifade);
Verilen sayısal ifadenin tam sayı kısmının verir.Yani sayısal ifadenin ondalıklı kısmının atar.
7) Frac(sayısal ifade);
Verilen sayısal ifadenin ondalıklı kısmını verir.
Sqrt(sayısal ifade);
Verilen sayısal ifadenin karekökünü verir.
Sonucu real tipte bir bilgidir.o yuzden işlemin sonucunu atayacağınız değişkeni real tipte tanımlayacaz.
10) Sqr(sayısal İfade);
Veirlen sayısal ifadenin karesini alır.
9) Odd(sayısal ifade);
Verilen sayısal ifadenin tek sayı olup olmadığının kontrol eder.
10) Ord(char ifade);
Verilen karekterin kodunu verir.Chr fonksiyonunun ter işlemini yapar.
11) Randomize
Random(sayısal ifade);
Bunları bir konuda ele aldım nedeni ise random sayı üretir. Randomize ise her defasında farklı sayı uretmeyi sağlar.
12) Trunc(sayısal ifade);
Verilen sayısal ifadenin tam sayı kısmını verir.
13) Val(string ifade,sayısal ifade,kod);
Verilen string ifadeyi sayısal ifadeye çevirir.
14) Str(sayısal ifade);
Verilen sayısal ifadeyi string ifadeye çevirir.