{$APPTYPE CONSOLE}
Program Kalkulator;
Uses SysUtils;
Function GetInput( Title: String ) : Integer ;
Var Temp: String ;
Out : Integer ;
Begin
Write ( Title+ ' ' ) ;
Readln ( Temp) ;
if ( not TryStrToInt( Temp, Out) ) Then
Begin
Writeln ( '' , Title, '' ' nie jest liczba!' ) ;
Readln ;
Halt;
End ;
GetInput : = Out;
End ;
Procedure Dodawanie( A, B: Integer ) ; pascal;
Begin
Writeln ;
Writeln ( A, '+' , B, '=' , A+ B) ;
End ;
Procedure Odejmowanie( A, B: Integer ) ; pascal;
Begin
Writeln ;
Writeln ( A, '-' , B, '=' , A- B) ;
End ;
Procedure Dzielenie( A, B: Integer ) ; pascal;
Begin
Writeln ;
Writeln ( A, '/' , B, '=' , A/ B: 6 : 4 , ' (reszta ' , A mod B, ')' ) ;
End ;
Procedure Mnozenie( A, B: Integer ) ; pascal;
Begin
Writeln ;
Writeln ( A, '*' , B, '=' , A* B) ;
End ;
Procedure Pierwiastek( A: Integer ) ; pascal;
Begin
Writeln ;
Writeln ( 'sqrt(' , A, ')=' , sqrt ( A) : 6 : 4 ) ;
End ;
Procedure Potega( A, B: Integer ) ; pascal;
Function Power( iBase, iExponent: Integer ) : Extended;
Begin
Power : = Exp ( Ln ( iBase) * iExponent) ;
End ;
Begin
Writeln ;
Writeln ( A, '^' , B, '=' , round( Power( A, B) ) ) ;
End ;
Procedure Silnia( A: Integer ) ; pascal;
Var Res, I: Integer ;
Begin
Res : = 1 ;
For I : = 1 To A Do
Res : = Res* I;
Writeln ;
Writeln ( A, '!=' , Res) ;
End ;
Procedure MainMenu;
Const Opcje: Array [ 0 .. 7 ] of String = ( 'dodawanie' , 'odejmowanie' , 'dzielenie' , 'mnozenie' , 'pierwiastek' , 'potega' , 'silnia' , 'wyjscie' ) ;
Var Opcja: String ;
I, Op: Integer ;
Begin
Op : = - 1 ;
Repeat
Writeln ;
Write ( 'Podaj nazwe dzialania do wykonania: ' ) ;
Readln ( Opcja) ;
Opcja : = LowerCase( Opcja) ;
For I : = Low( Opcje) To High( Opcje) Do
if ( Opcja = Opcje[ I] ) Then
Op : = I;
Until ( Op >= 0 ) ;
Case Op Of
0 : Dodawanie( GetInput( 'Podaj skladnik:' ) , GetInput( 'Podaj skladnik:' ) ) ;
1 : Odejmowanie( GetInput( 'Podaj odjemna:' ) , GetInput( 'Podaj odjemnik:' ) ) ;
2 : Dzielenie( GetInput( 'Podaj dzielna:' ) , GetInput( 'Podaj dzielnik:' ) ) ;
3 : Mnozenie( GetInput( 'Podaj czynnik:' ) , GetInput( 'Podaj czynnik:' ) ) ;
4 : Pierwiastek( GetInput( 'Podaj liczbe:' ) ) ;
5 : Potega( GetInput( 'Podaj podstawe:' ) , GetInput( 'Podaj wykladnik:' ) ) ;
6 : Silnia( GetInput( 'Podaj liczbe:' ) ) ;
7 : Halt;
End ;
MainMenu;
End ;
Begin
Writeln ( '--------------' ) ;
Writeln ( '- Kalkulator -' ) ;
Writeln ( '--------------' ) ;
Writeln ;
Writeln ( 'Dostepne funkcje:' ) ;
Writeln ;
Writeln ( 'dodawanie, odejmowanie, dzielenie, mnozenie, pierwiastek, potega, silnia,wyjscie' ) ;
Writeln ;
MainMenu;
End .
eyRBUFBUWVBFIENPTlNPTEV9ClByb2dyYW0gS2Fsa3VsYXRvcjsKVXNlcyBTeXNVdGlsczsKCkZ1bmN0aW9uIEdldElucHV0KFRpdGxlOiBTdHJpbmcpOiBJbnRlZ2VyOwpWYXIgVGVtcDogU3RyaW5nOwogICAgT3V0IDogSW50ZWdlcjsKQmVnaW4KIFdyaXRlKFRpdGxlKycgJyk7CiBSZWFkbG4oVGVtcCk7CiBpZiAobm90IFRyeVN0clRvSW50KFRlbXAsIE91dCkpIFRoZW4KIEJlZ2luCiAgV3JpdGVsbignJywgVGl0bGUsICcnJyBuaWUgamVzdCBsaWN6YmEhJyk7CiAgUmVhZGxuOwogIEhhbHQ7CiBFbmQ7CiBHZXRJbnB1dCA6PSBPdXQ7CkVuZDsKClByb2NlZHVyZSBEb2Rhd2FuaWUoQSwgQjogSW50ZWdlcik7IHBhc2NhbDsKQmVnaW4KIFdyaXRlbG47CiBXcml0ZWxuKEEsJysnLEIsJz0nLEErQik7CkVuZDsKClByb2NlZHVyZSBPZGVqbW93YW5pZShBLCBCOiBJbnRlZ2VyKTsgcGFzY2FsOwpCZWdpbgogV3JpdGVsbjsKIFdyaXRlbG4oQSwnLScsQiwnPScsQS1CKTsKRW5kOwoKUHJvY2VkdXJlIER6aWVsZW5pZShBLCBCOiBJbnRlZ2VyKTsgcGFzY2FsOwpCZWdpbgogV3JpdGVsbjsKIFdyaXRlbG4oQSwnLycsQiwnPScsQS9COjY6NCwnIChyZXN6dGEgJyxBIG1vZCBCLCcpJyk7CkVuZDsKClByb2NlZHVyZSBNbm96ZW5pZShBLCBCOiBJbnRlZ2VyKTsgcGFzY2FsOwpCZWdpbgogV3JpdGVsbjsKIFdyaXRlbG4oQSwnKicsQiwnPScsQSpCKTsKRW5kOwoKUHJvY2VkdXJlIFBpZXJ3aWFzdGVrKEE6IEludGVnZXIpOyBwYXNjYWw7CkJlZ2luCiBXcml0ZWxuOwogV3JpdGVsbignc3FydCgnLEEsJyk9JyxzcXJ0KEEpOjY6NCk7CkVuZDsKClByb2NlZHVyZSBQb3RlZ2EoQSwgQjogSW50ZWdlcik7IHBhc2NhbDsKICBGdW5jdGlvbiBQb3dlcihpQmFzZSwgaUV4cG9uZW50OiBJbnRlZ2VyKTogRXh0ZW5kZWQ7CiAgQmVnaW4KICAgUG93ZXIgOj0gRXhwKExuKGlCYXNlKSAqIGlFeHBvbmVudCk7CiAgRW5kOwpCZWdpbgogV3JpdGVsbjsKIFdyaXRlbG4oQSwnXicsQiwnPScscm91bmQoUG93ZXIoQSwgQikpKTsKRW5kOwoKUHJvY2VkdXJlIFNpbG5pYShBOiBJbnRlZ2VyKTsgcGFzY2FsOwpWYXIgUmVzLCBJOiBJbnRlZ2VyOwpCZWdpbgogUmVzIDo9IDE7CiBGb3IgSSA6PSAxIFRvIEEgRG8KICBSZXMgOj0gUmVzKkk7CiBXcml0ZWxuOwogV3JpdGVsbihBLCchPScsUmVzKTsKRW5kOwoKUHJvY2VkdXJlIE1haW5NZW51OwpDb25zdCBPcGNqZTogQXJyYXlbMC4uN10gb2YgU3RyaW5nID0gKCdkb2Rhd2FuaWUnLCAnb2Rlam1vd2FuaWUnLCAnZHppZWxlbmllJywgJ21ub3plbmllJywgJ3BpZXJ3aWFzdGVrJywgJ3BvdGVnYScsICdzaWxuaWEnLCAnd3lqc2NpZScpOwpWYXIgT3BjamE6IFN0cmluZzsKICAgIEksIE9wOiBJbnRlZ2VyOwpCZWdpbgogT3AgOj0gLTE7CiBSZXBlYXQKICBXcml0ZWxuOwogIFdyaXRlKCdQb2RhaiBuYXp3ZSBkemlhbGFuaWEgZG8gd3lrb25hbmlhOiAnKTsKICBSZWFkbG4oT3BjamEpOwogIE9wY2phIDo9IExvd2VyQ2FzZShPcGNqYSk7CiAgRm9yIEkgOj0gTG93KE9wY2plKSBUbyBIaWdoKE9wY2plKSBEbwogICBpZiAoT3BjamEgPSBPcGNqZVtJXSkgVGhlbgogICAgT3AgOj0gSTsKIFVudGlsIChPcCA+PSAwKTsKIENhc2UgT3AgT2YKICAwOiBEb2Rhd2FuaWUoR2V0SW5wdXQoJ1BvZGFqIHNrbGFkbmlrOicpLCBHZXRJbnB1dCgnUG9kYWogc2tsYWRuaWs6JykpOwogIDE6IE9kZWptb3dhbmllKEdldElucHV0KCdQb2RhaiBvZGplbW5hOicpLCBHZXRJbnB1dCgnUG9kYWogb2RqZW1uaWs6JykpOwogIDI6IER6aWVsZW5pZShHZXRJbnB1dCgnUG9kYWogZHppZWxuYTonKSwgR2V0SW5wdXQoJ1BvZGFqIGR6aWVsbmlrOicpKTsKICAzOiBNbm96ZW5pZShHZXRJbnB1dCgnUG9kYWogY3p5bm5pazonKSwgR2V0SW5wdXQoJ1BvZGFqIGN6eW5uaWs6JykpOwogIDQ6IFBpZXJ3aWFzdGVrKEdldElucHV0KCdQb2RhaiBsaWN6YmU6JykpOwogIDU6IFBvdGVnYShHZXRJbnB1dCgnUG9kYWogcG9kc3Rhd2U6JyksIEdldElucHV0KCdQb2RhaiB3eWtsYWRuaWs6JykpOwogIDY6IFNpbG5pYShHZXRJbnB1dCgnUG9kYWogbGljemJlOicpKTsKICA3OiBIYWx0OwogRW5kOwogTWFpbk1lbnU7CkVuZDsKQmVnaW4KIFdyaXRlbG4oJy0tLS0tLS0tLS0tLS0tJyk7CiBXcml0ZWxuKCctIEthbGt1bGF0b3IgLScpOwogV3JpdGVsbignLS0tLS0tLS0tLS0tLS0nKTsKIFdyaXRlbG47CiBXcml0ZWxuKCdEb3N0ZXBuZSBmdW5rY2plOicpOwogV3JpdGVsbjsKIFdyaXRlbG4oJ2RvZGF3YW5pZSwgb2Rlam1vd2FuaWUsIGR6aWVsZW5pZSwgbW5vemVuaWUsIHBpZXJ3aWFzdGVrLCBwb3RlZ2EsIHNpbG5pYSx3eWpzY2llJyk7CiBXcml0ZWxuOwogTWFpbk1lbnU7CkVuZC4=