Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429

Построение графика

19.12.2015, 16:04. Показов 2825. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем, проблемма не в самой постройке графика.. А скажем так в задании там сказано, что надо построить график по Х - каким-то равномерным масштабом, а по Y - логарифмическим масштабом и ещё какая-то "Привязка" там по X,Y - автоматическим масштабом, вообщем ничего не ясно.. И ещё надо создать окно и всунуть туда график используя
Pascal
1
setviewport
, помогите разобратся пожалуйста!
Вот мой код:
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
program lb10;
uses graph, crt;
const a=0; b=2*pi; h=0.1; h1=20; x0=60; y0=240; m=50;
var driver, d2, mode, x1, y1: integer;
    x,y:real;
 function f(x:real):real;
 begin
 f:=exp(-x)*sin(8*x)+1;
 end;
begin clrscr;
driver:=detect;
initgraph(driver,mode,'C:\TP7\TP\BGI');
setviewport(600,600,800,800,clipoff);
setcolor(5);
line(20,y0,600,y0);
line(x0,440,x0,20);
x:=a; x1:=x0+trunc(m*x);
y:=f(x); y1:=y0-trunc(m*y);
moveto(x1,y1);
while x<=6 do begin
y:=f(x); y1:=y0-trunc(m*y);
lineto(x1,y1);
x1:=x1+h1; x:=x+h;
end;
outtextxy(200,320,'GRAFIK ');
end.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2015, 16:04
Ответы с готовыми решениями:

Построение графика
Построить семейство кривых y = f(x) для указанных значений параметра \lambda и оси координат с указанием минимального и ...

Построение графика.
Построить график указанной функции. (x2+y2-ax)2-L2(x2+y2)=0, a&gt;0, L&gt;0

Построение графика
1.Построить горизонтальную и вертикальную координатные оси. 2.Подписать названия координатных осей. 3.Построить на координатных осях...

44
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 18:58  [ТС]
Студворк — интернет-сервис помощи студентам
bormant, вы писали на турбо?

Добавлено через 2 минуты
программа незнает что такое "mm" в 28 строке?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7818 / 4637 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
22.12.2015, 19:00
Там был мультипликатор:
Pascal
10
  mm=2;
но для мелких графиков нет смысла, уберите его по тексту, где попался.
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 19:07  [ТС]
убрать так?
Pascal
1
for i:=1 to vwx do begin
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 19:10  [ТС]
все норм?
Миниатюры
Построение графика  
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7818 / 4637 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
22.12.2015, 19:32
Вроде в порядке, в прямоугольник попадает точно.
Добавите оси с метками и все.
Вот только автовыбор "хороших" значений для линий сетки задачка сама по себе интересная.
Возможно стоило оставить место под подписи, но очень уж мало места отведено под график...
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 20:00  [ТС]
Проверь верно ли все, и что не так с цифрами?
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
uses graph;
function f(x: Real): Real;
begin
  f:=exp(-x)*Sin(8*x)+1;
end;
const
  vx1=40; vy1=100; vx2=200; vy2=200;
  vwx=vx2-vx1; vwy=vy2-vy1+1;
  xmn=0.1; xmx=2.1; mx=(xmx-xmn)/vwx;
var
  my,x,y,ymn,ymx,xn,xm,mm:Real;
  i,gd,gm,gr,x0,y0:Integer;
  s:string;
begin
  gd:=Detect; InitGraph(gd,gm,''); gr:=GraphResult;
  if gr<>0 then begin
    WriteLn('*** Error: ',GraphErrorMsg(gr)); Halt(1);
  end;
 
  SetFillStyle(SolidFill,White); Bar(vx1,vy1,vx2,vy2);
  SetViewPort(vx1,vy1,vx2,vy2,ClipOn);
  ymn:=Ln(f(xmn)); ymx:=ymn;
  setcolor(8);
  x0:=20;
  y0:=80;
  xm:=130/xmx;
  mm:=60/f(0.2);
  line(20,80,200,80);
  line(20,0,20,200);
  for i:=1 to 2 do{максимальное количество засечек в одну сторону}
  begin
   line(x0-3,y0-round(i*mm),x0+3,y0-round(i*mm));{засечки на оси У}
   {подпись оси У}
   str(i,s);
   outtextXY(x0-15,y0-round(i*my),s);{соответственно засечкам}
   line(x0+round(i*xm),y0-3,x0+round(i*xm),y0+3); {засечки на оси Х}
   {подпись оси Х}
   outtextXY(x0+round(i*mx),y0+10,s);
  end;
{центр}
outtextXY(x0+5,y0+10,'0');
{подписи концов осей}
outtextXY(150,y0-10,'X');
outtextXY(x0+5,0,'Y');
setcolor(12);
  for i:=1 to vwx do begin
    y:=Ln(f(xmn+i*mx));
    if ymx<y then ymx:=y;
    if ymn>y then ymn:=y;
  end;
  my:=vwy/(ymx-ymn);
  MoveTo(0,Round(vwy-(Ln(f(xmn))-ymn)*my));
  for i:=1 to vwx do begin
    x:=i; y:=Ln(f(xmn+x*mx))-ymn;
    LineTo(i,Round(vwy-y*my));
  end;
  setcolor(12);
  Write('Press Eneter...'); ReadLn;
  CloseGraph;
end.
Миниатюры
Построение графика  
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 20:08  [ТС]
bormant, и ещё мне понадобится немного обьяснить что и для чего, если не сложно будет, ато хотелось бы что-то понять, а не тупо содрать код)

Добавлено через 43 секунды
мне кажется график надо сдвинуть влево?

Добавлено через 1 минуту
или он вообще не подходит под нашу кривую, я не понимаю он должен быть сверху оси ох или часть снизу?
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.12.2015, 20:13
Цитата Сообщение от Azazel-San Посмотреть сообщение
я не понимаю он должен быть сверху оси ох или часть снизу?
Я же показал как он выглядит в Эксель.

Добавлено через 31 секунду
Там логарифм по основанию 10.
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 20:16  [ТС]
Puporev, как на 2-й картинке, да? А как можно нашу кривую сделать в масштабе меньше?
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.12.2015, 20:20
Я не умею строить в логарифмическом масштабе.

Добавлено через 1 минуту
Очень уж маленький диапазон для логарифмической шкалы и очень маленькое окно для рисования.
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 20:40  [ТС]
Puporev, bormant,
Ещё бы мне научится.. Не очень вдупляю с засечками, их вообще обьязательно "рисовать" ибо то что дали мне как "пример" я выложил в шапке, там с этим никто не парился

Добавлено через 5 минут
И зачем давать такое маленькое окно в которое надо всунуть это все, сижу в мониторе )
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 21:01  [ТС]
вот что получилось
Миниатюры
Построение графика  
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.12.2015, 21:03
Цитата Сообщение от Azazel-San Посмотреть сообщение
там с этим никто не парился
Ну и не рисуй.

Добавлено через 1 минуту
Правда без подписей в этом графике фиг поймешь какой масштаб, лог. или равн.
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 21:04  [ТС]
Puporev, да и вообще на график не похоже(
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7818 / 4637 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
22.12.2015, 21:07
Ось X выше, и она не 0, а 1 (Ln(1)):
Pascal
1
i:=Round(vwy+ymn*my); Line(0,i,vwx,i); {0=Ln(1)}
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.12.2015, 21:07
Похоже, если не похоже, подпиши "Это график"
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 21:13  [ТС]
Но и опять таки, если делать позначки с подписями, то там все будет одно на другом, особенно по оу

Добавлено через 5 минут
bormant, ось ох убежала за пределы
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7818 / 4637 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
22.12.2015, 21:14
Ось X с засечками 1 и 2:
Pascal
1
2
  i:=Round(vwy+ymn*my); Line(0,i,vwx,i); {0=Ln(1)}
  for j:=1 to 2 do Line(Trunc(j*mx-xmn),i-2,Trunc(j*mx-xmn),i+2);
Никто никуда не бежит ;-)
Миниатюры
Построение графика  
1
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 21:15  [ТС]
Вот
Миниатюры
Построение графика  
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
22.12.2015, 23:20  [ТС]
Дайте свой код..

Добавлено через 16 минут
Дорисуйте ещё плиз оу с засечками

Добавлено через 1 минуту
Да, зачем так жить что я не так делаю.. (((((((((

Добавлено через 13 минут
bormant, тут?

Добавлено через 17 минут
ну и лан

Добавлено через 1 час 11 минут
bormant, так и не скинешь? Ну лан, спс и на этом, довольно бесполезная тема, только время потратил ваше и своё
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2015, 23:20

Построение графика функции
Друзья, график этой функции tgX+sqrt(e(X)-1) доставил мне не мало проблем и я вынужден попросить у вас помощи. Зарание благодарю)))

Построение графика функции
Здравствуйте помогите пожалуйста с построением графика функции в декартовых координатах

Построение графика функции
Построить график функции f(x)=\begin{cases}-x+2&amp;\text{, }x\leq 1\\\\x^2+1&amp;\text{, } x\,&gt;\,1\end{cases} Порядок работы: ...

построение графика функции
Нужна помощь в построении графика функции y=sqr(1+x)/sqrt(1+sqr(x)) на интервале -10&lt;=x&lt;=10 с шагом 1.

Построение графика функции
помогите плиз график построить


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

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

Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru