
Информатика: өз цифрлық көмекшімізді жасаймыз 20-сабақ (барлығы 26)
Ойын мысалындағы күй мен айнымалы
Үш өмірі бар ойыннан күй ұғымын түсініп, көмекшідегі тапсырма өзгерісін сипаттаймыз.
Картадағы орнымыз
Бұл бір жобаның үшінші бөлімі. 0.2 нұсқасының деректерін қолданамыз, бірақ әрекеттерді әзірге қағазда сипаттаймыз: Python жазбай тұрып қатені табуға болады.
Жағдай және сұрақ
Ойында экранда үш өмір тұр. Тұзақтан кейін екеу, сыйлықтан кейін төртеу. Экран өзгерді, бірақ оқиғалардың арасында нақты нені есте сақтау керек? Көмекшіде де тапсырма орындалмаған күйден орындалған күйге өтеді.
Жаңа сөздерді анық түсінейік
Күй — жүйенің таңдалған сәттегі деректері. Айнымалы — алгоритм өзгерте алатын мәннің атауы. Меншіктеу ескі мәнді жаңасымен алмастырады; lives ← lives − 1 математикалық теңдік емес: әуелі оң жақты есептеп, кейін жаз деген нұсқау. Бастапқы мән — бірінші оқиғаға дейінгі күй. Күй ауысуы — бір әрекеттен кейінгі «болды → болды» жұбы. Инвариант — сақталуға тиіс шарт, мысалы өмір саны теріс болмауы. Қағаздағы айнымалыны JSON файлына сақталған өріспен шатастырмаңыз: уақытша мән жазылмаса, құрылғы өшкенде жоғалады.
Сабақтың тірек сигналы
бастапқы күй → оқиға → жаңа мән → шектеуді тексеру
Қадамдап талдаймыз
оқиға | lives бұрын | әрекет | lives кейін кестесін жасаңыз. Басы: 3. Тұзақ: 3 − 1 = 2. Сыйлық: 2 + 2 = 4. Қатарынан үш жоғалту: 4 − 1 = 3, сосын 2, сосын 1. Нөлде тағы тұзақ кездессе, алгоритм не 0 қалдыруы, не ойынды аяқтауы керек — ережені алдын ала таңдаңыз. t-01 үшін кесте қысқа: done=false → «орындалды деп белгілеу» → done=true. Батырма «Орындалды деп белгілеу» деп аталса, қайталап басу мәнді байқамай false қылмауы тиіс.
Қолмен тексеру
Ұпайға үш ұяшық сызыңыз: «бұрын», «әрекет», «кейін». 3 − 2 + 4 үшін әуелі 3 → 1, содан соң 1 → 5 жазыңыз; бірден беске секірмеңіз. Қасына id бірдей екі карточка салыңыз: «орындалды» әрекетіне дейін done=false, кейін done=true. Атау өзгермейді. Белгіні екінші рет қойса не болады? Келісімде true күйінде қала ма, соны көрсетіңіз, әйтпесе күй анық болмайды.
Болжаңыз және тексеріңіз
Екі өмірден бастаңыз: тұзақ, +2 сыйлық, тұзақ. Әр қадамдағы күйді болжаңыз: 1, 3, 2. «Орындалды деп белгілеу» әрекеті екі рет орындалса, done қандай болады? Әрекет ауыстырмай, нақты мән берсе, true қалады. Бұл команданы қайталағанда маңызды.
Қатені табыңыз
«lives ← lives − 1 деген сан өзінен бірді алғанда өзіне тең деген сөз, сондықтан қате». Жоқ: жебе жаңарту белгісі. Ескі мәнді оқып, жаңасын есептеп, орнына жазамыз. Математикалық теңдікке =, қағаздағы командаға жебе қолданамыз.
Жаңа жағдайға көшіру
Оқылған беттер санағышын ойлаңыз. Басы 0, «бет оқылды» оқиғасында +1. Оқиға кездейсоқ екі рет жіберілсе не істеу керек? Ережесіз екі басу жалған прогресс береді.
Жобаға енгізілетін өзгеріс
ALGORITHM-kz.md ішіне бір тапсырманың id, title, done күй кестесін қосыңыз. Орындалды деп белгілеу id мәнін өзгертпейтінін жазыңыз. Жаңа done мәнін файлға сақтау қағаздағы айнымалыдан бөлек қадам болсын.
Тапсырма және дәлел
Үш ойын оқиғасын және тапсырмамен екі әрекетті қолмен орындаңыз. Дәлел: бұрын/кейін кестесі, 0 төменгі шегінің ережесі және қайталанған команданың нәтижесі. Өзге оқушы тек кестеңізге қарап соңғы күйді таба алсын.
1, 7 және 30 күннен кейін қайталау
Ертең меншіктеу жебесін түсіндіріңіз. Жеті күннен соң жаңа санағышты қадағалаңыз. Бір айдан кейін қай күй уақытша, қайсысы файлға жазылатынын тексеріңіз.
Пікірлер (0)
Пікір қалдыру үшін кіріңіз →
Әзірге пікір жоқ. Бірінші болыңыз.