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

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

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

> График функций, ВЫчисление таблицы значений и построение графика
сообщение
Сообщение #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 -


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 26.04.2024 6:26
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name