Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 11
1

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

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

Author24 — интернет-сервис помощи студентам
Плиз помогите, а то плохо понимаю pascal, а нужно сделать прогу))
Вложения
Тип файла: doc Функция.doc (53.0 Кб, 40 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2009, 22:01
Ответы с готовыми решениями:

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

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

фунция bool()
Доброго времени суток. Возможно глупый но беспокоющий меня вопрос: для чего нужна функция bool() ?...

Фунция putchar()
Всем привет! Почему, когда вывожу часть строкового массива посимвольно - функция putchar выводит...

3
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
10.11.2009, 23:01 2
wawan, Попробуй по этой программе сделать, почти тоже, надоело писать.
сложная функция с графическим режимом
0
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
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
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
11.11.2009, 12:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2009, 12:22
Помогаю со студенческими работами здесь

Фунция Instr()
Private Sub Text3_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 48 To 57, 8 Case 44,...

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

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

наследование, фунция main
вот условие задачи: вот что у меня вышло, но не знаю что прописать в ф-ию, Main подскажите...

Проверьте правильно ли написана фунция
Задача: Написать функцию. Функция возвращает числовое значение. На входе у функции два...

Фунция переписывания строчки в обратном порядке
Я написал код на ввод символьной строки. Как мне вывести введенную строчку в обратном порядке? ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru