Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program wielomianyplik;
- uses wincrt;
- const n=10;
- e=20;
- type
- vect=array[0..20]of integer;
- var
- v,q,p:vect;
- coef,ch:integer;
- ch2:char;
- F: TextFile;
- {wpis}
- procedure wpis(var u:vect);
- var
- i:integer;
- s: string;
- begin
- ///////////////////////////////////////////tworzymymy plik i wpisujemy do niego 2 przykladowe linijki
- Assign(F, 'wielomiany.txt');
- Rewrite(F);
- writeln(F, '1');
- writeln(F, '2');
- Close(F);
- //////////////////////////////////////////////
- Assign(F, 'wielomiany.txt');
- Reset(F);
- repeat
- ReadLn(F, s);
- WriteLn(s);
- until eof(F);
- Close(F);
- end;
- procedure wyswietlanie(r:integer;d:vect);
- var
- i:integer;
- begin
- if (d[r]<>0) then write(d[r],'x',r);
- for i:=r-1 downto 1 do
- begin
- if (d[i]<>0) then
- begin
- if (i = 1) then
- begin
- if (d[i]=1) then write('+x') else
- if (d[i]=-1) then write('-x')else
- if (d[i]>0) then write('+',d[i],'x')else
- if (d[i]<0)then write(d[i],'x');
- end
- else
- begin
- if (d[i]=-1) then write('-x',i) else
- if (d[i]=1) then write('+x',i) else
- if (d[i]>0) then write('+',d[i],'x',i) else
- if (d[i]<0) then write(d[i],'x',i);
- end;
- end;
- if(d[0]>0) then write('+',d[0])
- else if(d[0]>0) then write(d[0])
- end;
- end;
- {dodawanie}
- procedure dodawanie( var a:vect);
- var i,n:integer;
- e,k:vect;
- begin
- writeln('Wprowadz tutaj wielomiany ktore chcesz dodac:');
- writeln('Wpisz pierwszy wielomian:');
- wpis(k);
- writeln('Wpisz drugi wielomian:');
- wpis(e);
- {---Dodawanie---}
- for i:=0 to n do
- begin
- a[i]:=e[i]+k[i];
- end;
- {--Wyswietl wynik--}
- writeln('Dodawanie:E(x)+K(x)');
- write('E(x)='); wyswietlanie(n,e); writeln;
- write('K(x)='); wyswietlanie(n,k); writeln;
- writeln('Wynik:');
- if (a[i]=0) then writeln('A(x)=0') else
- write('A(x)='); wyswietlanie(n,A);
- end;
- { odejmowanie}
- procedure odejmowanie(var s:vect);
- var i:integer;
- j,g:vect;
- begin
- writeln('Wprowadz tutaj wielomiany ktore chcesz odjac:');
- {--Utworzenie dwoch wielomianow--}
- writeln('Wpisz pierwszy wielomian:');
- wpis(j);
- writeln('Wpisz drugi wielomian:');
- wpis(g);
- {---Odejmowanie---}
- for i:=0 to n do
- begin
- s[i]:=j[i]-g[i];
- end;
- {--Wyswietlenie wyniku--}
- writeln('Odejmowanie:J(x)-G(x)');
- write('J(x)='); wyswietlanie(n,j); writeln;
- write('G(x)='); wyswietlanie(n,g); writeln;
- writeln('Wynik:');
- write('S(x)='); wyswietlanie(n,s);
- end;
- procedure mnozenie(var k:vect);
- var i,j,d:integer;
- y,t:vect;
- begin
- writeln('Wprowadz tutaj wielomiany ktore chcesz wymnozyc:');
- writeln('Wpisz pierwszy wielomian:');
- wpis(y);
- writeln('Wpisz drugi wielomian:');
- wpis(t);
- {--mnozenie--}
- for i:=0 to n do k[i]:=0;
- for i:=0 to n do
- begin
- for j:=0 to n do
- k[i+j]:=k[i+j]+y[i]*t[j];
- end;
- {--wyswietlanie wyniku--}
- writeln('Mnozenie:Y(x)*T(x)');
- write('Y(x)='); wyswietlanie(n,y); writeln;
- write('T(x)='); wyswietlanie(n,t); writeln;
- writeln('wynik:');
- write('M(x)='); wyswietlanie(e,k);
- end;
- {--Glowny program--}
- Begin
- repeat
- writeln;
- writeln(' ++++++++++++++++++');
- writeln(' ++ Menu glowne ++');
- writeln(' ++++++++++++++++++');
- writeln(' Co chcesz wykonac:');
- writeln(' 1-Wpisac wielomiany?');
- writeln(' 2-Pokazac wpisane wielomiany?');
- writeln(' 3-Dodawac dwa wielomiany ?');
- writeln(' 4-Odjac dwa wielomiany?');
- writeln(' 5-Pomnozyc dwa wielomiany?');
- write(' Aby dokonac wyboru wybierz liczbe(1,2,3,4,5):'); readln(ch);
- case ch of
- 1:begin
- writeln;
- writeln('Wyswietl wielomiany:');
- wpis(v);
- writeln;
- end;
- 2:begin
- writeln;
- writeln('Wczesniej utworzony wielomian:');
- write('P(x)=');
- wyswietlanie(n,v);
- writeln;
- end;
- 3:begin
- writeln;
- writeln('******************************');
- writeln('* dodawanie dwoch wielomianow *');
- writeln('******************************');
- writeln;
- dodawanie(q);
- writeln;
- end;
- 4:begin
- writeln;
- writeln('**********************************');
- writeln('* odejmowanie dwoch wielomianow *');
- writeln('**********************************');
- writeln;
- odejmowanie(p);
- writeln;
- end;
- 5:begin
- writeln;
- writeln('************************************');
- writeln('* mnozenie dwoch wielomianow *');
- writeln('************************************');
- writeln;
- mnozenie(p);
- writeln;
- end
- else write('Zly wybor (Mozesz wybrac tylko sposrod podnych cyfr: 1,2,3,4 ou 5) ');
- writeln;
- writeln;
- end;
- repeat
- write('Chcesz nadal kontynuowac operacje na wielomianach?(T/N):'); readln(ch2);
- until ((upcase(ch2)='T')or (upcase(ch2)='N'))
- until (upcase(ch2)='N')
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement