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

Квадратичная функция (парабола) - масштабирование

04.10.2010, 13:36. Показов 4791. Ответов 2
Метки нет (Все метки)

Здравствуйте!
Помогите пожалуйста поправить программу. Нужно чтобы при увеличение коэффициентов в уравнении пропорционально изменялась цена деления при рисовании параболы (масштабирование)

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
uses graph;
var
  x1,x2,y1,y2:real;
  a,b,c,i,cd:integer;
  gdriver,gmod:integer;
  cds:string;
 
function pixx(e:real):integer;
  begin
    pixx:=round(320+e/cd*20);
  end;
 
function pixy(e:real):integer;
  begin
    pixy:=round(240-e/cd*20);
  end;
 
begin
  writeln ('vvedite a,b,c');
  readln(a,b,c);
  x1:=((-1*b)/(2*a));
  y1:=a*x1*x1+b*x1+c;
  writeln ('vershina',x1:10:2,y1:10:2);
  x1:=round(x1);
  y1:=round(y1);
 
  if abs(x1)>abs(y1) then cd:=round(x1/5)
    else cd:=round(y1/5);
  if cd=0 then cd:=1
    else cd:=abs(cd);
 
  writeln ('cena delenii =',cd);
  readln;
  gdriver:=detect;
  initgraph(gdriver,gmod,'');
  line (10,240,630,240);
  line (320,10,320,470);
  for i:=1 to 31 do
    line (i*20,235,i*20,245);
 
  for i:=1 to 23 do
    line (315,i*20,325,i*20);
 
  str(cd,cds);
  outtextxy(325,215,cds);
  outtextxy(339,245,cds);
 
  setcolor(green);
  while abs(y2/cd)<11 do begin
    x2:=x1+0.1;
    y2:=a*x2*x2+b*x2+c;
    line (pixx(x1),pixy(y1),pixx(x2),pixy(y2));
    x1:=x2; y1:=y2;
  end;
 
  y2:=0;
  x1:=round((-1*b)/(2*a));
  y1:=a*x1*x1+b*x1+c;
 
  while abs(y2/cd)<11 do begin
    x2:=x1-0.1;
    y2:=a*x2*x2+b*x2+c;
    line (pixx(x1),pixy(y1),pixx(x2),pixy(y2));
    x1:=x2; y1:=y2;
  end;
 
 
  readln;
  closegraph;
  end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2010, 13:36
Ответы с готовыми решениями:

Функция(парабола)
В университете дали &quot;особое&quot; задание. не просто построить программу на проверку попадания точки в...

Квадратичная функция
Здравствуйте! Помогите пожалуйста сделать программу решающая функцию y = ax2 + bx + c и рисует ее...

Квадратичная и показательная функция
Каким способом, кроме графического, можно решить уравнение, в правой части которого квадратичная...

Расположение объектов, чтобы функция их не стирала (эллипс , парабола)
Суть проблемы : Вроде Canvas.Brush.Color:=Color; должна стирать прошлое положение эллипса , чтобы...

2
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
04.10.2010, 14:02 2
В этой теме про масштабирование что-то было.
https://www.cyberforum.ru/pascal/thread56317.html
И в этой
Построение графиков функций на канве (Canvas)
0
0 / 0 / 0
Регистрация: 21.10.2009
Сообщений: 6
04.10.2010, 21:13  [ТС] 3
https://www.cyberforum.ru/pascal/thread53665.html
Не получается у меня под себя переделать из вашей программы
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2010, 21:13
Помогаю со студенческими работами здесь

Структуры и классы. Квадратичная функция с коэффициентами
Во всех задачах описать классовый тип (сначала - структуру, затем - класс с использованием...

Класс функция(линейная или квадратичная)
Описать класс Математическая функция.Функция может быть линейной y=ax+b или квадратичной...

Парабола
Дана парабола y=ax^2+bx+c и две точки (X1,Y1) и (X2,Y2). парабола делит плоскость на две области....

Парабола
Вот код обработчика, в чем ошибка ? Не рисует график! procedure TForm2.Button1Click(Sender:...

Парабола
Найти координаты вершины параболы. y=ax^2+bx+c Язык: С++

Выпуклая ли парабола?
-0,5*x^2-x+9.5 - эта парабола всюду выпукла или всюду вогнута????? и как это определить????


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru