Вывести на экран монитора и распечатать в виде таблицы значения аргумента x - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Вывести на экран монитора и распечатать в виде таблицы значения аргумента x, значение функции y,(i=1,2,3...) и графики кривых a и b, закрасить область ограниченную графиками этих кривых. Кривые: a b

Решение задачи: «Вывести на экран монитора и распечатать в виде таблицы значения аргумента x»

textual
Листинг программы
uses graphABC;
function f(x:real):real;
begin
f:=sqrt(5*x-x*x);
end;
var x,ymx,h,mx,my:real;
    x1,y1:array[1..20] of real;
    n,i,x0,y0,xn,xk:integer;
    st:string;
begin
xn:=0;xk:=5;//интервал по Х
//заполнение таблицы значений и нахождение максимального для масштаба по оси Y
h:=0.5;
ymx:=F(xn);
x:=xn;
n:=0;
while x<=xk do
 begin
  n:=n+1;
  x1[n]:=x;
  y1[n]:=F(x1[n]);
  if y1[n]>ymx then ymx:=y1[n];
  x:=x+h;
 end;
x0:=250;
y0:=windowheight-50;
mx:=(windowwidth-x0-30)/xk;//масштабы по осям
my:=(y0-30)/ymx;
line(x0,y0,windowwidth,y0);///оси
line(x0,0,x0,windowheight);
for i:=1 to 5 do//максимальное количество засечек в одну сторону
 begin
  line(x0-3,y0-round(i*my/2),x0+3,y0-round(i*my/2));//засечки на оси У
  textout(x0-20,y0-round(i*my/2),floattostr(i/2));//соответственно засечкам
  line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3); //засечки на оси Х
  //подпись оси Х
  textout(x0+round(i*mx),y0+10,floattostr(i));
 end;
//центр
textout(x0+5,y0+10,'0');
//подписи концов осей
textout(windowwidth-20,y0-20,'X');
textout(x0+5,10,'Y');
//графики
setpencolor(clRed); //y=3/2
line(x0+round(xn*mx),y0-round(1.5*my),x0+round(xk*mx),y0-round(1.5*my));
x:=xn;  //F(x)
setpencolor(clBlue);
moveto(x0+round(x*mx),y0-round(f(x)*my));
while x<=xk do
 begin
  lineto(x0+round(x*mx),y0-round(f(x)*my));
  x:=x+0.1;
 end;
setbrushcolor(clLime);//заливка области
floodfill(x0+round(2.5*mx),y0-round(1.5*my)-5,clLime);
//название
setbrushstyle(bsClear);
setfontsize(12);
setfontcolor(clBlue);
textout(x0+20,20,'x^2+y^2=5x');
setfontcolor(clRed);
textout(x0+20,40,'y=3/2');
//построение таблицы
setpencolor(clBlack);
setfontcolor(clBlue);
textout(10,0,'Значения аргумента');
textout(30,20,'и функции');
line(10,50,10,50+(n+1)*20);
line(60,50,60,50+(n+1)*20);
line(110,50,110,50+(n+1)*20);
setfontcolor(clBlue);
for i:=0 to n+1 do
line(10,50+i*20,110,50+i*20);
textout(35,55,'X');
textout(85,55,'Y');
for i:=1 to n do
 begin
  str(x1[i]:0:2,st);
  textout(15,55+20*i,st);
  str(y1[i]:0:2,st);
  textout(65,55+20*i,st);
 end;
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы