{(c) 2001 Emur http://emur.org} {Pocitani mocnin i se zapornymi cisly! Osetreny mozne chyb. hlasky} program mocniny; uses crt; var x,a,n,vysl :longint; chyba :integer; vysl2 :real; mocnina :string; label zas; begin clrscr; textcolor(yellow); writeln; writeln(' EMUROVO pocitani mocnin'); textcolor(white); writeln(' Program pocita mocniny az do cisla ',maxlongint,'.'); writeln(' Muzete pouzivat pouze cela cisla, konec ESC.'); gotoxy(67,25); write('(C) EmuR 2001'); window(15,7,70,23); clrscr; zas: repeat {Opakovani do stisku ESC} textcolor(white); repeat {$I-} write(' Zadej zaklad mocneni: '); readln(x); write(' Zadej mocninu: '); readln(n); {$I+} until IOResult=0; {Ceka na zadani cisla} vysl:=1; vysl2:=1; textcolor(yellow); Str(n,mocnina); if mocnina[1] = '-' then {zaporna mocnina} begin delete(mocnina,1,1); Val(mocnina,n,chyba); for a:=1 to n do vysl2:=vysl2*x; writeln(' ',x,' na -',n,'. je ',1 /vysl2:10:10); writeln; end else begin {kladna mocnina} for a:=1 to n do begin if abs(maxlongint/x) > vysl then vysl:=vysl*x else begin writeln(' Prilis velke cislo !'); writeln; if readkey=#27 then halt(1) else goto zas; end; end; writeln(' ',x,' na ',n,'. je ',vysl); writeln; end; until readkey = #27; end.