Ծրագրավորման հայեցակարգերը Scratch-ում

Ծրագրավորման հայեցակարգերը Scratch-ում

Շատերին ծանոթ է Scratch-ը՝ մանկական ծրագրավորման միջավայր, որտեղ սովորելը սովորաբար հանգում է ստեղծագործական նախագծերի ստեղծմանը «պարզից բարդ» սկզբունքով։ Միևնույն ժամանակ, Scratch-ում ծրագրավորում սովորելու «դասական մոտեցումը» (փոփոխականներ → ճյուղեր → հանգույցներ → գործառույթներ → կառուցվածքներ → օբյեկտներ →…) դժվար է։

Այնուամենայնիվ, կառուցվածքային, առարկայական և իրադարձությունների վրա հիմնված ծրագրավորման հասկացությունների (եկեք դրանք անվանենք հասկացություններ) սովորելու հաջորդականությունը փոխելը, դրանք թաքցնելով գունագեղ սփրայթների և ինտերակտիվ անիմացիաների հետևում, չի նշանակում, որ այդ հասկացությունները չպետք է շեշտադրվեն: Հատկապես, եթե նպատակը ոչ այնքան ստեղծագործական կարողությունների զարգացումն է, որքան ծրագրավորում սովորելը։ Ես փորձեցի այս միտքն արտացոլել իմ մեջ դասընթաց.

Առաջին բանը, որին հանդիպում է սկսնակ քերիչը, սփրայթներն են: Թեև Scratch-ում ինքնին օբյեկտ-կողմնորոշված ​​ծրագրավորում չկա, sprites-ը կարելի է համարել օբյեկտներ: Այս փուլում ուսանողը տեսնում է, որ ծրագիրը կարող է ունենալ բազմաթիվ օբյեկտներ, որոնց վարքագիծը վերահսկվում է իրենցից դուրս գտնվող սցենարներով: Sprites-ը ստանում են հրամաններ կամ փոխանցում են տեղեկատվություն իրենց վիճակի մասին ըստ պահանջի, այսինքն՝ ծրագրավորումը հանգում է օբյեկտների կառավարմանը։

Երկրորդ բանը, որ անմիջապես հարվածում է Scratch-ում երիտասարդ ծրագրավորողին, բազմաթելային հասկացությունն է: Յուրաքանչյուր sprite կարող է ունենալ մի քանի սցենարներ, որոնք աշխատում են միաժամանակ: Բազմաթիվ sprites կարող են նաև գործարկել իրենց ծրագրերը միմյանց հետ միաժամանակ: Ավելին, պարզվում է, որ ավելի դժվար է հաջորդական կատարումը կազմակերպելը։

Ծրագրավորման հայեցակարգերը Scratch-ում

Ծրագրավորման հայեցակարգերը Scratch-ում

Արդեն առաջին դասին մենք չենք կարող խուսափել ցիկլերի հետ ծանոթանալուց։ Հակառակ դեպքում կատուն իրականում չի փախչի: Այս փուլում ծանոթությունը պետք է թողնել ինտուիտիվ և մակերեսային։ Մենք սահմանափակում ենք այն «կրկնել միշտ» և «կրկնել... անգամ» օղակներով, որոնք ավելի հեշտ է հասկանալ: Պայմանական օղակն ուսումնասիրվում է օղակներին հատուկ նվիրված դասում: Այս դասը ենթադրում է բուլյան արտահայտությունների և փոփոխականների իմացություն:

Քանի որ Scratch-ը իրադարձությունների վրա հիմնված միջավայր է, պայմանական հայտարարությունների բլոկները ավելի հեշտ են սովորել փոփոխականներից առաջ: Պայմանը կարող են լինել որոշակի իրադարձություններ.

Ծրագրավորման հայեցակարգերը Scratch-ում

Իմ կարծիքով, այս հաջորդականությունը ավելի լավ է, քանի որ յուրաքանչյուր դասի համար մենք ներկայացնում ենք նվազագույն հասկացություններ: Եվ ոչ թե վերացական, այլ անմիջապես տեսնում ենք դրանց գործնական օգուտները։

Եթե ​​դուք նախ ուսումնասիրում եք փոփոխականները, ապա դրանց նպատակն ու օգուտները դժվար է ցույց տալ, քանի որ պայմանական օպերատորը, տվյալների մուտքագրումը և պատահական թվերի ստեղծումը նախկինում չեն ուսումնասիրվել:

Scratch-ում, չհաշված ցուցակները, ծրագրավորողը հանդիպում է երեք տեսակի տվյալների՝ թվեր, տողեր և բուլյան: Այս դեպքում տեսակը կապված է արժեքին, ոչ թե փոփոխականին: Կարիք չկա տողերը վերածել թվերի և հետադարձի։ Տողերը մեջբերված չեն:

Բլոկը, որը վերադարձնում է բուլյան արժեք և ունի բնորոշ անկյունային ձև, կարող է տեղադրվել կլորացված դաշտերում: Հակառակը ճիշտ չէ. որտեղ ենթադրվում է բուլյան արտահայտություն, կանոնավոր փոփոխական չի կարող տեղադրվել:

Ծրագրավորման հայեցակարգերը Scratch-ում

Scratch-ն իրականացվում է այնպես, որ կատարման ընթացքում որևէ կրիտիկական սխալ տեղի չունենա: Ըստ երևույթին, սա է պատճառը, որ եթե դուք փորձում եք օգտագործել տողը թվաբանական գործողության մեջ, այն փոխարինվում է զրոյով (տես առաջին սքրինշոթը):

Ծրագրավորողը պետք է իմանա, որ ծրագրավորման լեզուների հնարավորություններն ընդլայնվում են գրադարաններով։ Աշխատելով Scratch-ում` ուսանողը կարող է միացնել հավելումներ, որոնք հանգեցնում են միջավայրում նոր հրամանների ի հայտ գալուն:

Ծրագրավորման հայեցակարգերը Scratch-ում

Scratch-ի գործառույթներն իրականացվում են «Այլ բլոկներ» բաժնում, որտեղ մի կողմից դուք ստեղծում եք ձեր սեփական բլոկը, որը կարող է տեղադրվել այլ սկրիպտների մեջ: Մյուս կողմից, մենք պետք է հավաքենք այս բլոկի ֆունկցիոնալությունը, այսինքն, թե ինչ է անելու:

Ծրագրավորման հայեցակարգերը Scratch-ում

Scratch ֆունկցիայից վերադարձի արժեք չկա:

Այսպիսով, իրադարձությունների վրա հիմնված միջավայրում ծրագրավորման հասկացությունների ուսուցումն իր հետքն է թողնում: Ըստ էության, մենք նախ ուսումնասիրում ենք ավելի բարդ և վերացական հասկացություններ և միայն գործընթացի մեջ ավելի խորանալով մենք անցնում ենք կառուցվածքային ծրագրավորման տարրերին: Անկախ նրանից, թե սա գումարած կամ մինուս է առաջին ծանոթության համար, վիճելի հարց է:

Source: www.habr.com

Добавить комментарий