![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Vipka |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите составить программу для вычисления точек пересечения двух функиций.
и еще может кто нить дать ссылку где на примере показывается как составить прогу для вычилении функции с траемя перемеными. |
![]() ![]() |
Vipka |
![]()
Сообщение
#2
|
Гость ![]() |
2 Dark что не работает.
Надо чтоб эта программа не тока считала но и рисовала график но с этим проблем меньше...........есть програама которая рисует один график: Код program gluk; uses crt,graph; var grdr,grmod,i,y0,dy1,dy,dx1,dx:integer; const ny=300;nx=400; type func= function(x:real):real; var a,b,hx, n,x,y,yg,scaly,ym,max,min:real; stma,stmi:string; const xmax=640;ymax=480;pi=3.14;t1=10;t2=2;t=3; {$F+} function f(x:real):real; begin f:=-x; end; {$F-} procedure maxmin(var max,min:real;var y0:integer; a,b,hx:real;f:func); begin x:=a; min:=f(a); max:=min; repeat x:=x+hx; y:=f(x); if y>max then max:=y else begin if y<min then min:=y; end; until x>b; writeln('max=',max); writeln('min=',min); if (max>0) and (min<0) then begin yg:=max+abs(min); scaly:=ny/yg; y0:=dy+round(scaly*max); end else begin if(max>0) and (min>=0) then begin yg:=max; y0:=ny+dy; end else begin yg:=abs(min); y0:=dy; end end; writeln('scaly=',scaly); scaly:=ny/yg; end; begin a:=0; b:=20; hx:=(b-a)/nx; dy:=round((ymax-ny)/2); dx:=round((xmax-nx)/2); dx1:=round(dx/2); dy1:=round(dy/2); maxmin(max,min, y0,a,b,hx,f); grdr:=detect; initgraph(grdr,grmod,''); setcolor(129); line(dx1,y0,xmax-dx1,y0); line(dx,ymax-dy1,dx,dy1); setcolor(5); line(xmax-dx,y0+5,xmax-dx,y0-5); line(dx+5,y0-round(max*scaly),dx-5,y0-round(max*scaly)); line(dx-5,y0-round(min*scaly),dx+5,y0-round(min*scaly)); line(xmax-dx1,y0,xmax-dx1-5,y0-5); line(xmax-dx1,y0,xmax-dx1-5,y0+5); line(dx,dy1,dx+5,dy1+5); line(dx,dy1,dx-5,dy1+5); str(max,stma); str(min,stmi); delete(stma,5,7); delete(stmi,5,7); OutTextXY (100,46 ,'y'); outtextxy (dx1+15,y0-10,'(0.0)'); outtextxy (dx-100,y0-round(max*scaly)-10,stma); outtextxy (dx-100,y0-round(min*scaly)-10,stmi); outtextxy (xmax-dx+55,y0+5,'x'); delay(2000); for i:=0 to nx do putpixel(dx+i,y0-round(scaly*f(a+i*hx)),2); readln; closegraph; end. но незнаю как сделать чтоб оба рисовала и считала точку пересечения........кто может помогите перделать если что функции f1:=-x; f2:=sqr(x+4); при -4<=x<=0 Сообщение отредактировано: volvo - 17.12.2004 11:41 |
![]() ![]() |
![]() |
Текстовая версия | 25.06.2025 12:06 |