0 / 0 / 1
Регистрация: 23.09.2017
Сообщений: 64

Отобразить на графике вертикальные линии через точки на оси Х

16.12.2017, 18:21. Показов 4546. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как правильно описать положение точки, через которую нужно провести вертикальную линию? Мне нужно отобразить на графике пределы интегрирования, которые, проходя через кривую, дадут замкнутую фигуру, которую нужно заштриховать. Линии то проводятся (зеленые), но точки программа не правильно находит на графике - они прижаты к оси Y, хотя я задаю [-10;10]. Не могу ошибку найти:
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
uses graphABC;
function F(x:real):real;
begin
F:=4*x*x*x+43*x*x+404*x+1269;
end;
 
var x,mx,my:real;
    gx,gy,a,b,ymx,x0,y0,i,a1,b1:integer;
    s:string;
begin
gx:=900;
gy:=700;
setwindowsize(gx,gy);  //устанавливает размер клиентской части графического окна.
centerwindow;  //устанавливает графическое окно в центре экрана.
a:=-5;
b:=5;
ymx:=1270;
a1:=-10;
b1:=10;
x0:=gx-200;//начало координат в правый нижний угол опустим
y0:=gy-200;
mx:=(x0-30)/-a;//масштаб по Х: отступаем от края на 30 пикселей и делим на 5
my:=(y0-50)/ymx;//по Y
line(0,y0,gx,y0);//ось Х
line(x0,0,x0,gy);  //ось Y
for i:=1 to trunc(-a*5) do//создаем ось Х
 begin
  line(gx, y0, gx - 10, y0 + 10);//стрелка на координате x
  line(gx, y0, gx - 10, y0 - 10);//стрелка на координате x
  line(x0-round(i*mx/5),y0-3,x0-round(i*mx/5),y0+3); //засечки
   textout(x0 - round(i * mx / 5) - 5, y0 + 10, floattostr(-i / 5));//подписи
   textout(x0 + round(i * mx / 5) - 5, y0 + 10, floattostr(i / 5));//подписи
 end;
for i:=1 to trunc(ymx/50)+1 do//создаем ось Y
 begin
  line(x0, 0, x0 - 10, 10);//стрелка на координате y 
  line(x0, 0, x0 + 10, 10);//стрелка на координате y
  line(x0-3,y0-round(i*my*50),x0+3,y0-round(i*my*50)); //засечки на оси Y
    textout(x0 + 15, y0 - round(i * my * 50) - 5, inttostr(i * 50)); //подписи
    textout(x0 + 15, y0 + round(i * my * 50) - 5, inttostr(-i * 50)); //подписи
 end;
//центр
textout(x0+5,y0,'0');
//подписи концов осей
textout(15,y0-25,'X');
textout(x0+10,10, 'Y');
//линии через точки а и в
 
 
//график
SetPenWidth(5); 
 
x:= a1;
setpencolor(clgreen);
 Line(x0+trunc(a1), 0, x0+trunc(a1), gy); // линия через х=а
x:= b1;
setfontcolor(clgreen);
Line(x0+trunc(b1), 0, x0+trunc(b1), gy); // линия через точку х=в
 
setpencolor(clRed);
x:=a;
 
i:=0;
while x<=b do
 begin
 
  x:=x+0.001;
  if F(x)>=-300 then
   begin
   
    inc(i);
    if i=1 then moveto(x0+round(x*mx),y0-round(F(x)*my))
    else lineto(x0+round(x*mx),y0-round(F(x)*my));
   end;
 end;
//название
setfontsize(12);
setfontcolor(clBlue);
textout(50,10,'y=4*х^3+43х^2+404*x+1269');
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.12.2017, 18:21
Ответы с готовыми решениями:

Циклом генерируются точки на оси Х, нужно отобразить их на графике
Циклом генерируются точки на оси Х, нужно отобразить их на графике. Подскажите как это сделать и куда смотреть?

Как в графике отобразить точки пересечения, а также сумму точки x+y
Как в графике отобразить точки пересечения? А также также рядом указать сумму точки x+y как в примере. То есть пример точки 31=30+1 или...

Отобразить на графике только точки, не соединяя их между собой
pycture, я написал рисовалку. Но в ней идет соединение всех точек линией. Как сделать, чтобы на графике отображались только полученные...

22
0 / 0 / 1
Регистрация: 23.09.2017
Сообщений: 64
07.01.2018, 18:52  [ТС]
Студворк — интернет-сервис помощи студентам
Спасибо, вы очень помогли. Для построения блок схем пользуетесь ли вы какой-нибудь программой, создающей схемы по ГОСТу из исходного кода? Много времени отнимает построение. Особенно, если поменял что-то в программе, начинаешь схему править и вся конструкция распадается.
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.01.2018, 20:08
Я пользуюсь редактором блок-схем по коду, но это не по ГОСТу.
0
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,483
09.01.2018, 15:23
Я пользуюсь Diagram Designer, чертит практически по ГОСТу (вкладка Flowchart), может экспортировать диаграммы во многие графические форматы. Однако, эта программа не создаёт блок-схем по коду. Зато создавать и редактировать блок-схемы в ней удобно: при перемещении термов связи между ними не разрываются, поэтому что-либо удалить, передвинуть или поменять - это без проблем. Единственное неудобство: часто приходится делать линию связи из 2..3 сегментов (один сегмент чертим со стрелкой, в свойствах остальных сегментов стрелку убираем), поскольку в этой программе не полностью реализована автотрассировка линий связи, а хендлов в середине линии не предусмотрено.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2018, 15:23
Помогаю со студенческими работами здесь

Найти и отобразить на графике точки экстремума функции z = f (x, y) в замкнутой области D
Всем доброго дня. Помогите пожалуйста с программированием в matlab. Найти и отобразить на графике точки экстремума функции z = f (x,...

На графике отметить асимптоты, точки экстремума, точки перегиба, точки пересечения с осями координат
Что-то выходит не совсем правильный график. clc; clear all; close all; l = -10; r = 10; N = 1000;

QCustomPlot. Позиция точки на нарисованном графике, выделение областей на графике
Доброго времени суток! Необходима помощь сообщества. Для ведущейся работы назрела необходимость создания интерфейса для работы с графиками...

Будет ли прямая, проходящая через 2 точки, параллельна оси
Помогите пожалуйста 1. Создайте структуру, описывающую точку в двумерной системе координат (x, y). С помощью этой структуры задайте две...

Уравнение симметричной отн оси параболы через 2 точки
Подскажите, как реализовать. По известным двум точкам, лежащим в одной плоскости(сечении вдоль z) нужно описать уравнение параболоида...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Опции темы

Новые блоги и статьи
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru