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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2013, 16:09   #1
owert
 
Регистрация: 02.06.2013
Сообщений: 3
По умолчанию как составить блок-схему к этой программе???

uses graphABC;
function F1(x:real):real;
begin
F1:=x*cos(2*x);
end;
function F2(x:real):real;
begin
F2:=sqrt(x*x+2);
end;
function F3(x:real):real;
begin
F3:=F1(x)*F2(x);
end;
var xn,xk,x,mx,my,dx,max:real;
x0,y0,i:integer;
s:string;
begin
x0:=20;{центр экрана}
y0:=windowheight div 2;
xn:=0;xk:=2*pi;{интервал по Х}
x:=xn;
max:=F3(x);
while x<=xk do
begin
if F3(x)>max then max:=F3(x);
x:=x+0.01
end;
mx:=(windowwidth-2*x0)/xk;{масштаб по Х}
my:=(y0-20)/40;//max;{по У}
line(0,y0,windowwidth,y0);{оси}
line(x0,0,x0,windowheight);
for i:=1 to 5 do{максимальное количество засечек в одну сторону}
begin
line(x0+round(i*pi*mx/2),y0-3,x0+round(i*pi*mx/2),y0+3); {засечки на оси Х}
line(x0+3,y0-round(i*my*10),x0-3,y0-round(i*my*10)); {засечки на оси Y}
line(x0+3,y0+round(i*my*10),x0-3,y0+round(i*my*10));
{подпись оси Х}
textout(x0+round(mx*pi/2)-15,y0+10,'pi/2');
textout(x0+round(pi*mx),y0+10,'pi') ;
textout(x0+round(3*pi*mx/2),y0+10,'3pi/2');
textout(x0+round(2*pi*mx),y0+10,'2p i');
{подписи по оси Y}
str(i*10,s);
textout(x0-15,y0-round(i*my*10),s);
textout(x0-20,y0+round(i*my*10),'-'+s);
end;
{центр}
textout(x0+5,y0+10,'0');
{подписи концов осей}
textout(windowwidth-15,y0-15,'X');
textout(x0+10,10, 'Y');
{графики}
x:=xn;
dx:=0.001;
while x<=xk do
begin
x:=x+dx; {наращиваем х}
setpixel(x0+round(x*mx),y0-round(F1(x)*my),clBlue);
setpixel(x0+round(x*mx),y0-round(F2(x)*my),clRed);
setpixel(x0+round(x*mx),y0-round(F3(x)*my),clGreen);
end;
setfontsize(11);
setfontcolor(clBlue);
textout(x0+50,10,'y=x*cos(x)');
setfontcolor(clRed);
textout(x0+50,30,'y=sqrt(x^2+2)');
setfontcolor(clGreen);
textout(x0+50,50,'y=F1(x)*F2(x)');
end.
owert вне форума Ответить с цитированием
Старый 05.06.2013, 17:25   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

FCEditor Вам в помощь.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приветы, не могу составить блок-схему к этой программе, не понимаю как работает? Пиф Общие вопросы C/C++ 1 10.03.2013 07:57
Составить блок схему по программе!!! С++ Tommy-gun Помощь студентам 1 28.12.2012 07:13
составить блок-схему к программе Julia94 Паскаль, Turbo Pascal, PascalABC.NET 1 21.11.2012 09:34
Как составить блок-схему по программе???? Tomny Помощь студентам 5 05.03.2011 22:38
Помогите нарисовать блок-схему к этой программе C-Jay Общие вопросы C/C++ 3 30.12.2009 16:21