Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2011, 15:59   #1
katerina17171
Пользователь
 
Регистрация: 23.06.2011
Сообщений: 15
По умолчанию не правильный график

Функция F(x) интервал шаг Вывести график функции y(F(x))
sin(x) + cos(3x) [0, 2π] 2π /30 F(x) на инт-ле [0, 2π]
y =0, если F(x)<0 на инт-ле [π, 1.5π]

uses crt,graph;
function F(x:real):real;
begin
if(x>=pi)and(x<=1.5*pi)and(sin(x)+c os(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.

Последний раз редактировалось katerina17171; 24.06.2011 в 16:15.
katerina17171 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильный треугольник St1nk3r Помощь студентам 12 05.11.2011 10:36
правильный многоугольник fist001 C++ Builder 7 10.06.2011 21:50
правильный алгоритм? Pekus Помощь студентам 2 19.05.2011 12:26
Правильный антивирус. the_deer_one Свободное общение 4 25.06.2010 11:32
Правильный ли код? anomals PHP 4 10.02.2010 14:06