Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2008, 11:18   #1
Panda
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 24
По умолчанию Помогите написать программу

Нужно написать программу которая строит график по формуле:y=80-log3x
Вот программа в ней эта формула работает не правильно может можно что то исправить:
Код:
Program Graph_14_1;
uses graph;
var
k:byte;
x,dx,x1,x2,y:real;
mx,my,x0,y0,px,py:integer;
driver,mode,errcode:integer;
s,path:string;
procedure Graf(X1,Y1,X2,Y2:integer;k:real);
var i:integer;
begin
 if k>=8 then
  begin
   i:=X1+((X2-X1) div 2);
   setcolor(2);
   repeat
    line(i,Y1,i,Y2);
    i:=i+round(k);
   until i>=X2;
   i:=X1+((X2-X1) div 2);
   repeat
    line(i,Y1,i,Y2);
    i:=i-round(k);
   until i<=X1;
   i:=Y1+((Y2-Y1) div 2);
   repeat
    line(X1,i,X2,i);
    i:=i+round(k);
   until i>=Y2;
   i:=Y1+((Y2-Y1) div 2);
   repeat
    line(X1,i,X2,i);
    i:=i-round(k);
   until i<=Y1;
  end;
  setcolor(15);
  line(X1+((X2-X1) div 2),Y1,X1+((X2-X1) div 2),Y2);
  line(X1,Y1+((Y2-Y1) div 2),X2,Y1+((Y2-Y1) div 2));
 setcolor(12);
 rectangle(X1,Y1,X2,Y2);
end;
begin
k:=20;
driver:=vga;
mode:=vgahi;
path:='h:\bp\bgi';
initgraph(driver,mode,path);
errcode:=graphResult;
Graf(0,0,639,479,K);
if errcode<>grok then
begin
writeln('Error');
readln;
halt(1);
end;
x0:=320;
y0:=240;
mx:=trunc(k/10);
my:=mx;
setcolor(15);
line(10,y0,790,y0);
line(x0,10,x0,590);
x1:=-27;
x2:=27;
dx:=0.1;
x:=x1;
while (x<x2) do
begin
setcolor(4);
outtextxy(340,45,'y=80-ln(3)*x');
outtextxy(225,245,'-40');
outtextxy(245,245,'-30');
outtextxy(265,245,'-20');
outtextxy(285,245,'-10');
outtextxy(310,235,'0.0');
outtextxy(335,245,'10');
outtextxy(360,245,'20');
outtextxy(385,245,'30');
outtextxy(320,216,'10');
outtextxy(320,197,'20');
outtextxy(320,178,'30');
outtextxy(320,158,'40');
outtextxy(320,138,'50');
outtextxy(320,118,'60');
outtextxy(320,98,'70');
outtextxy(320,78,'80');
outtextxy(320,255,'-10');
outtextxy(320,275,'-20');
outtextxy(320,295,'-30');
outtextxy(320,315,'-40');
outtextxy(10,10,'zadanie 3-1');
outtextxy(10,25,'postroitb grafic po formule ');
outtextxy(10,45,'y=80-log3x');
outtextxy(10,65,'vipolnil student: Kuznetcov A.A');
y:=80-ln(3)*x;
y:=abs(y);
px:=x0+round(x*mx);
py:=y0-round(y*my);
putpixel(px,py,4);
x:=x+dx;
end;
readln;
closegraph;
end.
Panda вне форума Ответить с цитированием
Старый 08.07.2008, 13:06   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

График в принципе правильно рисует. Во вложениии этот же график в Эксел. Нужно только начало взять левее(меньше) и конец правее. Также изменить соотношение масштабов по осям, чтобы график был положе. Еще добавить подписи в обе стороны.
Вложения
Тип файла: doc 80-ln3 umn x.doc (53.0 Кб, 21 просмотров)
puporev вне форума Ответить с цитированием
Старый 08.07.2008, 13:46   #3
Panda
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 24
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
График в принципе правильно рисует. Во вложениии этот же график в Эксел. Нужно только начало взять левее(меньше) и конец правее. Также изменить соотношение масштабов по осям, чтобы график был положе. Еще добавить подписи в обе стороны.
Надо в Exel ввести вот такую формулу =80-log(3*x) и график построиться иначе вот его то и надо сделать.
Извиняюсь что сразу не точно формулу написал!

Последний раз редактировалось Panda; 08.07.2008 в 14:20.
Panda вне форума Ответить с цитированием
Старый 23.05.2009, 16:28   #4
ukzr415
 
Регистрация: 23.05.2009
Сообщений: 5
По умолчанию

Народ, помогите пожалуйста!заставить кнопку открывать новый файл.
ukzr415 вне форума Ответить с цитированием
Старый 24.05.2009, 06:14   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Напиши ей, что мол, если, тра-та-та, не будешь файл открывать, перерисую, или вообще удалю.
puporev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу!!!! Engine777 Помощь студентам 0 27.11.2007 23:15
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15
Помогите написать программу!!!!!!!plz V1k Фриланс 3 22.03.2007 20:15
помогите написать программу. ZixiT Общие вопросы Delphi 7 22.11.2006 11:05