program funcDanproc_dan_PesanLokasiArray ;
uses wincrt;
var input,keren:longint ;
var angka,angka2, angka3,borokokok: longint;

var a :array [1..3] of longint;
var i:longint;
var cihuy: byte;

procedure garis;
begin
writeln (‘!!!!!!!!!!!!!!!!!!!!!!!!!!!!!’);
end;

procedure garis2;
begin
writeln (‘+++++++++++++++++++++++++++++’);
end;

function hasil (var a:longint) : longint ;
var borokokok,asoy,hasil2 : longint;
begin
hasil :=angka2+angka3;
end;

procedure inputan(var asoy:longint);

begin
for i :=1 to 3 do
begin
write (‘Untuk a’,i,’: ‘);
readln (a[i]);

end;
writeln;
write (‘Anda akan memilih a yang ke- : ‘);
readln (cihuy) ;
writeln (‘Maka a yang ke-‘,cihuy,’ adalah ‘,a[cihuy]);
write (‘Masukkan p = ‘);
readln (asoy);
write (‘Masukkan q = ‘);
readln (borokokok);
write (‘Maka perpangkatannya menjadi : ‘);
writeln (a[cihuy],’^’,asoy,’ x ‘,a[cihuy],’^’,borokokok,’ = … ‘);
write (‘Dan hasilnya adalah : ‘);
readln ;
writeln (‘::’,a[cihuy],’^’,asoy+borokokok,’::’);
writeln ;
writeln (‘Beri tepuk tangan buat saya’);

end;

begin
garis2 ;
writeln (‘Program pangkat bulat fositif’);
garis2 ;
writeln (‘Bentuk umum perkalian pangkat’);
writeln (‘a^p x a^q = a^p+q’);
writeln ;
garis ;
writeln (‘Coba anda buat soal sendiri’);
write (‘a = ‘);
readln (angka);
write (‘p = ‘);
readln (angka2);
write (‘q = ‘);
readln (angka3);
writeln;
write (‘Maka ‘,angka,’^’,angka2,’ x ‘,angka,’^’,angka3);
writeln (‘ = ‘,angka,’^’,hasil(input));
garis ;
readln ;
clrscr ;
writeln (‘Sekarang coba anda masukkan beberapa angka ! ‘);
inputan (input);

end.