Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/144: Рейтинг темы: голосов - 144, средняя оценка - 4.72
matic

Графика в паскале (построить график функции)

28.04.2007, 21:37. Показов 28650. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо построить графики заданной функции в паскале.

Условие задачи:

Построить графики функции, заданной в параметрически, при разных значениях параметра "а" (должна быть реализована возможность вывода нескольких графиков при разных значениях "а")
x=a(sh(t) -t), y=a(ch(t)-1) (a>0).

Помогите пожалуста. Заранее благодарю.
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.04.2007, 21:37
Ответы с готовыми решениями:

Графика. Построить график функции y=x2+2
1. Написать программу построения графика функции y=x2 +2 на отрезке ;

Графика: Построить график функции y=ln(x+a)
Построить график функции y=ln(x+a)

Построить график функции в паскале
Построить график z=f(y), (0≤x≤4pi) y=sin(x) z=cos(x)

2
Администратор
 Аватар для mik-a-el
87797 / 53118 / 249
Регистрация: 10.04.2006
Сообщений: 13,760
29.04.2007, 21:59
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

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

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
94
95
96
97
98
99
Program UniversalGraph; 
Uses Graph; 
 
Type Fun = Function(X:Real):Real; 
 
Procedure Graphic(F:Fun; XBeg,XEnd:Real); 
Var 
Max, Min, {Экстремальные точки функции в пределах диапазона} 
I, {Переменная цикла} 
Step, {Расчитываемый шаг} 
GradX, {Приращение функции на один шаг по X} 
GradY: Real; {Приращение функции на один шаг по Y} 
GraphicX, {Координата по X} 
GraphicY: Integer; {Координата по Y} 
Flag: Boolean; {Флаг - перемещена первая точка} 
 
Procedure Coord (CoordYBeg, CoordYEnd, CoordHMin, CoordHMax: Real); 
Var GradX, GradYX: Real; 
X, Y: Integer; 
Color: Word; 
Begin 
Color:=GetColor; 
SetColor (7); 
GradX :=GetMaxX/(CoordYEnd-CoordYBeg); 
GradYX:=GetMaxY/(CoordHMax-CoordHMin); 
If (CoordYEnd>0) And (CoordYBeg<0) Then 
Y:=Round(GradX*(0-CoordYBeg)); 
If CoordYEnd<0 Then Y:=GetMaxY; 
If CoordYBeg>0 Then Y:=1; 
If (CoordHMin<0) And (CoordHMax>0) Then 
X:=Round(GradYX*(CoordHMax)); 
If CoordHMin>0 Then X:=GetMaxY; 
If CoordHMax<0 Then X:=1 ; 
Line (1,X,GetMaxX,X); {Горизонтальная линия} 
Line (GetMaxX-4,X+5,GetMaxX,X); {Стрелочка} 
Line (GetMaxX-4,X-5,GetMaxX,X); {Стрелочка} 
Line (Y,1,Y,GetMaxY); {Вертикальная линия } 
Line (Y-5,5,Y,1); {Стрелочка} 
Line (Y+5,5,Y,1); {Стрелочка} 
SetColor (Color); 
End; 
 
 
Begin 
Step:=(XEnd-XBeg)/(GetMaxY-40); 
I:=XBeg; 
Max:=F(XBeg); 
Min:=F(XBeg); 
While I<=(XEnd+Step) Do 
Begin 
If Max<F(I) Then Max:=F(I); 
If Min>F(I) Then Min:=F(I); 
I:=I+Step; 
End; 
GradX:=GetMaxX/(XEnd-XBeg); 
GradY:=GetMaxY/(Max-Min); 
Coord (XBeg, XEnd, Min, Max); 
 
Flag:=True; 
I:=XBeg; 
While I<=(XEnd+Step) Do 
Begin 
GraphicX:=Round(GradX*(I-XBeg)); 
GraphicY:=Round(GradY*(Max-F(I))); 
If Flag Then 
MoveTo (GraphicX,GraphicY); 
{ PutPixel(GraphicX,GraphicY,15);} 
LineTo(GraphicX,GraphicY); 
I:=I+Step; 
Flag:=False; 
End; 
 
End; 
 
{$F+} {Ключи ассемблирования} 
 
Function F1(X:Real):Real; 
Begin 
F1:=Sin(x)+COS(x/2); 
End; 
 
Procedure GraphicIni; 
Var 
Mode, DriverDet: Integer; 
Begin 
Mode:=0; 
DriverDet:=Detect; 
InitGraph(Mode,DriverDet,'c:\BP\BGI'); 
SetColor(15); 
End; 
 
{$F-} {Ключи ассемблирования} 
 
Begin 
GraphicIni; 
Graphic(F1,-10,10); 
ReadLn; 
CloseGraph; 
End.
1
matic
02.05.2007, 21:32
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
{$N+}
{$E+}
program ex;
uses crt, graph;
 
type
  tcurve = procedure(t: double;
           var x, y: double);
const
 
  a = 3;
  b = 9;
  L: double = 4;
 
  scale = 12; { mashtab izobrageniya }
  step = 0.005;
 
{
  procedura dlya otrisovki tochki krivoy,
  parametricheskoe predstavlenie kotoroy zadano funkchiey F
  pri znachenii parametra = T
}
 
procedure set_point(t: double; f: tcurve);
var
  x, y: double;
begin
  f(t, x, y);
  putpixel( (getmaxx div 2) + trunc(scale * x),
            (getmaxy div 2) - trunc(scale * y), white );
end;
 
{
  otrisovka krivoy so znacheniem parametra,
  legavshim v intervale [start, finish] i shagom izmeneniya parametra step
}
 
procedure draw_curve(start, finish, step: double;
          f: tcurve);
var t: double;
begin
  { risovanie osi koordinat }
  setcolor(green);
  line(0, getmaxy div 2, getmaxx, getmaxy div 2);
  line(getmaxx div 2, 0, getmaxx div 2, getmaxy);
 
  t := start; { nachalo intervala }
 
  { poka ne vishli za granichu intervala }
 
  while t <= finish do begin
    set_point(t, f);
    t := t + step; { narashivaem parametr}
  end;
end;
 
procedure evolventa(t: double; var x, y: double); far;
begin
  x := a * (sin(t)-t);
  y := a * (cos(t)-1);
end;
 
  var
mode, driver:integer;
begin
driver:=detect;
initgraph(mode, driver, 'D:\program\bp\bgi');
 
  {draw_curve(nachalo intervala, konech intervala, shag, my_curve);}
 
  draw_curve(-10, 10, step, evolventa);
  readln;
 
  closegraph;
end.
Программа строит гарфики функции:
x=a(sin(t)-t), y=a(cos(t)-t) (a>0)

А как записать вместо обычного синуса и косинуса гиперболические?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.05.2007, 21:32
Помогаю со студенческими работами здесь

Построить График функции Arccosx в паскале
Построить График функции Arccosx в паскале Напишите пожалуйста прогу, в интернете гуглил аналогичного ничего не нашёл.

Построить График функции y=sin(lnx)+x^2 с ограничением [0,П]в паскале
begin y:=sin(ln(x))+ x*x; x:=x+step; Writeln('X= ',x:0:2,' Y= ',y:0:2); end; Readln; end.

Графика. Построить график функции
Помогите пажалуста, желательно до завтра сделать. 1. Построить график указанной функции. F(x,y)=x^2+y^3-x^3=0 2. Преобразовать...

Графика. Построить график функции
Построить график функции y= (3-x)/(x-1) с шагом измерения аргумента 0,03. Проходить не проходили, а задание сказали выполнить,...

Графика: Построить график функции y = (2 + sin^2(x)) / (1 + x^2)
Здравствуйте! Помогите пожалуйста построить график функции


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru