Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 31.01.2019
Сообщений: 16

Система уравнений. Доработать программу (среда программирования Algo)

28.02.2019, 17:36. Показов 1899. Ответов 5

Студворк — интернет-сервис помощи студентам
Составил программу для решения системы, но кажется что-то пошло не так. Не могу понять только что. ПОМОГИТЕ!

Найти графически решение системы уравнений и написать в ответе координаты точек пересечения.

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\begin{cases}x^2+y^2=16\\\\ (x-2)^2+(y+1)^2=9\end{cases}<br />

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
program qq; 
 
const 
   a=400; 
   b=400; 
   k=80; 
   xmin=-4 ; 
   xmax=4; 
var 
   x,y,h:real; 
   xe,ye,w,t:integer; 
   first:boolean; 
 
begin 
  pen(2,0,0,255); 
  w:=round((xmax-xmin)*k); 
  line(a-300,b,a+w,b); 
  line (a,0,a,2*b); 
  x:=xmin; 
  h:=0.0005; 
  first:=true; 
  x:=-2; 
  t:=2; 
  while x<t do 
    begin 
      pen(2,0,255,0); 
      y:=sqrt(4-x*x); 
      xe:=a+round(k*x); 
      ye:=b-round(k*y); 
      if first then 
        begin 
          moveto(xe,ye); 
          first:=false; 
        end 
      else 
        lineto(xe,ye); 
      x:=x+h; 
    end; 
  x:=xmin; 
  first:=true; 
  x:=-2; 
  t:=2 ; 
  while x<t do 
    begin 
      y:=-sqrt(4-x*x); 
      xe:=a+round(k*x); 
      ye:=b-round(k*y); 
      if first then 
        begin 
          moveto(xe,ye); 
          first:=false; 
        end 
      else 
        lineto(xe,ye); 
      x:=x+h; 
    end; 
  first:=true; 
  x:=-1; 
  t:=1 ; 
  while x<=t do 
    begin 
      pen(2,255,0,0); 
      y:=sqrt((1-x)*(1+x))-1; 
      xe:=a+round(k*x); 
      ye:=b-round(k*y); 
      if first then 
        begin 
          moveto(xe,ye); 
          first:=false; 
        end 
      else 
        lineto(xe,ye); 
      x:=x+h; 
    end; 
  first:=true; 
  x:=1; 
  t:=-1 ; 
  while x<t do 
    begin 
      y:=sqrt((1-x)*(1+x))-1; 
      xe:=a+round(k*x); 
      ye:=b-round(k*y); 
      if first then 
        begin 
          moveto(xe,ye); 
          first:=false; 
        end 
      else 
        lineto(xe,ye); 
      x:=x+h; 
    end; 
end.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2019, 17:36
Ответы с готовыми решениями:

Система уравнений в среде программирования Algo
Объясните кто может, не могу составить программы. Решить графически систему уравнений и прислать файл. на &quot;3&quot; ...

Рекурсия. Система программирования Algo
Помогите нарисовать любые 3 картинки из примера.

Pascal algo система уравнений
Найти графически решение системы уравнений и написать в ответе координаты точек пересечения x^2+y^2=16 (x-2)^2+(y+1)^2=9

5
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.02.2019, 20:17
Вот нарисовал я в Паскаль АВС. Может сам переведешь в Алго? Если не сможешь, пиши, я хоть и плохо знаю Алго, особенно эту версию, но на досуге попробую.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
uses graphABC;
const
//первая окружность x^2+y^2=16
ox1=0; //центр
oy1=0;
r1=4;  //радиус
//вторая окружность (x-2)^2+(y+1)^2=9
ox2=2;//центр
oy2=-1;
r2=3; //радиус
{function f1(x:real):real;
begin
f1:=sqrt(16-x*x);
end;
function f2(x:real):real;
begin
f2:=sqrt(9-sqr(x-2))-1;
end;}
var x0,y0,i:integer;
    m,u,x,y,x1,y1,x2,y2:real;
    s1,s2:string;
begin
setwindowsize(400,400); //размеры графического окна
centerwindow; //в центре экрана
x0:=windowwidth div 2;//начало координат
y0:=windowheight div 2; //в центре окна
m:=(x0-20)/5;//масштаб
setpencolor(clBlue);//синий цвет
setpenwidth(2);//толщина линии 2 пиксела
line(x0-round(5*m),y0,x0+round(5*m),y0);//оси координат
line(x0,y0+round(5*m),x0,y0-round(5*m));
for i:=1 to 5 do //засечки и подписи на осях
 begin
  line(x0+round(i*m),y0-3,x0+round(i*m),y0+3);
  line(x0-round(i*m),y0-3,x0-round(i*m),y0+3);
  textout(x0+round(i*m),y0+10,inttostr(-i));
  textout(x0-round(i*m),y0+10,inttostr(i));
  line(x0-3,y0-round(i*m),x0+3,y0-round(i*m));
  line(x0-3,y0+round(i*m),x0+3,y0+round(i*m));
  textout(x0-10,y0-round(i*m),inttostr(i));
  textout(x0-15,y0+round(i*m),inttostr(-i));
 end;
textout(x0+round(5*m)-20,y0-20,'X');//подписи концовосей
textout(x0+5,0,'Y');
textout(x0+5,y0+10,'0');//и ноля
setpencolor(clRed); //красная линия
u:=0; //рисуем 1 окружность параметрически
while u<=2*pi do
 begin
  x:=ox1+r1*cos(u);
  y:=oy1-r1*sin(u);
  if u=0 then moveto(x0+round(x*m),y0-round(y*m))
  else lineto(x0+round(x*m),y0-round(y*m));
  u:=u+0.01;
 end;
setpencolor(clGreen); //зленая линия
u:=0;//рисуем 2 окружность параметрически
i:=0; //пока корней нет
while u<=2*pi do
 begin
  x:=ox2+r2*cos(u);
  y:=oy2-r2*sin(u);
  //если оазность координат на х графиках меньше 0.1, то это корень
  if abs((x*x+y*y-16)-(sqr(x-2)+sqr(y+1)-9))<0.1 then
  if i=0 then //если i=0 первый корень
   begin
    x1:=x;
    y1:=y;
    i:=1;
   end
  else //иначе второй
   begin
    x2:=x;
    y2:=y;
   end;
  if u=0 then moveto(x0+round(x*m),y0-round(y*m))
  else lineto(x0+round(x*m),y0-round(y*m));
  u:=u+0.01;
 end;
//преобразуем числа в строки
//и выводим ответ на экран
str(x1:0:2,s1);
str(y1:0:2,s2);
textout(10,10,'x1='+s1+'  y1='+s2);
str(x2:0:2,s1);
str(y2:0:2,s2);
textout(10,30,'x2='+s2+'   y2='+s2);
//рисуем черными точками места пересечения графиков=корни
setbrushcolor(clBlack);
setpencolor(clBlack);
circle(x0+round(x1*m),y0-round(y1*m),3);
circle(x0+round(x2*m),y0-round(y2*m),3);
end.
Добавлено через 19 минут
Нет. не напишу, у меня нет файла справки к этой версии Алго. Если прижмет выложишь в архиве полный комплект твоего Алго. Ссылки на скачивание дают другую версию.
1
0 / 0 / 0
Регистрация: 31.01.2019
Сообщений: 16
28.02.2019, 20:37  [ТС]
Вот комплект. Если на досуге будет время переведите пожалуйста.
Вложения
Тип файла: zip b9c6d19aa1214fdfa276d63089ba45b5.zip (551.8 Кб, 2 просмотров)
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.02.2019, 20:38
Хорошо, завтра попробую, сегодня у меня уже поздно.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.03.2019, 08:29
Лучший ответ Сообщение было отмечено Lord_Voodoo как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
program qq; 
const
  {/первая окружность x^2+y^2=16}   
   ox1=0; {центр}
   oy1=0;
   r1=4;  {радиус}
  {вторая окружность (x-2)^2+(y+1)^2=9}
   ox2=2;{центр}
   oy2=-1;
   r2=3; {радиус }
var x0,y0,i:integer;
    m,u,x,y,x1,y1,x2,y2:real;
    s1,s2:string;
begin
x0:=200;{начало координат}
y0:=200; { центре окна}
m:=(x0-20)/5;{масштаб}
pen(2,0,0,255);
line(x0-round(5*m),y0,x0+round(5*m),y0);{оси координат}
line(x0,y0+round(5*m),x0,y0-round(5*m));
for i:=1 to 5 do{засечки и подписи на осях}
 begin
  line(x0+round(i*m),y0-3,x0+round(i*m),y0+3);
  line(x0-round(i*m),y0-3,x0-round(i*m),y0+3);
  moveto(x0+round(i*m)-5,y0+10);writeln(i);
  moveto(x0-round(i*m)+5,y0+10);writeln(-i);
  line(x0-3,y0-round(i*m),x0+3,y0-round(i*m));
  line(x0-3,y0+round(i*m),x0+3,y0+round(i*m));
  moveto(x0-15,y0-round(i*m)-5);writeln(i);
  moveto(x0-25,y0+round(i*m)-5);writeln(-i);
 end;
moveto(x0+round(5*m)-10,y0-20);writeln('X');{подписи}
moveto(x0+5,10);writeln('Y'); {концов осей}
moveto(x0+5,y0+10);writeln('0');{и ноля }
pen(2,255,0,0);
u:=0; {рисуем 1 окружность параметрически}
while u<=2*pi do
 begin
  x:=ox1+r1*cos(u);
  y:=oy1-r1*sin(u);
  if u=0 then moveto(x0+round(x*m),y0-round(y*m))
  else lineto(x0+round(x*m),y0-round(y*m));
  u:=u+0.01;
 end;
pen(2,0,255,0);
u:=0;{рисуем 2 окружность параметрически}
i:=0;{пока корней нет}
while u<=2*pi do
 begin
  x:=ox2+r2*cos(u);
  y:=oy2-r2*sin(u);
 {если оазность координат на х графиках меньше 0.1, то это корень}
  if abs((x*x+y*y-16)-(sqr(x-2)+sqr(y+1)-9))<0.1 then
  if i=0 then {если i=0 первый корень}
   begin
    x1:=x;
    y1:=y; 
    i:=1;
   end
  else {иначе второй}
   begin
    x2:=x;
    y2:=y;
   end;
  if u=0 then moveto(x0+round(x*m),y0-round(y*m))
  else lineto(x0+round(x*m),y0-round(y*m));
  u:=u+0.01;
 end;
{преобразуем числа в строки
и выводим ответ на экран}
str(x1:0:2,s1);
str(y1:0:2,s2);
moveto(10,10);writeln('x1='+s1+'  y1='+s2);
str(x2:0:2,s1);
str(y2:0:2,s2);
moveto(10,30);writeln('x2='+s1+'   y2='+s2);
{рисуем черными точками места пересечения графиков=корни}
brush(1,0,0,0);
pen(1,0,0,0);
ellipse(x0+round(x1*m)-3,y0-round(y1*m)-3,x0+round(x1*m)+3,y0-round(y1*m)+3);
ellipse(x0+round(x2*m)-3,y0-round(y2*m)-3,x0+round(x2*m)+3,y0-round(y2*m)+3);
end.
2
0 / 0 / 0
Регистрация: 31.01.2019
Сообщений: 16
01.03.2019, 16:31  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.03.2019, 16:31
Помогаю со студенческими работами здесь

Система линейных уравнений, написать программу
Всем привет, помогите пожалуйста с решением данной задачи, сын начал изучать паскаль, а я ничего не понимаю и ничем ему помочь, увы, не могу

Система нелинейных уравнений. Переделать готовую программу в MathCaD.
Помогите пожалуйста написать эту программу в Mathcad Data x10/0/,x20/0/,x30/0/,eps/0.00001/ x1=x10 x2=x20 ...

Среда программирования
Здравствуйте) вот решил заняться html, не подскажите ли простую программу для программирования,заранее спасибо)*

Среда программирования
Какие среды программирования больше подходят для Ruby on Rails?

Среда программирования
Какая версия среды программирования Delphi совместима с Windows 8?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru