Kalkulator

Kalkulator

Program: wielofunkcyjny kalkulator.

Zawierający możliwość obliczenia:

  • silni,
  • NWD,
  • NWW,
  • dodawania,
  • odejmowania,
  • mnożenia,
  • dzielenia,
  • wypisania dzielników,
  • pierwiastku,
  • potęgi.

Program będzie działać tak długo i przyjmować argumenty od użytkownika, aż nie zostanie wypisana cyfra 0.

Kompilator: Turbo Pascal

Galeria:

Program w akcji.

Kod programu:

Program kalkulator;
        uses crt;
        var a,b:longint;
            f:Byte;
{---------------------------------Silnia-------------------------------------}
   function silnia(a:Byte):longint;
            var i,c:longint;
            begin
                 c:=1;
                 for i:=1 to a do c:=c*i;
                 silnia:=c
            end;
{----------------------------------NWD---------------------------------------}
   function nwd(a,b:integer):integer;
         begin
              repeat
              if a>b then a:=a-b else b:=b-a;
              until a=b;
              nwd:=a;
         end;
{----------------------------------NWW---------------------------------------}
   function nww(a,b:integer):Real;
         begin
            nww:=a*b/nwd(a,b);
         end;
{-------------------------------Dodawanie------------------------------------}
     function dodawanie(a,b:integer):longint;
       begin
          dodawanie:=a+b;
       end;
{-------------------------------Odejmowanie----------------------------------}
   function odejmowanie(a,b:integer):longint;
     begin
          odejmowanie:=a-b;
     end;
{--------------------------------Mnozenie------------------------------------}
   function mnozenie(a,b:integer):longint;
     begin
          mnozenie:=a*b;
     end;
{--------------------------------Dzielenie-----------------------------------}
   function dzielenie(a,b:integer):Real;
     begin
          dzielenie:=a/b;
     end;
{--------------------------------Dzielniki-----------------------------------}
    function dzielniki(a:longint):String;
             var i:integer;
                 s,j:string;
             begin
                  s:='1';
                  for i:=2 to a do
                  begin
                       Str(i, j);
                       if a mod i = 0 then s:=s+', '+j;
                  end;
                  dzielniki:=s;
             end;
{--------------------------------Pierwiastek---------------------------------}
    function pierwiastek(a,b:integer):real;
             begin
                  if b<>0 then
                  pierwiastek:=exp(1/b*ln(a))
                  else pierwiastek:=0;
             end;
{---------------------------------Potega-------------------------------------}
   function potega(a,b:integer):real;
            var i,w:integer;
            begin
                 if b=0 then potega:=1
                 else if b<0 then
                     begin
                          b:=-b;
                          w:=1;
                          for i:=1 to b do w:=w*a;
                          potega:=1/w;
                     end
                 else
                     begin
                          w:=1;
                          for i:=1 to b do w:=w*a;
                          potega:=w;
                     end;
            end;
{---------------------------------------------------------------------------}
begin
repeat
clrscr;
Writeln('1 - dodwanie');
Writeln('2 - odejmowanie');
Writeln('3 - mnozenie');
Writeln('4 - dzielenie');
Writeln('5 - NWW');
Writeln('6 - NWD');
Writeln('7 - potega');
Writeln('8 - pierwiastek');
Writeln('9 - silnia');
Writeln('10 - dzielniki liczby');
Writeln('0 - koniec programu');
Writeln('Wprowadz numer opcji: ');
read(f);
  Case f Of
       1 :
       begin
            Writeln('Wprowadz liczbe a: ');
            Read(a);
            Writeln('Wprowadz liczbe b: ');
            Read(b);
            Writeln('Wynik dodawania to: ',dodawanie(a,b));
       end;
       2 :
       begin
            Writeln('Wprowadz liczbe a: ');
            Read(a);
            Writeln('Wprowadz liczbe b: ');
            Read(b);
            Writeln('Wynik odejmowania to: ',odejmowanie(a,b));
       end;
       3 :
       begin
            Writeln('Wprowadz liczbe a: ');
            Read(a);
            Writeln('Wprowadz liczbe b: ');
            Read(b);
            Writeln('Wynik mnozenia to: ',mnozenie(a,b));
       end;
       4 :
       begin
            Writeln('Wprowadz liczbe a: ');
            Read(a);
            Writeln('Wprowadz liczbe b: ');
            Read(b);
            Writeln('Wynik dzielenie to: ',dzielenie(a,b):0:2);
       end;
       5 :
       begin
            Writeln('Wprowadz liczbe a: ');
            Read(a);
            Writeln('Wprowadz liczbe b: ');
            Read(b);
            Writeln('Najmniejsza Wspolna Wielokrotnosc tych liczb to: ',NWW(a,b):0);
       end;
       6 :
       begin
            Writeln('Wprowadz liczbe a: ');
            Read(a);
            Writeln('Wprowadz liczbe b: ');
            Read(b);
            Writeln('Najwiekszy Wspolny Dzielnik tych liczb to: ',NWD(a,b):0);
       end;
       7 :
       begin
            Writeln('Wprowadz podstawe potegi: ');
            Read(a);
            Writeln('Wprowadz wykladnik potegi: ');
            Read(b);
            Writeln('Wynik potegowania to: ',potega(a,b):0:2);
       end;
       8 :
       begin
            Writeln('Wprowadz liczbe do pierwiastkowania: ');
            Read(a);
            Writeln('Wprowadz stopien pierwiastka: ');
            Read(b);
            Writeln('Wynik potegowania to: ',pierwiastek(a,b):0:2);
       end;
       9 :
       begin
            Writeln('Wprowadz liczbe a: ');
            Read(a);
            Writeln('Silnia z ',a,' to: ',silnia(a):0);
       end;
       10 :
       begin
            Writeln('Wprowadz liczbe a: ');
            Read(a);
            Writeln('Dzielniki liczby ',a,' to: ',dzielniki(a));
       end;
       0 : Writeln('Koniec programu');
     else Writeln('Zly wybor, sprobuj jeszcze raz');
     end;
     Writeln('Nacisnij dowolny klawisz, aby wrocic do menu...');
     readkey;
  until f=0;
end.