Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Приложение А. program Sglagivanie_Fure;






Листинг программы1

 

program Sglagivanie_Fure;

uses crt, Graph; { использование графических модулей }

{ ____________________задаем переменные________________________ }

var

b1, c, d, e, graffik, dd, ee, Sum, a, b, f, g, h, j, l, o, p, r, s, t, u, u0, yy, zz, w, x, xx, y, z, zzz: real;

i, aa, cnt, dt, nt, n, k, m, sgl_bars, kolli4estvo_gormonik, pred: integer;

ar0, Line_0, ar1, ar2, ar3, ar4, ar5, ar6, af, mf: array[1..100]of real;

fl: text;

{___________________Процедура рисования графика_______________}

Procedure tform1graph;

begin

InitGraph(dt, nt, 'C: \BP\BGI'); { Џгвм Є BGI ¤а ©ўҐа }

If GraphResult < > grOk Then Halt(1);

{Line(0, 0, GetMaxX, GetMaxY); }

MoveTo (5, GetMaxY);

SetColor(Random(GetMaxColor)+1);

cnt: =1;

for cnt: =1 to sgl_bars do

begin

lineto(cnt*6, 300-round(af[cnt])*2);

end;

MoveTo (5, GetMaxY);

SetColor(Random(GetMaxColor)+2);

for cnt: =1 to sgl_bars do

begin

lineto(cnt*6, 300-round(ar4[cnt])*2);

end;

repeat

Until KeyPressed;

CloseGraph;

end;

{______________ Начало__________________________________}

begin

assign(fl, 'c: \2.txt');

reset(fl);

cnt: =1;

while not eof(fl) do {считывание с файла}

begin

readln(fl, af[cnt]);

writeln(af[cnt]);

inc(cnt);

end;

close (fl);

{________________задаем начальные параметры____________}

pred: =10;

i: =1;

nt: =0;

Sum: =0;

m: =0;

sgl_bars: =cnt;

kolli4estvo_gormonik: =9; {}

pred: =Round(0.10*sgl_bars);

{_______ Запускаем основной цикл определяющий точность____}

for nt: =1 to kolli4estvo_gormonik do

begin

dd: =0;

ee: =0;

{____управление передается 1ому циклу внутри основного (смотри блок схему)_}

for n: =i to sgl_bars-1+i do

begin

Sum: =Sum + af[n];

c: =(45*8/(sgl_bars))*(n-i);

b: =af[n]/2-b1*n;

d: =Cos((nt*c))*b;

e: =Sin((nt*c))*b;

dd: =dd+d;

ee: =ee+e;

end;

Sum: =(Sum)/(sgl_bars);

d: =(2*dd)/(sgl_bars);

e: =(2*ee)/(sgl_bars);

ar1[nt]: =d;

ar2[nt]: =e;

end;

{______ управление передается 2ому циклу внутри основного (смотри блок схему)}

for nt: =1 to kolli4estvo_gormonik do

begin

d: =ar1[nt];

e: =ar2[nt];

for n: =i to sgl_bars-1+i do

begin

c: =(45*8/sgl_bars)*(n-i);

graffik: =d*Cos(nt*c)+e*Sin(nt*c);

ar3[n]: =ar3[n]+graffik;

end;

z: =0;

{______ управление передается 3ему циклу внутри основного (смотри блок схему)}

for n: =i to sgl_bars-1 do

begin

b: =af[n]/2-b1*n;

z: =z+(Abs(ar3[n]-b+Sum))/b;

end;

z: =z*100/sgl_bars;

e: =ar2[nt];

{______ управление передается циклу заносящему начальный график в буфер -ar0[]}

for n: =i to sgl_bars+pred do

begin

c: =((45*8/(sgl_bars))*(n-pred-i));

graffik: =d*Cos(nt*c)+e*Sin(nt*c);

ar0[n]: =ar0[n]+graffik;

end;

n: =i;

{__ управление передается циклу заносящему просчитанный график в буфер -ar0[]}

for k: =i to sgl_bars+pred-1+i do

begin

ar4[k]: =ar0[n]+Sum;

n: =n+1;

end;

for n: =i to pred-1+i do

begin

Line_0[n]: =3*Sum;

end;

end;

tform1graph; {}

end.

 

 

Приложение В

Листинг программы2

library testdll;

uses
Windows, SysUtils, Classes;

{$R *.res}
var hCom: DWord;
pov: _OVERLAPPED;
hEv: DWord;

function InitPort: boolean;
var dcb: _DCB;
begin
Result: =false;
hCom: =CreateFile('COM1', GENERIC_READ or GENERIC_WRITE, 0,
nil, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
if hCom=0 then exit;
GetCommState(hCom, dcb);
with dcb do
begin
DCBlength: =sizeof(dcb);
BaudRate: =CBR_38400;
Flags: =RTS_CONTROL_DISABLE or DTR_CONTROL_DISABLE;
ByteSize: =8;
Parity: =NOPARITY;
StopBits: =ONESTOPBIT;
end;
SetCommState(hCom, dcb);

hEv: =CreateEvent(nil, true, false, 'OE');

pov.Offset: =0;
pov.OffsetHigh: =0;
pov.hEvent: =hEv;

Result: =true;
end;

function SetLamps(w: byte): boolean;
var br: DWord;
begin
Result: =false;
ClearCommError(hCom, br, nil);
ClearCommBreak(hCom);
WriteFile(hCom, w, 1, br, @pov);
if WaitForSingleObject(hEv, 100)=WAIT_TIMEOUT then
begin
CancelIO(hCom);
ResetEvent(hEv);
br: =0;
exit;
end;
GetOverlappedResult(hCom, pov, br, true);
if br< 1 then exit;
Result: =true;
end;

function ReadPort(var b: byte): boolean;
var bt: byte;
br: DWord;
begin
Result: =false;
ClearCommError(hCom, br, nil);
ClearCommBreak(hCom);
ReadFile(hCom, bt, 1, br, @pov);
if WaitForSingleObject(hEv, 100)=WAIT_TIMEOUT then
begin
CancelIO(hCom);
ResetEvent(hEv);
br: =0;
exit;
end;
//if br< 1 then exit else
b: =bt;
Result: =true;
end;

exports InitPort, SetLamps, ReadPort;
begin
end.

 

 

[Сергей1]Где ссылка на источник информации?

[Сергей2]Какую роль выполняет С5






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.