Перейти к содержимому

Фотография

Нужна помощь в Pascal!


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 Tino

Tino

    Новичок

  • Пользователи
  • Pip
  • 1 сообщений
0
Обычный

Отправлено 07 Декабрь 2018 - 07:26

Есть код, сторящий график, но когда задаю переменные, при любых значениях график строится по одним и тем же точкам. Помогите исправить!

 
Program abc;
uses graphABC;
const
W=800; H=500;
function F(x: real): real;
var
r,c:real;
begin
F:=(x+r)*(x+r)*(x+c)*(x+c);
end;
var
x0, y0,e, x, y,r,c,f xLeft, yLeft, xRight, yRight, n: integer;
a, b, fmin, fmax, x1, y1, mx, my, dx, dy, num: real;
i: byte;
s: string;
begin
Write('ввод x: ');
Readln(x);
if e >= 0 then x := (x+r)*(x+r)*(x+c)*(x+c);
if e <= 0 then x := (x+r)*(x+r)*(x+c)*(x+c);
Writeln('f(x)= ');
Readln;
SetWindowSize(W, H);
xLeft := 50;
yLeft := 50;
xRight := W - 50;
yRight := H - 50;
a := -20; b := 20; dx := 1;
fmin := -20; fmax := 20; dy := 1;
mx := (xRight-xLeft)/(b-a);
my := (yRight-yLeft)/(fmax-fmin);
x0 := trunc(abs(a)*mx)+xLeft;
y0 := yRight-trunc(abs(fmin)*my);
line(xLeft, y0, xRight+10,y0);
line(x0, yLeft-10, x0, yRight);
SetFontSize(12);
setFontColor(clBlue);
TextOut(xRight+20, y0-15, 'X');
TextOut(x0-10, yLeft-30, 'Y');
SetFontSize(8);
setFontColor(clGreen);
n := round((b - a) / dx) + 1;
for i := 1 to n do
begin
num := a + (i - 1) * dx;
x := xLeft + trunc(mx * (num - a)); 
Line(x, y0 - 3, x, y0 + 3); 
str(Num:0:1, s);
if abs(num) > 1E-15 then
TextOut(x - TextWidth(s) div 2, y0 + 10, s)
end;  
n := round((fmax - fmin) / dy) + 1; 
for i := 1 to n do
begin
num := fMin + (i - 1) * dy; 
y := yRight - trunc(my * (num - fmin));
Line(x0 - 3, y, x0 + 3, y); 
str(num:0:0, s);
if abs(num) > 1E-15 then 
TextOut(x0 + 7, y - TextHeight(s) div 2, s)
end;
TextOut(x0 - 10, y0 + 10, '0'); 
x1 := a; 
while x1 <= b do
begin
y1 := F(x1); 
x := x0 + round(x1 * mx); 
y := y0 - round(y1 * my); 
if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clGreen);
 x1 := x1 + 0.001 
end
end.

 


  • 0

На правах рекламы




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей