Мазмунга өтүү

Практикалык долбоор: чакан китепкана

Сабактын башталышы

Практикалык долбоор: чакан китепкана

Нөлдөн баштап бир бүтүн, кайра колдонула турган статистика куралын долбоорлойбуз жана курабыз

Негизги идея: китепкана — бул бир маселени ушунчалык жакшы чечкен чакан, ойлонулган код бөлүгү, аны кайра чечкиң келбейт. Бул жыйынтыктоочу долбоордо биз курстун бардыгын — класстар, шаблондор, STL, RAII, шилтемелер жана const-тууралык — бириктирип, сандарды чогултуп, алар боюнча статистиканы эсептеген, кайра колдонула турган Stats<T> классын курабыз.
Аягында сиз мына муну жасай аласыз:
  • чакан китепкананын ачык API'син биринчи код сабына чейин пландоо,
  • STL контейнерин (std::vector<T>) ороп, бардык эстутумду RAII башкара тургандай кылуу,
  • классты шаблон кылып, ал int, double жана башка типтер менен иштей тургандай кылуу,
  • статистиканы STL алгоритмдери менен ишке ашыруу (std::accumulate, std::min_element, std::sort),
  • const-тууралыкты колдонуп, объекттерди const шилтеме аркылуу берип, ашыкча көчүрмөлөрдөн качуу.

1. Адегенде план: китепкана эмне кылышы керек?

Жакшы китепкана сапаттуу мультикуралга окшош. Сиз он башка шайманды алып жүрбөйсүз — ар бир баскычы так бир ишти жасаган бир нерсени алып жүрөсүз. Код жазуудан мурун биз ачык API'ди — колдонуучу чакыра ала турган операциялардын топтомун — аныктайбыз, калганынын баарын жеке (private) сактайбыз.

Максатыбыз: колдонуучу сандар менен толтуруп, анан кадимки статистиканы сурай турган Stats<T> тиби. Убада кылынган операциялар:

  • add(value) жана operator+= — сан кошуу;
  • count(), empty() — азырынча канча сан бар;
  • sum(), mean(), min(), max() — негизги чоңдуктар;
  • variance(), stddev(), median() — чачыранкылык.

Ички сактагыч (вектор, массив, файл) класстын өзүнө гана тиешелүү. Бул бөлүү — жашырылган ишке ашыруунун үстүндөгү таза бет — инкапсуляция деп аталат жана китепкананын бүт мааниси ушунда.

Жакшы эреже: API — бул убада. Адамдар mean() функциясына таянып калгандан кийин, аны ичинен кантип эсептөөнү эркин өзгөртө аласыз, бирок анын сырткы маанисин өзгөртө албайсыз.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө