program hatvanyozas; uses Crt, Rutin; var k : integer; s,a : real; jel : char; begin repeat ClrScr; WriteXY(10,1,'H A T V N Y O Z S L E G E N D R E - M O D S Z E R R E L'); { beolvass } WriteXY(3,3,'Add meg az alapot : '); RealRead(a); { a k kitev nem lehet negatv } repeat WriteXY(6,5,'Add meg a kitevt : '); IntRead(k); until k>=0; { kirjuk az a^k = } GotoXY(10,7); Write(a:1:10,'^',k,' = '); { 0^k = 0 miatt az a alap vizsglata } if a=0 then s:=0 else s:=1; { ciklus mg a kitev el nem fogy } while k>0 do if Odd(k) then begin s:=s*a; Dec(k); end else begin a:=a*a; k:=k div 2; end; { az s hatvny kiratsa } Write(s:2:10); { varakozas } WriteXY(40,25,'ESC kilps, brmi ms jraindts'); jel:=ReadKey; until jel=#27; end.