Мазмуну:

(Өтө жөнөкөй) Ооруларды моделдөө (Scratch менен): 5 кадам
(Өтө жөнөкөй) Ооруларды моделдөө (Scratch менен): 5 кадам

Video: (Өтө жөнөкөй) Ооруларды моделдөө (Scratch менен): 5 кадам

Video: (Өтө жөнөкөй) Ооруларды моделдөө (Scratch менен): 5 кадам
Video: Жамал Сейдакматова: “Таттыбүбү – өтө жөнөкөй, боорукер, назик адам эле” / Таң Шоола / НТС 2024, Июль
Anonim
(Өтө жөнөкөй) Ооруларды моделдөө (Scratch менен)
(Өтө жөнөкөй) Ооруларды моделдөө (Scratch менен)

Бүгүн биз оорунун симуляциясын жасайбыз, бул кандайдыр бир оору эмес, сөзсүз түрдө COVID-19. Бул симуляция мен байланыштыра турган 3blue1brown видеосунун жетеги менен жазылган. Бул сүйрөө жана түшүрүү болгондуктан, биз JS же Python менен мүмкүн болушунча көп нерсе кыла албайбыз, бирок чийүүнү колдонуунун да пайдасы бар, андыктан, эгер сиз JS менен эпидемияны кантип моделдөө керек экенин көргүңүз келсе, менин Мен бул жерде оорунун чыгышын моделдөө боюнча жазган макала. Эми, баштайлы!

Эскертүү: Жогорудагы сүрөт бул жерде көрө турган kvant9innovation симуляциясынан (Instructables колдонуучусу эмес).

Берилиштер:

Сага керек болот:

  • Scratch Account (бул жерден катталсаңыз болот
  • Сүйрөө жана түшүрүү боюнча негизги билимдер (бирок мен дагы эле коддон өтөм)
  • Сиз программалай ала турган компьютер же түзмөк (сиз муну окуп жаткандыктан, балким сизде бар)
  • Кошумча - 3b1b видеосун көрүңүз, ал сизге эмнени программалап жатканыбызды түшүнүүгө жардам берет.

1 -кадам: Негизги орнотуу

Негизги Орнотуу
Негизги Орнотуу

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

Андан кийин, жаңы спрайт түзүңүз жана учурдагы спрайтты колдонуунун ордуна, өзүңүздү боёңуз. Аны көк чекитке айлантыңыз. Бул спрайт коомдун сезгич калкын билдирет, ошондой эле бизде калыбына келтирилген/алынып салынган жана жуккан популяция болот, бул жерде SIR (сезгич, жуккан, калыбына келген/алынып салынган) моделинин аты келип чыккан. Спрайтка "жукпаган" деген ат коюуну унутпаңыз.

Эми, жаңы спрайт (кайра) түзүңүз жана аны sprite1 деп атасаңыз, биз аны өзүбүз боёп алабыз. Аны "Sprite1" деп атап, 2 костюм түзүңүз, бири кызыл чекит, экинчиси боз чекит болушу керек. Аларды костюм1 жана костюм2 кылыңыз. Бул экөө жуккан (кызыл чекит) жана калыбына келген/алынып салынган (боз чекит) популяцияны билдирет.

2 -кадам: Сезимтал калк үчүн кодду орнотуу

Сезимтал калк үчүн кодду орнотуу
Сезимтал калк үчүн кодду орнотуу

Биз азыр сезгич калк кодун орноттук. Биз адегенде 2 өзгөрмөнү түзөбүз: адамдар жана жуккан. "Адамдар" өзгөрмөсү калкты билдирет жана биздин симуляциябызда канча адам кааласак өзгөрүшү мүмкүн жана симуляция ошого жараша өзгөрөт. Биз ошондой эле жуккан өзгөрмөнү түзөбүз жана бул ооруга чалдыккан/болгон калкты билдирет. Бул өзгөрмөлөрдүн экөө тең глобалдык өзгөрмөлөр болушу керек, башкача айтканда аларды бардык спрайттарда колдонсо болот.

Андан кийин, жогорудагы кодду жукпаган спрайтка көчүрүңүз. Келгиле, ал эмне кылганын карап көрөлү. Программа башталганда, спрайт жашырылат, ошондуктан биз клон үчүн бир эле кодду спрайттын өзүнө киргизүүнүн кажети жок, бул жардам берет. Андан кийин, биз эки өзгөрмөнү (жуктуруп алгандар жана адамдар) каалаганыбызга койдук, бул учурда биз жуктургандарды 1ге, адамдарды 100гө койдук. Бул биз жуктурган бир адамдан жана 100 адамдан баштайбыз дегенди билдирет. жуккан адамды кошпогондо. Биз андан кийин циклди иштетебиз, бул адамдар өзгөрмөлүү болгон сумма, бул учурда 100. Биз туш келди позицияга барып, анан спрайттын клонун түзөбүз. Биз кокустук позицияга барабыз, анткени мындай жол менен бизде бир багытта кыймылдаган чекиттер жок, тескерисинче туш келди позицияларда уялап жатышат.

3 -кадам: Жуктурулган жана алынып салынган Sprite үчүн кодду орнотуу

Жугуштуу жана алып салынган Sprite үчүн кодду орнотуу
Жугуштуу жана алып салынган Sprite үчүн кодду орнотуу

Эми, "Sprite1" спрайтына өтүп, андан кийин жогорудагы кодду көчүрүңүз. Келгиле, андан өтөлү. Программа башталганда, спрайт жашырылат, андан кийин вирус жуккан сумма үчүн цикл иштейт. Ал туш келди позицияга барат жана өзүнүн клонун жаратат.

4 -кадам: Калктын аялуу кодун толтуруу

Сезгич калк кодун толтуруу
Сезгич калк кодун толтуруу

Келгиле, эмне кылышыбыз керек экенин карап көрөлү:

  • Жугуштуу
  • Кыймыл

Жугуштуу эмес спрайтка өтүңүз, жогорудагы кодду көчүрүп алыңыз жана анын жуктурууну жана жылууну кантип бүтүрөрүн карап көрөлү. Биринчиден, бул бир костюмга кирет, жана бул чынында эле зарыл эмес, бирок бизде бар, андыктан биз дагы кошууну чечсек, костюмдарды биз кошкон жаңыларына алмаштырып алуудан коркпойбуз. Андан кийин, ал өзүн көрсөтөт. Эсиңизде болсо, биз баштапкы спрайтты жашырдык, андыктан клондор да жашырылат, биз каалабайбыз. Биз анда түбөлүк циклди иштетебиз, ал кимдир бирөө тырмоодо токтоо белгисин басмайынча, бүт программаны иштетет. Биз туш келди позицияга 1 секундага жылабыз, анан четте экенибизди текшеребиз, бул учурда биз андан секиребиз. Андан кийин, эгерде биз кызыл түскө тийип жатсак, анда Sprite1 клондоштурабыз (жуккан/алынып салынган калк) жана жуккан өзгөрмөнү 1ге көбөйтөбүз, андан кийин биздин спрайт жок кылынат.

5 -кадам: Жуккан/Алынган кодду толтуруу

Жугуштуу/Жок кылынган кодду толтуруу
Жугуштуу/Жок кылынган кодду толтуруу

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

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

Сунушталууда: