Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Помогите написать программу решения системы неравенств (http://www.tehnari.ru/f43/t99291/)

SnakeTH 06.11.2014 03:20

Помогите написать программу решения системы неравенств
 
Вложений: 1
Нужно написать программу решения системы неравенств и и исследовать все коэффициенты.Сама пример(или на картинке):
а1х+b1>0
a2x+b2<0
Вот вроде бы программа рабочая, но как сделать правильный вывод чтобы выводило "от" "х" и от "х" "до"?
Код:

var n,a1,a2,b1,b2:integer;
    r1,r2:real;
begin
 writeln('A1X+B1>0');
 writeln('A2X+B2<0');
 write(' Введите a1=');
 readln(a1);
 write(' Введите a2=');
 readln(a2);
 write('Введите b1=');
 readln(b1);
 write(' Введите b2=');
 readln(b2);
 writeln(' ' ,a1,'X+(',b1,')>0');
 writeln(' ' ,a2,'X+(',b2,')<0');
 r1:=((-b1)/a1);
 r2:=((-b2)/a2);


Vladimir_S 06.11.2014 11:05

Цитата:

Сообщение от SnakeTH (Сообщение 1076674)
как сделать правильный вывод чтобы выводило "от" "х" и от "х" "до"?

А вот так:

Код:

var
 a1,a2,b1,b2,r1,r2:real;

begin
 writeln('A1X+B1>0');
 writeln('A2X+B2<0');
 Repeat
  write('a1= ');
  readln(a1);
  write('a2= ');
  readln(a2);
  if (a1=0) or (a2=0) then writeln('Incorrect values!!!');
 Until (a1<>0) and (a2<>0);
 write('b1= ');
 readln(b1);
 write('b2= ');
 readln(b2);
 if b1>0 then
  begin
  if a1>0 then
    writeln(' ' ,a1:0:3,'X + ',b1:0:3,' > 0')
  else
    writeln(a1:0:3,'X + ',b1:0:3,' > 0');
  end
 else
  begin
  if a1>0 then
    writeln(' ' ,a1:0:3,'X - ',Abs(b1):0:3,' > 0')
  else
    writeln(a1:0:3,'X - ',Abs(b1):0:3,' > 0');
  end;
 if b2>0 then
  begin
  if a2>0 then
    writeln(' ' ,a2:0:3,'X + ',b2:0:3,' < 0')
  else
    writeln(a2:0:3,'X + ',b2:0:3,' < 0');
  end
 else
  begin
  if a2>0 then
    writeln(' ' ,a2:0:3,'X - ',Abs(b2):0:3,' < 0')
  else
    writeln(a2:0:3,'X - ',Abs(b2):0:3,' < 0');
  end;
 r1:=((-b1)/a1);
 r2:=((-b2)/a2);

 if (a1>0) and (a2>0) then
  begin
  if r1>r2 then writeln('No solution!') else
    writeln(r1:0:3,' < X < ',r2:0:3);
  end
 else

 if (a1>0) and (a2<0) then
  begin
  if r1>r2 then writeln('X > ',r1:0:3) else
    writeln('X > ',r2:0:3);
  end
 else

 if (a1<0) and (a2>0) then
  begin
  if r1>r2 then writeln('X < ',r2:0:3) else
    writeln('X < ',r1:0:3);
  end
 else

 begin
  if r2>r1 then writeln('No solution!') else
  writeln(r2:0:3,' < X < ',r1:0:3);
 end;

 Readln
end.


SnakeTH 06.11.2014 22:35

Цитата:

Сообщение от Vladimir_S (Сообщение 1076713)
А вот так:

Спасибо)))


Часовой пояс GMT +4, время: 10:58.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.