Program Stack Part 1 (Deklarasi Variabel)

Dibagian pertama ini saya akan menampilkan deklarasi variabel apa saja yang digunakan dalam program ini. Berikut macam-macam variabel tersebut :
 
uses crt;
Label awal,20,30,40,akhir;
var pil:integer;
var pil2:char;
(*deklarasi variabel program membalik huruf dan kata*)
const elemen = 255;
(*mendeklarasikan konstanta elemen = 255 yang merupakan batas
index maksimal*)
type s255 = string[elemen];
tumpukan = record
isi:s255;
atas: 0..elemen;
end;
var t: tumpukan; (*nama tumpukan*)
i, k, l, m: integer; (*pencacah*)
kalimat, word: s255; (*kalimat yang dibalik*)
procedure awalan(var t: tumpukan);
(*inisialisasi tumpukan/stack*)
begin
t.atas:=0;
end;
procedure push1 (var t:tumpukan; x: char);
(*procedure untuk memasukkan elemen ke dalam tumpukan*)
begin
t.atas:=t.atas+1;
t.isi[t.atas]:= x;
end;
(*Untuk memasukkan elemen ke stack, selalu menjadi elemen teratas stack, Tambah satu (increment)
nilai top of stack terlebih dahulu setiap kali ada penambahan elemen stack, asalkan stack masih belum penuh,
kemudian isikan nilai baru ke stack berdasarkan indeks top of stack setelah ditambah satu (diincrement)*)
function pop1(var t:tumpukan):char;
(*fungsi untuk mengambil elemen dari tumpukan*)
begin
pop1:=t.isi[t.atas];
t.atas:=t.atas-1;
end;
(*Untuk mengambil elemen teratas dari stack. Ambil dahulu nilai elemen teratas stack dengan mengakses top of stack,
tampilkan nilai yang akan diambil terlebih dahulu, baru didecrement nilai top of stack sehingga jumlah elemen stack berkurang*)


(*deklarasi variabel konversi notasi infix ke postfix)
var
  okunan:string[50];
  ifade,yeni:array[1..30] of string;
  temp,uzunluk,j,i4,top,code,n,ptr,sayi1,sayi2,carp,ii:integer;
  token:string;
  sayilar:set of 0..9;
  a1,stack_elemani,tut:char;
  stack:array[1..10] of char;
  sayi_stack:array[1..20] of integer;
{
  PUSH process
}
Procedure push2(oprtr:char);
begin
  ptr:=ptr+1;
  stack[ptr]:=oprtr;
end;
{
  POP2 process
}
Function pop2:char;
begin
  if ptr=0  then
   begin
   pop2:=' ';
   end
  else
    begin
        pop2:=stack[ptr];
        ptr:=ptr-1;
    end;
end;

0 komentar:

Tutorial Matematika

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | GreenGeeks Review