Advertisement
Isabella94

wielomian

Nov 24th, 2013
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.24 KB | None | 0 0
  1. program wielomianyplik;
  2. uses wincrt;
  3. const n=10;
  4. e=20;
  5. type
  6. vect=array[0..20]of integer;
  7. var
  8. v,q,p:vect;
  9. coef,ch:integer;
  10. ch2:char;
  11. F: TextFile;
  12.  
  13. {wpis}
  14. procedure wpis(var u:vect);
  15. var
  16. i:integer;
  17. s: string;
  18. begin
  19. ///////////////////////////////////////////tworzymymy plik i wpisujemy do niego 2 przykladowe linijki
  20. Assign(F, 'wielomiany.txt');
  21. Rewrite(F);
  22. writeln(F, '1');
  23. writeln(F, '2');
  24. Close(F);
  25. //////////////////////////////////////////////
  26.  
  27. Assign(F, 'wielomiany.txt');
  28. Reset(F);
  29. repeat
  30. ReadLn(F, s);
  31. WriteLn(s);
  32. until eof(F);
  33. Close(F);
  34. end;
  35.  
  36. procedure wyswietlanie(r:integer;d:vect);
  37. var
  38. i:integer;
  39. begin
  40. if (d[r]<>0) then write(d[r],'x',r);
  41. for i:=r-1 downto 1 do
  42. begin
  43. if (d[i]<>0) then
  44. begin
  45. if (i = 1) then
  46. begin
  47. if (d[i]=1) then write('+x') else
  48. if (d[i]=-1) then write('-x')else
  49. if (d[i]>0) then write('+',d[i],'x')else
  50. if (d[i]<0)then write(d[i],'x');
  51. end
  52. else
  53. begin
  54. if (d[i]=-1) then write('-x',i) else
  55. if (d[i]=1) then write('+x',i) else
  56. if (d[i]>0) then write('+',d[i],'x',i) else
  57. if (d[i]<0) then write(d[i],'x',i);
  58. end;
  59. end;
  60. if(d[0]>0) then write('+',d[0])
  61. else if(d[0]>0) then write(d[0])
  62. end;
  63. end;
  64.  
  65. {dodawanie}
  66. procedure dodawanie( var a:vect);
  67. var i,n:integer;
  68. e,k:vect;
  69. begin
  70. writeln('Wprowadz tutaj wielomiany ktore chcesz dodac:');
  71. writeln('Wpisz pierwszy wielomian:');
  72. wpis(k);
  73. writeln('Wpisz drugi wielomian:');
  74. wpis(e);
  75. {---Dodawanie---}
  76. for i:=0 to n do
  77. begin
  78. a[i]:=e[i]+k[i];
  79. end;
  80. {--Wyswietl wynik--}
  81. writeln('Dodawanie:E(x)+K(x)');
  82. write('E(x)='); wyswietlanie(n,e); writeln;
  83. write('K(x)='); wyswietlanie(n,k); writeln;
  84. writeln('Wynik:');
  85. if (a[i]=0) then writeln('A(x)=0') else
  86. write('A(x)='); wyswietlanie(n,A);
  87. end;
  88.  
  89. { odejmowanie}
  90. procedure odejmowanie(var s:vect);
  91. var i:integer;
  92. j,g:vect;
  93.  
  94. begin
  95. writeln('Wprowadz tutaj wielomiany ktore chcesz odjac:');
  96. {--Utworzenie dwoch wielomianow--}
  97. writeln('Wpisz pierwszy wielomian:');
  98. wpis(j);
  99. writeln('Wpisz drugi wielomian:');
  100. wpis(g);
  101.  
  102. {---Odejmowanie---}
  103. for i:=0 to n do
  104. begin
  105. s[i]:=j[i]-g[i];
  106. end;
  107. {--Wyswietlenie wyniku--}
  108. writeln('Odejmowanie:J(x)-G(x)');
  109. write('J(x)='); wyswietlanie(n,j); writeln;
  110. write('G(x)='); wyswietlanie(n,g); writeln;
  111. writeln('Wynik:');
  112. write('S(x)='); wyswietlanie(n,s);
  113. end;
  114.  
  115. procedure mnozenie(var k:vect);
  116. var i,j,d:integer;
  117. y,t:vect;
  118. begin
  119. writeln('Wprowadz tutaj wielomiany ktore chcesz wymnozyc:');
  120. writeln('Wpisz pierwszy wielomian:');
  121. wpis(y);
  122. writeln('Wpisz drugi wielomian:');
  123. wpis(t);
  124.  
  125. {--mnozenie--}
  126. for i:=0 to n do k[i]:=0;
  127. for i:=0 to n do
  128. begin
  129. for j:=0 to n do
  130. k[i+j]:=k[i+j]+y[i]*t[j];
  131. end;
  132. {--wyswietlanie wyniku--}
  133. writeln('Mnozenie:Y(x)*T(x)');
  134. write('Y(x)='); wyswietlanie(n,y); writeln;
  135. write('T(x)='); wyswietlanie(n,t); writeln;
  136. writeln('wynik:');
  137. write('M(x)='); wyswietlanie(e,k);
  138. end;
  139.  
  140. {--Glowny program--}
  141.  
  142. Begin
  143. repeat
  144. writeln;
  145. writeln(' ++++++++++++++++++');
  146. writeln(' ++ Menu glowne ++');
  147. writeln(' ++++++++++++++++++');
  148. writeln(' Co chcesz wykonac:');
  149. writeln(' 1-Wpisac wielomiany?');
  150. writeln(' 2-Pokazac wpisane wielomiany?');
  151. writeln(' 3-Dodawac dwa wielomiany ?');
  152. writeln(' 4-Odjac dwa wielomiany?');
  153. writeln(' 5-Pomnozyc dwa wielomiany?');
  154. write(' Aby dokonac wyboru wybierz liczbe(1,2,3,4,5):'); readln(ch);
  155. case ch of
  156. 1:begin
  157. writeln;
  158. writeln('Wyswietl wielomiany:');
  159. wpis(v);
  160. writeln;
  161. end;
  162. 2:begin
  163. writeln;
  164. writeln('Wczesniej utworzony wielomian:');
  165. write('P(x)=');
  166. wyswietlanie(n,v);
  167. writeln;
  168. end;
  169. 3:begin
  170. writeln;
  171. writeln('******************************');
  172. writeln('* dodawanie dwoch wielomianow *');
  173. writeln('******************************');
  174. writeln;
  175. dodawanie(q);
  176. writeln;
  177. end;
  178. 4:begin
  179. writeln;
  180. writeln('**********************************');
  181. writeln('* odejmowanie dwoch wielomianow *');
  182. writeln('**********************************');
  183. writeln;
  184. odejmowanie(p);
  185. writeln;
  186. end;
  187. 5:begin
  188. writeln;
  189. writeln('************************************');
  190. writeln('* mnozenie dwoch wielomianow *');
  191. writeln('************************************');
  192. writeln;
  193. mnozenie(p);
  194. writeln;
  195. end
  196. else write('Zly wybor (Mozesz wybrac tylko sposrod podnych cyfr: 1,2,3,4 ou 5) ');
  197. writeln;
  198. writeln;
  199. end;
  200. repeat
  201. write('Chcesz nadal kontynuowac operacje na wielomianach?(T/N):'); readln(ch2);
  202. until ((upcase(ch2)='T')or (upcase(ch2)='N'))
  203. until (upcase(ch2)='N')
  204. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement