Uses crt,graph; function F(x:real):real;{заданная функция} begin if(x>=pi)and(x<=1.5*pi)and(sin(x)+cos(3*x)<0)then F:=0 else F:=sin(x)+cos(3*x); end; const xn=0;{начало и конец интервала, шаг табуляции} xk=2*pi; h=2*pi/30; var f1:text;{текстовый файл} x,y,mx,my:real; x1,y1:array[1..100] of real;{массивы значений абцисс и ординат} n,i,gd,gm,x0,y0:integer; st:string; begin clrscr; {создаем файл и открываем для записи} assign(f1,'tabl.txt'); rewrite(f1); writeln(f1,'');{шапка таблицы} writeln(f1,'| x | F(x) |'); writeln(f1,''); x:=xn;{табулируем функцию, пишем в файл и в массивы} n:=0; while x<=xk+h/2 do begin y:=F(x); n:=n+1; x1[n]:=x; y1[n]:=y; writeln(f1,'|',x:4:1,' |',y:5:2,' |'); x:=x+h; end; writeln(f1,''); close(f1); writeln('Результаты записаны в файл TABL.txt'); write('Press Enter...'); readln; {переходим в графический режим} gd:=0; initgraph(gd,gm,''); x0:=40;{начало координат} y0:=getmaxY div 2; mx:=(getmaxX-60)/(xk-xn);{масштабы по осям} my:=100; line(20,y0,getmaxX-20,y0);{оси координат} outtextXY(getmaxX-15,y0-15,'X'); line(x0,getmaxY-20,x0,20); outtextXY(x0-15,10,'Y'); {засечки подписи на осях} for i:=1 to round(xk)+1 do begin line(x0+round(i*mx),y0+3,x0+round(i*mx),y0-3); line(x0-round(i*mx),y0+3,x0-round(i*mx),y0-3); line(x0+3,y0+round(i*my),x0-3,y0+round(i*my)); line(x0+3,y0-round(i*my),x0-3,y0-round(i*my)); str(i,st); outtextXY(x0+round(i*mx),y0+10,st); outtextXY(x0-round(i*mx),y0+10,'-'+st); outtextXY(x0-20,y0-round(i*my),st); outtextXY(x0-20,y0+round(i*my),'-'+st); end; {график по точкам} moveto(x0+round(x1[1]*mx),y0-round(y1[1]*my)); for i:=1 to n do begin setcolor(12); lineto(x0+round(x1[i]*mx),y0-round(y1[i]*my)); setcolor(10); circle(x0+round(x1[i]*mx),y0-round(y1[i]*my),2);{точки} end; readln end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку