Маселени бөлүктөргө бөлүү

Чоң маселени чечилүүчү кичинекей бөлүктөргө бөл.

Болжол менен 4 мүнөт окуу
  • «Маселени бөлүктөргө бөлүүнү» өз сөздөрүң менен аныктап, түшүндүр
  • декомпозиция сыяктуу негизги терминдерди туура колдон
  • Үйрөнгөнүңдү жаңы мисалдарга жана суроолорго колдон
  • Бул темада окуучулар кетирген кеңири таралган каталардан сактан

Эч ким код жаза электе эле программачылар ойлонот. Эсептөөчү ой жүгүртүү — ар бир тиркеме, оюн жана веб-сайттын артында турган төрт бөлүктүү ой жүгүртүү: маселени бөл, үлгүлөрдү байка, керексиз деталдарды көңүл сыртында калтыр жана кадам-кадам чечимдерди долбоорло. Бул адаттарды өздөштүрсөң, программалоо бир топ жеңилдейт — алар сынакка даярданууда жана күнүмдүк жашоодо да жардам берет.

Бул сабак «Маселени бөлүктөргө бөлүүгө» арналган: чоң маселени чечилүүчү кичинекей бөлүктөргө бөл.

Аныктама: Маселени бөлүктөргө бөлүү

Чоң маселени чечилүүчү кичинекей бөлүктөргө бөл.

Негизги идеялар

Үлгүлөр бир чечимди көп чечимге айландырат

Тизмедеги эң чоң санды тапкан процедураны жазгандан кийин, сынактагы эң жогорку упайды, эң жылуу күндү жана эң кымбат буюмду табууну да чечкен болосуң — үлгү бирдей. Муну түшүнүү программачыларды чечимдерди кайрадан ойлоп табуудан куткарат.

Төрт түркүк чогуу иштейт

Мектеп жарманкесин уюштуруу керек болсун дейли: аны палаткаларга, билеттерге жана жарнамага бөлөсүң; билет сатуу былтыркы концерттегидей эле үлгү боюнча иштээрин байкайсың; билеттердин түсү сыяктуу деталдарды алып саласың; анан алгоритмди жазасың — ар бир палатканы орнотуунун иреттүү кадамдары. Чыныгы программачылар төртөөнүн ортосунда дайыма айланып турушат.

Негизги термин — декомпозиция: Чоң, татаал маселени бирден чечүү оңой болгон кичинекей кичи маселелерге бөлүү.

Чыгарылган мисал: Маселени бөлүктөргө бөлүү

Кайрымдуулук чуркоосун уюштурушуң керек. Маселени бөлүүнүн эки жолун ата.

Мүмкүн болгон бөлүнүүлөр: маршрутту пландоо, демөөрчүлүк жана жарнама; же иш-чарага чейин, учурунда жана кийин — кичи маселелерге ар кандай акылга сыярлык бөлүнүү эсептелет.

Жооп: Мүмкүн болгон бөлүнүүлөр: маршрутту пландоо, демөөрчүлүк жана жарнама; же иш-чарага чейин, учурунда жана кийин — кичи маселелерге ар кандай акылга сыярлык бөлүнүү эсептелет.

Кеңири таралган каталар
  • Ойлонбостон түз кодго өтүү Түзөтүү: адегенде кагаз бетинде бөлүп, пландоого он мүнөт бөл — бул кийин сааттар бою кайра жазуудан куткарат.
  • Кокустукту үлгү деп эсептөө Түзөтүү: чечим куруудан мурун үлгүнүн бир нече учурда аткарыларын текшер; бир мисал — үлгү эмес.

Практика

«Оюн жаса» эмне үчүн түз код жаза баштоо үчүн өтө чоң?
Декомпозицияны ойлон.

Бул ондогон кичи маселелерди — графиканы, башкарууну, упай эсептөөнү — жашырган чоң маселе; аларды бөлүп, бирден чечүү керек.

Туурабы же катабы: эсептөөчү ой жүгүртүүнү компьютерлер менен гана колдонсо болот.
Кайталоо графигинин мисалын ойлон.

Ката — бул пландоо, окуу жана каалаган нерсени уюштуруу үчүн жараган жалпы маселе чечүү ой жүгүртүүсү.

Математика боюнча үй тапшырмасын чыгарууда үлгүлөрдү таануу эмнеге пайдалуу?
Башкача көрүнгөнү менен бирдей иштеген суроолорду ойлон.

Бирдей түзүлүшкө ээ суроолор бирдей ыкма менен чыгарылат, ошондуктан үлгүнү байкоо нөлдөн баштоонун ордуна ыкманы кайра колдонууга мүмкүндүк берет.

Автобус расписаниеси каттамдарды жана убакыттарды көрсөтөт, бирок ар бир автобустун түсүн көрсөтпөйт. Бул кайсы ой жүгүртүү жөндөмү?
Керексиз детал алынып салынган.

Абстракция — керексиз детал (автобустун түсү) алынып салынып, маанилүүсү (каттамдар жана убакыттар) калган.

Тез текшерүү

Маселени бөлүктөргө бөлүү — тез текшерүү

Кайсынысы "декомпозицияны" эң жакшы аныктайт?

Чоң, татаал маселени бирден чечүү оңой болгон кичинекей кичи маселелерге бөлүү.

Күнүмдүк жашоодон автоматташтырууга мисал келтир.

Жуу циклин иштеткен кир жуугуч машина же борбордук жылытуунун таймери — экөө тең ар жолу адамдын катышуусуз алдын ала белгиленген кадамдарды аткарат.
Негизги жыйынтыктар
  • Маселени бөлүктөргө бөлүү: чоң маселени чечилүүчү кичинекей бөлүктөргө бөл.
  • Үлгүлөр бир чечимди көп чечимге айландырат: Тизмедеги эң чоң санды тапкан процедураны жазгандан кийин, сынактагы эң жогорку упайды, эң жылуу күндү жана эң кымбат буюмду табууну да чечкен болосуң — үлгү бирдей.
  • үлгүнү таануу: Маселелердин ичиндеги жана ортосундагы окшоштуктарды же кайталанууларды байкоо, мурда иштеген чечимди кайра колдонуу үчүн.
  • Сак бол: ойлонбостон түз кодго өтүү