IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> График функций, ВЫчисление таблицы значений и построение графика
TP7.0
сообщение 15.12.2007 22:23
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Мужской
Реальное имя: Саша

Репутация: -  0  +


Здраствуйте! Помогите пожалуйсто, кто может подредактировать програму, она написана, но не запускается=(
Задание: Вычислить таблицу значений и построить график функций Y(x) на интервале 0<=x<=pi c шагом h=0,15
y=exp(-x/2)/(1-0,5sin3x)



программа:
Код

  Program Graphic;
Uses crt, graph;
const n=40;
const P=3.1415926;
var
a,d,b,x,y,k:real;
c,r,f:integer;
sx,sy,sz:string;
begin
ClrScr;
write ('Vvedite x, y, shag : ');
initGraph(c,r,'c:\tp8\BGI');
setcolor(2);
x:=a;
f:=20;
While b>=x do
  begin
    y:=Exp(-x/2)/(1-0.5*sin(3*x));
      str(x:0:5,sx);
      str(y:0:5,sx);
outtextxy(0,f,'X='+sx+' Y='+sy);
f:=f+10;
x:=x+d;
end;
setcolor(white);
line(0,240,640,240);
line(640,240,625,237);
line(640,240,625,243);
line(320,0,320,480);
line(320,0,317,15);
line(320,0,323,15);
outtextxy(310,4,'Y');
outtextxy(631,220,'X');
outtextxy(325,243,'0');
settextstyle(2,0,2);
x:=320; k:=0.2;
while x<640-n*0.3 do
   begin
   x:=x+n*0.2;
   line(round(x),235,round(x),245);
   str(k:2:1,sz);
   outtextxy(round(x), 245,sz);
   k:=k+0.2;
   end;
   x:=a;
   x:=320; k:=-0.2;
   while x>n*0.3 do
    begin
    x:=x-n*0.2;
    line(round(x),235,round(x),245);
    str(k:2:1,sz);
    outtextxy(round(x)-5,245,sz);
    k:=k-0.2;
    end,
   y:=240; k:=0.2;
   while y>n*0.3 do
    begin
    y:=y-n*0.2;
    line(325,round(y),315,round(y));
    str(k:2:1,sz);
    outtextxy(330,round(y),sz);
    k:=k+0.2;
    end;
   y:=240; k:=-0.2;
   while y<480-n*0.3 do
    begin
    y:=y+n*0.2;
    line(325,round(y),315,round(y));
    str(k:2:1,sz);
    outtextxy(325,round(y),sz);
    k:=k-0.2;
    end;
  settextstyle(2,0,6);
  setcolor(4);
     outtextxy(340,100,'y:=Exp((-(x)/2)/(1-0.5*sin(3*x)');
     outtextxy(450,135,'0<=x<=P);
      x:=a;
      y:=Exp(-x/2)/(1-0.5*sin(3*x));
      moveto(322+round(x*1.1*n),240+round(y*1.1*n));
  while b>=x do
  begin
     y:=Exp(-x/2)/(1-0.5*sin(3*x));
     lineto(322+round(x*n),240+round(y*1.1*n));
     x:=x+d;
  delay(1000);
    end;
    readkey;
    closegraph;
end.


Заранее пасибо=)

Добавлено через 12 мин.
Решение подобного задания
Вычислить y=exp(1/3*ln(x+4)/exp(x), (где x в степени е) напечатать таблицу значений и построить график функции на интервале -4,4<=X<=4 c шагом ΔX=0,4
Программа:
Код

program grafik;
uses crt,graph;
var x,y,xn,xk,h:real;
    GD,GM,X0,Y0,dX,dY,ch:integer;
    s1,s2:string;
Begin
     write(' Введите xn,xk,h: ');
     read(xn,xk,h);
     DetectGraph(GD,GM);
     InitGraph(GD,GM,'\bgi');
     SetColor(15);
     SetBkColor(3);
     { Вывод таблицы значений }
     OutTextXY(10,10,' X      Y');
     x:=xn; dy:=20;
     while x<xk+0.01 do begin
           if x<-4.01 then y:=-exp(1/3*ln(abs(x+4)))/exp(x)
                  else if x>-3.99 then y:=exp(ln(x+4)*1/3)/exp(x)
                                          else y:=0;
           str(x:4:1,s1); str(y:7:3,s2);
           OutTextXY(10,dy,s1); OutTextXY(50,dy,s2);
           dy:=dy+10;
           x:=x+h end;
     readkey;

     { Координатная плоскость }
     OutTextXY(350,100,'y=exp(ln(x+4)*1/3)/exp(x)');
     outtextxy(350,120,'-4.4<=x<=4.0,h=0.4 ');
     settextstyle(2,0,2);
     X0:=GetMaxX div 2; Y0:=GetMaxY div 2;
     Line(0,Y0,GetMaxX,Y0);
     Line(X0,0,X0,GetMaxY);
     dx:=6;ch:=1;
     while x0+dx<getmaxX-10 do begin
           Line(x0+dx,Y0-1,x0+dx,Y0+1);
           Line(x0-dx,y0-1,x0-dx,y0+1);
           str(ch,s1);str(-ch,s2);
           OuttextXY(x0+dx-2,y0+5,s1);
           OuttextXY(x0-dx-6,y0+5,s2);
           ch:=ch+2;
           dX:=dX+12 end;
     dy:=6;ch:=1;
     while y0+dy<getmaxy-10 do begin
           Line(x0-1,y0+dy,x0+1,y0+dy);
           Line(x0-1,y0-dy,x0+1,y0-dy);
           str(ch:2,s1);str(-ch:3,s2);
           OuttextXY(x0-13,y0+dy-3,s2);
           OuttextXY(x0-10,y0-dy-3,s1);
           ch:=ch+2;
           dy:=dy+12 end;
     Line(X0,0,X0-3,5);
     Line(X0,0,X0+3,5);
     Line(GetMaxX,Y0,GetMaxX-5,Y0+3);
     Line(GetMaxX,Y0,GetMaxX-5,Y0-3);

     OutTextXY(GetMaxX-5,Y0+5,'X');
     OutTextXY(X0-10,5,'Y');

     { График }
     SetColor(6);
     x:=xn;
     moveto(x0+round(xn*6),y0-round(-exp(1/3*ln(abs(xn+4)))/exp(xn)*6));
     while x<=xk do begin
         if x<-4.0 then y:=-exp(1/3*ln(abs(x+4)))/exp(x)
                  else if x>-4.0 then y:=exp(ln(x+4)*1/3)/exp(x)
                                        else y:=0;
         lineto(X0+round(x*6),Y0-round(y*6));
         x:=x+0.001;delay(50) end;
     readkey;
     CloseGraph
End.


Сообщение отредактировано: TP7.0 - 16.12.2007 0:48


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Гость
сообщение 16.12.2007 0:17
Сообщение #2


Гость






А он пишет вот в этой строчке ошибка, что тут неправильно?
Код

  Program Graphic;
Uses crt, graph;
const n=40;
const P=3.1415926;
var
a,d,b,x,y,k:real;
c,r,f:integer;
sx,sy,sz:string;
begin
ClrScr;
write ('Vvedite x, y, shag : ');
initGraph(c,r,'c:\tp8\BGI');
setcolor(2);
x:=a;
f:=20;
While b>=x do
  begin
    y:=Exp(-x/2)*(1-0.5*sin(3*x));
      str(x:0:5,sx);
      str(y:0:5,sx);
outtextxy(0,f,'X='+sx+' Y='+sy);
f:=f+10;
x:=x+d;
end;
setcolor(white);
line(0,240,640,240);
line(640,240,625,237);
line(640,240,625,243);
line(320,0,320,480);
line(320,0,317,15);
line(320,0,323,15);
outtextxy(310,4,'Y');
outtextxy(631,220,'X');
outtextxy(325,243,'0');
settextstyle(2,0,2);
x:=320; k:=0.2;
while x<640-n*0.3 do
   begin
   x:=x+n*0.2;
   line(round(x),235,round(x),245);
   str(k:2:1,sz);
   outtextxy(round(x), 245,sz);
   k:=k+0.2;
   end;
   x:=a;
   x:=320; k:=-0.2;
   while x>n*0.3 do
    begin
    x:=x-n*0.2;
    line(round(x),235,round(x),245);
    str(k:2:1,sz);
    [size=6] outtextxy(round(x)-5.245,sz);  [/size]
    k:=k-0.2;
    end,
   y:=240; k:=0.2;
   while y>n*0.3 do
    begin
    y:=y-n*0.2;
    line(325,round(y),315,round(y));
    str(k:2:1,sz);
    outtextxy(330,round(y),sz);
    k:=k+0.2;
    end;
   y:=240; k:=-0.2;
   while y<480-n*0.3 do
    begin
    y:=y+n*0.2;
    line(325,round(y),315,round(y));
    str(k:2:1,sz);
    outtextxy(325,round(y),sz);
    k:=k-0.2;
    end;
  settextstyle(2,0,6);
  setcolor(4);
     outtextxy(340,100,'y:=Exp((-(x)/2)*(1-0.5*sin(3*x)');
     outtextxy(450,135,'0<=x<=P);
      x:=a;
      y:=Exp((-(x)/2)*(1-0.5*sin(3*x));
      moveto(322+round(x*1.1*n),240+round(y*1.1*n));
  while b>=x do
  begin
     y:=Exp((-(x)/2)*(1-0.5*sin(3*x));
     lineto(322+round(x*n),240+round(y*1.1*n));
     x:=x+d;
  delay(1000);
    end;
    readkey;
    closegraph;
end.

 К началу страницы 
+ Ответить 

Сообщений в этой теме
TP7.0   График функций   15.12.2007 22:23
volvo   Ошибки - то все синтаксические... Исправляешь - пр...   15.12.2007 23:26
Гость   А он пишет вот в этой строчке ошибка, что тут непр...   16.12.2007 0:17
Гость   А он пишет вот в этой строчке ошибка, что тут непр...   16.12.2007 0:18
TP7.0   А он пишет вот в этой строчке ошибка, что тут неп...   16.12.2007 0:21
andriano   Процедура требует 3 параметра, а у тебя только 2. ...   16.12.2007 0:20
volvo   outtextxy(round(x)-5, 245, sz); [b]Добавлено чере...   16.12.2007 0:31
TP7.0   [code=pas]outtextxy(round(x)-5, 245, sz); [b]Доб...   16.12.2007 0:40
volvo   А ты бы после строки: write ('Vvedite x, y, s...   16.12.2007 0:48
TP7.0   А ты бы после строки: write ('Vvedite x, y, ...   16.12.2007 0:52
TP7.0   Маленький вопросик, а как записывается на языке па...   16.12.2007 12:38
Client   Т.е. тебе написать само выражение? Если так, то н...   16.12.2007 12:42
TP7.0   Т.е. тебе написать само выражение? формулу, как ...   16.12.2007 12:44
volvo   Y := Exp(X*Ln(3)); { Это и есть 3^X }   16.12.2007 12:52
TP7.0   Y := Exp(X*Ln(3)); { Это и есть 3^X } Пасибо vol...   16.12.2007 12:55


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 16:00
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"