
Информатика: өз цифрлық көмекшімізді жасаймыз 19-сабақ (барлығы 26)
Мақсатты жоғалтпай үлкен міндетті бөлу
Еске салу міндетін шағын тексерілетін әрекеттерге бөліп, көмекшінің алғашқы алгоритмін қағазда құрастырамыз.
Картадағы орнымыз
Бұл бір жобаның үшінші бөлімі. 0.2 нұсқасының деректерін қолданамыз, бірақ әрекеттерді әзірге қағазда сипаттаймыз: Python жазбай тұрып қатені табуға болады.
Жағдай және сұрақ
Анаңыз «көмекші мектеп жобасын есіме салсын» дейді. Бірден батырма салғыңыз келеді, бірақ мерзімнің қайда сақталатыны және ол жоқ кезде не болатыны белгісіз. Әуелі адам қандай нәтиже көруі тиіс және оған қандай дерек керегін айтыңыз.
Жаңа сөздерді анық түсінейік
Міндет — керекті нәтиже, батырмалар тізімі емес. Бөлшектеу — үлкен міндетті бөлек түсіндіріп, тексеруге болатын бөліктерге ажырату. Ішкі міндеттің кірісі мен нәтижесі бар: мысалы, «мерзімді алу» күнді не оның жоқтығы туралы хабарды қайтарады. Тәуелділік — бір қадам өзге қадамның нәтижесін қолданады. Дайындық өлшемі — бақыланатын шарт: мерзім болса, дұрыс еске салу; болмаса, «мерзім берілмеген» деген адал хабар. Интерфейс нәтижені көрсетеді, бірақ логиканың өзі емес.
Сабақтың тірек сигналы
қажеттілік → кіріс дерегі → шағын қадамдар → тексерілетін нәтиже
Қадамдап талдаймыз
Ойдан шығарылған t-01 «Кітап оқу» тапсырмасынан бастаңыз. «Ертең» мерзімі бөлек сынақ карточкасында берілген: ескі tasks.json файлында мерзім әлі жоқ. (1) Жазбаны атауынан емес, id арқылы табу: атау қайталануы мүмкін. (2) Мерзімді оқу. (3) Ол болмаса, «мерзім берілмеген» деп тоқтау. (4) Мерзімді бүгінгі күнмен салыстыру. (5) Тапсырма орындалмаған және мерзім жақын болса, еске салу дайындау. (6) Нәтижені көрсету. Алты карточка мен тәуелділік бағыттарын салыңыз. Мерзімді оқымай тұрып салыстыру неге мүмкін емес? Бұл әлі бағдарлама емес: күн форматы мен «жақын» сөзінің ережесі белгісіз; оларды кейін анықтаймыз.
Қолмен тексеру
Төрт қағаз алыңыз: id, done, мерзім және жауап. Тапсырма атауын бөлек ұстаңыз. Басқа оқушы көмекші рөлін атқарсын: қағаздарды біртіндеп алып, келесі керегін атайды. Мерзім қағазын алып тастаңыз: ол күнді болжай салмай, тоқтауы керек. Бірдей id кезінде атауды өзгертіңіз: нәтиже өзгермеуі тиіс. Осылайша шешімге қай дерек әсер ететінін анықтап, экран салмай тұрып ереже жазыңыз.
Болжаңыз және тексеріңіз
Атау бар, мерзім жоқ. Күндерді бірден салыстыруға бола ма? Жоқ: салыстыратын мән жоқ, түсінікті хабармен тоқтау керек. Мерзім бар, тапсырма орындалған болса ше? Тек орындалмағанға еске салу керек деген талап болса, хабар жібермейміз. Екі тармақтың ортақ қадамын табыңыз: жазбаны іздеу.
Қатені табыңыз
«Әуелі әдемі экран жасайық, деректі кейін ойлаймыз». Жоспарды түзетіңіз: кіріс пен мерзімді тексеру экранның қандай уәде бере алатынын анықтайды. Бос мерзімді нөлдік күн етіп көрсетпеңіз.
Жаңа жағдайға көшіру
«Орындалған тапсырмалар санын көрсету» өтінішін ішкі міндеттерге бөліңіз. Еске салумен ортақ және бөлек қадамдарды көрсетіңіз. Мерзімді себепсіз іздемеңіз. Санақ біріншісін ғана емес, барлық жазбаны қарауы керек.
Жобаға енгізілетін өзгеріс
step-02/ALGORITHM-kz.md ішіне мақсатты, кірісті, шығысты және еске салудың алты карточкасын жазыңыз. Үш бастапқы ойдан шығарылған тапсырманы өзгертпеңіз. Болжамдарға бөлек кесте жасаңыз: бүгінгі күн, мерзім форматы, «жақын» мағынасы. Тексерілмеген болжамды сызбада жасырмаңыз.
Тапсырма және дәлел
Карточкаларды сыныптасыңызға араластырып беріңіз. Ол тәуелділікті қалпына келтіріп, мерзімсіз тармақты және тоқтауды түсіндірсін. Дәлел: сызба, екі түрлі кіріспен сынақ және түзетілген бір болжам. Қадамдардың екі түрлі үйлеспейтін реті шыға берсе, ережені толықтырыңыз.
1, 7 және 30 күннен кейін қайталау
Ертең алты қадамды жатқа қалпына келтіріңіз. Жеті күннен кейін санау міндетін көмексіз бөлшектеңіз. Бір айдан соң болашақ кодыңыз мерзімнің келісілмеген форматына сүйенбейтінін тексеріңіз.
Пікірлер (0)
Пікір қалдыру үшін кіріңіз →
Әзірге пікір жоқ. Бірінші болыңыз.