|
Массивтермен жұмыс істеу процедуралары әр түрлі және көптеген жағдайларда компьютерде шығарылатын есептердің арнайы ерекшеліктерімен анықталады. Бірақ әр түрлі көп есептердің және оларды шешу үшін пайдаланылатын алгоритмдердің ішінен массивтерді өңдеудің типтік тәсілдерінің және алгоритмдерінің белгілі жиынын бөліп алуға болады.
Осы аталғандардың ішінен бір өлшемді массивке қолданылатын кейбіреулерін қарастырайық.
Массивтермен жұмыс істеу тәсілдерінің өзіне назар аудару үшін хабарлау операциясы, массивтер информациясын ендіру және шығару операциялары түсінік келтірмей беріледі және массив элементтерінің сандық мәндері анықталмайды.
Массив элементтерінің қосындысын есептеу
К элементі бар А массивінің элементтерінің қосындысын есептеу талап етілсін, яғни
К
S=Σ А(І)
1=1
Анықтау керек.
Қосындыны есептеу алгоритмін нәтижесі өсіп отыратын қосындыны
жинау принципі бойынша құрамыз. S қосындының алғашқы мәнін анықтаймыз. Әрине алғашқы кезде S=0 болады. Оған массивтің А(І)-бірінші элементін қосамыз және қосындының жаңа мәні S=S+A(1)-ді есептеп шығарамыз. Оның сандық жағынан А (1) элементтің мәнін тең екендігін көру қиын емес. Келесі қадамда алынған қосындыға А(2) элементін мына түрде S=S+A(2)=(0+A(1))+A(2) қосып А массивінің алғашқы екі элементінің қосындысын аламыз.
Әрбір І-ші қадамда массивтің жаңа элементін мына S=S+A(1) пішінде қоса отырып, К қадамнан соң ізделініп отырған қосындыны аламыз.
Ұсынылған осы процедура S=S+A(1) шамасын есептеуді К рет қайталанатын цикл түрінде қосындыны жинауды ұтымды ұйымдастыруға мүмкіндік береді.
S қосындысын есептеу алгоритімнің блок-схемасын мына түрге беруге болады.
Математика алгоритм S=A(1)+A(2)+A(3)+ …+A(K) формуласы бойынша тікелей есептеуді, есептеудің К-қадамы қайталанатын процедурасымен алмастырылады.
S=(…(((0+A(1))+A(2))+A(3))+…+A(K))
1-қадам
2-қадам
• 3-қадам
•
•
К-қадам
Программа қосындыны жинаудың К-қадамды процедурасын К рет қайталанатын цикл түрінде ұйымдастыру ыңғайлы болады.
Программаның түрі мынадай болады:
· INPUT “Массивтің өлшемін ендір K=’’; K
· DIM A(K)
30 FORI=1 T O K
40 INPUT A(1)
50 NEXT I
60 S=0
70 FORI=1 T O K
80 S=S+A(1)
90 NEXT I
100 PRINT ’’S = ’’; S
110 END
Мұнда, 60 – оператор S қосындының бастапқы мәнін нөлге айналдырады, ал оны есептеу 70-90 – операторлардың тұратын циклде жүзеге асырылады.
Массив элементтерінің көбейтітдісін есептеу
А массив элементтерін мына түрде:
К
P=∏ А(I)
I=1
Массив элементтерінің көбейтіндісін есептеу принцпі жоғарыда қарастырылған массив элементтерінің қосындысын есептеуге ұқсас.
Көбейтіндінің ақтық мәні P=P x A (I) формуласы бойынша есептелетін дербес көбейтінділерді K-рет еселіп жинаудан соң анықталады.
P көбейтіндісінің алғашқы мәні ретінде Р=1 тандап алу керек, өткені ол нәтижесінің сандақ мәніне әсерін тигізбейді. Бұдан соң бірінші қадамда Р=P*A (1)=1*A(1),екінші кадамға P=P*A(2)=A(1)*A(2), үінші қадамға Р=P*A(3)=A(1)*А(2)*А(3), ең соңында К-қадамда Р=P*A(1)*А(2)*...*А(К-1)*А(К) есептеледі.
Бұл алгоритмді жүзеге асырушы программа үзіндісі мына төменде келтірілген:
·
·
·
60 Р=1
70 FOR I=1 TO K
80 P=P*A(I)
90 NTXT I
100 PRINT "P=";P
110 END
Берілген шартты қанағаттандыратын массив
элементтерін санын анықтау
К элементтен тұратын А массивінің қанша элементі берілген шартты қанағаттандыратындығын анықтау талап етілсін.
Нақты болу үшін бұл шарттың түрі А(1)>L болсын.
Берілген шартты қанағаттандыратын массив элементтерінің санын есепке алу үшін N айнымалысын ендірейік. N-нің мәнін есепке алуды Амассивінің әрбір элементіне ретімен қатынас жасау және А(I)>L шартының орындалуын тексеру кезінде жүзеге асыруға болады. Шарт орындалған жағыдайда N-нің мәнін бір бірлікке арттыру керек, яғни N=N+1-ді есептеуге массивтің келесі элементін (егер массив аяқталмаған болса) талдауға өтеміз.Бұл шарт орындалмаған жағыдайда массивтің келесі элементіне қатынас жасауды ұйымдастыруға өте керек.
Массив элементтерін талдаудың бұл процедурасын блок-схема түріне көрсетуге болады.
|
Бұл процедураның А массивтің ендіру және хабарлау операторлары жоқ мына программа жүзеге асырылады.
60 N=O
70 FOR I=1 TO K
80 IF A(I)>L THEN N=N+1
90 NEXT I
100 PRINT "N="; N
110 END
Бірнеше белгілі массивтер бойынша
жаңа массив алу
Алгоритмнің бұл түрін жүзеге асыру үшін өлшемдерді бірдей А(I) және В(I), (I=1,2,...,К) массивтер бойынша С(I), (I=1,2,....,К) массивтің элементтерін алуға арналған қарапайым есепті қарастырамыз. С(I) массивінің элементтері мына формуламен анықталады: С (I)=A(I)+B(I)
Есепті шешу алгоритмі А(I)және В(I) массивтерінің элементтерін I бойынша 1-ден К-ға дейін өзгеретін цикл арқылы алып, барлық С(I)=A(I)+B(I) массивін есептеуге келіп тіреледі. Сонда бұл есепті шешетін программаның түрі мынадай болады:
10 INPUT"K=";K
20 DIM A(K),B(K),C(K)
30 FOR I=1 TO K
40 INPUT A(I),B(I)
50 NEXT I
60 FOR I=1 TO K
70 C(I)=A(I)+B(I)
80 PRINT C (I)
90 NEXT I
100 END
20-операторда программада пайдаланылатын барлық массивтер хабарланады және оның ішінде есептеу барысында алынатын С массивіне де орын бөлініп қойылатындығына назар аудару керек.
60-тан 90-ға дейінгі операторлар С массивінің элементтерін ретімен монитрр экранына шығаруды ұйымдастырады.
80-операторды массивті есептейтін циклге қосу С массивін баспаға шығаруға арналған арнайы циклді ұйымдастырудан құтқарады.
Массив элементтерін терістеу
К элементтен тұратын А массив элементерінің жазылу ретін керісінше ауыстыру қажет.
Бұл есепті шешу үшін бастапқы массив элементтерінң бірін транзит ретінде сақтаушы қосымша айнымалыны ендіру талап етіледі. Бұл айнымалыны G әріпімен таңбалайық.
Алдымен бірінші және К – элементтердің орындарын өзара алмастыру керек. Ол үшін А (І) элементінің мәнін G(С=А(І)) айнымалысына, содан соң К – элементінің мәнін А(І)=А(К) бірінші элементке, одан кейін бірінші элементтің мәнін G айнымалысынан К- элементке А(К) =G меншіктейміз. Массивтің ортасына жеткенше А(І) және А(К-І+1) элементтердің қалған жұптарымен дәл осыған ұқсас әрекеттер жасаймыз. Алмастырылуға тиісті соңғы элементтер, егер К жұп сан болса А (К/2) және А(К /2), ал егер К жұп сан болса, онда А ([K/2]) және A([K/2]+2) болады. [K/2] операциясы К/2 бөліндінің нәтижесінен бүтін санды алуды бейнелейді. BASIC тілінде бұл үшін INT функциясын пайдалануға болады.
Осылайша, программада әрқайсында массив элементтерін терістейтін [K/2] қадамнан тұратын цикл ұйымдастыру керек.
Мына төмендегі программа жоғарыда айтылғандарды жүзеге асырады.
10 INPUT «К=»;К
20 DIM A (K)
30 FOR I=1 TO K
40 INPUT A(I)
50 NEXT I
60 M= INT (K/2)
70 FOM I=1 TO M
80 G=A(I)
90 A(I)=A(K-I+1)
100 A(K-I+10=G
110 NEXT I
120 FOR I = 1 TO K
130 PRINT A(I)
140 NTXT I
150 END
Массив элементінің және онын индексінің
ең үлкенін (ең кішісін) іздеу
К саннан тұратын А массивінің ең үлкен элементін және оның индексін іздеу үшін екі қосымша айнымалы ендіруге тура келеді.
· Бірінші М массив элементінің ағымдағы ең үлкен мәнін сақтау үшін;
· Екіншісі N ағымдағы ең үлкен мәннің индексін сақтау үшін;
Бұл есептің шешеімі А массивінің әрбір элементін М – нің ағымдағв ең үлкен мәнімен бірінен соң бірін ретімен салыстыру арқылы табылады. Егер А (І) элементінің мәні М –нің мәнінен үлкен болса, онда М ретінде осы элементтің
М=А(І) мәні қабылданады, ал N айнымалысы оның N=І индексінменшіктейді. Осы жоғарыда айтылған жағдайға қарама – қарсы жағдайда, яғни басқаша айтқанда әзірше І < К болса, онда массивтің келесі кезектегі элементін қарастыруға өту жүзеге асырылады.
Мұнда тағы М және N бастапқы мәндерін анықтау талап етіледі.
Егер массив элементінің бастапқы ең үлкен мәні ретін – де оның М = А(1),N=1 бірінші элементін алсақ және онымен екінші элементтен бастап массивтің қалған элементтерін циклді түрде салыстырсақ ол өзін-өзі ақтайды.
Бұ.л алгоритм мына программамен жүзеге асырылады:
10 INPUT “K=”:K
20 DIM A(K)
30 FOR I= 1 TO K
40 INPUT A(I)
50 NTXT I
60 M= A(1):N=1
70 FOR I =2 TO K
80 IF M < A(I) THEN M= A(I):N=1
90 NTXT I
100 PRINT “M=’:M: “N=”:N
110 END
Сонымен, бұл есепті шешу алгоритмінің блок – схемасы мына төменде көрсетілген.
М=A(1) |
N=1 |
I=2 |
Иә
|
Иә
жоқ
Жоғарыдағы программада 60-қатар М және N айнымалыларына бастапқы мәндер меншіктейді, ал циклге (70-90 операторлар) екінші элементтен бастап А (І) массивінің әрбір элементін айнымалымен бірінен соң бірін ауыстыру жүзеге асырылады. 80 – операторда М<A(I) логикалық шарты орындалысымен (М=A(I)) массивінің 1-элементі ең үлкен элемент ретінде есте сақталынып қалады, ал N айнымалысына І-дің мәні меншіктеледі. Бұған кері жағдайда программа әзірше І<К болатын есептеуші циклді жалғастырады және І индексін арттыратын 90-операторға өтеді.
Бұл программа бірімен бірдей бірнеше ең үлкен элементтер болған жағдайда, олардың ішінен біріншісінің N индексінің баспаға шығарады.
Массив эхэлементтерінің ең кіші мән іздеуде программа өзінің құрылысын сақтайды, тек 80-оператордағы қатынас операциясының таңбасы «>» болып өзгереді.
Массивті реттеу
К санынан тұратын А массивінің элементтерін өсу (кему) ретіне қарай орналастыру қажет болсын.
Бұл есепті шешудің бірнеше тәсілдері бар. Бұл жерде біз солардың бірі «көпіршік тәсілін» қарастырамыз.
Ол массивтен ең кіші (ең үлкен) элементті іздеуге негізделеді. Алдымен массивтің ең кіші элементін іздеу жүзеге асырылады. Содан соң ол бірінші элементпен орын алмасады. Бұдан кейін бірінші элементтен басқа қалған элементтердің ішінен тағыда ең кіші элемент ізделеді және екінші элементпен орын ауыстырады.
Бұл процедура әзірше іздеу аймағында соңғы екі элемент қалмағанға дейін жалғастырады, оның ішінен ең кіші соңғысының алдыңғысы болады.
Бұл есептің ерекшелігі сол массивтің өлшемі К және оның элементі А(І) (І=1,2...,К) бастапқы берілгендер болып табылады, ал нәтиже сол А массивінің өзі болады, бірақ ол реттелген болады.
Қосымша айнымалылар ретінде мыналар пайдаланылады:
· М – ағымдағы ең кіші элементті сақтайды;
· N – ең кіші элементтің индексі;
· І – реттелген массив элементінің индексі (сыртқы циклдің басқарушы айнымалысы);
· J – ең кіші элемент ізделетін массив бөлігіндегі элементтің индексі (кіші циклдің айнымалысы).
Мына төменде келтірілген программаның үзіндісі бастапқы берілген А массивінің элементтерін реттеу процедурасын жүзеге асырады және оның реттелген элементтерінің жиынын баспаға шығарады.
•
•
•
60 FOR I=1 TO K-1
70 M=A(I)
80 FOR J=I+1 TO K
90 IF A (J)<M THEN M=A (J): N=J
100 NEXT J
110 A (N)=A(I)
120 A(I)=M
130 PRINT A (I)
140 NEXT I
150 END
70-100 операторлар массивінің қалған бөлігінен ең кіші элементті іздеудің стандартты процедурасын іске асырады, ал 110-120 операторлар кезектегі реттелмеген А(І) элементін табылған ең кіші М элементімен ауыстырады.
А массивін кему бағытында реттеуде келтірілген программада 90-оператордағы қатынас операциясының таңбасы «>» болып өзгереді.
Компьютерлік желілер. Желілер түрлері
Компьютерлік желілер түсінігімен сіз 7-сыныпта таныстыңыз, желілер түрлерінің көрнекі үлгісі- мектептің информатика кабинетінің компьютерлік желісі. Мұндай көлем бойынша кішігірім, бір үй, ғимарат, кәсіпорын аумағында жұмыс істейтін желілер жергілікті деп аталады. Аймақтық немесе ауқымды деп аталатын басқада желілер бар.
Қала, облыс, ел ішінде орналасқан желілер аймақтық деп аталады. Егер олар қайсы бір ұйымға немесе ұйымдар тобына қарасты болса, онда корпаративтік деп аталады. Мысалы, Қ.Р-ның Ұлттық банкінің желісі – Banknet, негізгі банктің компьютерлерін оның барлық филиалдарының компьютерлерімен (аудандық бөлімшелерін қосу) біріктіреді.
Одан үлкен көлемдегі, бүкіл елдерге, құрлықтарға тараған желілер ауқымды деп аталады. Олар корпаративтік те, жалпы да бола алады. Мысалы, интернет сияқты олардың кез келген пайдаланушыларға қызмет ету мүмкіндіктері бар.
Компьютерлерді желіге олардың ресурстарын бірлесіп пайдалану үшін және ақпаратпен алмасу үшін біріктіріледі.
Компьютердің ресурстары ақпараттық және техникалыққа бөлінеді. Ақпараттық ресурстарға программалар және деректер, ал техникалықтарға – принтер, модем, сканерлер, график сызғыштар кіреді. Ақпарат сақтау құралдары СD-ROM, ZIP, DVD сияқтылар ақпараттық ресурстарға кіреді. Олар программалар және деректері бар қапшықтар ретінде қаралады. Оларға қосылу логикалық дискіге жасалғандай жүзеге асырылады. Орналасқан компьюткрінен ғана қол жеткізуге болатын ресурстар жергілікті деп аталады. Желінің басқа компбютерлеріне де ашық компьютер ресурстары ортақ немесе желілік деп аталады. Жергілікті және ортақ ресурстар түсініктері шартты. Бұл – жергілікті ресурсты ортақ етуге болады және, керісінше ортақ ресурсқа жергілікті мәртебесін беруге болады.
Ортақ ресурстар орналасқан компьютер сервер деп аталады. Сервердегі ақпаратқа жол ашатын және осы ресурстар пайдаланатын негізгі жетістігі мынада: компьютерлер мен концентраторлар арасындағы жекелеген жалғағыштар істен шыққанмен, бүкіл желі жұмыс істей береді.
«Жұлдызша» топологиясының кемшілігі оның негізгі жетістігінен туындайды: егер концентратор бұзылса, онда ол бүкіл желіні түгел істен шығарады.
«Сақина» топологиясына тән бір нәрсе – жалғағыштардың соңғы нүктесі болмайтыны; деректер берілетін біртұтас сақина құраған желі тұйықталған. Мұндай сақинада бір нүктеден қозғау алған деректер ақыр аяғында желінің басына барады. Осындай ерекшеліктен деректер сақинада барлық уақытта бір бағытта қозғалады.
«Сақинаның» «Жұлдызшадан» бір ерекшелігі – оған барлық желілік компьютер арасында үзіліссіз жол қажет, өйткені желінің бір жері істен шықса, бүкіл желі тоқтап қалады. «Сақинаның» тағы бір осал жері компьютердің екі кабелі бар, біреуі бойынша ол деректерді жібереді, басқасы бойынша қабылдайды. Tokin Ring- тің ІВМ желісіндегі деректер маршруты көрсетілген.
Осылайша, Tokin Ring желісі сақина секілді дерлік, бірақ жұлдызша сияқты безендірілген.
Жергілікті желіде ақпарт жеткізу жылдамдығы 5-тен 100 Мбит/с-қа дейін жетеді.
Жергілікті есептеу желілері бірыңғай және ирархиялық болып бөлінеді. Бірыңғай желі – барлық компьютерлері тең құқылы және бірдей қызмет орындайтын жергілікті желі. Олар желіге аз ғана – 10-15-тен көп емес компьютерлер санын біріктіру үшін қолданылады. Бірыңғай желілерде сервер дегеніміз – ресурстары осы сәтте басқа компьютерден де алына беретін компьютер, сервер бір мезгілде клент де бола алады, яғни өзі ресустар беретін компьютердің ресустарын пайдаланады. Жергілікті ресустың ортаққа айналдыруы компьюрерді пайдаланушымен, ОЖ құралдармен жасалады. Қажет болған жағдайда ол өзін пайдалануға арналған парольдіде белгілейді.
Бірыңғай желілердегі ОЖ –лер ортақ ақпараттық ресустардың оқылуын және редакциялануын, «бөтен компьютерден» программаларды қосуға мүмкіндік беретін тікелей басқарудың құралын қамтамасыз етеді.
ОЖ Windows 95-те компьютерлік жүйенің желілік мүмкіндіктерін пайдаланатын екі программа бар:
* МS Exchange программасы – пошталық алмасу программасы ол хабарлар мен файлдардың нақты пайдаланушыларға немесе топтың барлық пайдаланушыларына жіберілуін қамтамасыз етеді.
Негізгі желілік топологиялар.
Желілік техникалық құралдар
Дата добавления: 2015-08-05; просмотров: 228 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
DIM операторы | | | Клиент-сервер технологиясы |