Назар аударыңыз. Бұл материалды сайт қолданушысы жариялаған. Егер материал сіздің авторлық құқығыңызды бұзса, осында жазыңыз. Біз ең жылдам уақытта материалды сайттан өшіреміз
Жақын арада сайт әкімшілігі сізбен хабарласады
Бонусты жинап картаңызға (kaspi Gold, Halyk bank) шығарып аласыз
"Scratch программалау ортасында көбейту кестесін жасау"
Дипломдар мен сертификаттарды алып үлгеріңіз!
Материалдың толық нұсқасын
жүктеп алып көруге болады
1-сабақ.
-
Scratch деген не?
Бағдарлама — компьютерге не істеуі керек екенін хабарлайтын қарапайым нұсқаулар топтамасы. Олар бағдарламалау тілі көмегімен жазылады.
Scratch — солардың бірі әрі бірегейі. Бағдарламалау тілінің көпшілігінің мәтінге негізделген: бізге компьютерге ағылшын тілінде шифрге ұқсас пәрмен беруге тура келеді.
Мысалы, экранда «Сәлем!» деген жол шығу үшін:
print ('Сәлем!') (Python тілінде)
std::cout << "Сәлем!" << std::endl; (C++ тілінде)
System.out.print ("Сәлем!"); (Java тілінде)
жазу керек.
Жаңадан бастап отырған адамға осы тілдерді жаттап алу және олардың синтаксисін түсіну оңай емес. Scratch болса — визуалды бағдарламалау тілі. Оны бағдарламалауды барынша қолжетімді ету, ал оған үйренуді қызықтырақ ету үшін Массачусетс технологиялық институтының медиазертханасында жасаған.
1.1-сурет. Scratch-те осы блокты іске қосқанда, мысықтың бұлтшасында «Сәлем!» деген жазу пайда болады
1.1-суретте көріп отырған мысық спрайт деп аталады. Спрайттар сіз беріп отырған пәрменді түсінеді және орындайды. Сол жақтағы күлгін блок бұлтшада бұлтшада «Сәлем!» мәтіні пайда болуы керек екендігін айтады.
Сіз құрастыратын көптеген бағдарламаларда бірнеше спрайттар болады, ал сіз спрайттарды қозғалуға, бұрылуға, сөйлеуге, музыка ойнауға, есеп шығаруға және т.с.с. мәжбүрлей аласыз. Scratch-та сіз, Lego кубиктарынан бір нәрсе жинаған сияқты, гүлдермен таңбаланған әртүрлі блоктарды біріктіре отырып, бағдарламалай аласыз. Сіз құрастыратын өзара біріктірілген блоктар немесе блоктар «стектері» скрипттер деп аталады. Мысалы, 1.2-суретте скрипт спрайт түсін төрт рет қалай өзгертетіні көрсетілген.
1.2-сурет. Спрайт түсін өзгерту үшін скриптті пайдалану
Scratch бағдарламалау ортасы
Scratch іске қосу үшін, http://scratch.mit.edu/ сайтына кіріп, «Байқап көріңіз» сілтемесін шертіңіз. Scratch жобалары редакторының интерфейсі 1.3-суретте көрсетілген.
1.3-сурет. Scratch пайдаланушы интерфейсі
Сіз кем дегенде келесі үш панельден: Сахналар (сол жақ жоғары бетте), Спрайттар тізімі (сол жақ төменгі бетте) мен өз кезегінде блоктар бағаны мен скрипттер жолағынан тұратын Скрипттер белгісінен тұратын бір терезе көре аласыз. Оң жақ панельде де Костюмдер мен Дыбыстар деген екі қосымша белгі бар, олар туралы кейінірек айтамыз. Егер аккаунт жасап, сол арқылы Scratch сайтына кірсеңіз, Рюкзакты да көруіңіз керек (төменгі оң жақта), оның жобаңызбен бөлісуге және бар жобалардағы спрайттар мен скрипттерді пайдалануға мүмкіндік беретін батырмалары бар.
Сахна – спрайттарыңыз қозғалатын, сурет салатын және өзара әрекет ететін орын. Оның ені 1.4-суретте көрсетілгендей, 480 қадам, ал биіктігі — 360 қадам. Сахна орталығы — х және у координаттары осьтерін есептеуді бастау нүктесі.
1.4-сурет. Сахна — ортасында (0, 0) белгісі бар координаттар жазығы
Сіз меңзерді апара және тікелей Сахна астында орналасқан тінтуір жағдайын (х, у) көрсететін жолақтағы сандарды қарай отырып, Сахнадағы кез келген нүктенің координатын анықтай аласыз. Сахна үстіндегі кішігірім басқару панелінде бірнеше тармақ бар. Таныстырылым режімінің белгішесі (1) бағдарламалаудың барлық скрипттері мен құралдарын жасырады және бүкіл экранға Сахнаны ашады. Редакциялау жолағы (2) ағымдағы жоба атын көрсетеді. Жасыл жалауша (3) мен Тоқта (4) белгісі сізге бағдарламаны іске қосуға және тоқтатуға мүмкіндік береді.
1.1-ЖАТТЫҒУ
Тінтуір меңзерімен Сахнада жүргізіп, тінтуір жағдайын көрсететін жолақты қараңыз. Меңзер Сахнадан тыс жерде жүргенде, не болады? Енді таныстырылым режіміне ауысып, экран қалай өзгеретінін қараңыз. Таныстырылым режімінен шығу үшін жоғарғы сол жақтағы белгішені (1) шертіңіз немесе пернетақтада Esc басыңыз.
Спрайттар тізімі
Спрайттар тізімі сіздің жобаңыздың барлық спрайттарының аттары мен белгішелерін көрсетеді. 1.5-суретте көрсетілгендей, жаңа жоба Сахнаның ақ жолағы мен бір спрайттан – мысықтан басталады.
1.5-сурет. Жаңа жобаға арналған спрайттар тізімі
Спрайттар тізімі үстіндегі батырмалар сіздің жобаңызға төрт дереккөзден Scratch спрайттар кітапханасынан (1), кіріктірілген Paint редакторынан(2) (сіз ол жерде костюмді өз бетіңізбен суретін сала аласыз), сіздің компьютерге қосылған камерадан (3) немесе жай ғана сіздің компьютерден (4) жаңа спрайттар қосуға мүмкіндік береді.
1.2-ЖАТТЫҒУ
Спрайттар тізімі үстінде орналасқан батырмаларды пайдалана отырып, өз жобаңызға жаңа спрайттар қосыңыз. Спрайттар белгішелерін бір орыннан екінші орынға апара отырып, тізімдегі олардың орнын ауыстырыңыз.
Блоктар панелі
Scratch-та блоктар 10 санатқа бөлінген: Қозғалыс, Келбет, Дыбыс, Қалам, Деректер, Оқиғалар, Басқару, Сенсорлар, Операторлар және Басқа блоктар. Туысқан блоктарды табу үшін сізге оңай болу үшін, олардың әрқайсысына өз түсі берілген. Scratch-та 100-ден астам блок бар, бірақ олардың кейбіреулері тек белгілі бір жағдайларда ғана пайда болады.
1.6-сур. Блоктар панелі
Скрипттер қойындысы
Спрайтыңыз қызықты нәрселерді орындауы үшін скрипттер қойындысындағы блок панелінен блоктарды тарта отырып, оларды өзара біріктіру керек. Скрипттер қойындысында блоктарды тартқанда басқа блокпен жұмыс істейтін байланыс пайда болу үшін, оны қайда бекіту керек екенін сізге ақ бөлектеу көрсетеді (1.7-сурет). Scratch-тағы блоктар өзара белгілі бір тәсілмен ғана қосылады. Осының арқасында, адамдар мәтіндік бағдарламалау тілдерін пайдаланған кезде пайда болатын қателіктерден аулақ бола аласыз.
1.7-сурет. Скрипттер қойындысына блоктарды тартып, скрипттер пайда болу үшін оларды бір-біріне қосыңыз
Скриптті іске қосу үшін оны аяғына дейін жазып керегі жоқ: оны жұмыс барысында тексере аласыз. Скрипттің кез келген бөлігіне шерту, оны басынан аяғына дейін іске қосады. Бірнеше блокты тез ажыратып, олардың әрқайсысын бөлек тестілей аласыз. Ұзын скрипттермен жұмыс істеген кезде, осы функция сізге өте қажет болады. Блоктардың бүкіл блогын тасымалдау үшін, олардың жоғарғысын алыңыз. Блокты бума ортасынан және оның астындағы барлық блоктарды ажырату үшін, оны таңдап, жылжытыңыз, Оны өз бетіңізбен орындауға тырысыңыз. Блоктардың кішігірім топтарын біріктіре аласыз, оларды тестілей аласыз, олардың қалай жұмыс істейтіндігіне көз жеткізіп, содан кейін оларды ірірек скрипттерге біріктіре аласыз.
1.3-ЖАТТЫҒУ
Scratch жаңа жобасын жасап, спрайт-мысыққа төменде көрсетілген скриптті тапсырыңыз. (Блок үнемі Басқару бөлімінде, ал қалған блоктар – Қозғалыс бөлігінде болады.)
Костюмдер қойындысы
Спрайттың костюмін ауыстыра отырып, оның сырт бейнесін өзгерте аласыз. Костюмдер қойындысында спрайт костюмдерін жасау үшін қажетті бүкіл нәрсе бар; ол көйлек шкафына ұқсайды. Онда көп костюм болуы мүмкін, бірақ әрбір нақты мезетте спрайт тек біреуін ғана кие алады.
1.8-сурет. Спрайт үшін костюм қойындысында барлық костюмдерді жасай аласыз
Дыбыс қойындысы
Спрайттар дыбыс шығара алады, бұл бағдарламаны қызықты етеді: мысалы, олар қуанышты немесе ренжулі дыбыс шығарады. Егер ойыныңызда зымыран сияқты спрайт бар болса, ол нысанаға тигенде немесе мүлт кеткенде түрлі дыбыс шығарта аласыз. Дыбыс қойындысындағы батырмалар спрайттар шығаратын түрлі дыбыстарды жасауға көмектеседі. 1.9-суреттен көріп отырғандай, Scratch-та сондай-ақ дыбыстық файлдарды редакциялауға мүмкіндік беретін құрал бар.
1.9-сурет. Дыбыстар қойындысы спрайт дыбыстарын ұйымдастыруға мүмкіндік береді
Құралдар панелі
Файлды сақтауға, жүктеуге немесе көшіріп алуға болатын стандартты құралдар панелі. Сондай-ақ Көшіру, Жою, Азайту, Үлкейту, Турбо (блоктар жылдамдығын ұлғайтуға арналған) батырмаларын орналастыруға болады (1.10-сурет).
1.10-сурет. Стандартты құралдар панелі
Графикалық редактор
Сіз костюмдер мен фондарды жасау немесе редакциялау үшін графикалық редакторды (1.11-сурет) пайдалана аласыз (Paint баламасы)
1.11-сурет. Графикалық редактор
2-сабақ. Циклдер
Бағдарламалау тілінде алгоритм қадамдарын көп рет орындау басқарушы конструкцияларсыз мүмкін емес. Осындай конструкцияларды циклдер деп, ал қайталанатын қадамдар ретін цикл денесі деп атайды.
Scratch-те циклдердің 4 түріне арналған блоктар бар: сөзсіз, есептегіші бар, алғышарты және кейінгі шарты бар циклдер.
Сөзсіз цикл
Бағдарлама логикасында шығу көздемеген циклдер жиі пайдаланылады. Осындай циклдерді сөзсіз немесе шексіз деп атайды. Скретчте шексіз циклдерді құруға арналған арнайы конструкция бар (2.1-сурет).
2.1-сурет. Сөзсіз цикл
Осындай цикл өзі құрамына кіретін скрипт белсенді болғанға дейін орындалады. Үздіксіз циклді тек Тоқта батырмасының көмегімен ғана тоқтатуға болады. Мысал:
Есептегіші бар цикл
Блок (2.2-сурет) цикл денесін қандай сан көрсетілсе, сонша рет қайталауды ұйымдастырады. Оған дене циклді әрбір орындаған сайын 1 санға азайып отыратын, 0-ге дейін азаятын есептегіш кіріктірілген. Қайталаулар санын константа түрінде ғана емес, сондай-ақ кез келген репортер, оған қоса математика операторлары түрінде де белгілеуге болады (2.3-сурет). Ол блокты өте икемді етеді.
2.3-суретте Қайталаулар санын репортерлер бере алады
Бір циклді екіншісінің ішінде орындауды ұйымдастыруға болады. Бұл жағдайда сыртқы және ішкі циклдер жеке болады (2.4-сурет).
2.4-сурет. Сыртқы және ішкі циклдер
Алғышарты бар цикл
Егер цикл неше рет қайталанатыны, мысалы, «Санды тап» ойынында сияқты белгісіз болса, не істеу керек? Бұл жағдайда алғышарты бар циклді (2.5-сурет) немесе кейінгі шарты бар (2.6-сурет) циклді қолданады.
2.5-сурет. Алғышарты бар циклді жүзеге асыру блок-сызбасы
2.6-сурет. Кейінгі шарты бар циклді жүзеге асыру блок-сызбасы
Циклдің осы түрлерінде шарт цикл денесін орындау алдында тексеріледі, сондықтан аталған шарт басталмаса, цикл бірде бір рет орындалмайды. Егер үлкендер үй тапсырмасын орындамасаң, кәмпит жемейсің деп шарт қойса, сіз оны алмайсыз.
Блок үнемі күту жағдайында болады да, шарт сақталған жағдайда цикл денесін іске қосады. Шартты тексеру неше рет шындық нәтиже берсе, цикл сонша рет қайталанады. Егер шарт жалған болса, цикл ішіндегі әрекеттер орындалмайды.
1-тәжірибелік жұмыс. «Pong» ойыны
1-қадам. Есеп
Осы бөлімде секіріп жатқан доп еденге ұрылмас үшін, пайдаланушы ракетканы жылжытуы тиіс болатын компьютер ойынын жасайсыз. Ол Pong классикалық ойынына негізделген. Пайдаланушы интерфейсі 2.7-суретте көрсетілген.
2.7-сурет. Экрандағы ойын
2-қадам. Жоба жасау
Суретте көрсетілгендей, доп Сахнаның жоғарғы бөлігінде қозғалысты бастап, Сахна шетінен секіре отырып, кездейсоқ бұрыш астына ауысады. Ойыншы допты кері жоғарыға лақтыру үшін, ракетканы көлденеңінен (тінтуір көмегімен) жылжытады. Егер доп Сахнаның төменгі шекарасына тисе, ойын біткені. Ойынды қадамдап құрастырамыз. Алдымен жаңа жоба ашуымыз керек. Scratch жаңа жобасын бастау үшін «Файл» – «Жаңа» таңдаңыз. Содан кейін тінтуірдің оң жақ батырмасын шертіп, шығатын мәзірден Жоюды таңдап, спрайт-мысықты алып тастау керек.
3-қадам. Фонды дайындау
Доп қашан ракетка жанына түскенін анықтау үшін Сахнаның төменгі шекарасын белгілі бір түспен белгілейміз, доп осы түске тигенін анықтау үшін, түске дейін жету блогын пайдаланамыз (Сенсорлар бөлімінен). Қазір бізде ақ фон, Сахнаның төменгі шекарасына 2.8-суретте көрсетілгендей жіңішке қызыл түсті тікбұрыш сала аламыз.
2.8-сурет. Сахна фонының төмен жағына тікбұрыш суретін салудың қадамдары
4-қадам. Ракетка мен допты қосамыз
Жаңа жобаңызға Ракетка (Paddle) қосу үшін Спрайттар тізімі үстіндегі Жаңа спрайт салу батырмасын басыңыз. Ракетка – қарапайым жіңішке қысқа төртбұрыш болғандықтан, 2.8-суретте көрсетілгендей қажетті фигураны салу үшін 3-қадамды қайталаңыз. Оны өзіңізге ұнайтын кез келген түске бояп, ортасын төртбұрыш ортасына таман орнатыңыз. Спрайт нені білдіретіндігін түсіндіре алатындай етіп, оған ат қойыңыз. Сондай-ақ Сахнадағы ракетка бейнесін шертіп, оның у координаты – 120 болатындай етіп қозғалтыңыз.
Міне бізде ракетка бар, бірақ оның жанында секіріп жүретін доп жетіспейді. Спрайтты импорттау үшін, спрайттар тізімі үстіндегі Кітапханадан спрайт таңдауды басыңыз.
Пайда болған терезеден Заттар санатын таңдап, содан кейін доп бейнесін таңдап, оны жобаға қосыңыз. Спрайтты Доп деп қайта атаңыз. Ойынға арналған скрипттермен жұмысты бастамас бұрын, өзіңіз жасап қойған нәрселерді сақтау үшін «Файл» - «Өз компьютеріңізге жүктеуді» таңдаңыз. Пайда болған диалог терезесінен, өзіңіздің жұмысыңызды сақтағыңыз келетін папканы таңдап алып, файлды Pong.sb2 деп атап, Сақтауды басыңыз. Егер сіз Scratch сайтына өз логиніңізбен кірсеңіз, сіз өз жұмысыңызды бұлтта (Scratch серверінде) сақтай аласыз. Кез келген жағдайда файлдарды жиі сақтап отыруды ұмытпаңыз. Ракетка мен Доп спрайты бар кезде Сахна 2.7-суретке ұқсау керек. Келесі қадам ойын іске қосылу үшін қажетті скрипттерді қосу болып табылады.
5-қадам. Ойынды бастау және спрайттарды қозғалуға мәжбүрлеу
шерткен кезде, блок-триггерден басталатын кез келген скрипт осы батырмаға баса сала жұмыс істей бастайды. Жалауша ашық жасыл түске боялып, скрипт жұмысын аяқтағанға дейін сол қалпында қалады. Оны әрекетте көру үшін 2.9-суретте көрсетілгендей, Ракетка спрайты үшін скрипт құрыңыз.
2.9-сурет. Ракетка спрайтына арналған скрипт
Ойыншы жасыл жалаушаны шерткеннен кейін (1), егер тінтуірді оған дейін ол жерден алып тастамасаңыз, блок х: у: ауысады (2), ракетканың тік позициясын 120-ға орнатады. Ракетка Сахна астындағы тура ашық қызыл төртбұрыш үстінде ұшады, сондықтан төртбұрыш жуанырақ болса, ракетка координаттарын сізге қалай ыңғайлы болса, солай өзгертіңіз.
Содан кейін скриптте тінтуір позициясын үнемі қадағалап отыру үшін, үнемі блогы (3) пайдаланылады. Біз оның позициясы ретінде тінтуірдің х позициясын көрсету арқылы (4), ракетканы әрі-бері қозғалтамыз. Скриптті іске қосыңыз (жасыл жалаушаны шертіп) да, тінтуірді көлденеңінен қозғалтып көріңіз. Ракетка оның артынан жүру керек.
Скриптті тоқтату үшін жасыл жалауша жанындағы белгіні шертіңіз.
Біз жасыл жалаушаны шерткенде доп қозғала бастау керек, сондықтан бірінші кезекте спрайт-допқа 2.10-суреттегі скриптті қосыңыз.
2.10-сурет. Допқа арналған скрипттің бірінші бөлігі
Алдымен біз допты Сахнаның жоғарғы жағына жылжытамыз (1) да, оны, кездейсоқ бұрышты таңдау блогын (Операторлар бөлімінен) пайдалана отырып (2), оны кездейсоқ бұрышта ұшуға мәжбүрлейміз. Содан кейін доп Сахна бойынша қозғалып, оның шетінен секіру үшін (4), скрипт үнемі блогын (3) пайдаланады. Тексеріңіз. Доп зигзагпен қозғалу керек, ал ракетка тінтуірдің артынан жүру керек.
Енді допты ракеткадан ұшуға мәжбүрлейтін блоктарды қосамыз. Біз жаңа ғана құрған үнемі блогын, 2.11-суретте көрсетілгендей, доп ракеткадан секіріп, жоғары ұшатындай етіп өзгерте аламыз.
2.11.-сурет. Доп жоғарыға секіру үшін, блок қосу
Доп пен ракетка бір-біріне тиген кезде, біз допқа -3,-дан 30-ға дейін кездейсоқ бағытта бұрылу пәрменін береміз. Үнемі блогы екінші айналымға кірген кезде, ол допты жоғарыға ұшуға мәжбүрлейтін жүру блогын орындай бастайды.
Ойынның осы бөлігін тестілеу үшін, қайтадан жасыл жалаушаны шертіңіз. Көзделгендей, доп ракеткадан секіре бастағанына көз жеткізгеннен кейін, Тоқтаны басыңыз.
Енді бір ғана жетіспейтін нәрсе – егер доп Сахнаның төменгі шекарасына тисе, ойынды тоқтататын код. Спрайт-допқа 2.12 сур көрсетілгендей скрипт қосыңыз, немесе егер блогынан кейін бірден (2.11-сурет), немесе тікелей алдыға. Блок түске тие ме ? сіз Сенсорлар бөлімінен табасыз, блок тоқта — Басқару бөлімінде.
Сіз тінтуірді блок ішіндегі түске тиеді түрлі-түсті шаршыны тінтуірмен шерткен кезде?, меңзер жебесі қолға өзгереді. Сіз меңзерді ауыстырып, Сахна астындағы ашық қызыл төртұрышты шерткен кезде, блок ішіндегі осы шаршы да сол түске боялады. Барлығын тоқтату блогы барлық жұмыс істеп тұрған скрипттерді тоқтатады.
2.12-сурет. Ойынды аяқтауға арналған блоктар
Ойын дайын! Тестілеңіздер.
3-сабақ. Айнымалы деген не?
Айнымалы – компьютер жадының аты бар саласы. Оны сандық және мәтіндік деректерді сақтауға арналған жәшік деп елестетуге болады, оған қажеттілігі бойынша бағдарлама жүгінеді. 3.1-суретте жақ деп аталатын айнымалы көрсетілген, оның ағымдағы мәні 50-ге тең.
3.1-сурет. Айнымалыны ат берілген және бірқатар мәндері бар жәшікпен салыстыруға болады
Сіз айнымалыны құрған кезде, сіздің бағдарламаңыз оның мәнні сақтау үшін жадының белгілі бір көлемін резервтейді де, бөлінген жадыға айнымалы атын береді. Айнымалыны құрып, сіз оның атын оның мәніне жүгіну үшін, өз бағдарламаңызда пайдалана аласыз. Егер сізде шамасы 50 жақ деп аталатын жәшік (айнымалы) бар делік, онда біз қадамдардың жүру пәрменін (3-жақты) құрастыра аламыз. Осы пәнменді орындай отырып, Scratch компьютер жадынан жәшік жақты тауып алып, оның ішіндегіні (бұл жағдайда 50) иемденіп, осы санды қадамдардың (3-жақты) жүру блогынжа жақ орнына пайдаланады. Нәтижесінде спрайт 150 (50-ді 3-ке көбейту) қадамға жылжиды. Әдетте Scratch-тегі айнымалыларды ойыншының ұпайлары, ойын күрделілігінің деңгейі, оның ұзақтығы үшін пайдаланады.
3.2-сурет. Айнымалыны құру
Айнымалылар мен тізімдерді құру үшін ашық сары пәрмендер санаты – айнымалылар (1) қолданылады. Айнымалыны құру үшін тінтуірмен Айнымалыны құру батырмасын шерту (2) керек.
Айнымалылар мен тізімдер аты
Айнымалылар аты, спрайт, костюм немесе фон аты сияқты, әріптерден, сандардан, сызу белгілерінен тұра алады. Scratch регистрге сезімтал: ол үлкен және кішкентай әріптерді және «ұпайлар» мен «Ұпайлар» сөздерін ажырата алады – олар әртүрлі айнымалылар мен тізімдердің әртүрлі аттары.
Аттардың мысалдары: балдар, ойыншы аты, Тур, 1-ойыншы, 2-ойыншы, ойыншы_2. Түсінікті аттар беріңіз және, айнымалыны құрғаннан кейін оның атын өзгертуге болмайтынын, бірақ айнымалы мен тізімді жойып тастап, оларды сол атпен немесе басқа атпен қайта құруға болатынын есіңізде сақтаңыз.
Айнымалыны анықтау облысы
Жергілікті және жаһандық:
Айнымалылар мен тізімдер екі типті – жергілікті (тек осы объект үшін) және жаһанды (барлық объектілер үшін) болуы мүмкін.
-
Жергіліктілер тек бір объект үшін ғана қолжетімді. Өзінің қолданылуы бойынша олар өзі сол үшін құрылған спрайттың параметрі немесе жады болып табылады.
-
Жаһандылар - барлық спрайттар мен жоба сахнасы үшін қолжетімді.
Жергілікті айнымалылардың аттары әртүрлі спрайттарда бірдей болуы мүмкін, бірақ олар жаһанды айнымалылардың атымен бірдей болмайды.
2-тәжірибелік жұмыс. «Pong» ойыны
Біз «Pong» ойынын құрастырып қойдық, ал осы бөлімде ойынға айнымалыны қосамыз. Ойыншы тапқан ұпайлар санын есептейтін айнымалы. Ол үшін біз барлық спрайттар үшін әШот» айнымалысын құрастырамыз.
3.3-суретте көрсетілгендей, доп спрайтына скрипт қосамыз. Алдымен ойын мәні 0-ге тең, допты ракеткамен ұру арқылы ойыншы 1 ұпай табады.
3.3-сурет. Доп спрайтына скрипт қосу
Ниет болса, осы ойынға, жылдамдық, таймер, доппен ұру немесе екінші ракетканы консольді басқаруды қоса отырып, екі адам ойнай алатындай етіп, қосымша объектілер (3.4-сурет) қосу арқылы әрі қарай күрделендіруге болады ( 3.5-сурет).
3.4-сурет. Қосымша объектке арналған скрипт
3.5-сурет. Екінші ракетканы басқару скрипті
Клондар айнымалылары
Әрбір спрайттың қасиеттер тізімі, оған қоса х жағдайы, у жағдайы, бағыты мен т.б. болады. Осы тізімді 3.6-суретте көрсетілгендей, спрайт атрибуттарының ағымдағы шамалары сақталатын рюкзак ретінде көрсетуге болады. Сіз анықтау облысы Тек осы спрайт үшін болатын айнымалыны құрған кезде, ол спрайт рюказгына қосылады.
Сіз спрайтты клондаған кезде, клон ата-ана атрибуттарының көшірмелерін, соның ішінде айнымалыларды мұраға алады. Мұраға алынған қасиет алдымен ата-ана спрайтының қасиетіне – ол клон құрылған мезетте болған қасиетіне ұқсас. Бірақ егер осыдан кейін клон атрибуттары мен айнымалылары ауысса, осы айнымалылар ата-ана спрайтына ешқандай әсер етпейді. Ал ата-ана спрайтының өзгеруі клондар қасиеттеріне ешқандай әсер етпейді.
3.6-сурет. Клондар ата-ана спрайты айнымалыларының көшірмелерін мұраға алады
Сіз осы қасиетті сіздің қосымшадағы бір клонды екіншісінен ажырату үшін пайдалана аласыз. Мысал:
Осы мысалдағы ата-ана спрайтында (3.7-сурет) Нөмір клоны атты айнымалысы болады. Егер жасыл жалаушаны шертсе, қайталау нәтижесінде үш клон пайда болады, олардың әрқайсысын құру барысында Нөмір клоны айнымалысының әртүрлі мәндері беріледі (бұл жағдайда – 1, 2, 3). Әрбір клон пайда болған кезде өзінің бірегей мәні бар Нөмір клоны айнымалысының өз көшірмесі болады. Енді сіз, клон сәйкестендіргішін тексеру және әрбір клонның белгілі бір әрекеттер жасауына мәжбүрлеу үшін, егер блогын пайдалана аласыз.
3.7-сурет. Клондар ата-ана спрайты айнымалыларының көшірмелерін мұраға алады
Енді, клондар жаһанды айнымалылармен өзара әрекет етеді. 3.2-суретті есімізге түсірейік: анықтау облысы Барлық спрайттар үшін айнымалыларын Сахна мен барлық спрайттар, клондарды алып тастамастан, оқи және көшіре алады. Мысалы, 3.8-суретте бейнеленген бағдарлама, ата-ана спрайтының барлық клондары жоғалғанын тексеру үшін, осы ерекшелікті пайдаланады.
3.8сур. Клондарды жою үшін жаһанжы айнымалыларды пайдалану
Осы скриптте ата-ана спрайты жаһанды айнымалы шамасын беске тең Клондар санына береді және бес клон құрады. Содан кейін, Клондар саны нөлге тең болғанша күтіп, ойын біткенін хабарлайды. Клондар кездейсоқ уақыт аралығында және Сахнада кездейсоқ таңдалған жерде пайда болып, екі секунд ішінде «Сәлем!» деп айтады да, жоғалады. Барлық бес клон жоғалған, ал Клондар саны нөлге тең болған кезде, негізгі скрипт күту режімінен шығады да, ата-ана спрайты «Ойын аяқталды!» - деп хабарлайды.
Айнымалы мониторларын көрсету
Scratch-те айнымалыларды сахнада айнымалылар мониторы көмегімен көруге болады. Сіз чекбоксте айнымалы атының жанына қанат белгісін қоятыныңызға немесе алып тастайтыныңызға байланысты, сіз 3.9-суретте көрсетілгендей, Сахнада мониторды жасыра немесе көрсете аласыз. Сондай-ақ сіз айнымалыны көрсету және айнымалыны жасыру пәрмендерінің көмегімен сіздің скриптіңіздің ішіндегі монитордың көрінетіндігін бақылай аласыз.
3.9-сурет. Айнымалы мониторын көрінетіндей ету үшін, чекбоксте оның жанына қанат белгісін қойыңыз
М ониторды индикатор панелі немесе басқару пульті ретінде пайдалануға болады: ол сізге айнымалы құрамын көрсетуге, сондай-ақ оны сізге өзгертуге мүмкіндік бере алады. Стандартты түрін (әдеттегі қалпы бойынша), үлкейтілген немесе тұтқыш түрін таңдау үшін, Сахнадағы мониторингтің тікбұрышы бойынша екі рет шертіңіз. Егер сіз тұтқышты көргіңіз келсе, сіз, оған тінтуірдің оң батырмасымен шертпесімен түртіп және шығып тұратын терезеде 3.10-суретте көрсетілгендей, минимум мен максимумды орнатып, оның диапазонын табыстай аласыз.
3.10-сурет. Тұтқыш режімінде монитордың минималды және максималды мәнін орнату
Тұтқышты пайдалану скрипт жұмысы барысында айнымалы шамасын ауыстыруға мүмкіндік береді – пайдаланушы үшін қосымшамен өзара әрекет етудің қолайлы тәсілі. Тұтқышты пайдаланудың қарапайым мысалы 3.11-сур. берілген.
3.11-сурет. Тұтқыш көмегімен түсСахна айнымалысын өзгерту
Осы мысалда тұтқыштар арқылы әрекет жасау түсСахна айнымалысын өзгертеді, ол әсер түсін өзгерту пәрменінің параметрі болып табылады. Осы скрипт Сахнаға жататын болғандықтан, тұтқышты қозғалту оның түсін өзгертуге әкеліп соғады.
3-тәжірибелік жұмыс. «Ом заңын модельдеу»
Электр кернеуі (V) кедергіні (R) қамтамасыз ететін резисторға тіркелген кезде, резистор арқылы электр тогы (І) өтеді. Ом заңына сәйкес, ток күші келесі теңдеумен анықталады:
Біздің қосымша пайдаланушыға жүгіргіш-тұтқыш көмегімен V мен R шамаларын өзгертуге мүмкіндік береді. Содан кейін бағдарлама ток күшін, І, есептейді және көрсетеді. Осы қосымша үшін пайдаланушы интерфейсі 3.12-суретте көрсетілген.
Батарейка кернеуін (V) реттейтін жүгіргіш диапазоны [0, 10], резистора жүгіргішіні (R) — [1, 10]. Пайдаланушы жүгіргіш көмегімен V немесе R өзгерткен кезде, қосымша желіде ток күшін (І) есептейді. Шам жарықтығы ол арқылы өтетін ток күшіне сәйкес өзгереді: ол неғұрлым жоғары болса, шам соғұрлым жарық жанады. Суретте V, I мен R әріптерінің мөлшері де, осы шамалар қатынастарын көрсете отырып, өзгереді.
3.12-сурет. Ом заңы қалай жұмыс істейтіндігін көрсететін қосымшаның пайдаланушы интерфейсі
Қосымшада бар жоғы бес спрайт — Вольт, Ток, Кедергі, Тең және Жарық (Volt, Current, Resistance, Equal мен Light) — және үш (V, I мен R). Сіз 3.12-суретте көріп отырғанның барлық басқалары (батарейка, сымдар, шам патроны және т.с.с.) – Сахнаның фондық суретінің бөлігі. Қосымшаны басқаратын және сахнаға тиесілі негізгі скрипт 3.13-суретте көрсетілген.
3.13-сурет. Ом заңының жұмысын көрсететін қосымшаның негізгі скрипті
Скрипт V мен R шамаларын іске қосып, шексіз циклге кіреді. Әрбір цикл өткен сайын, бағдарлама, V мен R мәндерін пайдалана отырып, І есептейді: оларды пайдаланушы жүгірткіш көмегімен орнатады. Содан кейін, қосымшалар шамаларды қайта есептеу нәтижелері бойынша өзінің сыртқы түрін жаңарту үшін, қосымшаның бақа спрайттарына беріледі. 3.14-суретте Вольт, Ток, Кедергі мен жарық (V, I мен R әріптері мен шамды көрсететін) спрайттар Жаңарту хабарламасын алған кездегі олардың реакциясын көрсетеді.
3.14-сурет. Жаңарту хабарламасын алған кезде скрипттердің іске қосылуы
Жаңарту хабарламасын алған кезде, Вольт, Ток пен Кедергі спрайттары өздерінің айнымалыларының ағымдағы шамаларына сәйкес мөлшерін өзгертеді (бастапқы 100%-дан 200%-ға). Жарық спрайты, І шамаға тең өзінің мөлдірлік деңгейін өзгерту үшін, әсер белгісіне өзгерту пәрменін орындайды. Нақты визуалды әсер, шынайы шам елесі пайда болады.
4-сабақ. Салыстыру операторлары
Сізге күде шешімдер қабылдауға тура келеді, және олардың көпшілігі әркетке келтіреді. Мысалы, сіз өзіңізге: Егер мына доп 2000 теңгеден арзан болса, мен оны сатып аламын»,-дей аласыз. Содан кейін доп бағасын біліп, оны сатып аласыз ба, жоқ па шешесіз .
Scratch-те де сіз шешім қабылдай аласыз. Салыстыру операторларының көмегімен, екі айнымалы немесе өрнектер айырмасын анықтау үшін, олардың мәндерін салыстырасыз. Салыстыру операторлары да реляциялық операторлар, деп аталады, себебі екі мәннің қатынасын салыстырады. 1-кестеде Scratch қолдау көрсететін үш реляциялық оператор көрсетілген.
Оператор |
Мән |
Мысал |
Артық |
Бағасы 2000 артық па? |
|
Кем |
Бағасы 2000 кем бе? |
|
Тең |
Бағасы 2000 тең бе? |
1-кесте. Scratch-тегі релциялық операторлар
БУЛЬДЕР, НЕМЕСЕ НАҚТЫ ӘЛЕМДЕГІ ЛОГИКАЛЫҚ ӨРНЕКТЕР
Буль сөзінің өзі ХІХ ғасырда өмір сүрген және екі мәнге: 1 мен 0 (шындық және жалған) мәнге негізделген логикалық жүйені ойлап шыққан Джордж Буль туралы естелік ретінде пайдаланылады. Буль алгебрасы заманауи компьютер ғылымының негізіне айналды.
Біз шешімдер қабылдау үшін бульдерді үнемі пайдаланамыз. Компьютерлер де, бағдарлама жүретін тармақты анықтау үшін, оларды пайдаланады. Роботталған қол конвейердегі қозғалмалы бөлшектерді тексеру және Сапасы жақсы = шындық бөлігін 1-Себетке, ал 2-Себетке - Жақсы Сапа = жалған болып табылатын бөлшектерді ауыстыруды бағдарламалауы мүмкін. Үй қауіпсіздігі жүйелері әдетте дұрыс емес кодты енгізген кезде, дабыл (дұрыс код = жалған) қосылатын, ал дұрысты енгізген кезде – (дұрыс Код = шындық) дабыл өшетіндей етіп бағдарламаланады.
Жойылған сервер, карта (шындық) немесе жоқ (жалған) әрекет етуіне байланысты, өзінің кредиттік картасын дүкенде айналдырса, қолжетімдік беруі немесе бас тартуы мүмкін. Автомобильдегі компьютер, егер қақтығысу (қақтығысу = шындық) болды деп шешсе, қауіпсіздік жастығын автоматты түрде лақтырады. Ұялы телефон, батарея отырған кезде (батарея Отырды = шындық) арнайы белгішені көрсете және, қуат жеткілікті болған кезде (батарея Отырды = жалған), оны жасыра алады.
Ол компьютерлердің, буль шарттарының нәтижелерін тексере отырып, әртүрлі әрекеттер орындайтындығының бірнеше мысалы.
Буль өрнектерін бағалаймыз
Бізде х және у айнымалылары бар деп есептейік, одан әрі: x = 5 және y = 10. 2-кестеде Scratch қатынастары блоктарын пайдалану мысалдары көрсетілген.
Осы мысалдар реляциялық операторлармен байланысты маңызды мезеттерді көрсетеді. Біріншіден, біз оларды жекелеген айнымалылар (х, у) ретінде де, сондай-ақ бүтін өрнектер (мысалы, 2 × x және x + 6) ретінде де көрсете аламыз. Екіншіден, салыстыру нәтижесі үнемі не дұрыс, не қате (ол үнемі буль мәні). Үшіншіден, блок x = y «У тең х мәнін беру» дегенді білдірмейді. Ол: «x y-ке тең бе?»,- деп сұрайды. Демек, z мәнін пайымдаған кезде (x = y) мәні орындалады, ал x мәні бұрынғыдай 5-ке тең.
2-кесте. Қатынастар блоктарын пайдалану мысалдары
Пайым |
Мән |
z (нәтиже) |
Түсіндіру |
z = (5 < 10) дұрыс па? |
z = шындық |
Себебі 5 10-нан үлкен емес |
|
z = (5 > 10) дұрыс па? |
z = жалған |
Себебі 5 10-нан үлкен емес |
|
z = (5 = 10) дұрыс па? |
z = жалған |
Себебі 5 10-ға тең емес |
|
z = (10 > 2 × 5) дұрыс па? |
z = жалған |
Себебі 10 10-нан үлкен емес |
|
z = (5 = 5) дұрыс па? |
z = шындық |
Себебі 5 5-ке тең |
|
z = (10 < 5 + 6) дұрыс па? |
z = шындық |
Себебі 10 11-ден аз |
Әріптер мен жолдарды салыстырамыз
Пайдаланушы А-дан Я-ға дейінгі әріптердің бірінен тұратын құпия кодты табуға тырысады деген ойынды елестетіп көрейік. Ойын пайдаланушы ұсынған нұсқаны есептейді, оны құпия кодпен салыстырады және пайдаланушыға, алфавиттегі әріптер тәртібі негізінде өз жауабын қалай жақсартуға болатыны бойынша нұсқаулық береді. Егер құпия әріп Ё болса, ал Б енгізілсе, ойын «Б-дан кейінгі» деген сияқты бір нәрсе айту керек, сол арқылы алфавиттегі құпия код Б-дан кейін тұрғаны туралы белгі береді. Экранға қандай хабарлама беру керек екенін шешу үшін, дұрыс әріпті ойыншы жауабымен қалай салыстыруға болады?
Scratch-тегі реляциялық операторлар әріптерді салыстыра алады. 4.1-суретте көрсетілгендей, Scratch олардың алфавитте орналасқан тәртібі негізінде әріптерді салыстырады. A алфавитте Б-дан бұрын тұрғандықтан, A < Б өрнегі дұрыс. Бұл жерде, осындай салыстырулар регистрге сезімтал емес екендігін есте сақтау керек. A бас әрпі — кішкене а әрпі сияқты. Сондықтан A = a өрнегі де дұрыс. Осыны біле отырып, келесі шарттарды жинау арқылы сіз ойыншы ойын тексере аласыз:
ЕГЕР (жауап = құпия код), онда «Шын» деп айту керек
ЕГЕР (жауап = құпия код), онда «Дейін <жауап>» деп айту керек
ЕГЕР (жауап < құпия код), онда «Кейін <жауап>» деп айту керек
4.1-сурет. Әріптерді салыстыру үшін реляциялық операторларды пайдалану
Балама және жолдармен (4.2-сурет)
4.2-сурет. Жолдарды салыстыру үшін реляциялық операторларды пайдалану
Шешімдер құрылымы
Scratchтағы Басқару бөлімінде шешімдер қабылдау мен сіздің бағдарламаларыңыздағы әрекеттерді басқаруға мүмкіндік беретін екі блок бар: егер және егер/өзгеше. Осы блоктарды пайдалана отырып, сіз сұрақ қойып, жауап негізінде әрекет жасай аласыз.
Егер блогы
Егер блогы — шешімдер қабылдау құрылымы, ол сізге комнадалардың қандай да болмасын бөлігі мәтін талаптарына сәйкес орындалуы тиіс-тиіс емес екендігін белгілеуге мүмкіндік береді. Егер блогының құрылымы мен оның үрдістерінің сызбасы 4.3-суретте көрсетілген.
4.3-сурет. Егер блогының құрылымы
4.4-сурет. Осы скрипт спрайт Сахнаның оң жағымен қозғалған кезде, өз түсін ауыстыруға мәжбүрлейді
Егер блогына әрекетте қарау үшін, 4.4-суретте скриптті құрастырыңыз. Ол үнемі циклді іске қосады, спрайтты Сахнада ауыстырады, оның түсін өзгертеді және ол Сахна шетіне тиген кезде, оны секіруге мәжбүрлейді.
Циклдегі сіздің скриптте үнемі әрбір жүру пәрменінен кейін х осі бойынша қалыпты тексеретін егер болады. Егер х осі нөлден үлкен позициясы болса, спрайт түсін өзгерту керек. Сіз осы спринтті қосқан кезде, сіз, спрайт Сахнаның бірінші жартысы бойынша қозғалған кезде ғана түсін өзгертетінін байқайсыз. Ол, түс әсерін 25-ке өзгерту блогы тек, x > 0 жағдайы дұрыс болған кезде ағана орындалуына байланысты.
Айнымалыларды жалаулар ретінде пайдаланамыз
Сіз, мақсатыңыз өзіңізе қарсы оқ ататын әскери кемелерді қирату болатын космос туралы ойынды жасап жатырсыз, деп елестетейік. Ойыншы – кеме капитаны, ол жебелері бар клавиштер арқлы оны басқарады және «бос жер» көмегімен ракеталармен атады. Егер ойыншының космос кемесіне жау тікұшағы бірнеше рет тиетін болса, кеме ату қабілетін жоғалтады. Осы мезеттен бастап «бос жер» клавишін басу ракеталарды жібере алмау керек, енді капитан одан да көп оққа ұшырамас үшін, қорғаныс стратегиясын қабылдау керек. «Бос жер» клавишін басқан кезде, сіздің бағдарлама, ойыншы ата алатындығын тексеру үшін, кеме жағдайын тексеруі тиіс екені анық.
Әдетте осындай тексеру жалаулары – сіз қызықтыратын оқиғаның болғанын анықтау үшін сіз пайдаланатын айнымалылар көмегімен орындалады. Сіз, оқиғалар статусын сипаттау үшін, кез келген екі мәнді ала аласыз, бірақ іс жүзінде, оқиға болмағанын көрсету үшін, әдетте, 0 (немесе жалғанды) пайдаланады, ал оның болғанын көрсету үшін, 1 (немесе шынды) пайдаланады.
Сіз өзіңіздің космостық атқышыңызда, кеме жағдайын көрсету үшін, Ата аламын атының астына жалауды пайдалана аласыз. Сонда 1, кеменің ракетамен ата алатындығын, ал 0- ата алмайтындығын білдіреді. Осының негізінде оқиға өңдеушінің коды – «бос жер» клавишін басу – 4.5-суретте көрсетілгендей болады. Ойын басында, кеменің атуға қабілетті екендігін көрсету үшін, Ата аламын жалауы мәні ретінде 1-ді белгілейсіз. Кемеге жау оқтарының белгілі бір сандару тиген кезде, сіз, ұрыс жүйесі істен шыққанын көрсету үшін, Ата аламын жалауын 0-ге қоясыз. Осы мезеттен бастап «бос жер» клавишін басу ракеталарды іске қоспайды.
4.5-сурет. Шартты орындау үшін жалауды пайдалану
Егер/өзгеше блогы
Сіз бастауыш сынып оқушыларын математика негіздеріне үйретуі тиіс ойын құрастырып жатырмын, деп елестетіңіз. Ойын қосу есебін береді, содан кейін жауапты енгізуді сұрайды. Оқушы дұрыс жауап үшін балл алу немесе дұрыс емес жауап үшін балл жоғалту керек. Сіз осы есепті екі пайым көмегімен шеше аласыз, егер:
Егер жауап дұрыс болса, есепке бір балл қосу керек
Егер жауап дұрыс болмаса, есептен бір баллды алып тастау керек
Сондай-ақ сіз осы логиканы жеңілдетіп, екі пайымды бірге жинақтап, кодты бұрынғыдан тиімдірек жасай аласыз, егер/өзгеше:
Егер жауап дұрыс болса, есепке бір балл қосу керек.
Өзгеше болса, есептен бір баллды алып тастау керек.
Т аңдап алынған шарт тестіленген. Егер ол дұрыс болса, пәрмендер егер блогы бөлігінен орындалады. Егер дұрыс болмаса, пәрмендер өзгеше бөлігінен орындалады. Бағдарлама блок пәрмендерінің тек бір тобын ғана орындайды. Бағдарлама ішіндегі осындай балама жолдарды тармақтар деп атайды. Егер/өзгеше блогының құрылымы мен оған сәйкес блок-сызба 4.6-суретте көрсетілген.
4.6-сурет. Егер/өзгеше блогының құрылымы
Егер/өзгеше блогы пайдаланылған скрипт мысалы (4.7-сурет)
4.7-сурет. Осы скрипт, пайдаланушы оң санды енгізгенін немесе теріс санды енгізгенін анықтайды
Егер және егер/өзгеше салынған блоктары
Е гер сіз бірден артық шартты тестілегіңіз келсе, әрекет жасаудан бұрын, сіз текресу үшін, бірнеше егер (немесе егер/өзгеше) блоктарын сала аласыз. Студен стипендия алатындығын-алмайтындығын анықтайтын 4.8-суретте скриптті қарастырайық. Оны алу үшін, студентте орта балл (GPA) 3,8 жоғары және математикадан 92% жоғары бағасы болу керек.
4.8-сурет. Сіз бірнеше шарттарды тестілеу үшін, салынған егер/өзгеше блоктарын пайдалана аласыз,
Бірініш кезекте GPA > 3.8 өрнегі тестіленеді. Егер ол дұрыс болмаса, бізге басқа шартты тексеріп қажеті жоқ: стдент стипендия алу критерийлеріне сәйкес емес. Ал егер GPA > 3.8 дұрыс болса, екінші шартты тексеру керек. Ол матБалл > 92 шартын тексеретін салынған егер/өзгеше блогы көмегімен орындалады. Егер ол да дұрыс болса, студент стипендия алады. Егер дұрыс болмаса – студент стипендия алмайды және экранда сәйкес хабарлама пайда болады.
5-сабақ. Логикалық операторлар
Алдыңғы бөлімде мен, бірнеше талапты тексеру үшін егер және егер/өзгеше салынған блоктарын қалай пайдалану керек екендігі туралы айтып бердім. Бірақ оны логикалық операторлар көмегімен де жасауға болады.
Логикалық операторларды пайдалана отырып, сіз шындық/жалған форматының бір нәтижесін алу үшін, қатынастардың екі немесе одан артық өрнектерін араластыра аласыз. Мысалы, (x > 5) және (x < 10) логикалық өрнегі И логикалық операторы көмегімен қосылған екі логикалық өрнектен тұрады (x > 5 и x < 10). Біз x > 5 и x < 10 И операторының екі компоненті ретінде елестете аламыз; нәтиже тек екі компонент те дұрыс болғанда ғана дұрыс. 5.1-кестесінде Scratch-те пайдаланылатын, мәндері қысқаша түсіндірілген үш логикалық оператор келтірілген .
5.1 кесте. Логикалық операторлар
Оператор |
Мән |
Екі пайым да дұрыс болса, нәтиже дұрыс |
|
Екі пайымның біреуі дұрыс болса, нәтиже дұрыс |
|
Егер пайым дұрыс болмаса, нәтиже дұрыс |
Және операторы
Және операторы параметрлер ертінде екі өрнекті пайдаланады. Егер екеуі дұрыс болса, Және – шындық, ал егер дұрыс болмаса – жалған болып табылады. 5.2-кестеде барлық мүмкін комбинациялар бойынша осы оператор нәтижелері келтірілген.
5.2 кесте. Және операторының шындық кестесі
X |
Y |
|
шындық |
шындық |
шындық |
шындық |
жалған |
жалған |
жалған |
шындық |
жалған |
жалған |
жалған |
жалған |
5.1-сурет. Мысал. Егер салынған блоктар мен Және операторы көмегі арқылы көптеген шарттарды тексеру
НЕМЕСЕ операторы
НЕМЕСЕ операторы да параметрлер ретінде екі өрнекті пайдаланады. Егер оның бірі дұрыс болса, НЕМЕСЕ шындық болып табылады. Егер екі өрнек те дұрыс болмаса, ол жалған болады. 5.3-кестеде барлық мүмкін комбинациялар бойынша осы оператор нәтижелері келтірілген.
5.3 кесте. НЕМЕСЕ операторының шындық кестесі
X |
Y |
|
шындық |
шындық |
шындық |
шындық |
жалған |
истина |
жалған |
шындық |
шындық |
жалған |
жалған |
жалған |
Или операторын пайдалануды көрсету үшін, қандай да бір ойында пайдаланушылардың келесі ойын деңгейіне шығу үшін уақыты шектелген, деп елестетіп көрейік. Олар ойынды белгілі бір энергия қорымен де бастайды, ол деңгейді өткен сайын шығындалады. Егер ойыншы қолжетімді уақытта келесі деңгейге шыға алмаса немесе келесі деңгейге шыққаннан бұрын бүкіл энергиясын толығымен жұмсап алса, ойын аяқталады. Қалған уақыт Уақыт қалды айнымалысы көмегімен, ал энергия деңгейі – энергия Қалды айнымалысымен қадағаланады.
5.2 сур, осы шарттарды салынған егер/өзгеше (1) және немесе операторы (2) көмегімен тексеруге болатындығын көрсетеді.
5.2-сурет. Мысал. Көптеген шарттарыды салынған егер өзгеше және НЕМЕСЕ операторымен тексереміз
Емес операторы
Емес операторы енгізу деректері ретінде тек бір өрнекті ғана пайдаланады. Егер өрнек жалған болса, нәтиже дұрыс, ал дұрыс болмаса, ол шын (5.4 кесте).
5.4 кесте. НЕ операторының шындық кестесі
X |
|
шындық |
жалған |
жалған |
шындық |
Біздің гипотетикалық ойынға қайта отырып, пайдаланушы оның есебі 10 ұпайдан аспаса, ол келесі деңгейге шыға алмайды, деп елестетіп көрейік. Ол Емес операторын пайдалану үшін жақсы мезет. (5.3-сурет). Сіз осы блокты «егер есеп 100-ден артық болмаса, блок ішінде егер пәрменін орындау» ретінде оқу керек.
5.3-сур. Емес операторын пайдалану мысалы
4-тәжірибелік жұмыс. «Космостағы ұрыс»
Біздің ойымыздың мағынасы, құлайтын астероидтерді жою және от шарларынан қашу болып табылады (5.4). Ойынды әзірлеу барысында біз төрт спрайтты: Космос кемесін, Астероидты, От шарын, Лазерді пайдаланамыз.
5.4-сурет. «Космостағы ұрыс» ойынының интерфейсі
Бірінші спрайт – космос кемесі, солға/оңға батырмаларымен басқарылады және бос жерге басқан кезде атады. Астероидпен немесе от шарымен кездескен кезде, ол костюмді ауыстырады да, ойын тоқтайды (5.5-сурет)
5.5-сурет. Космос кемесі спрайтының спринті
Екінші спрайт – лазер, ол космос кемесіне байланған. Бос жер батырмасын басқанда ғана көрінеді және 180-нен артық болмағанда ғана ұшады (5.6-сурет)
5.6-сурет. Лазер спрайтының скрипті
Үшінші спрайт – астероид, тігінен рандоммен құлайды, лазермен қақтығысқан кезде, астероидтің құлау жылдамдығы артады (5.7-сурет).
5.7-сурет. Астероид спрайтының скрипті
Төртінші спрайт – от шары, ол берілген бұрышта құлайды, лазермен қақтығысқан кезде, ұпай қосылады, от шарының құлау жылдамдығы артады (5.8-сурет).
5.8-сурет. От шары спрайтының скрипті
Кодты оңтайландыру. Scratch-тегі кіші бағдарламалар
Кіші бағдарламаларды бағдарламалауда өте жиі пайдаланады. Оларды басқаша процедуралар немесе функциялар деп атайды. Бағдарламада шағын бағдарламалар (кіші бағдарламалар) бар, оларды да біз тек бір ғана батырманы басу арқылы іске қосамыз, содан кейін бір нәрселер болады. Ал шын мәнінде ешқандай батырма жоқ. Бағдарлама ішіндегі кіші бағдарлама оны атымен шақырғаннан кейін іске қосылады (5.9-сурет). Бағдарламаның бірдей кесіндерін сіз кіші бағдарлама ретінде құра аласыз. Кіші бағдарламалар арқасында сіздің код ұқыпты және түсінікті болып көрінеді.
5.8-сурет. Кіші бағдарламаның жұмыс сызбасы
5.9-сурет. Scratch-тегі кіші бағдарлама
Scratch-тің қосымша мүмкіншіліктері
Scratch-те смартфондармен және әртүрлі робот техникалық құрастырғыштармен (Lego WeDo, PicoBoard, Arduino) кірігу бойынша қосымша қабілеттері бар, олар компьютерге USB порты арқылы қосылады. Ол үшін «Басқа блоктар» блогынан «Толықтыруды қосуды» таңдау керек (5.10-сурет). PicoBoard қосқан кезде, қара блоктар пайда болады.
5.10-сурет. Қосымша қосылатын құрылғылар
Scratch-ке смартфон қадағаларын қалай қосуға болады
Егер сізде Android операциялық жүйесі бар ұялы құрылғы (смартфон, планшет) болса, оның қадағаларын Scratch-ке WI-FI арқылы қосуға болады. Emant Pte Ltd бағдарлама жасады, оны қосқаннан кейін сіздің ұялы құрылғыңыз скретч-жобаларға акселерометр мен компас деректерін беруге үйретеді. Бүгінгі таңда осы қадағалар барлық смартфондар мен планшеттерде бар. Акселерометрді көбіне қозғалыс қадағасы деп атайды. Ол телефонды бұрған кезде экрандағы суретті аударуға көмектесе отырып, телефон жағдайының өзгерісін, оның ауысуларын қадағалайды.
Талаптар:
1) Android операциялық жүйесі бар 1.5 және одан жоғары нұсқасындағы ұялы құрылғы, WI-FI, ұялы құрылғыдағы акселерометр мен компас қадағалары;
2) Scratch пен WI-FI бағдарламасы орнатылған компьютер.
Орнату және қолдану алгоритмі:
1. өз смартфоныңызға (планшетіңізге) Android Marketі бар тегін Scratch Sensor бағдарламасын бір рет орнату .
2. Компьютердің желілік мекенжайын білу (IP Address) және осы компьютер WI-FI арқылы қолжетімді екендігіне көз жеткізу.
3. Смартфонға орнатылған Scratch Sensor бағдарламасын іске қосу және оның терезесіне Скретч жобасы іске қосылған IP-компьютерін енгізіп, смартфонды компьютермен байланысын орнату үшін, Connected/Disconnect батырмасын басу.
5.11-сурет. Смартфонды Scratch-ке қосу
Қосымша ресурстар
-
Scratch-те бағдарламалау курсын бастағанға дейін, оқушыларға code.org интернет-ресурсын пайдалана отырып, алгоритм мен жүйелі ой негіздерінен өтуді ұсынамыз.
-
Scratch-те бағдарламалау курсын өткеннен кейін, сіз codecombat.com арқылы бағдарламалауды зерделеуді жалғастыра аласыз. CodeCombat – ол балаларды 8 жастан бастап бағдарламалауға үйрететін ойын. Scratch пен JavaScript/Python арасында аралық кезең ретінде жарамды. Қызықты дизайн мен дұрыс құрылған контент. Балалар өте қатты қуанатын болады!
-
Сондай-ақ App Inventor пайдалана аласыз http://ai2.appinventor.mit.edu. App Inventor – пайдаланушыдан бағдарламалаудың минималды білімін талап ететін android-қосымшалар әзірлеу ортасы.
-
Scratch for Arduino бағдарламалауды Arduino-мен өте көрнекі жасайды. Сіз онымен қалай жұмыс істеу керек екендігін түсіну үшін, Arduino бағдарламалауды бастау үшін керемет бағдарлама. S4A-да, Arduino платасы спрайттың ерекше түрі болып табылады. Arduino спрайты плата қосылған USB-портты автоматты түрде табады. Бірнеше платаға бір уақытта қосылу мүмкіншілігі бар, жай ғана жаңа Arduino спрайтын қосу керек.