Жиындар

Паскальдағы жиын мағынасы алгебрадағыдай – ол бір бірінен өзгеше болатын біртипті элементтердің реттелмеген жиынтығы. Жиынның элементтер саны 255 тен аспауы тиіс. Элементтердің типі ретінде integer және 255 тен асатын сандарды қамтитын оның аралықтарынан басқа кез келген скалярлы тип болуы мүмкін. Жиын элементтерінің типі базалық деп аталады. Жиын типін сипаттау барысында set және of қызметші сөздер пайдаланылады. Нақтылы жиынды беру ереже (конструктор) – тік жақшаларға алынған элементтер немесе аралықтар жиыны арқылы анықталады. Бос жиын екі [] символдар арқылы бейнеленеді. Жиын типін типтерді сипаттау бөлімінде анықтауға болады, мысалы: type t=set of byte; var a:t;

Жиын типін және сәйкес айнымалыларды сипаттауды беттестіруге болады: var code: set of 0..7; digits: set of '0'..'9'; жиын типтегіайнымалыны сипаттап, оның бастапқы мәнін тұрақтыларды сипаттау бөлімінде тұрақты-жиын ретінде беруге болады. Жиын типін ертерек сипаттауға болады, мысалы:

type up=set of 'A1’..'Z'; low=set of 'a'..'z'; const upcase: up=['A’..'Z'];

vocals: low=['a','e','i','о','u','y']; delimiter:set of char=[' '..'/',':'..'?'];

Жиын типтегі деректер үшін біріктіру, қиылысу және жиындарды толықтыру операциялары анықталған, Паскальда олар сәйкесінше +, * және – таңбалары арқылы белгіленеді, және сонымен қатар, жиындардың теңдік (А=В), теңсіздік (А<>В), қамту (А<=В,А>=В) қатынастары анықталған.

Құрамына енушілік х in А логикалық операция егер х элемент А жиынның құрамына енетін болса true мәнін және керісінше жағдайда false мәнін қабылдайды. Жиын элементтеріне тікелей қол жеткізу мүмкін емес болғандықтан бұл мақсат үшін in операциясы жиі пайдаланылады. Жиындарға қолданылған қатынас операциялары сәйкесінше операцияларды сандарға қолданға қарағанда жылдамдау орындалады.

Р27 программасы латын мәтінін талдап, оның ішінде кездескен барлық әріптерді алфавиттегі реті бойынша баспаға шығарады одан кейін барлық кездеспеген әріптерді де шығарады. alfa – латын алфавитінің барлық әріптерінің жиыны болсын. Берілген мәтін клавиатурадан символдан кейін символдап ретімен клавиатурадан енгізіледі, бір мезгілде Е жиыны – мәтіндегі латын әріптерінің жиыны қалыптастырылады. Мәтіннің соңына * символы енгізіледі. Одан кейін in операциясы арқылы алфавиттің қай әріптері Е жиынның құрамына енетіні тексеріледі. N жиыны – мәтінде кездеспеген әріптер жиыны: N:= alfa - Е операторыарқылы анықталады.

Жиын типтегі айнымалыларды деректердің реті мағыналы емес болатын есептерде пайдаланған ыңғайлы, мысалы кездейсоқ оқиғаларды модельдеуде. Мысалы, Р28 программасы («36 дан 5 спортлото») 1..36 аралықтағы бес натурал санды клавиатурадан енгізіп, одан кейін сол аралықтан кездейсоқ түрде түрлі бес санды генерациялап ұтыс шамасын келесі ереже бойынша жариялайды: егер 0, 1 немесе 2 сан табылса, онда ұтылыс жарияланады; егер 3 сан табылса, онда 3 теңге ұтыс жарияланады; егер 4 сан табылса, онда 100 теңге ұтыс жарияланады; егер 5 сан табылса, онда 1000 теңге ұтыс жарияланады.

Программада келесі белгілеулер пайдаланылады: mn - 1..36 аралықтағы натурал сандар жиыны, а – жасырылған сандар жиыны, х - компьютер генерациялайтын сандар жиыны, z=a*x – ол а және х жиындардың қиылысы; i, k, s – мәндері 1..36 аралықта жататын айнымалылар. Бұл аралықтағы кездейсоқ санды s:=random(35)+l операторы генерациялайды. Программа алдымен экранға ұтыс нөмірлері туралы хабарды экранға шығарады да, одан кейін ұтыс шамасын анықтайды.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: