Вот листинг проги, вроде все правильно, но когда запускаешь прогу, не выводится грфик, выводятся только оси, а сам график нет... Нужно во вторник сдать.. сломала уже голову... Помогите
Функция exp (-a•x)•sin(b•x)
| Код | program k; Uses crt,graph; const vvoda='Введите a='; vvodb='Введите b='; vvodXn='Введите Хн='; vvodXk='Введите Хк='; Var Ymax,Ymin,Xmax,Xmin, Y0,X0,Ya,Xa,h:integer; b,a,Xk,x:real; s:string;
Procedure OpenGraph; Var gr,gm:integer; Begin gr:=9;gm:=2; InitGraph(gr,gm,'e:\tp\bgi'); if GraphResult<>GrOk then begin writeln('Ошибка инициализации графики'); halt(1); end; End;
Begin ClrScr; gotoxy(25,12); Writeln('Программа для построения графика функции '); gotoxy(28,14); Writeln('Y= exp(-a*x)*sin(b*x)');readkey; ClrScr; write('Введите шаг приращения по оси Х :');readln(h);
repeat write('Введите значение a:');readln(a);until a>0; repeat write('Введите значение b:');readln(b);until 0<b>1; write('Введите значение Xk :');readln(Xk);
OpenGraph; Ymax:=GetMaxY;Xmax:=GetMaxX; X0:=40;Y0:=Ymax-40; line(40,40,40,Y0);line(40,y0,xmax-40,y0); line(37,49,40,40);line(40,40,43,49); line(xmax-40-9,y0-3,xmax-40,y0); line(xmax-40,y0,xmax-40-9,y0+3); outtextxy(x0-20,40,'Y'); outtextxy(xmax-30,y0,'X');
setcolor(3); settextstyle(0,0,2); settextjustify(CenterText,CenterText); outtextxy(x0+(xmax-80) div 2,50,'График функции Y= exp(-a*x)*sin(b*x)') ; setcolor(14); settextstyle(0,0,0); xa:=0; setlinestyle(2,0,0); outtextxy(x0+15,y0+15,'X=0'); outtextxy(x0-20,y0-5,'Y=0');
moveto(x0,y0); repeat inc(xa,h); ya:=round(exp(-a*x)*sin(b*x)); lineto(x0+xa,y0-ya); until (Xa>=Xk) or (xa>=xmax-80); str(xa,s);s:='X='+s; outtextxy(x0+xa,y0+15,s); str(ya,s);s:='Y='+s; outtextxy(x0-20,y0-ya,s); readkey; CloseGraph; End.
|
|