Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
wawan
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 11
1

Фунция с построеним графика!!!

10.11.2009, 22:01. Просмотров 532. Ответов 3
Метки нет (Все метки)

Плиз помогите, а то плохо понимаю pascal, а нужно сделать прогу))
0
Вложения
Тип файла: doc Функция.doc (53.0 Кб, 39 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2009, 22:01
Ответы с готовыми решениями:

Графика.Цена деления графика.
Нужно доделать сие творение!Не хватает цены деления хотя бы 3 засечки по иксу в...

Написать программу построения графика функции.(Графика)
Написать программу построения графика функции y= x2 +2x-cos x на отрезке ....

Графика: построить 2 графика в одной координатной плоскости
Нужно построить 2 графика в одной координатной плоскости, но для начала нужно...

Паскаль графика (построения графика функции)
как поставить х и у буквами в графике и пронумеровать ось рисками от 1......

do while фунция
Здравствуйте, вот есть код приведенный ниже,прости те за культуру написания, но...

3
Puporev
Модератор
54589 / 42094 / 29064
Регистрация: 18.05.2008
Сообщений: 99,313
10.11.2009, 23:01 2
wawan, Попробуй по этой программе сделать, почти тоже, надоело писать.
сложная функция с графическим режимом
0
wawan
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 11
10.11.2009, 23:04  [ТС] 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
program test;
var m,n,i,j,p:integer;b,max,min,xj,s,ha,y,an:real;
 
function a(j:integer;an,ha:real):real;
begin
a:=an+j*ha;
end;
 
function c(i:integer;b:real):real;
begin
c:=exp(ln(3+b)*(1/i));
end;
 
function x(j:integer;b,an,ha:real):real;
begin
x:=(a(j,an,ha)*j+1)/(b*j-3);
end;
 
begin
write('vvedite m ');readln(m);
write('vvedite n ');readln(n);
write('vvedite an ');readln(an);
write('vvedite ha ');readln(ha);
write('vvedite b ');readln(b);
max:=0;min:=0;p:=0;
for j:=1 to m do
if j mod 4=0 then
begin
xj:=x(j,b,an,ha);
if xj<=b then
y:=((5*(xj*xj*xj))-6*sqr(xj)+j)/(sqr(j)+xj-2)+2*sqrt(abs(xj))
else
begin
s:=0;
for i:=1 to n do
s:=s+(sqr(c(i,b))+exp(ln(3)*(a(j,an,ha)/b))+2*b);
y:=s;
end;
if p=0 then begin max:=y; min:=y; p:=1;end;
if max<y then max:=y;
if min>y then min:=y;
end;
writeln('max ',max:10:2);
writeln('min ',min:6:2);
readln;
end.
0
Puporev
Модератор
54589 / 42094 / 29064
Регистрация: 18.05.2008
Сообщений: 99,313
11.11.2009, 12:22 4
Твой код не смотрел, все равно сам писать буду. Несмотря на недоверие к формуле, которая по-моему все же ошибочная, написал как есть. Уточнишь формулу, поправишь.
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
uses crt,graph;
const m=29;
      n=5;
var j,i,jmn,jmx,gd,gm,x0,y0,xp,yv,yn:integer;
    an,h,a,b,s,c,sg,mn,mx,ym,xm:real;
    x,y:array[1..m] of real;
    f:text;
    st:string;
begin
clrscr;
an:=7.3;
h:=3.7;
b:=-1.5;
assign(f,'C:\Rezult\file1.txt');
rewrite(f);
writeln(f,'Znacenia argumenta X:');
for j:=1 to m do{массив аргументов}
 begin
  a:=an+j*h;
  x[j]:=(a*j+1)/(b*j-3);;
  write(f,x[j]:8:2);
 end;
writeln(f,'');
writeln(f,'');
writeln(f,'Znachenia functii Y:');
for j:=1 to m do{массив значений функции}
 begin
  if x[j]<=b then
  y[j]:=(5*x[j]*x[j]*x[j]-6*x[j]*x[j]+j)/(j*j+x[j]-2)+2*sqrt(abs(x[j]))
  else
   begin
    s:=0;a:=an+j*h;
    for i:=1 to n do{вычисляем сумму}
     begin
      c:=exp(ln(3+b)/i);
      s:=s+c;
     end;
    y[j]:=s+exp(ln(3)*(a/b))-5*a+2*b;
   end;
  write(f,y[j]:8:2);
 end;
writeln(f,'');
writeln(f,'');
{находим макс и мин для о кратных 4}
writeln('Максимальные и минимальные значения для j, кратных 4:');
writeln(f,'Maximalnye i mimimalnye znachenia dlya J, kratnyh 4:');
mx:=y[4];mn:=y[4];jmx:=4;jmn:=4;
for j:=1 to m do
if j mod 4=0 then
 begin
  if y[j]>mx then
   begin
    mx:=y[j];
    jmx:=j;
   end;
  if y[j]<mn then
   begin
    mn:=y[j];
    jmn:=j;
   end;
 end;
writeln('Максимальное=',mx:8:2,'  j=',jmx);
writeln(f,'Maximalnoe=',mx:8:2,'  j=',jmx);
writeln('Минимальное =',mn:8:2,'  j=',jmn);
writeln(f,'Minimalnoe =',mn:8:2,'  j=',jmn);
write('Fail zapisan!');
close(f);
{найдем мин. и макс.функции для графика}
mn:=y[1];mx:=y[1];
for i:=1 to m do
 begin
  if y[i]<mn then mn:=y[i];
  if y[i]>mx then mx:=y[i];
 end;
writeln;
writeln;
writeln('Max i min dlya postroenia grafika:');
writeln('Min=',mn:0:2);
writeln('Max=',mx:0:2);
write('Press Enter...');
readln;
gd:=0;
initgraph(gd,gm,'');
x0:=20;y0:=300;{начало координат}
xm:=600/28;ym:=400/((mx-mn));{коэффициенты масштабирования по осям}
xp:=getmaxX-x0;{парвая граница оси Х}
yv:=y0-round(mx*ym);{верх оси У}
yn:=y0-round(mn*ym)+30;{ее низ}
{ось Х}
line(x0,y0,xp,y0);
outtextXY(xp+5,y0-15,'j');
for j:=0 to m-1 do
 begin
  line(x0+round(j*xm),y0+3,x0+round(j*xm),y0-3);{засечки на оси}
  str(j+1,st);{в строку номера точек массива}
  outtextXY(x0+round(j*xm),y0+10,st);{выводим шкалу на ось}
 end;
{ось Y}
line(x0,yn,x0,yv);
outtextXY(x0-15,yv-15,'F(j)');
{вверх}
for j:=1 to round(mx/1000) do{значения уменьшаем в 1000 раз}
 begin
  line(x0-3,y0-round(j*ym*1000),x0+3,y0-round(j*ym*1000));{засечки}
  str(j,st);
  outtextXY(x0+5,y0-round(j*ym*1000)-3,st+'000');{подписи+000}
 end;
{вниз}
for j:=1 to abs(round(mn/1000))+1 do
 begin
  line(x0-3,y0+round(j*ym*1000),x0+3,y0+round(j*ym*1000));
  str(j,st);
  outtextXY(x0+8,y0+round(j*ym*1000)-3,'-'+st+'000');
 end;
{график}
moveto(x0,y0);
for j:=1 to m-1 do
 begin
  Setcolor(4);
  lineto(x0+round(j*xm),y0-round(y[j]*ym));{линия графика}
  Setcolor(7);
  circle(x0+round(j*xm),y0-round(y[j]*ym),2);{маркеры}
 end;
readln
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2009, 12:22

Фунция
Составить функцию, вычисляющую максимальный и минимальный элементы одномерного...

С++ фунция -reverse
Всем привет подскажите пожалуста как пользоваться функцией reverse понятным...

фунция random
в паскале есть random(l+r) случайное число из диапозона l+r;как в с++?


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

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

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