Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Зертханалық жұмысқа тапсырма. Тапсырманы орындар алдында 8.3 тармақтағы әдістемелік нұсқауларды оқыңыз



Тапсырманы орындар алдында 8.3 тармақтағы әдістемелік нұсқауларды оқыңыз.

8.1.1 Delphi - программасын қолданып қарапайым ағын құру.

Формада Label1: TLabel; Button1: TButton; Button2: TButton; компоненттерін орналастыру керек.

Бір батырма іске қосу үшін, екіншісі тоқтату үшін болсын. Ағынға модуль құрастыру үшін жаңа модульді құрудың терезесін шығару file – new–other new арқылы орындалады. New бүктемесінде ThreadObject табыңыз. Шыққан терезеде құрылатын ағынның атын енгізіп, оны TcountObj деп атау керек. Негізгі форманы Main атымен сақтап, ал ағынды MyThread атымен сақтаңыз. Негізгі формада uses бөліміне MyThread ағынын енгізу керек. Тапсырма програмасы А қосымшасында келтірілген.

8.1.2 Әр цикл сайын Global айнымалысының бастапқы 100 мәнінен 1 ге өсіріп отыратын екі ағыны бар қосымша құру. Әрбір ағынның циклының қайталану саны 12, Global айнымалысының мәнінің өсуі ListBox екі тізім түрінде экранға шығарылсын.

Қосымша дұрыс жұмыс істесе айнымалының соңғы мәні 100+12+12=124 болу керек. Бірақ жалпы жағдайда арнайы шарасыз мұндай мән алынбайды, өйткені ағындар бір-біріне «кедергі» жасайды.

Критикалық секциялар программаның критикалық бөліктеріне ағындардың кезекпен қол жеткізуін қамтамасыз етеді. Ол үшін критикалық бөліктің басында EnterCriticalSection (секция аты) функциясы, ал соңында функция LeaveCriticalSection (секция аты) функциясы шақырылады.

8.1.3 Екі матрицаны көбейту керек. Есептің көрсеткіштерін өзгерте отырып: ағындар санын және матрица өлшемін. Әртүрлі көрсеткіштерді көрсетіп орындауға жібергендегі қосымшаның жұмысын тексеру, орындалу ұзақтықтарын салыстыру (MatLab).

8.1.4 Delphi-дегі Thread класын қолданып 8.1.2 тармағына ұқсас қосымша құрып жұмысын тексеріңіз. Алынған нәтижелерді 8.1.2 нәтижелерімен салыстырыңыз.

8.1.5 №8.1.1 тармақта жасалған тармақтардың біріне 5 цикл өткеннен кейін бітетін оператор қосыңыз. Қосымшаны жүктеп, жұмысын тексеріңіз.

8.1.6 Жасалған қосымшаларды семафор және оқиғаларды қолданып қайта жазыңыз. Қосымшаларды жүктеп, жұмысын тексеріңіз.

8.1.7 Бір және екі ағынды қолданып екі матрицаны көбейтіңіз. Орындалу ұзақтығын салыстырыңыз. Матрица өлшемдерін өзгертіп тура сол әрекеттерді орындаңыз. Екі нұсқаны қолданып уақыт ұзақтығының матрица өлшемдеріне тәуелділігінің графигін тұрғызыңыз. Ұзақтықтың алынған мәндерін MS Excel кестесіне енгізіңіз.

8.1.8 sin x функциясының 0-2pi интервалында әртүрлі қадамдармен есептеңіз, бір және бірнеше ағынды қолданыңыз. Уақыт ұзақтығының салыстырыңыз, графигін тұрғызыңыз. Ұзақтықтың алынған мәндерін MS Excel кестесіне енгізіңіз.





Дата публикования: 2015-10-09; Прочитано: 286 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...