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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2007, 21:13   #11
ASUS
Пользователь
 
Аватар для ASUS
 
Регистрация: 07.01.2007
Сообщений: 10
По умолчанию

И продолжение...помогите...напишите какие операторы использовались и хоть в кратце блок схему...я ни рази этого не делал...чтоб было хоть что показать...ПОЖАЛУЙСТА !!!

procedure TMainForm.FormCreate(Sender: TObject);
begin
GetDir(0, Path);
FileName:=Path + '\Data\Data.txt';
FlExist:=FileExists(FileName);
Screen;
Fills;
end;
procedure TMainForm.CancelClick(Sender: TObject);
begin
Halt;
end;
procedure TMainForm.CalcClick(Sender: TObject);
begin
GraphForm:=TGraphForm.Create(Applic ation.MainForm);
GraphForm.ShowModal;
end;
end.
Скачать присоединенный файл (Graph.pas):
unit Graph;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TGraphForm = class(TForm)
Image1: TImage;
Cancel: TBitBtn;
procedure Screen;
procedure GraphView;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
GraphForm: TGraphForm;
implementation
{$R *.dfm}
uses Param;
procedure TGraphForm.Screen;
begin
Image1.Height:=ClientHeight - 50;
Cancel.Left:=10;
Cancel.Top:=ClientHeight - Cancel.Height;
end;
procedure TGraphForm.GraphView;
var
X, Y, Xmin, Xmax, Ymin, Ymax : word;
X1, Y1, X2, Y2 : word;
i : byte;
Xrmin, Xrmax, Yrmin, Yrmax, Xr, Yr : double;
begin
//
X1:=5;
Y1:=5;
X2:=Image1.ClientWidth - 5;
Y2:=Image1.ClientHeight-5;
Image1.Canvas.Rectangle(X1, Y1, X2, Y2);
Xmin:=X1 +10;
Ymin:=Y1+10;
Xmax:=X2 - 10;
Ymax:=Y2 - 10;
Image1.Canvas.MoveTo((X1 + X2) div 2, Y1 + 10);
Image1.Canvas.LineTo((X1 + X2) div 2, Y2 - 10);
Image1.Canvas.MoveTo(X1 + 10, (Y1 + Y2) div 2);
Image1.Canvas.LineTo(X2 - 10, (Y1 + Y2) div 2);
// поиск экстремумов
Xrmin:=10000;
Xrmax:=-10000;
Yrmin:=10000;
Yrmax:=-10000;
for i:=1 to 30 do
begin
if Dats[i].X1 <= Xrmin then Xrmin:=Dats[i].X1;
if Dats[i].X2 <= Xrmin then Xrmin:=Dats[i].X2;
if Dats[i].X1 > Xrmax then Xrmax:=Dats[i].X1;
if Dats[i].X2 > Xrmax then Xrmax:=Dats[i].X2;
if Dats[i].Y1 <= Yrmin then Yrmin:=Dats[i].Y1;
if Dats[i].Y2 <= Yrmin then Yrmin:=Dats[i].Y2;
if Dats[i].Y1 > Yrmax then Yrmax:=Dats[i].Y1;
if Dats[i].Y2 > Yrmax then Yrmax:=Dats[i].Y2;
end;
Image1.Canvas.Pen.Color:=clRed;
Image1.Canvas.Pen.Width:=2;
// построение первой кривой
for i:=1 to 30 do
begin
X:=Xmin + Round((Xmax - Xmin) * (Dats[i].X1 - Xrmin) / (Xrmax -
Xrmin));
Y:=Ymax - Round((Ymax - Ymin) * (Dats[i].Y1 - Yrmin) / (Yrmax -
Yrmin));
if i = 1 then
Image1.Canvas.MoveTo(X, Y)
else
Image1.Canvas.LineTo(X, Y);
end;
// построение второй кривой
Image1.Canvas.Pen.Color:=clBlue;
for i:=1 to 30 do
begin
X:=Xmin + Round((Xmax - Xmin) * (Dats[i].X2 - Xrmin) / (Xrmax -
Xrmin));
Y:=Ymax - Round((Ymax - Ymin) * (Dats[i].Y2 - Yrmin) / (Yrmax -
Yrmin));
if i = 1 then
Image1.Canvas.MoveTo(X, Y)
else
Image1.Canvas.LineTo(X, Y);
end;
end;
procedure TGraphForm.FormCreate(Sender: TObject);
begin
Screen;
GraphView;
end;
end.
Скачать присоединенный файл (Data.txt):
NN "Коорд. X1" "Коорд. Y1" NN "Коорд. X1" "Коорд. Y1"
1 -9,110 -0,935 31 9,817 12,576
2 -8,545 -0,965 32 9,573 10,810
3 -7,963 -0,995 33 9,290 9,102
4 -7,363 -1,021 34 8,964 7,453
5 -6,745 -1,040 35 8,593 5,865
6 -6,109 -1,049 36 8,173 4,339
7 -5,454 -1,042 37 7,702 2,875
8 -4,780 -1,016 38 7,179 1,478
9 -4,090 -0,964 39 6,598 0,150
10 -3,381 -0,880 40 5,956 -1,101
11 -2,656 -0,757 41 5,250 -2,271
12 -1,917 -0,589 42 4,479 -3,350
13 -1,165 -0,371 43 3,643 -4,329
14 -0,407 -0,100 44 2,743 -5,200
15 0,355 0,228 45 1,787 -5,949
16 1,115 0,618 46 0,782 -6,559
17 1,870 1,070 47 -0,262 -7,021
18 2,613 1,587 48 -1,332 -7,318
19 3,340 2,170 49 -2,402 -7,432
20 4,048 2,818 50 -3,446 -7,370
21 4,733 3,531 51 -4,438 -7,156
22 5,393 4,310 52 -5,362 -6,817
23 6,024 5,152 53 -6,210 -6,373
24 6,625 6,053 54 -6,975 -5,845
25 7,191 7,012 55 -7,655 -5,249
26 7,724 8,029 56 -8,248 -4,601
27 8,221 9,102 57 -8,752 -3,915
28 8,682 10,230 58 -9,170 -3,202
29 9,106 11,411 59 -9,502 -2,472
30 9,493 12,643 60 -9,750 -1,734
0,630 -9,143 -1,565
0,166 9,653 12,597
54,315
54,478
14,726
0,730
ASUS вне форума Ответить с цитированием
Старый 13.01.2007, 21:49   #12
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

вижу оператор цикла for
оператор уcловия if ...

сегодня уже больше ничего не разгляжу ..

тут несколько процедур, схема какой ?
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 14.01.2007, 14:07   #13
ASUS
Пользователь
 
Аватар для ASUS
 
Регистрация: 07.01.2007
Сообщений: 10
По умолчанию

Если можно схему всех операторов, и названия этих операторов...чтобы можно было описание сделать.

От меня требуют блок схему, говорят прога долна строить график как то по циклам, а реально строит по точкам...и вот нужен и тот и другой вариант.
ASUS вне форума Ответить с цитированием
Старый 14.01.2007, 19:37   #14
ASUS
Пользователь
 
Аватар для ASUS
 
Регистрация: 07.01.2007
Сообщений: 10
По умолчанию

Мужики помогите пожалуйста, я ни разу не рисовал блок схем и скажите как называются операторы в пограмме...я это в отчете укажу..
ASUS вне форума Ответить с цитированием
Ответ


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