//Autor: Morfeusz //Nazwa programu: Matematyk //Wersja: 0.02 alpha //Data kompilacji: 10.10.2009 //Oryginalny kod //-g˘wne wytyczne programu program matematyk; uses crt; var wybor, znak : Real; var i : Integer; //-wszystkie procedury procedure kwadratiprostokat_pole; //-procedura oblicza kwadrat i prostokĄt var a,b,znak: real; begin writeln; writeln (‘Pole kwadratu i prostokĄta’); Write (‘podaj dugo† pierwszego boku a—>’); Readln (A); Write (‘podaj dugo† drugiego b—>’); Readln (B); writeln; writeln (‘pole wynosi—>’, A*B:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); READLN; end; procedure trojkat_pole; //-procedura oblicza pole tr˘jkĄta var a,h,znak,w: real; begin writeln; writeln (‘Pole tr˘jkĄta’); Write (‘podaj dugo† pierwszej przyprostokĄtnej a—>’); readln (a); Write (‘podaj wysoko† tr˘jkĄta h—>’); readln (h); writeln; writeln (‘wynik to —>’ , A*H:0:3); writeln; write (‘podaj wynik —>’); readln (w); writeln (‘pole tr˘jkĄta wynosi —>’ , w/2:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure rownologlobok_pole; //-oblicza pole r˘wnolegoboku var a,h,znak: real; begin writeln; writeln (‘Pole r˘wnologoboku’); write (‘podaj dlugo† boku a—)’); readln (a); write (‘podaj wysoko† h—>’); readln (h); writeln (‘pole r˘wnolegoboku wynosi —>’ , a*h:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure romb_pole; //-oblicza pole rombu var e,f,znak,w: real; begin writeln; writeln (‘Pole rombu’); write (‘podaj dugo† pierwszej przekĄtnej e—)’); readln (e); write (‘podaj dugo† drugiej przekĄtnej f—>’); readln (f); writeln; writeln (‘wynik to —>’ ,e*f:0:3); writeln; write (‘podaj wynik —>’); readln (w); writeln (‘pole rombu wynosi —>’ , w/2:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure trapez_pole; //-oblicza pole trapezu var a,b,h,znak,w: real; begin writeln; writeln (‘Pole trapezu’); write (‘podaj dugo† pierwszej podstawy a—>’); readln (a); write (‘podaj dugo† drugiej podstawy b—>’); readln (b); write (‘podaj wysoko† h—>’); readln (h); writeln; writeln (‘wynik to —>’, (A+B)*H:0:3); writeln; write (‘podaj wynik —)’); readln (w); writeln(‘pole trapezu wynosi —>’ , w/2:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure pitagoras; //-korzysta z twierdzenia pitagorasa var a,b,znak: real; begin writeln; writeln (‘Twierdzenie pitagorasa’); write (‘podaj pierwszĄ przyprostokĄtnĄ a—>’); readln (a); write (‘podaj drugĄ przyprostokĄtnĄ b—>’); readln(b); writeln (‘kwadrat przeciwprosotkĄtnej wynosi —>’, A*A+B*B:0:3 ); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure dodawanie; //-dodawanie var a,b,znak : real; begin writeln; writeln (‘Dodawanie liczb’); write (‘podaj pierwszĄ liczb© a—>’); readln(a); write (‘podaj drugĄ liczb© b—>’); readln(b); writeln (‘wynik dodawania licz wynosi —>’, A+B:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure odejmowanie; //-odejmowanie var a,b,znak : real; begin writeln; writeln (‘Odejmowanie’); write (‘podaj pierwszĄ liczb© a—>’); readln (a); write (‘podaj drugĄ liczb© b—>’); readln(b); writeln (‘wynik odejmowania liczb wynosi —>’, A-B:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure mnozenie; //-mnoľenie var a,b,znak : real; begin writeln; writeln (‘Mnoľenie’); write (‘podaj pierwszĄ liczb© a—>’); readln(a); write (‘podaj drugĄ liczb© b—>’); readln (b); writeln (‘wynik mnoľenia liczb wynosi —>’, A*B:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure dzielenie; //-dzielenie var a,b,znak : real; begin writeln; writeln (‘Dzielenie’); write (‘podaj pierwszĄ liczb© a—>’); readln(a); write (‘podaj drugĄ liczb© b—>’); readln (b); if b<>0 then writeln (‘wynik dzielenia liczb wynosi —>’, a/b:0:3) else writeln (‘dzielenie przez zero nie jest moľliwe !’); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure potegi; //-pot©gowanie var l,znak: real; begin writeln; writeln (‘Pot©gowanie’); write (‘podaj liczb© pot©gowanĄ —’); readln (l); writeln (‘wynik pot©gowania wynosi —’ , l*l:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure pierwiastki; //-pierwiastkowanie var a,znak : real; begin writeln; writeln (‘Pierwiastkowanie’); write (‘podaj liczb© —’); readln(a); writeln (‘wynik pierwiastkowania wynosi —’ , SQRT(A):0:10); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure obwod_kwadrat_romb; //-obw˘d kwadratu i rombu var a,znak : real; begin writeln; writeln (‘Obw˘d kwadratu i rombu’); write ('podaj dugo† boku a— '); readln(a); writeln (‘obw˘d kwadratu wynosi —’ , A*4:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure obwod_prostokat_rownologlobok; //-obw˘d prostokĄta i r˘wnolegoboka var a,b,znak : real; begin writeln; writeln (‘Odw˘d prostokĄta i r˘wnolegoboku’); write(‘podaj dugo† boku a—’); readln(a); write (‘podaj dugo† boku b—’); readln(b); writeln (‘obw˘d kwadratu wynosi —’ , A*2+B*2:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure obwod_trapez; //-obw˘d trapezu var a,b,c,d, znak: real; begin writeln; writeln (‘Obw˘d trapezu’); write (‘podaj dugo† boku a—’); readln (a); write (‘podaj dugo† boku b—’); readln (b); write (‘podaj dugo† boku c—’); readln ©; write (‘podaj dugo† boku d—’); readln (d); writeln (‘obw˘d trapezu wynosi —’, A+B+C+D:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); READLN; end; //-procedury do wielkoci fizycznych procedure predkosc_chwilowa; //-pr©dko† chwilowa var v,a,t, znak:real; begin writeln; writeln (‘Pr©dko† chwilowa’); write (‘podaj przespieszenie a—’); readln(a); repeat write (‘podaj czas t—’); readln (t); if t=0 then writeln (‘czas zawsze musi by† wartociĄ dodatniĄ. Podaj poprawny czas’) else writeln (‘Pr©dko† chwilowa wynosi V—’, a*t:0:3); until t0; writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure czas_w_predkosci_chwilowej; //-czas wyliczony z pr©dkoci chwilowej var v,a,t,znak: real; begin writeln; writeln (‘Czas w pr©dkoci chwilowej’); write (‘podaj przyspieszenie a—’); readln(a); write (‘podaj pr©dko† chwilowĄ V—’); readln(v); writeln (‘czas wynosi t—’, V/A:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure przyspieszenie_w_predkosci_chwilowej; //-przyspieszenie z pr©dkoci chwilowej var v,a,t,znak: real; begin writeln; writeln (‘Przyspieszenie w pr©dkoci chwilowej’); write (‘podaj pr©dko† V—’); readln (v); repeat write (‘podaj czas t—’); readln(t); if t=0 then writeln (‘czas zawsze musi by† wartociĄ dodatniĄ. Podaj poprawny czas’) else writeln (‘Przyspieszenie wynosi a—’, v/t:0:3); until t0; writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure predkosc_w_ruchu_jednostajnym; //-pr©dko† w ruchu jednostajnym var v,s,t,znak: real; begin writeln; writeln (‘Pr©dko† w ruchu jednostajnym’); write (‘podaj drog© S—’); readln(s); repeat write (‘podaj czas t—’); readln(t); if t=0 then writeln (‘czas zawsze musi by† wartociĄ dodatniĄ. Podaj poprawny czas’) else writeln (‘Pr©dko† wynosi V—’, s/t:0:3); until t0; writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure droga_w_ruchu_jednostajnym; //-droga w ruchu jednostajnym var v,s,t, znak: real; begin writeln; writeln (‘Droga w ruchu jednostajnym’); write (‘podaj pr©dko† V—’); readln(v); repeat write (‘podaj czas t—’); readln(t); if t=0 then writeln (‘czas zawsze musi by† wartociĄ dodatniĄ. Podaj poprawny czas’) else writeln (‘Droga wynosi S—’, V*T:0:3); until t0; writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure czas_w_ruchu_jednostajnym; //-czas w ruchu jednostajnym var v,s,t,znak: real; begin writeln; writeln (‘Czas w ruchu jednostajnym’); write (‘podaj pr©dko† V—’); readln(v); write (‘podaj drog© S—’); readln(s); writeln (‘Czas wynosi t—’, v/s:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure przyspieszenie_w_2_zasadzie_dynamiki_netwona; //-przyspieszenie w 2 zasadzie dynamiki netwona var a,f,m,znak: real; begin writeln; writeln (‘Przyspieszenie w 2 zasadzie dynamiki Netwona’); write (‘podaj warto† siy F—’); readln(f); repeat write (‘podaj mas© ciaa m—’); readln(m); if m=0 then writeln (‘masza zawsze musi by† wartociĄ dodatniĄ. Podaj poprawny czas’) else writeln (‘Przyspieszenie wynosi a—’, f/m:0:3); until m0; writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure sila_w_2_zasadzie_dynamiki_Netwona; //-sia w 2 zasadzie dynamiki netwona var f,a,m,znak: real; begin writeln; writeln (‘Sia w 2 zasadzie dynamiki Netwona’); write (‘podaj warto† przyspieszenia a—’); readln(a); repeat write (‘podaj mas© ciaa m—’); readln(m); if m=0 then writeln (‘masza zawsze musi by† wartociĄ dodatniĄ. Podaj poprawny czas’) else writeln (‘Masa ciaa wynosi m—’, A*M:0:3); until m0; writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure masa_w_2_zasadzie_dynamiki_Netwona; //-masa w 2 zasadzie dynamiki netwona var f,a,m,znak: real; begin writeln; writeln (‘Masa w 2 zasadzie dynamiki Netwona’); write (‘podaj warto† siy F—’); readln(f); write (‘podaj warto† przyspieszenia a—’); readln(a); writeln (‘Masa ciaa wynosi m—’, F/A:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; //-p©d procedure ped; var p,m,v,znak: real; begin writeln; writeln(‘P©d’); write (‘podaj pr©dko† V—’); readln(v); repeat write (‘podaj mas© ciaa m—’); readln(m); if m=0 then writeln (‘masza zawsze musi by† wartociĄ dodatniĄ. Podaj poprawny czas’) else writeln (‘Masa ciaa wynosi m—’, m*v:0:3); until m0; writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure masa_w_pedzie; //-masa w p©dzie var p,m,v,znak: real; begin writeln; writeln (‘Masa w p©dzie’); write (‘podaj warto† p©du p—’); readln§; write (‘podaj warto† pr©dkoci V—’); readln(v); writeln (‘Masa ciaa wynosi m—’, p/v:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure predkosc_w_pedzie; //-pr©dko† w p©dzie var p,m,v,znak: real; begin writeln; writeln (‘Pr©dko† w p©dzie’); write (‘podaj warto† p©du p—’); readln§; repeat write (‘podaj mas© ciaa m—’); readln(m); if m=0 then writeln (‘masza zawsze musi by† wartociĄ dodatniĄ. Podaj poprawny czas’) else writeln (‘Masa ciaa wynosi m—’, p/m:0:3); until m0; writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure przyspieszenie_w_ruchu_jednostajnie_zmiennym; //-przyspieszenie w ruchu jednostajnie przyspieszonym var a,vk,vo,t,znak: real; begin writeln; writeln (‘Przyspieszenie w ruchu jednostajnie zmiennym’); write (‘podaj warto† pr©dkoci koäcowej Vk—’); readln(vk); write (‘podaj warto† pr©dkoci poczĄtkowej Vo—)’); readln(vo); repeat write (‘podaj czas t—’); readln(t); if t=0 then writeln (‘czas zawsze musi by† wartociĄ dodatniĄ. Podaj poprawny czas’) else writeln (‘Przyspieszenie danego ciaa wynosi a—’, (vk-vo)/t:0:3); until t0; writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure energia_potencjalna; //-energia potencjalna var ep,m,g,h,znak: real; begin writeln; writeln (‘Energia potencjalna’); write (‘podaj mas© ciaa m—’); readln(m); write (‘podaj si© przyciĄgania ziemskiego (si© grawitacji) g—’); readln(g); write (‘podaj wysoko† h—’); readln(h); writeln (‘Energia potencjalna wynosi Ep—’, m*g*h:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure energia_kinetyczna; //-energia kinetyczna const s=2; var ek,m,v,znak: real; begin writeln; writeln (‘Energia kinetyczna’); write (‘podaj mas© ciaa m—’); readln(m); write (‘podaj pr©dko† V—’); readln (v); writeln (‘Energia kinetyczna wynosi Ek—’, (m*v*v)/s:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure moc; //-moc var p,w,t,znak: real; begin writeln; writeln (‘Moc’); write (‘podaj warto† pracy W—’); readln(w); write (‘podaj czas t—’); readln(t); writeln (‘Moc wynosi P—’, w/t:0:3); writeln; writeln(‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure praca_z_wzoru_mocy; //-praca wyliczona ze wzoru mocy var w,p,t,znak: real; begin writeln; writeln(‘Praca z mocy’); write (‘podaj wato† mocy P—’); readln§; write (‘podaj czas t—’); readln(t); writeln (‘praca wynosi W—’, p*t:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; procedure czas_z_mocy; //-czas wyliczony ze wzoru mocy var w,p,t: real; begin writeln; writeln (‘Czas z mocy’); write (‘podaj warto† pracy W—’); readln(w); write (‘podaj warto† mocy P—’); readln§; writeln (‘czas wynosi t—’, w/p:0:3); writeln; writeln (‘Nacinij Enter, aby kontynuowa†’); readln; end; begin //-begin do powt˘rzeä clrscr; writeln ('Program matematyk. '); //-informacje wejciowe writeln (‘Wersja 0.02 alpha’); writeln (‘Autorem programu jest Morfeusz’); writeln; for i:=1 to 1000 do //-liczba powt˘rzeä programu begin //-wszystkie opcje programu i odwoania write('Wpisz odpowiedniĄ liczb© — '); read(wybor); IF wybor=1 THEN dodawanie; IF wybor=2 THEN odejmowanie; IF wybor=3 THEN mnozenie; IF wybor=4 THEN dzielenie; IF wybor=5 THEN potegi; IF wybor=6 THEN pierwiastki; IF wybor=7 THEN obwod_prostokat_rownologlobok; IF wybor=8 THEN obwod_kwadrat_romb; IF wybor=9 THEN obwod_trapez; IF wybor=10 THEN kwadratiprostokat_pole; IF wybor=11 THEN trojkat_pole; IF wybor=12 THEN rownologlobok_pole; IF wybor=13 THEN romb_pole; IF wybor=14 THEN trapez_pole; IF wybor=15 THEN pitagoras; IF wybor=16 THEN predkosc_chwilowa; IF wybor=17 THEN czas_w_predkosci_chwilowej; IF wybor=18 THEN przyspieszenie_w_predkosci_chwilowej; IF wybor=19 THEN predkosc_w_ruchu_jednostajnym; IF wybor=20 THEN droga_w_ruchu_jednostajnym; IF wybor=21 THEN czas_w_ruchu_jednostajnym; IF wybor=22 THEN przyspieszenie_w_2_zasadzie_dynamiki_netwona; IF wybor=23 THEN sila_w_2_zasadzie_dynamiki_Netwona; IF wybor=24 THEN masa_w_2_zasadzie_dynamiki_Netwona; IF wybor=25 THEN ped; IF wybor=26 THEN masa_w_pedzie; IF wybor=27 THEN predkosc_w_pedzie; IF wybor=28 THEN przyspieszenie_w_ruchu_jednostajnie_zmiennym; IF wybor=29 THEN energia_potencjalna; IF wybor=30 THEN energia_kinetyczna; IF wybor=31 THEN moc; IF wybor=32 THEN praca_z_wzoru_mocy; IF wybor=33 THEN czas_z_mocy; end; end. //-koniec