logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak napisać kalkulator w Turbo Pascal z funkcjami matematycznymi?

VIRUS_21 30 Maj 2007 17:47 17671 4
REKLAMA
  • #1 3936544
    VIRUS_21
    Poziom 2  
    Posty: 3
    potrzebuje waszej pomocy w zaliczeniu w szkole mam do wykonania program

    "Kalkulator z menu który dodaje, odejmuje,mnoży , dzieli, liczy silnie, dzieli 2 liczby, sume i srednia n liczb, liczy pole powierzchni: trójkąta,koła, kwadratu"

    był bym wdzieczny gdyby mi ktos pomógł:cry:
  • REKLAMA
  • #2 3936618
    przemo_wielki
    Poziom 24  
    Posty: 583
    Pomógł: 61
    Ocena: 10
    Nikt nie odrobi za Ciebie zadania ! Wykaż inicjatywę wstaw chociaż to co sam zrobiłeś ...
  • REKLAMA
  • #3 3936962
    VIRUS_21
    Poziom 2  
    Posty: 3
    Program kalkulator;
    uses crt;
    var
    a,b,c,w,w1,w2,w3,w4,w5:real;znak:char;
    label {menu,poczatek,dodawanie,odejmowanie,dzielenie,mnozenie,pierwiastek,kwadrat,}koniec;
    procedure MENU; forward;
    procedure DODAWANIE;
    begin
    clrscr;
    writeln('obliczenie wyrazenia a+b+c');
    write('a=');
    read(a);
    write('b=');
    read(b);
    write('c=');
    read(c);
    w:=a+b+c;
    writeln('wynik wynosi',' ',w:0:2);
    write('press any key');
    readkey;
    MENU;
    end;
    procedure ODEJMOWANIE;
    begin
    clrscr;
    writeln('obliczenie wyrazenia a-b-c');
    write('a=');
    read(a);
    write('b=');
    read(b);
    write('c=');
    read(c);

    w1:=a-b-c;
    writeln('wynik wynosi',' ',w1:0:2);
    write('press any key');
    readkey;
    MENU;
    end;
    procedure MNOZENIE;
    begin
    clrscr;
    writeln('obliczenie wyrazenia a*b*c');
    write('a=');
    read(a);
    write('b=');
    read(b);
    write('c=');
    read(c);
    w2:=a*b*c;
    writeln('wynik wynosi',' ',w2:0:2);
    gotoxy(10,15);
    write('press any key');
    readkey;
    MENU;
    end;
    procedure DZIELENIE;
    begin
    clrscr;
    writeln('obliczenie wyraľenia a/b/c');
    write('a=');
    read(a);
    write('b=');
    read(b);
    write('c=');
    read(c);
    w3:=a/b/c;
    writeln('wynik wynosi',' ',w3:0:2);
    gotoxy(10,15);
    write('press any key');
    readkey;
    MENU;
    end;

    procedure PIERWIASTEK;
    begin
    clrscr;
    writeln('obliczenie pierwiastka kwadratowego z liczby a');
    write('a=');
    read(a);
    w4:=sqrt(a);
    writeln('wynik wynosi',' ',w4:0:2);
    gotoxy(10,15);
    write('press any key');
    readkey;
    MENU;
    end;

    procedure KWADRAT;
    begin
    clrscr;
    writeln('obliczenie kwadratu liczby a');
    write('a=');
    read(a);
    w5:=sqr(a);
    writeln('wynik wynosi',' ',w5:0:2);
    gotoxy(10,15);
    write('press any key');
    readkey;
    MENU;
    end;

    procedure MENU;
    begin
    clrscr;
    writeln('MENU');
    writeln('1->dodawanie');
    writeln('2->odejmowanie');
    writeln('3->mnozenie');
    writeln('4->dzielenie');
    writeln('5->pierwistek');
    writeln('6->kwadrat');
    writeln('wyjscie z programu 7');
    writeln('wybierz cyfre dzialania ktore chcesz wykonac ');
    znak:=readkey;
    if znak='1' then dodawanie;
    if znak='2' then odejmowanie;
    if znak='3' then mnozenie;
    if znak='4' then dzielenie;
    if znak='5' then pierwiastek;
    if znak='6' then kwadrat;
    if znak='7' then halt;
    end; {end menu}

    begin
    writeln('KALKULATOR');
    menu;
    end.


    wstawiam to co znalazłem w necie samemu jest mi ciezko jest to zrobic jesli moge prosic o silnie do tego co jest jesli mozecie jesli nie to trudno :(
  • REKLAMA
  • #4 3937824
    przemo_wielki
    Poziom 24  
    Posty: 583
    Pomógł: 61
    Ocena: 10
    Od razu lepiej ;) Oto moja propozycja programu (wydaje mi sie prostszy)
    PS: nie wrzucałem pola kwadratu i trójkąta bo z tym już sobie poradzisz ;)
    var
    a,b,c,s,w:real;
    znak,i,n:byte;
    d:longint;
    tab:array[1..100]of real;
    
    procedure DODAWANIE;
    begin
    w:=0;
    writeln('obliczenie wyrazenia a+b+c');
    write('a='); readln(a);
    write('b='); readln(b);
    write('c='); readln(c);
    w:=a+b+c;
    writeln('wynik wynosi: ',w:0:2);
    end;
    
    procedure ODEJMOWANIE;
    begin
    w:=0;
    writeln('obliczenie wyrazenia a-b-c');
    write('a='); readln(a);
    write('b='); readln(b);
    write('c='); readln(c);
    w:=a-b-c;
    writeln('wynik wynosi: ',w:0:2);
    end;
    
    procedure MNOZENIE;
    begin
    w:=0;
    writeln('obliczenie wyrazenia a*b*c');
    write('a='); readln(a);
    write('b='); readln(b);
    write('c='); readln(c);
    w:=a*b*c;
    writeln('wynik wynosi: ',w:0:2);
    end;
    
    procedure DZIELENIE;
    begin
    w:=0;
    writeln('obliczenie wyrazenia a/b/c');
    write('a='); readln(a);
    write('b='); readln(b);
    write('c='); readln(c);
    w:=a/b/c;
    writeln('wynik wynosi: ',w:0:2);
    end;
    
    procedure PIERWIASTEK;
    begin
    w:=0;
    writeln('obliczenie pierwiastka kwadratowego z liczby a');
    write('a='); readln(a);
    w:=sqrt(a);
    writeln('wynik wynosi: ',w:0:2);
    end;
    
    procedure KWADRAT;
    begin
    w:=0;
    writeln('obliczenie kwadratu liczby a');
    write('a='); readln(a);
    w:=sqr(a);
    writeln('wynik wynosi: ',w:0:2);
    end;
    
    procedure SILNIA;
    begin
    w:=1;
    writeln('obliczenie silni liczby a');
    write('a='); readln(d);
    for i:=1 to d do w:=w*i;
    writeln('wynik wynosi: ',w:0:2);
    end;
    
    procedure SREDNIA;
    begin
    w:=0; s:=0;
    writeln('obliczenie sredniej n liczb');
    write('n='); readln(n);
    for i:=1 to n do
    begin
    write('podaj liczbe ',i,': '); readln(tab[i]);
    s:=s+tab[i];
    end;
    w:=s/n;
    writeln('wynik wynosi: ',w:0:2);
    end;
    
    procedure POLEKOLA;
    begin
    w:=0;
    writeln('obliczenie pola kola o promieniu r');
    write('r='); readln(a);
    w:=pi*a*a;
    writeln('wynik wynosi: ',w:0:2);
    end;
    
    begin
    repeat
    writeln('MENU');
    writeln('1->dodawanie');
    writeln('2->odejmowanie');
    writeln('3->mnozenie');
    writeln('4->dzielenie');
    writeln('5->pierwistek');
    writeln('6->kwadrat');
    writeln('7->silnia');
    writeln('8->srednia');
    writeln('9->pole kola');
    writeln('0->wyjscie');
    write('wybierz opcje: '); readln(znak);
    writeln;
    if znak=1 then dodawanie;
    if znak=2 then odejmowanie;
    if znak=3 then mnozenie;
    if znak=4 then dzielenie;
    if znak=5 then pierwiastek;
    if znak=6 then kwadrat;
    if znak=7 then silnia;
    if znak=8 then srednia;
    if znak=9 then polekola;
    if znak=0 then exit;
    writeln;
    until znak=0;
    end.
  • #5 3940060
    VIRUS_21
    Poziom 2  
    Posty: 3
    przemo wielki dzieki ci dobry czlowieku temat mozemy zamknac
    dzieki jeszcze raz !!!!!!
REKLAMA