Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
aleks_massa
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 28
1

Построение графика функции в турбо-Паскаль

17.12.2015, 10:15. Просмотров 380. Ответов 8
Метки нет (Все метки)

Как построить график данной функции в паскаль?(2*(1+0.7*(sin(10^7*t))*(sin(10^8*t))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2015, 10:15
Ответы с готовыми решениями:

построение графика на Турбо Паскаль
Помогите пожалуйста Y=(x*(3-x))/(1-x)*sqr(1-x)

Графика в Турбо Паскаль
(b+\sqrt{b-4ac}/2a)-a*a*a*c - помогите как это записать в турбо паскале...

Графика в Турбо Паскаль
ситуация следующая. написала програму в которой задаешь координаты точки и в...

Графика в Турбо Паскаль
Не могли бы вы посоветовать книгу или дать ссылку на форуме где подробно...

Графика в Турбо Паскаль
Читаю форум и вижу, что много кому требуется помощь в освоении графики в...

8
Puporev
Модератор
55118 / 42358 / 29258
Регистрация: 18.05.2008
Сообщений: 100,096
17.12.2015, 14:01 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
uses graph;
function F(t:real):real;
begin
F:=2*(1+0.7*sin((10e+7)*t)*sin((10e+8)*t)) {функция}
end;
 
var a,b,mx,my,max:real;
    x:real;
    x0,y0,i:integer;
    s:string;
begin
x0:=0;
initgraph(x0,y0,'');{инициализация графического режима}
a:=-1;
b:=1;{интервал по Х}
x0:=getmaxX div 2;{начало координат по Х}
mx:=x0-10;{масштаб по Х}
x:=a; {найдем макс для масштаба по Y}
max:=F(x);
while x<=b do
 begin
  if F(x)>max then max:=F(x);
  x:=x+0.01;
 end;
y0:=getmaxY-50;
my:=(y0-80)/max;
line(0,y0,getmaxX,y0);{оси}
line(x0,60,x0,getmaxY);
for i:=1 to 10 do{максимальное количество засечек в одну сторону}
 begin
  if i<8 then
   begin
    line(x0-3,y0-round(i*my/2),x0+3,y0-round(i*my/2));{засечки на оси У}
    {подпись оси У}
    settextstyle(0,0,1);{горизонтальный шрифт}
    str(i/2:0:1,s);
    outtextXY(x0-35,y0-round(i*my/2),s);{соответственно засечкам}
   end;
  line(x0+round(i*mx/10),y0-3,x0+round(i*mx/10),y0+3); {засечки на оси Х}
  line(x0-round(i*mx/10),y0-3,x0-round(i*mx/10),y0+3);
  {подпись оси Х}
  settextstyle(0,1,1);{вертикальный шрифт}
  str(i/10:0:1,s);
  outtextXY(x0+round(i*mx/10)+5,y0+10,s);
  outtextXY(x0-round(i*mx/10)+5,y0+10,'-'+s);
 end;
settextstyle(0,0,1);{горизонтальный шрифт}
{центр}
outtextXY(x0-15,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-20,y0-20,'X');
outtextXY(x0+10,60, 'Y');
{график}
x:=a;
setcolor(12);
moveto(x0+round(x*mx),y0-round(F(x)*my));
while x<=b do
 begin
  lineto(x0+round(x*mx),y0-round(F(x)*my));
  x:=x+0.01;
 end;
{название}
settextstyle(0,0,1);
setcolor(12);
outtextXY(150,10,'y=2*(1+0.7*sin((10e+7)*t)*sin((10e+8)*t))');
outtextXY(250,30,'int.[-1;1]');
readln
end.
0
aleks_massa
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 28
17.12.2015, 14:05  [ТС] 3
Огромное Вам спасибо, с данным вопросом Вы мне очень помогли! У меня есть другой вопрос: Вот мой текст другой программы:
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
uses graph;
const
w1:real=1e+8; {sobstvenni kolebaniy}
tm:real=10e-9; {vremya modelirovaniya}
dt:real=1e-9; {shag modelirovaniya}
n:integer=2; {kol-vo uravneniy}
dk:real=0.0001; {masshtabnyi koef-t}
ti:real=1e-8;{metka}
u1:real=1e+7;
T1:real=0.5e-8;
T2:real=0.2e-8;
type
vec=array[1..2] of real;
matr=array[1..4,1..2] of real;
proc1=procedure(n:integer;var y,dy:vec);
proc2=procedure(n:integer;dt:real;var y,dy:vec;var ier:boolean);
var
i,j,driver,mode,x,z:integer;
ier:boolean;
y,dy:vec;
w2,d,t,f:real;
procedure fct(n:integer;var y,dy:vec) ;far;
begin
f:=sqr(3*(1+0.7*sin(u1*t))*(sin(w1*t)));
dy[1]:=y[2];
dy[2]:=(f-y[1]-y[2]*T2)/(T1*T1);
end;
procedure out(n:integer;dt:real;var y,dy:vec;var ier:boolean); far;
begin
t:=t+dt; {shag vremeny}
if t>tm then ier:=true;
x:=10+round(620/tm*t);
z:=240-round(dk*y[1]);
lineto(x,z);
end;
procedure rk4(n:integer;ier:boolean;h:real;fct:proc1;out:proc2;var y,dy:vec);
var
c:vec;
k:matr;
i,j:integer;
begin
repeat
c:=y;
for i:=1 to 4 do begin
fct (n,y,dy);
for j:=1 to n do begin
k[i,j]:=dy[j]*h;
case i of
3: y[j]:=c[j]+k[i,j];
4: y[j]:=c[j]+(k[1,j]+2*k[2,j]+2*k[3,j]+k[4,j])/6
else y[j]:=c[j]+0.5*k[i,j];
end;end;end;
out (n,h,y,dy,ier);
until ier;
end;
begin
ier:=false;
t:=0; y[1]:=0; y[2]:=0; f:=1/dt;
driver:=detect;
initgraph (driver,mode,'');
line(10,10,10,480);
line(10,240,640,240);
moveto(10,240);
for i:=0 to 10 do begin
x:=10+i*round(620/tm*ti);
line(x,(240-10),x,(240+10));
for j:=1 to 9 do begin
line(x+round(620/tm*ti*0.1*j),(240-5),x+round(620/tm*0.1*ti*j),(240+5));
end;end;
rk4(n,ier,dt,fct,out,y,dy);
readln;
end.
Как здесь вывести графики? У меня рисуются просто пустые оси.
0
Puporev
Модератор
55118 / 42358 / 29258
Регистрация: 18.05.2008
Сообщений: 100,096
17.12.2015, 14:33 4
Это нужно знать суть задачи и что делает программа. А графики для начала построить в Экселе или на каком-нибудь сервисе и посмотреть соответствуют ли они поставленной задаче и как выглядят.

Добавлено через 2 минуты
В принципе если график есть отражение результатов вычислений,то их лучше записывать в массивы
Pascal
1
t,f1,f2:array[1..100] of real;
и строить графики массивов.
0
aleks_massa
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 28
17.12.2015, 16:11  [ТС] 5
Puporev, Как выглядит исходное задание я прикрепил в этом сообщении (необходимо смоделировать удвоитель частоты в Паскале). Математическую часть задания я выполнил. В итоге, нужно в Турбо-Паскале решить диф.уравнение и вывести его график. (как раз программу, в которой я решал диф. уравнение и выводил график, я выложил выше). Диф. уравнение я тоже прикрепил в этом сообщении. В алгоритме программы я где-то накосячил...Никак не могу разобраться как правильно сделать.
0
Миниатюры
Построение графика функции в турбо-Паскаль   Построение графика функции в турбо-Паскаль  
Puporev
Модератор
55118 / 42358 / 29258
Регистрация: 18.05.2008
Сообщений: 100,096
17.12.2015, 16:12 6
Так это старое твое задание я в таком не рублю..
0
aleks_massa
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 28
17.12.2015, 16:13  [ТС] 7
Puporev, не знаешь, как диф.уравнение решить?
0
Puporev
Модератор
55118 / 42358 / 29258
Регистрация: 18.05.2008
Сообщений: 100,096
17.12.2015, 16:14 8
Нет, не знаю.
0
aleks_massa
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 28
17.12.2015, 16:15  [ТС] 9
Puporev, Понимаю.. Но за график спасибо
0
17.12.2015, 16:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2015, 16:15

Графика в Турбо Паскаль не работает
Люди помогите плиз. У меня windows 7 когда я пытаюсь запустить программу с...

Графика в Турбо Паскаль. Нарисовать телефон
Кто может нарисовать такое??

Графика в Турбо Паскаль. Нарисовать мобильный телефон
Помогите написать графику.Нужно нарисовать мобильный телефон


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru