Студопедия

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

КАТЕГОРИИ:

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






Агрегатты функциялар 2 страница






Ішкі бағ дарламаның листингі:

procedure Tform1.ScrollBar1Change (Sender: TObject);

begin

if num then Shape1.Left: = ScrollBar1.Position else Shape2.Left: = ScrollBar1.Position

end;

procedure Tform1.ScrollBar2Change (Sender: TObject); begin

if num then Shape1.Top: = ScrollBar2.Position else Shape2.Top: = ScrollBar2.Position

end;

procedure Tform1.Shape1MouseMove

(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

Shape1.Brush.Color: = clAgua; Shape1.Brush.Color: = clFuchsia; Num: = True;

ScrollBar1.Position: = Shape1.Left; ScrollBar2.Position: = Shape1.Top; end;

procedure Tform1. Shape2MouseMove

(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

Shape2.Brush.Color: = clFuchsia; Shape2.Brush.Color: = clAgua; Num: = False;

ScrollBar1.Position: = Shape2.Left; ScrollBar2.Position: = Shape2.Top; end;

procedure Tform1. FormCreate (Sender: TObject); begin

num: = True; end;

 

№8 - лабораториялық жұ мыс. Пайызды есептеу

Жұ мыстың мақ саты - мына ә рекеттерді орындайтын бағ дарлама қ ұ ру:

1. Бағ дарлама іске қ осылғ анда пішінге ү ш мә тін ө рісін шығ ару.

2. Бірінші ө ріске сан енгізіледі. Екінші ө ріске пайыз енгізіледі. Сонда «Есептеу» батырмасын басқ анда ү шінші ө рісте санның есептелген пайызы шығ уы тиіс.

Сурет

3. «Тазарту» батырмасы басылғ анда ө ріс тазарады. Ә рі қ арай ө ріске жаң а мә н енгізіле береді.

4. Бағ дарламадан шығ у ү шін тақ ырып жолындағ ы «Жабу» батырмасын шерту керек.

 

Бағ дарламаны іске асыру жоспарының сипаттамасы

1. Жаң а жоба ашу.

2. Пішінге мына компоненттерді: Button басқ ару батырмасын, Label жазуын, Edit мә тіндік ө рісін орналастыру.

3. Мына кестеде жазылғ ан ә рекеттерді орындау:

Кесте

Белгі-ленген нысан Object Inspector терезесінің астары Қ асиеттің аты/ Оқ иғ аның аты Атқ арылатын ә рекет
Form1 Properties Caption Пішінге «Пайызды есептеу» атын орнату
Label1 Properties Caption «Пайызды есептеу» атын енгізу
Edit1 Properties Text Қ асиеттің мә нін тазалау
Edit2 Properties Text Қ асиеттің мә нін тазалау
Edit3 Properties Text Қ асиеттің мә нін тазалау
Button1 Properties Caption «Есептеу» атын енгізу
Events OnClick Number, Procent, Prn айнымалыларын сипаттау
Button2 Properties Caption «тазарту» мә нін енгізу
Events OnClick Editl.Text: -''; Edit2.Text: =''; Edit3.Text: ='';

4. Жобаны сақ таң ыз, оны іске қ осып орындалуын тексеріп кө рің із.

Бағ дарлама ү зіндісі.

var

Number, Procent, Prn: Real; procedure TForm1.Button1Click(Sender: TObject); begin

Number: =StrToFloat(Edit1.Text); Procent: = StrToFloat(Edit2.Text); PrN: =0.01*Procent*Number; Edit3.Text: =FloatToStr(PrN); end;

procedure TForm1.Button2Click(Sender: TObject); begin

Edit1.Text: =''; Edit2.Text: =''; Edit3.Text: =''; end;

№ 9 - лабораториялық жұ мыс. Ллойд басқ атырғ ышы

Жұ мыстың мақ саты - Самуэл Ллойд басқ атырғ ышының біреуінің компьютерлік нұ сқ асын жасау: Берілген сандар жиынынан қ осындысы 50-ге тең болатын сандарды таң дау керек.

Ллойдтың ө з басқ атырғ ышы ү шін таң дағ ан сандары мыналар:

25, 27, 3, 12, 6, 15, 9, 30, 21, 19.

Сурет

Мына ә рекеттерді орындау:

1. Бағ дарлама іске қ осылғ анда терезеде Ллойдтың сандары кө рінеді.

2. Сандарды жалаушаның кө мегімен таң дап, оларды оң жақ терезеге орналастырамыз.

3. Таң далғ ан сандардың қ осындысы жазба тү рінде шығ ады.

4. Бағ дарламадан шығ у ү шін тақ ырып жолындағ ы «Жабу» батырмасын шерту қ ажет.

 

Бағ дарламаны іске асыру жоспарының сипаттамасы.

1. Жаң а жоба ашу.

2. Пішінге мына компоненттерді: CheckListBox жалаушаларының тізімін, Label жазуын, ListBox тізімін орналастыру.

3. Мына 13-кестеде кө рсетілген ә рекеттерді орындау:

Кесте

Белгі- ленген нысан Object Inspector терезесінің астары Қ асиеттің аты/ Оқ иғ аның аты Атқ арылатын ә рекет
Forml Properties Caption Пішінге «Ллойд басқ атырғ ышы» атын орнату
BorderStyle bsSingle мә нін меншіктеу
CheckListBoxl (Additional астары) Properties Items Тізім қ ұ рамын береміз. Қ ұ рушы батырманы шертейік.Сонда String List editor (Жолдар тізімінің редакторы) терезесі ашылады. Тізімге берілген сандарды Enter арқ ылы енгізің із. OK батырмасын басың ыз.
Height Мә ндерді барлық сандар тізімге сиятындай етіп таң даң ыз (айналдыру жолағ ынсыз).
Events OnClickCheck Тізімнің тазаруын сипаттаң ыз. Жалаушаның орнатылуын тексерің із.Тізімді жаң артқ ан соң таң далғ ан сандардың қ осындысын есептеу керек. Тізім элементтері сан тү рінде кө рінгенімен, олар мә тіндік жолдар болып табылады (StrToInt функциясын қ олдану қ ажет).
ListBox1 (Standard астары) Properties Height Мә ндерді барлық сандар тізімге сиятындай етіп таң даң ыз (айналдыру жолағ ынсыз). Алғ ашында тізім бос тұ рады. Ол бағ дарламамен жұ мыс кезінде толтырылады.
Label1 (Standard астары) Properties Caption «Қ осынды: 0» мә тінін енгізің із
Autosize False мә нін берің із
Alignment taCenter мә нін берің із

4. Жобаны сақ таң ыз, оны іске қ осып, орындалуын тексеріп кө рің із.

Ішкі бағ дарлама листингі:

procedure TForm1.CheckListBox1ClickCheck (Sender: TObject);

var i, s: Integer;

begin

ListBox1.Clear;

for i: = 0 to CheckListBox1.Items.Count-1 do if CheckListBox1.Checked[i] then ListBox1.Items.Add (CheckListBox1.Items[i]);

s: = 0;

for i: = 0 to ListBox1.Items.Count -1 do

s: = s + StrToInt(ListBox1.Items[i]); Label1.Caption: = 'Қ осынды: ' + IntToStr(s); if s = 50 then

begin

Label1.Caption: = 'Қ осынды: ' + IntToStr (s); CheckListBox1.Enabled: = False; ListBox1.Enabled: = False; end;

end;

 

№ 10 - лабораториялық жұ мыс. Калькулятор

Жұ мыстың мақ саты – кезкелген санмен (ондық бө лшекпен де) қ осу мен азайту амалдарын орындай алатын қ арапайым калькулятордың бағ дарламасын дайындау. 1. Бағ дарлама іске қ осылғ анда калькулятор терезесін шығ ару.

Сурет

2. Калькулятормен кезкелген санды қ осу жә не азайту амалдарын орындау.

3. Калькуляторды уақ ытша кө рсетпеу ү шін тақ ырып жолындағ ы «Жиыру», ал бағ дарламадан шығ у ү шін «Жабу» батырмасын шерту керек.

Бағ дарламаны іске асыру жоспарының сипаттамасы

1.Жаң а жоба ашу.

2.Пішінге мына компоненттерді: Button батырмасын, Edit мә тіндік ө рісін орналастыру.

3.Мына бағ дарламаны пайдаланып, Калькуляторды дайындап кө рің із:

Var

accum: real; // аккумулятор

oper: integer; // амал: 1 - '+'; 2 - '-'; // 0 - " орындау" (" =" батырмасы)

f: integer; { f = 0 жаң а санның бірінші цифрын кү ту, мыс, амал орындалғ ан соң, индикаторда нә тиже кө рінген кезде.

f = 1 қ алғ ан цифрларды кү ту}

procedure TForm1.Button0Click(Sender: TObject); // 0 батырмасы

begin

if f = 0 // санның бірінші цифры

then begin Edit1.Text: = '0'; f: = 1; //басқ а цифрларды кү ту end

else if Edit1.Text < > '0' // индикатордағ ы санның басында бірнеше нө л болмауы ү шін

then Edit1.Text: = Edit1.Text + '0';

end;

procedure TForm1.Button1Click(Sender: TObject); // 1 батырмасы

begin

if f = 0 // санның бірінші цифры

then begin Edit1.Text: = '1'; f: = 1; // басқ а цифрларды кү ту end

else Edit1.Text: = Edit1.Text + '1';

end;

procedure TForm1.Button2Click(Sender: TObject); // 2 батырмасы

begin

if (f = 0) then begin Edit1.Text: = '2'; f: = 1; end

else Edit1.Text: = Edit1.Text + '2';

end;

procedure TForm1.Button3Click(Sender: TObject); // 3 батырмасы

begin

if f = 0 then begin Edit1.Text: = '3'; f: = 1; end

else Edit1.Text: = Edit1.Text + '3';

end;

procedure TForm1.Button4Click(Sender: TObject); // 4 батырмасы

begin

if f = 0 then begin Edit1.Text: = '4'; f: = 1; end

else Edit1.Text: = Edit1.Text + '4';

end;

procedure TForm1.Button5Click(Sender: TObject); // 5 батырмасы

begin

if (f = 0) then begin Edit1.Text: = '5'; f: = 1; end

else Edit1.Text: = Edit1.Text + '5';

end;

procedure TForm1.Button6Click(Sender: TObject); // 6 батырмасы

begin

if f = 0 then begin Edit1.Text: = '6'; f: = 1; end

else Edit1.Text: = Edit1.Text + '6';

end;

procedure TForm1.Button7Click(Sender: TObject); // 7 батырмасы

begin

if f = 0 then begin Edit1.Text: = '7'; f: = 1; end

else Edit1.Text: = Edit1.Text + '7';

end;

procedure TForm1.Button8Click(Sender: TObject); // 8 батырмасы

begin

if f = 0 then begin Edit1.Text: = '8'; f: = 1; end

else Edit1.Text: = Edit1.Text + '8';

end;

procedure TForm1.Button9Click(Sender: TObject);

begin

if f = 0 then begin Edit1.Text: = '9'; f: = 1; end

else Edit1.Text: = Edit1.Text + '9';

end;

procedure TForm1.ButtonZClick(Sender: TObject); // ондық ү тір

begin

if Edit1.Text = '0' then begin Edit1.Text: = '0, '; f: = 1; end;

if Pos(', ', Edit1.Text) = 0 then Edit1.Text: = Edit1.Text + ', ';

end;

procedure DoOper; // амалдардың орындалуы

var numb: real; // индикатордағ ы сан

begin // accum алдың ғ ы амалдар нә тижесінен тұ рады

// oper – орындалатын амалдың коды. Операнд индикаторда тұ р.

numb: = StrToFloat(Form1.Edit1.Text);

case oper of

0: accum: = numb;

1: accum: = accum + numb;

2: accum: = accum - numb;

end;

Form1.Edit1.Text: = FloatToStr(accum);

end;

procedure TForm1.ButtonPlusClick(Sender: TObject); // " +" батырмасы

{ мұ нда алдың ғ ы амалды орындап, нә тижені индикаторғ а шығ ару керек, сосын ағ ымдағ ы амалды еске сақ тап жә не жаң а санның бірінші цифрын кү ту режимін орнату керек.}

begin

if f = 0 then oper: = 1 // амалды еске сақ тау

else begin DoOper; // алдың ғ ы амалды орындау

oper: =1; // ағ ымдағ ы амалды еске сақ тау f: =0; end;

end;

procedure TForm1.ButtonMinusClick(Sender: TObject); // " -" батырма

begin

if f = 0 then oper: = 2 else begin DoOper; oper: =2; f: =0; end;

end;

procedure TForm1.ButtonEnterClick(Sender: TObject); // " =" батырма

begin

if f = 0 then oper: = 0 else begin DoOper; oper: =0; f: =0; end;

end;

procedure TForm1.ButtonCClick(Sender: TObject); // " с" - тазарту

begin

Edit1.Text: = '0'; accum: = 0; oper: = 0; f: = 0;

end;

// Edit1 ө рісінде пернені басу

procedure TForm1.Edit1Change(Sender: TObject; var Key: Char);

begin

Key: = Chr(0); // символдарды кө рсетпеу

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

oper: = 0;

end;

end.

 

№11 - лабораториялық жұ мыс. Жиымдағ ы кездейсоқ сандардың индексін табу

Жұ мыстың мақ саты – жиымдағ ы кездейсоқ сандардың индексін табатын бағ дарлама қ ұ ру.

Бағ дарламаны іске асыру жоспарының сипаттамасы

1. Жаң а жоба ашу.

2. Пішінге мына компоненттерді: Button, Edit, Label орналастыру.

3. Мына кестеде кө рсетілген ә рекеттерді орындау:

Кесте

Белгі- ленген нысан Object Inspector терезесінің астары Қ асиеттің аты/ Оқ иғ аның аты Атқ арылатын ә рекет
Forml Properties Caption Пішінге «Жиым 1» атын орнату
Events OnCreate Мә тіндік ө рістердің Text қ асиетінің мә ндерін тазалау
Buttonl Properties Caption «Тазалау» атын енгізу
Events Onclick Мә тіндік ө рістердің Text қ асиетінің мә ндерін тазалау
Button2 Properties Caption «Жабу» атын енгізу
Events Onclick Пішінді Жабу оқ иғ асын ө ң деу
Button3 Properties Caption «Элементтің индексін табу» атын енгізу
Events Onclick Енгізілген санның индексін табу оқ иғ асын ө ң деу
Button4 Properties Caption «Элементті кездейсоқ енгізу» атын енгізу
Events Onclick Жиым элементтерін кездейсоқ енгізу
Editl Properties Caption Text қ асиетінің мә нін тазалау
Edit2 Properties Caption Text қ асиетінің мә нін тазалау
Edit3 Properties Caption Text қ асиетінің мә нін тазалау

4. айнымалыларды енгізу: ik, k, i: integer; s: string; a: array [1..15] of integer.

5. Жобаны сақ тап, сосын оны іске қ осып, орындалуын тексерің із.

Бағ дарлама листингі

procedure Tform1.FormCreate(Sender: Tobject); begin

Edit1.Text: = ''; Edit2.Text: = ''; Edit3.Text: = ''; end;

procedure Tform1.Button1Click(Sender: Tobject); begin

Edit1.Text: = ''; Edit2.Text: = ''; Edit3.Text: = ''; end;

procedure Tform1.Button2Click(Sender: Tobject); begin

close;

end;

procedure Tform1.Button3Click(Sender: Tobject); begin

k: = StrToInt (Edit2.Text); For i: = 1 to 15 do

if k = a[i] then ik: = i; if ik = 0 then Edit3.Text: = 'number ubsent' else Edit3.Text: = IntToStr (ik);

end;

procedure Tform1.Button4Click(Sender: Tobject); begin

randomize;

s: = '';

For i: = 1 to 15 do begin

a[i]: = random (26); s: = concat (s, IntToStr (a[i]), #32); end; Edit1.Text: = s; end; end.

Ә рекеттер бойынша жобалардың тү рлері:

Сурет

Сурет

Сурет

Сурет

 

 

№12 - лабораториялық жұ мыс. Уақ ыт есептеуіш

Жұ мыстың мақ саты – ағ ымдағ ы уақ ыт пен ағ ымдағ ы кү нді шығ арып, кө рсететін бағ дарлама қ ұ ру.

Бағ дарламаны іске асыру жоспарының сипаттамасы

1. Жаң а жоба ашу.

2. Пішінге мына компоненттерді: Button, Edit, Label орналастыру.

3. Мына кестеде жазылғ ан ә рекеттерді орындау:

Кесте

Белгі- ленген нысан Object Inspector терезесінің астары Қ асиеттің аты/ Оқ иғ аның аты Атқ арылатын ә рекет
Form1 Properties Caption Пішінге «Таймер» атын орнату
Button1 Properties Caption «ағ ымдағ ы уақ ыт» атын енгізу
Events Onclick DateTime: =Time; Edit1.Text: =TimeToStr(DateTime);
Button2 Properties Caption «Бү гінгі кү н» атын енгізу
Events Onclick Edit2.Text: =DateToStr(Date);
Edit1 Properties Caption Text қ асиетінің мә нін тазарту
Edit2 Properties Caption Text қ асиетінің мә нін тазарту

Сурет

Ішкі бағ дарлама листингі:

var

DateTime: TdateTime;

procedure Tform1.Button1Click(Sender: Tobject); begin

DateTime: =Time;

Edit1.Text: =TimeToStr(DateTime); end;

procedure Tform1.Button2Click(Sender: Tobject); begin

Edit2.Text: =DateToStr(Date); end; end.

№13 - лабораториялық жұ мыс. Оятқ ыш сағ ат

Жұ мыстың мақ саты – кө рсетілген уақ ытта оятатын оятқ ыш сағ аттың бағ дарламасын жасау. Пішінде қ азіргі уақ ыт пен ояту уақ ыты бө лек-бө лек кө рсетіліп тұ руы тиіс.

Сурет

Жұ мысты іске асырудың бағ дарламасы:

var

Hour, Min: word; // индикатордағ ы уақ ыт

AlHour, AlMin: word; //оятқ ышқ а орнатылғ ан уақ ыт AlHour: AlMin

// бағ дарлама жұ мысының басталуы

procedure TForm1.FormCreate(Sender: TObject);

begin

Hour: = HourOf(Now);

Min: = MinuteOf(Now);

Label1.Caption: = IntToStr(Hour);

if Min < 10

then Label2.Caption: = '0'+IntToStr(Min)

else Label2.Caption: = IntToStr(Min);

end;

// таймерден тү сетін сигнал

procedure TForm1.Timer1Timer(Sender: TObject);

var

cHour, cMin: word;

begin

// ағ ымдағ ы уақ ытты алу

cHour: = HourOf(Now);

cMin: = MinuteOf(Now);

if Timer1.Tag = 0 //экрандағ ы бағ дарлама терезесі

then begin

{ ағ ымдағ ы уақ ытпен индикаторда кө рінген уақ ыттың сә йкестігін тексеру}

if cHour < > Hour then

begin

Hour: = cHour;

Label1.Caption: = IntToStr(Hour);

end;

if cMin < > Min then

begin

Min: = cMin;

if min < 10

then Label2.Caption: = '0' + IntToStr(Min)

else Label2.Caption: = IntToStr(Min);

end;

// (:) қ ос нү ктенің жыпылық тауын қ аматамасыз ету

if Label3.Visible

then Label3.Visible: = False

else label3.Visible: = True;

end

else // бағ дарлама терезесі жасырылғ ан, сигнал

// жіберу сә тінің келгендігін тексеру

if (cHour = AlHour) and (cMin = AlMin)

// сигнал!

then begin

Form2.Show;

Timer1.Tag: = 0;

Timer1.Interval: = 1000;

end;

end;

// UpDown1 шерту оятқ ыш -сағ аттың сигнал беру уақ ытын ө згертеді

procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);

begin

if UpDown1.Position < 10

then Label4.Caption: = '0' + IntToStr(UpDown1.Position)

else Label4.Caption: = IntToStr(UpDown1.Position);

end;

// UpDown1 шерту оятқ ыш-минуттың сигнал беру уақ ытын ө згертеді

procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);

begin

if UpDown2.Position < 10

then Label5.Caption: = '0' + IntToStr(UpDown2.Position)

else Label5.Caption: = IntToStr(UpDown2.Position);

end;

// OK батырмасын шерту

procedure TForm1.Button1Click(Sender: TObject);

begin

// оятқ ышты орнату

AlHour: = UpDown1.Position;

AlMin: = UpDown2.Position;

Timer1.Tag: = 1;

Form1.Hide; //

Timer1.Interval: = 3000; // ә рбір 3 секунд сайын тексеру

end;

end.

 

№14 - лабораториялық жұ мыс. Олимпиада жалауы

Жұ мыстың мақ саты – пішін бетінде олимпиада жалауын сызатын бағ дарлама қ ұ ру.

Сурет

Ішкі бағ дарлама листингі:

unit Unitl;

{$R *.dfm}

procedure TForm1.FormPaint(Sender: TObject); begin

with Canvas do begin

// жалауша

Canvas.Pen.Width: = 1; Canvas.Pen.Color: = clBlack; Canvas.Brush.Color: = clCream; Rectangle(30, 30, 150, 115);

// сақ иналар

Pen.Width: = 2;

Brush.Style: = bsClear; // шең бердің ішкі аймағ ын боямау

Pen.Color: = clBlue; Ellipse(40, 40, 80, 80); Pen.Color: = clBlack; Ellipse(70, 40, 110, 80); Pen.Color: = clRed; Ellipse(100, 40, 140, 80); Pen.Color: = clYellow; Ellipse(55, 65, 95, 105); Pen.Color: = clGreen; Ellipse(85, 65, 125, 105); end; end;

end.

№15 - лабораториялық жұ мыс. Функция графигін салу

Жұ мыстың мақ саты – тү рлі функциялар графигін салатын бағ дарлама қ ұ ру. Тө менде ү лгі ү шін сызық тық жә не квадраттық фукциялардың графиктерін (0-7) аралығ ында салу қ арастырылды. Бағ дарламада кезкелген графикті (0-15) аралығ ында қ ұ руғ а болады.

Сурет

Сурет

Сурет

Сурет

Жұ мысты орындау бағ дарламасы:

unit grafik01;

//GR процедурасын бетінде график сызылатын жә не ө зі басқ а //модульде орналасқ ан Form2 пішіні ү шін onPaint оқ иғ асын ө ң деу //процедурасы шақ ырады.

// Сондық тан функция хабарландыруын басқ а модульден шақ ырып //алу ү шін Interface тарауында орналастыру қ ажет.

procedure gr;

implementation

uses grafik02;

{$R *.dfm}

{ Пішінді қ ұ ру кезінде StringGrid компонентінің қ асиетін орнату:

FixedRows: = 0;

RowCount: = 2;

Options.goEditing: = True;

Options.goTab: = True; }

const

COLCOUNT = 15;

var

// функцияның аргументтері мен мә ндері

x: array[1..COLCOUNT] of real;

y: array[1..COLCOUNT] of real;

// x, y жиымының мә ндері бойынша график салу

procedure gr;

var

i: integer;

x1, x2: real; // функция аргументінің ө згеру шектері

y1, y2: real; // функция мә ндерінің ө згеру шектері

l, b: integer; // график шығ атын аймақ тың сол жақ тө менгі бұ рышы

w, h: integer; // график шығ атын аймақ тың ені мен биіктігі

mx, my: real; // X жә не Y осьтері бойынша масштаб

x0, y0: integer; // координат осьтерінің қ иылысу нү ктесі

px, py: integer; // пішін бетіндегі графиктің нү кте координаталары

np: integer; // графиктегі нү ктелер саны

begin

Form2.Canvas.Rectangle(0, 0, Form2.ClientWidth, Form2.ClientHeight);

// график шығ атын аймақ

i: =10; // X - сол жақ жоғ арғ ы бұ рыш координатасы

b: =Form2.ClientHeight-20; // Y – сол жақ тө менгі бұ рыш //координатасы

h: =Form2.ClientHeight-40; //биіктігі

w: =Form2.Width-40; // ені

// аргументтің ө згеру шектері мен нү ктелер санын анық тау (X //жиымының элементтері ө спелі тізбек қ ұ рауы тиіс)

x1: =x[1];

i: =1;

while (x[i+1] > x[i]) and (i < COLCOUNT) do i: = i+1;

x2: = x[i]; //x[COLCOUNT-1];

np: =i; // нү ктелер саны

if np < 2 then begin

ShowMessage('График нү ктелері екіден кем болмауы қ ажет');

exit;

end;

// функцияның ең ү лкен жә не ең кіші мә ндерін табу

y1: =0; y[1]; // минимум

y2: =0; y[1]; // максимум

for i: =1 to np do

begin

if y[i] < y1 then y1: =y[i];

if y[i] > y2 then y2: =y[i];

end;

// масштабты есептеу

my: =h/abs(y2-y1); // Y осі бойынша масштаб

mx: =w/abs(x2-x1); //X осі бойынша масштаб

// координат осьтерінің қ иылысу нү ктесі

x0: =l+Abs(Round(x1*mx));

y0: =b-Abs(Round(y1*my));

with form2.Canvas do

begin

MoveTo(x0, b); LineTo(x0, b-h); // ось Y

MoveTo(l, y0); LineTo(l+w, y0); // ось X

TextOut(l+5, b-h, FloatToStrF(y2, ffGeneral, 6, 3));

TextOut(l+2, b+2, FloatToStrF(y1, ffGeneral, 6, 3));

// график салу

for i: =1 to np do

begin

px: = x0+Round(x[i]*mx);

py: = y0-Round(y[i]*my);

Form2.Canvas.Pen.Color: = clRed;

Rectangle(px-2, py-2, px+2, py+2); // маркер

if Form1.CheckBox1.Checked then

// қ осу сызығ ы

if i = 1


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.064 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал