№1 Лабораториялыќ жўмыс



жүктеу 0,61 Mb.
бет41/48
Дата06.01.2022
өлшемі0,61 Mb.
#36819
түріПрограмма
1   ...   37   38   39   40   41   42   43   44   ...   48
«Алгоритмдер ж не программалау» п нінен зертханалы саба тарын

ЖАЗБАЛАР ЖӘНЕ ФАЙЛДАР

(4 сағат)


Тақырып 7.1: Топтар арасындағы қатынастар.
Мақсаты: қолданбалы міндеттерді шешуге арналған жиынтықтардың өзара байланысын қалай пайдалану керектігін үйрену.
Қысқаша теориялық мәлімет
Топтамалармен көрсетілген операцияларға қосымша, жиі реляциялық операциялармен айналысуға тура келеді (жиындармен жұмыс істеу контекстінде орындалған).

Теңдік тақырыбына арналған жиындарды қалай салыстыру керек және элементті жиынтықтың бөлігі екендігін қалай білуге ​​болады, біз білеміз. Бірінші жағдайда == оператор пайдалы, ал екінші жағдайда оператор.

A және B екі жиынтығы A (B) деп аталады, егер A элементінің әрбір элементі B жиынына енсе, онда B жиынтығының әрбір элементі А
A жиынтығы A жиынтығының әрбір элементі B жиынтығының элементі болса, B арқылы белгіленсе, A және B B немесе A көптеген B жиынтығы (A белгілері сәйкес келуі мүмкін)

Реляциялық операторлар ретінде стандартты салыстыру операторлары пайдаланылады, ал кейбіреулері үшін қосымша әдістер бар. Негізгі операторлар және олардың тиісті операциялары 1-кестеде келтірілген. A және B арқылы біз қандай операциялар орындалатындығын анықтаймыз.


1-кесте. Топтамаларға қатысты қатынастардың негізгі операциялары

Оператор немесе әдіс

Сипаттама

<

A

<= немесе

issubset ( )



A <= B өрнегінің нәтижесі (немесе өрнектің A. issubset (B)) шын мәнінде A жиынтығының барлық элементтері B жиынтығына (жиынтық A - жиынтығы B жиынтығы) енгізілсе және жиынтықтардың теңдігі рұқсат етіледі. Әйтпесе, өрнектің мәні F a l s e болып табылады

>

A> B өрнегінің нәтижесі T e e болып табылады, егер B жиынтығының барлық элементтері А жиынына (жиынтықта A жиынтығының жиынтығы) енгізілсе және екі жиын тең емес. Әйтпесе, өрнектің мәні F a 1 s e болып табылады

>=

немесе issuperset ( )



A = B өрнекінің нәтижесі (немесе өрнек A.issupeset (B)) шын мәнінде B жиынтығының барлық элементтері A жиынына енеді (жиынтықта A жиынтығының жиынтығы) және жиындардың теңдігі рұқсат етіледі. Әйтпесе, өрнек мәні False

==

A == B өрнегіндегі көлемнің нәтижесі A жиынтығының барлық элементтері B жиынтығына кірсе, онда B жиынтығының барлық элементтері A жиынтығына (жиынтық теңдігі) кіреді. Әйтпесе, өрнек мәні Fa l s e болып табылады

isdisjoint ( )

A 'өрнекінің нәтижесі. isdisjoint '(B) - бұл мән. A және B жиындарының қиылысуы бос жиын болып табылса (яғни A және B жиындарының ортақ элементтері болмаса). Әйтпесе, өрнек мәні False.

in

A i n A өрнекінің нәтижесі A элементі A жиынтығына кірсе True, әйтпесе, өрнек мәні Fa 1 s e тең

Бос жиын - ешбір элементтері жоқ (әдетте  арқылы белгіленетін) жиын.


Айта кету керек, циклдар циклында айнымалы айнымалының мәндерін аудару үшін қолдануға болады. бұл тізімдермен болды.

Есте сақтаудың жалғыз нәрсе - тізімнен өзгеше, жиынтықта элементтердің реті белгіленбеген. Айнымалы айналымның мәні қандай немесе сол иерарацияны қабылдайды, айту өте қиын.

Жиындарды жасау үшін, жиынтық генераторларды пайдалануға болады. Бұл қағида генераторларға тек тіктөртбұрыш емес, ал бұйра жақшалардан тұратын жиынтықтар үшін ғана беріледі.

Иллюстрациялар ретінде мынадай мәселенің бағдарламалық әдістері шешу жинақтарын пайдалану қарастыру: төмендегі шарттарды қанағаттандыратын 1-ден 100 диапазонында қандай сан анықтау қажет:

5-бөліктегі сандар 2 немесе 4-де қалдықтар береді;

• 7-бөлімде сандар 3 қалдықта беріледі;

• қалдықтардан сандарды 3-ке бөлгенде, сіз 1-ден басқа сандарды аласыз.

Бұл қарапайым тапсырма және әр түрлі жолдармен шешілуі мүмкін. жағдай жоғарыда аталған екенін тексеру үшін әрбір нөмірі үшін 1-ден 100 - барлық табиғи сандар арқылы дәйекті цикл - ақыл келеді, ең қарапайым және айқын идея. Бірақ, біз, әрине, мәселенің әдіснамалық жағы сияқты соңғы нәтижеге көп көңіл бөлмейміз. Сондықтан, Python-дағы бұл мәселені шешу үшін, біз Python тілінің мүмкіндіктері мен көптеген теориясын құрастырамыз.

Мәселені шешу алгоритмін түсіну үшін келесі жағдайларды ескеру қажет.
1-ден 100-ге дейінгі табиғи сандар жиынтығы Е арқылы белгіленеді. 5-ке бөлінген кезде, қалған 2-де А1-ді білдіреді. 5-ке бөлінген кезде, қалдық 4 деп көрсетілген сандардың жиынтығы А2-мен белгіленеді. 7 бөлінген саны, жиынтығы B. жәйттерді 3 бөлінген, сандар жиынтығы 100 артық емес сандар туралы айтып отырмыз осы барлық жағдайларда С таңбалау арқылы, 1 қалған береді, 3 қалған береді. Сондықтан осы көптеген көптеген жиынтығы E.

қалдық 2 немесе 4 беруге 5 бөлінген сандар жиыны, Әлбетте А. ретінде белгіленеді, A = A1∪ A2. қалдық 2 немесе 4 беруге 5 бөлінген сандар жиыны, және осындай санының екі жиынтығы А (қалдық 2 немесе 4 5 бөлінген) екі тиесілі тиіс, өйткені, қалдық білдіру анықталады 3 ∩V беруге 7 бөлінеді , ал B жиынтығына (7 бөлімі бойынша 3-ін қалдырады). біз шартты қолдануға болса G бөлінген, тіпті осындай саны 1 қалған берген жоқ, бұл, осы сандардың жиынтығы C (3 бөлінген 1 қалдығына) тиесілі емес екенін білдіреді. Демек, A ∩B жиынтығы көптеген С жиналуын білдіреді. Осылайша, көптеген D = (A ∩B) \ C

Тиісті бағдарлама коды

# Верхняя граница

n= 100

# Множество натуральных чисел



E= { s for s in range ( 1 , n+ 1 ) }

# Множество чисел , которые при делении на 5 дают в остатке 2

A 1 = {s for s in Е if s % 5==2 }

# Множество чисел , которые при делении на 5 дают в остатке 4

A 2 = {s for s in Е if s % 5 == 4 }

# Множество чисел , которые при делении на 5 дают в остатке 2 или 4

A=A1 | A2

# Множество чисел , которые при делении на 7 дают в остатке 3

B= {s for s in Е if s % 7==3 }

# Множество чисел , которые при делении # на 3 дают в остатке 1

C= {s for s in Е if s% 3 = = 1 }

# Множество чисел , которые при делении на 5 дают в остатке 2 или 4 , при делении на 7 дают в остатке 3 , а при делении на 3 не дают в остатке 1

D= ( A & B ) - C

# Отображаем результат

рrint ( " Приведенные ниже числа о т 1 до " , n )

p r i n t ( " 1 ) при деле нии на 5 дают в остатке 2 или 4 ; " )

p r i n t ( " 2 ) при деле нии на 7 дают в остатке 3 ; " )

p r i n t ( " 3 ) при делении на 3 не дают в остатке 1 : " )

p r i n t ( D )
Бұл жағдайда келесі нәтиже аламыз:

Төмендегі сандар 1-ден 1 0 0-ге дейін



  1. 5-ке бөлінгенде, 2 немесе 4 қалдықты беріңіз;

  2. 7-ге бөлінген кезде қалдықтар 3;

  3. 3-ке бөлінгенде, олар 1 қалдықты бермейді:


жүктеу 0,61 Mb.

Достарыңызбен бөлісу:
1   ...   37   38   39   40   41   42   43   44   ...   48




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау