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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2012, 19:10   #1
Андрей77777
Пользователь
 
Регистрация: 14.11.2012
Сообщений: 36
По умолчанию Блок-схема программы

Прошу,нарисуйте блок-схему к программе(по графике)

Program lab21;
uses graphABC;
function F(x:real):real;
begin
F:=sqrt(1-x*x);
end;
var xn,xk,x,h,ymx,m:real;
x1,y1:array[1..30] of real;
n,i,x0,y0,y:integer;
st:string;
begin
xn:=-1;
xk:=1;
h:=0.1;
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;
setwindowsize(640,500);
x0:=2*windowwidth div 3-50;
y0:=windowheight-170;

m:=(windowwidth-x0-10)/xk;

line(x0-round(xk*m),y0,x0+round(xk*m),y0);
textout(windowwidth-25,y0-15,'X');
line(x0,y0,x0,60);
textout(x0+10,60,'Y');
for i:=0 to 10*trunc(xk) do
begin
line(x0+round(m*i/10),y0+3,x0+round(m*i/10),y0-3);
line(x0-round(m*i/10),y0+3,x0-round(m*i/10),y0-3);
str(i*0.1:0:1,st);
if i mod 2=0 then
begin
textout(x0+round(m*i/10),y0+10,st);
textout(x0-round(m*i/10),y0+10,'-'+st);
end;
line(x0+3,y0-round(m*i/10),x0-3,y0-round(m*i/10));
textout(x0-30,y0-round(m*i/10),st);
end;
{??????}
y:=round(m*y1[1]);
moveto(x0+round(x1[1]*m),y0+y-round(y1[1]*m));
setpencolor(clGreen);
circle(x0+round(x1[1]*m),y0+y-round(y1[1]*m),2);
for i:=1 to n do
begin
setpencolor(clRed);
lineto(x0+round(x1[i]*m),y0+y-round(y1[i]*m));
setpencolor(clGreen);
circle(x0+round(x1[i]*m),y0+y-round(y1[i]*m),2);
x:=x+h;
end;
setpencolor(clRed);
textout(x0-60,0,' y=sqrt(1-x^2)');
textout(x0-50,20,' [-1;1] h=0.1');
{?????????? ???????}
setpencolor(clBlack);
textout(10,0,'');
textout(30,20,'');
line(10,50,10,50+(n+1)*18);
line(60,50,60,50+(n+1)*18);
line(110,50,110,50+(n+1)*18);
for i:=0 to n+1 do
line(10,50+i*18,110,50+i*18);
textout(35,55,'X');
textout(85,55,'Y');
for i:=1 to n do
begin
str(x1[i]:0:2,st);
textout(15,55+18*i,st);
str(y1[i]:0:2,st);
textout(65,55+18*i,st);
end;
end.
Андрей77777 вне форума Ответить с цитированием
Старый 27.12.2012, 20:35   #2
darknim
Пользователь
 
Регистрация: 14.12.2012
Сообщений: 36
По умолчанию

У тебя тут всего лишь один цикл и одно условие. Элементарная схема. Стыдно должно быть.
darknim вне форума Ответить с цитированием
Старый 27.12.2012, 22:58   #3
Андрей77777
Пользователь
 
Регистрация: 14.11.2012
Сообщений: 36
По умолчанию ответ

я вообще не разбираюсь в Паскале
Андрей77777 вне форума Ответить с цитированием
Старый 28.12.2012, 09:57   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

тогда www.fceditor.com
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блок-схема для программы TVIST95 Помощь студентам 0 05.11.2012 23:23
Блок схема программы. qwe1qwe2qwe3 Помощь студентам 1 07.06.2012 14:54
Блок схема программы Fromer Паскаль, Turbo Pascal, PascalABC.NET 5 17.01.2012 16:49
Блок схема программы vadiprog Помощь студентам 1 21.10.2011 10:12
Блок схема алгоритма программы и схема взаимодействия модулей. Lazio Фриланс 3 02.12.2009 23:10