ПАРАЛЛЕЛЬДІ ЕСЕПТЕУЛЕРДЕ

МАТРИЦАНЫ МАТРИЦАҒА КӨБЕЙТУ ӘДІСІН ҚОЛДАНУ

Жоранова Н.Ж., Боранкулова Г.С.

 

      Көптеген есептерді шығару үлкен көлемді операцияларды талап етеді, заманауи техникаларда өзінде бірқатар ресурстарды, қазіргі есептеу техникасының дамуының арқасында уақытты үнемдеуге қол жеткізілді.  Мұндай көптеген күрделі есептерді шешу үшін аздаған уақыт ішінде шешуге шектеу қояды.  Мұндай есептер қатарына, мысалы ауа райын болжау, техниканың басқарылуымен тұлғаларды тану және кескіндерді өңдеу.  Басқа қырынан қарайтын болсақ үлкен техникалық мәселелерді шешу уақытты қысқарту үшін микропроцессорда әрбір операцияны орындау болып табылады. Есептеу жылдамдығын арттыру үшін бір есептеу құрылғысын қолдану емес, ал керісінше бірлесен бірнеше құрылғыны  бір есепті шешуде қолдану. Мұндай бағытты параллельді есептеу деп атаймыз. Бірінші мәселе параллельді есептеу алгоритмінің көмегімен шешу оның шешімі ол қайта параллельдеуге мүмкіндік береді. Ең бастысы жүйелерді тұрғызу, содан кейін параллельді есептерді таратуға болады. 

Қазіргі таңда IT-мамандарын дайындауда таңдау компоненттерінің құрамына «Параллельді есептеу» пәні енгізілген. Сондықтан аталған пәннің оқу жұмыс бағдарламасында Параллельді есептеу алгоритмі. Матрицаны көбейту тәсілдері деп аталатын тақырыптар қамтылған. Сол себепті зертханалық жұмысты обектіге бағытталған бағдарламалау негізінде орындауды ұйғардық. Төменде жұмыстың орындалу тәртібі көрсетілген.

Жұмыстың орындалу реті:

1 - Delphi бағдарламасында жаңа бағдарлама құру үшін FileNewApplication командасын орындаймыз;

2 – Енді жаңа форма бетіне келесі компоненттерді орнатамыз: 16 – Edit, 4- Button, Image  және 2- Label;

 

 

3 - Компоненттерге Caption бөлімінде қажетті аттарын береміз:

Компонент аты

Caption

1

Button1

1матрицаны енгізу

2

Button2

2 матрицаны енгізу

3

Button3

Матрицаны матрицаға көбейту

4

Button4

шығу

Edit kомпонентінің атын тазарту үшін Name бөлімінде оның атауын алып тастаймыз

Label  сәйкесінше қажет аттарды Caption бөлімінде сипаттаймыз

Сурет орнату үшін Standard бөлімінде Image компонентін таңдаймыз. Ол компонентке суретті орнату үшін Picture бөліміне өтіп  load батырмасы арқылы бумадан өзімізге қажет суретті таңдаймыз.

4 - 1матрицаны енгізу батырмасын екі рет шертіп, келесі кодтарды енгізу арқылы Еdit компоненттеріне рандомды түрде сандарды енгіземіз:

procedure TForm1.Button1Click(Sender: TObject);

begin

Edit1.Text:=IntToStr(random(100));

Edit2.Text:=IntToStr(random(100));

 Edit4.Text:=IntToStr(random(100));

 Edit5.Text:=IntToStr(random(100));

 Edit7.Text:=IntToStr(random(100));

 Edit8.Text:=IntToStr(random(100));

end;

5 - 2 матрицаны енгізу батырмасын екі рет шертіп, келесі кодтарды енгізу арқылы Еdit компоненттеріне рандомды түрде сандарды енгіземіз:

procedure TForm1.Button2Click(Sender: TObject);

begin

  Edit3.Text:=IntToStr(random(100));

  Edit6.Text:=IntToStr(random(100));

  Edit9.Text:=IntToStr(random(100));

 Edit10.Text:=IntToStr(random(100));

 Edit11.Text:=IntToStr(random(100));

 Edit12.Text:=IntToStr(random(100));

end;

6 – Матрицаны матрицаға көбейту батырмасын екі рет шертіп, келесі кодтарды енгізу арқылы рандомды таңдалған сандардың суммасын шығарамыз:

procedure TForm1.Button3Click(Sender: TObject);

var

 Ed1, Ed2,  Ed3: integer;

 Ed4, Ed5,  Ed6: integer;

 Ed7, Ed8,  Ed9: integer;

 Ed10, Ed11,  Ed12: integer;

 Ed13, Ed14, Ed15, Ed16: integer;

begin

Ed1:=StrToInt(Edit1.Text);

Ed2:=StrToInt(Edit2.Text);

Ed3:=StrToInt(Edit3.Text);

Ed4:=StrToInt(Edit4.Text);

Ed5:=StrToInt(Edit5.Text);

Ed6:=StrToInt(Edit6.Text);

Ed7:=StrToInt(Edit7.Text);

Ed8:=StrToInt(Edit8.Text);

Ed9:=StrToInt(Edit9.Text);

Ed10:=StrToInt(Edit10.Text);

Ed11:=StrToInt(Edit11.Text);

Ed12:=StrToInt(Edit12.Text);

Ed13:=Ed1*Ed3+Ed4*Ed6+Ed7*Ed9;

Edit13.Text:=IntToStr(Ed13);

Ed14:=Ed2*Ed3+Ed5*Ed6+Ed8*Ed9;

Edit14.Text:=IntToStr(Ed14);

Ed15:=Ed1*Ed10+Ed4*Ed11+Ed7*Ed12;

Edit15.Text:=IntToStr(Ed15);

Ed16:=Ed2*Ed10+Ed5*Ed11+Ed8*Ed12;

Edit16.Text:=IntToStr(Ed16);

end;

end.

7 – Бағдарламадан шығу үшін Шығу батырмасын екі рет шертіп, келесі кодты енгіземіз:

procedure TForm1.Button3Click(Sender: TObject);

begin

close;

end;

end.

7 – Бағдарламаны Run батырмасы арқылы жүргізіп, келесі нәтижені аламыз.

 

 

 

 

 

Әдебиеттер:

1.Немнюгин С., Стесик О. Параллельное программирование для многопроцессорных систем. СПб.: БХВ-Петербург, 2002. 400с.

2. Жангисина Г.Д.  Параллельные вычисления и многопроцессорные ЭВМ в решении научно-технических задач. Алматы: АТУ, 2006.-1 экз.