Файл: Бірлшемді массивтер. Практикалы жмыс.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.03.2024

Просмотров: 25

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Бірөлшемді массивтер. Практикалық жұмыс

♦ Бір өлшемді массивтерді қалай қолдануға болады?

♦ Физикалық тәжірибелердің деректерін бірөлшемді массивтер көмегімен қалай өңдеуге болады?

Математикада компьютер көмегімен санды тізбектерді өңдеуде бірөлшемді массивтер жиі қолданылады. Массив көмегімен санды тізбектерді компьютер жадына сақтап, қалаған уақытта тізбекті программалау көмегімен өңдеп және зерттей аламыз. Әсіресе физикалық тәжірибе нәтижелерін компьютер көмегімен өңдеуде бірөлшемді массивтерді қолдану өте ыңғайлы. Компьютер көмегімен қандай да бір тізбектелген санды, мәтіндік және т.б. біртипті деректер ауқымын кез келген массивтер көмегімен өңдеу тиімді болып саналады. Осыған орай бірнеше тапсырмаларды практикалық тұрғыдан орындауды қарастырайық.
1-практикалық тапсырма
Сандық тізбекті зерттеу (математика).

 a1, a2, . . .,an-1, anсандар тізбегі берілген (n < 105) және (0< bi< 103).

Осы тізбекте төмендегі зерттеулерді жүргіз:
​а) тізбектегі жұп сандардың санын анықтау;
​ә) тізбектегі жай сандардың санын анықтау;
​б) тізбектің арифметикалық ортасын және мәні арифметикалық ортадан кіші тізбек мүшелерін экранға шығар.



-1-

Тапсырманы орындау барысы: Математикалық тізбекті бірөлшемді массивке оқытуда деректерді [2...1000] арасындағы кездейсоқ сандар операторы Randint көмегімен енгіземіз.

Тізбекті зерттеу барысында программада төмендегі шарттарды орындауды қарастыр:

-2-

Тізбектегі жұп сандарды анықтау: ai% 2 = 0 шартын тексеру.

Тізбектегі жай сандарды анықтау: тізбек мүшесі ai-ді 2 ...аралығындағы сандарға бөлу арқылы бөлгіштерінің санын анықтау. Егер бөлгіштер саны нөлге тең болса, онда бұл сан жай сан шартын орындайды.

-3-

Тізбектің арифметикалық ортасынан кіші сандарды анықтау: шартын орындаған тізбек мүшелерін экранға шығарамыз.


2- практикалық тапсырма


Бірқалыпты түзу сызықты қозғалыста жүрілген жолдың уақытқа тәуелділігін зерттеу (физикалық практикум).

Суы бар шыны түтікшені ішінде ауасы бар доп түтіктің жоғарғы жағына көтерілгенше тігінен ұстап тұр. Ең жоғарғы нүктесіне жеткенде түтікті 1800-қа бұрып, секунд өлшеуішпен уақытты өлшеу керек (1-сурет). Сызғыш көмегімен түтіктің жартысын, үштен бірін, төрттен бірін, бестен бірін анықтап алып, осы жолдарда доптың жүру уақытын тіркеу керек (1-кесте).



2-сурет.

1-кесте. Тәжірибе деректері



Жолдың
​бөлігі


Жол

s, м

Жүру
​уақыты
​t, с


Жылдамдығы

v, м/с

1

1

0,6

18

0,033

2

1/2

0,30

9,2

0,0326

3

1/3

0,20

6,1

0,0327

4

1/4

0,15

6,1

0,0337

5

1/5

0,12

3,68

0,0326


Топтық жұмыс

Бірөлшемді массивтерді математика мен физикада қолданылуына арналған практикалық тапсырмаларға талдау жасаңдар. Қолданудағы тиімділіктері қандай?

Жұптық жұмыс

Математика, физика, химия, биология және географияда біртипті деректерді өңдеуге арналған практикалық тапсырманы жоспарлаңдар.

Жеке жұмыс

Досыңа хат. Практикалық тапсырмалардың программалау тілінде жобасын құрудың маңызы жайлы досыңмен ой бөлісу үшін хат жаз.

Массив элементтерінің орнын ауыстыру




1-сурет. Массивті түсіндіру

♦ Массив элементтерінің орнын ауыстырудың мақсаты қандай?

♦ Осы тақырыпқа байланысты күнделікті тұрмыстан қандай мысалдар келтіре аласың?


Ақпаратты өңдеу процесінде біртипті деректердің белгілі бір шарттарға байланысты орындарын, мәндерін ауыстыруға тура келетін жағдайлар көп кездеседі. Мысалы, кейбір досыңның телефон нөмірінің өзгеруіне байланысты ауыстырулар, сынып оқушыларының партадағы отыру ретін, күн тәртібінде орындалатын жұмыстардың ретін ауыстыру т.б. Тұрмыстағы мәселелердің математикалық көрінісін тауып, осы мәселелерді программалау көмегімен компьютерде шешімдерін табу өте маңызды. Мысалы, жауынгерлердің бойларының ұзындығы бойынша орын ауыстыруларын массив түрінде өрнектеп, оған программалау әдістерін қолдануға болады (1-сурет).

Массивтің екі элементінің орнын ауыстыру


Бірөлшемді массивтің кез келген екі элементінің орнын ауыс­тыруды қарастырайық (2-сурет).

1-мысал: B[N] бірөлшемді массиві берілген (0
Массивтің кез келген екі элементін ауыстыруды төмендегідей орындауға болады:

1-әдіс: t=b[m]; b[m]=b[k]; b[k]=t; мысалы, m=1, k=4 болса, онда t =b[1], b[1]=b[4], b[4]=t ауыстырылады (1-код).

2-әдіс: B[m], B[k] = B[k], B[m] мысалы, m = 1, k = 4 болса, онда B[1],B[4]=B[4], B[1] тікелей ауыстырылады (2-код). Нәтижесі 3-суретте берілген.





3-сурет. Программаның нәтижесі





3-сурет. Программаның нәтижесі


Бір массивтің элементін екіншісіне ауыстыру



Массивтермен жұмыс істеу барысында массивтің элементтерін екінші массив элементтеріне толық жүктеуге болады (3-код).

Сонымен бірге массивтегі элементтерді де белгілі қасиетіне байланысты екінші массивке жүктеуге болады (4-код, нәтижесі 4-сурет). Олармен төменде берілген мысалдар арқылы танысамыз.



2-мысал


D[N] бірөлшемді массив берілген (0
Previous



4-сурет. Программаның орындалу кезеңі





4-сурет. Программаның орындалу кезеңі


Python программалау тілінде бір өлшемді массив элементтерінің орнын ауыстыру



Python программалау тілінде бірөлшемді массив элементтерінің орнын ауыстыруды қарастырайық.

3-мысал


А[N] бірөлшемді массиві берілген (1
Циклдік жылжытуды оңға қарай орындаудың сызбасын қарастырайық. Мысалы, А[5] массиві үшін оң жаққа циклдік жылжыту 1-сызбадағыдай орындалады (5 код, нәтижесі 5-сурет).



1-сызба. Оңға қарай циклдік жылжыту





                                                   

5-сурет. Оңға қарай циклдік жылжыту

Жұптық жұмыс


Массивті оңға қарай циклдік жылжыту жобасына талдау жүргіз. Жоба программасындағы әрбір оператордың қызметін және ұйымдастырылған әрбір циклдің қызметіне жеке-жеке талдау жасап, нақты қызметтерін айқындаңдар.

Топтық жұмыс


Массив элементтерін солға қарай жылжыту сызбасын дайында. Оңға қарай жылжыту программасына өзгертіп, массив элементтерін сол жаққа жылжытатын программа кодын дайындап, ұсыныңдар.

Жеке жұмыс


1. Шарт тексеру операторын қолданбай массив элементтерін кері мәнге айналдыруға бола ма? Мысалы, оң сан болса теріс санға, теріс сан болса оң санға.

2. Массивтің кез келген екі элементінің мәнін бір-біріне қалай ауыстыруға болады?

3. Массив элементтерін ауыстыру жолдарын пайдаланып, «Математика», «Физика» т.б. пәндердегі қандай тапсырмалардың жобасын дайындауға болады?

4. Массив элементтеріне 1-ден 20-ға дейін сандарды өсу ретімен пернетақтадан енгізбей қалай автоматты түрде жүктеуге болады деп ойлайсың? Өз ойыңмен бөліс.

Сұрыптау
Бірөлшемді массив элементтерін сұрыптау алгоритмдерін қолданып, өсу немесе кему ретімен қалай сұрыптауға болады?

Программалауда сұрыптау




1-сурет. Алмаларды салмақтары бойынша сұрыптау

♦ Сұрыптау деген не?

♦ Массив элементтерін сұрыптау дегенді қалай түсінесің?

♦ Осы тақырыпқа байланысты күнделікті тұрмыстан қандай мысалдар келтіре аласың?

Өткен тақырыптарда біртипті деректердің арасынан бізге қажетті қасиеті бар элементті сызықтық алгоритмдер арқылы іздеумен таныстық. Мысалы, салмақтары әртүрлі 4 алма берілген (1-сурет). Неше рет ауыстыру арқылы осы алмаларды салмақтарының өсу ретімен орналастыруға болады?

Қарастырылған мысалда 4 рет ауыстыру арқылы алмалар өсу ретімен сұрыпталды. Бірақ төрт рет ауыстыру орындалғанмен, әрбір 2 жұп элемент барлығы 6 рет тексерілді. Ұзындығы n-ге тең массив элементтерін сұрыптау үшін көп жағдайларда n * n тексеруді қажет етеді. Бұл сұрыптау көбікті сұрыптау әдісіне жатады.

Программалауда сұрыптау – бұл қандай да бір массив эле-менттерін кему немесе өсу ретімен ауыстыру процесі.

Сұрыптау алгоритмдері


Программалау процесінде бірөлшемді массивтерді сұрыптаудың бірнеше жалпыға танымал алгоритмдері бар. Бұл сұрыптау алгоритмдері жұмыс істеу тиімділігіне қарай бөлінеді (1-кесте).



-1-

Жылдам сұрыптау (Быстрая сортировка; Quick Sort) сұрыптау әдістерінің арасындағы ең жылдам сұрыптаушы алгоритмдердің бірі саналады. Quick Sort – көмегімен сандық элементтерді өсу немесе кему ретімен, мәтіндік массив элементтерін алфавит ретімен сұрыптайды. Quick Sort-ты 1960 жылы Мәскеу мемлекеттік университетінің студенті ағылшын Чарль Хоармен әзірлеген. Хоармен бұл сұрыптауды көпіршік әдісінің жетілген түрі ретінде ұсынған болатын.

-2-

Есептердің программасын құрастыру кезінде сұрыптау алгоритмдерінің программалық кодтарын қажеттіліктеріне қарай жатқа есте сақтап пайдаланған тиімді. Сұрыптау әдістеріне қарай олардың түрлері көп. 1-кестеде тек төртеуімен таныстық. Сұрыптаудың басқа түрлерімен Интернет арқылы танысуға болады. Енді Python программалау тілінде бірөлшемді массив элементтерін сұрыптаумен танысайық.