Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը

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

Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը

Ինչի վրա են երեխաներին սովորեցրել ծրագրավորել

90-ականների սկզբին Մոսկվայի դպրոցները սկսեցին ընտրովի համալրվել համակարգչային դասարաններով։ Սենյակներն անմիջապես հագեցվեցին պատուհանների վրա տեղադրված ճաղավանդակներով և երկաթե ծանր դռնով։ Ինչ-որ տեղից հայտնվեց ինֆորմատիկայի ուսուցիչը (նա կարծես տնօրենից հետո ամենակարևոր ընկերն էր), որի հիմնական խնդիրն էր համոզվել, որ ոչ ոք որևէ բանի ձեռք չտա։ Ընդհանրապես ոչինչ։ Նույնիսկ մուտքի դուռը:
Դասասենյակներում ամենից հաճախ կարելի էր գտնել BK-0010 (իր տարատեսակներով) և BK-0011M համակարգերը:

Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը
Լուսանկարն արված է ուստի

Երեխաներին պատմեցին ընդհանուր կառուցվածքի մասին, ինչպես նաև մոտ մեկ տասնյակ BASIC հրամաններ, որպեսզի նրանք կարողանան գծեր և շրջանակներ նկարել էկրանին: Կրտսեր և միջին դասարանների համար սա երևի բավարար էր։

Ստեղծագործությունների (ծրագրերի) պահպանման հետ կապված որոշ խնդիրներ կային։ Ամենից հաճախ մոնոալիքային կարգավորիչներ օգտագործող համակարգիչները միավորվում էին ցանցի մեջ՝ «ընդհանուր ավտոբուս» տոպոլոգիայով և 57600 բաուդ փոխանցման արագությամբ: Որպես կանոն, կար միայն մեկ սկավառակ, և դրա հետ ամեն ինչ հաճախ սխալ էր ընթանում: Երբեմն այն աշխատում է, երբեմն՝ ոչ, երբեմն ցանցը սառեցված է, երբեմն անգործունյա սկավառակը անընթեռնելի է:

Այնուհետև ես ինձ հետ տարա 360 կԲ հզորությամբ այս ստեղծագործությունը:

Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը

Շանսերը, որ ես նորից դուրս կբերեի իմ ծրագիրը դրանից, 50-70 տոկոս էր։

Այնուամենայնիվ, BC համակարգիչներով այս բոլոր պատմությունների հիմնական խնդիրը անվերջ սառեցումն էր:

Դա կարող է տեղի ունենալ ցանկացած պահի, լինի դա կոդ մուտքագրելիս, թե ծրագիր գործարկելիս: Սառեցված համակարգը նշանակում էր, որ դուք իզուր եք ծախսել 45 րոպե, քանի որ... Ես ստիպված էի ամեն ինչ նորից անել, բայց մնացած դասաժամանակն այլևս բավարար չէր դրա համար:

1993-ին մոտ որոշ դպրոցներում և ճեմարաններում հայտնվեցին նորմալ դասարաններ՝ 286 մեքենայով, իսկ տեղ-տեղ նույնիսկ երեք ռուբլի։ Ծրագրավորման լեզուների առումով երկու տարբերակ կար՝ որտեղ ավարտվում էր «BASIC»-ը, սկսվում էր «Turbo Pascal»-ը։

Ծրագրավորում «Turbo Pascal»-ում «տանկերի» օրինակով

Pascal-ի միջոցով երեխաներին սովորեցնում էին կառուցել օղակներ, նկարել բոլոր տեսակի ֆունկցիաներ և աշխատել զանգվածների հետ: Ֆիզիկամաթեմատիկական ճեմարանում, որտեղ ես որոշ ժամանակ «ապրում էի», շաբաթական մեկ զույգ նշանակում էին համակարգչային գիտություն։ Եվ երկու տարի կար այս ձանձրալի տեղը։ Իհարկե, ես ուզում էի ավելի լուրջ բան անել, քան էկրանին զանգվածի կամ ինչ-որ սինուսոիդի արժեքները ցուցադրելը:

Տանկեր

Battle City-ը ամենահայտնի խաղերից մեկն էր NES-ի կլոնային կոնսոլներում (Dendy և այլն):

Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը

1996-ին 8-բիթների հանրաճանաչությունն անցել էր, նրանք երկար ժամանակ փոշի էին հավաքում պահարաններում, և ինձ թվում էր, որ «Տանկերի» կլոն պատրաստելը ԱՀ-ի համար որպես լայնածավալ բան: Հետևյալը հենց այն մասին է, թե ինչպես էր այն ժամանակ անհրաժեշտ խուսափել Պասկալի վրա գրաֆիկայով, մկնիկով և ձայնով ինչ-որ բան գրելու համար:

Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը

Դուք կարող եք նկարել միայն ձողիկներ և շրջանակներ

Սկսենք գրաֆիկայից:

Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը

Իր հիմնական տարբերակում Պասկալը թույլ է տվել նկարել որոշ ձևեր, ներկել և որոշել կետերի գույները: Graph մոդուլի ամենաառաջադեմ պրոցեդուրաները, որոնք մեզ մոտեցնում են sprites-ին, GetImage-ն ու PutImage-ն են: Նրանց օգնությամբ հնարավոր եղավ էկրանի մի հատվածը նկարել նախկինում վերապահված հիշողության տարածքում, այնուհետև օգտագործել այս հատվածը որպես բիթքարտեզի պատկեր: Այլ կերպ ասած, եթե ցանկանում եք նորից օգտագործել որոշ տարրեր կամ պատկերներ էկրանին, նախ նկարում եք դրանք, պատճենում հիշողության մեջ, ջնջում էկրանը, նկարում հաջորդը և այլն, մինչև հիշողության մեջ ստեղծեք ցանկալի գրադարանը: Քանի որ ամեն ինչ արագ է տեղի ունենում, օգտատերը չի նկատում այս հնարքները։

Առաջին մոդուլը, որտեղ օգտագործվել են sprites, քարտեզի խմբագրիչն էր:

Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը

Այն ուներ գծանշված խաղադաշտ։ Սեղմելով մկնիկը, բացվեց ընտրացանկ, որտեղ կարող եք ընտրել խոչընդոտների չորս տարբերակներից մեկը: Խոսելով մկնիկի մասին...

Մկնիկը արդեն 90-ականների վերջն է

Իհարկե, բոլորն էլ ունեին մկներ, բայց մինչև 90-ականների կեսերը դրանք օգտագործվում էին միայն Windows 3.11-ում, գրաֆիկական փաթեթներում և փոքր քանակությամբ խաղերում: Wolf-ը և Doom-ը նվագում էին միայն ստեղնաշարով։ Իսկ DOS միջավայրում մկնիկը առանձնապես պետք չէր։ Հետեւաբար, Borland-ը նույնիսկ մկնիկի մոդուլը չի ​​ներառել ստանդարտ փաթեթում: Նրան պետք է փնտրեիր քո ծանոթների միջոցով, ովքեր ձեռքերը բարձրացրին ու ի պատասխան բացականչեցին. «Ինչի՞ համար է նա քեզ պետք»։

Այնուամենայնիվ, մկնիկի հետ հարցման մոդուլ գտնելը գործի միայն կեսն է: Էկրանի կոճակների վրա մկնիկով սեղմելու համար պետք էր դրանք նկարել։ Ընդ որում՝ երկու տարբերակով (սեղմված և չսեղմված). Կոճակը, որը սեղմված չէ, ունի թեթև վերև և ստվեր դրա տակ: Երբ սեղմված է, դա հակառակն է: Եվ հետո երեք անգամ նկարեք այն էկրանին (չսեղմված, սեղմված, հետո նորից չսեղմված): Բացի այդ, մի մոռացեք ցուցադրման հետաձգումներ սահմանել և թաքցնել կուրսորը:

Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը

Օրինակ, հիմնական մենյուի մշակումը կոդով այսպիսի տեսք ուներ.

Տանչիկին Պասկալում. ինչպես էին երեխաներին սովորեցնում ծրագրավորում 90-ականներին և ինչն էր դրա սխալը

Ձայն – միայն համակարգչի բարձրախոս

Առանձին պատմություն ձայնով. XNUMX-ականների սկզբին Sound Blaster-ի կլոնները պարզապես պատրաստվում էին իրենց հաղթական երթին, և հավելվածների մեծ մասն աշխատում էր միայն ներկառուցված բարձրախոսով: Նրա հնարավորությունների առավելագույնը միայն մեկ տոնի միաժամանակյա վերարտադրությունն է։ Եվ դա հենց այն է, ինչ թույլ է տվել Turbo Pascal-ը: Ձայնային պրոցեդուրայի միջոցով կարելի էր «ճռռալ» տարբեր հաճախականություններով, ինչը բավարար է կրակոցների և պայթյունների ձայների համար, բայց երաժշտական ​​էկրանապահի համար, ինչպես այն ժամանակ մոդայիկ էր, սա հարմար չէր։ Արդյունքում, գտնվեց շատ խորամանկ լուծում. ծրագրաշարի սեփական արխիվում հայտնաբերվել է «exe ֆայլ», որը մեկ անգամ ներբեռնվել է որոշ BBS-ից: Նա կարող էր հրաշքներ գործել՝ չսեղմված ալիքներ խաղալ համակարգչի խոսնակի միջոցով, և նա դա արեց հրամանի տողից և չուներ իրական ինտերֆեյս: Ընդամենը անհրաժեշտ էր անվանել այն Pascal exec ընթացակարգով և համոզվել, որ այս շինարարությունը չի փլուզվել:

Արդյունքում սպանող երաժշտությունը հայտնվել է էկրանապահի վրա, սակայն դրա հետ ծիծաղելի բան է տեղի ունեցել. 1996թ.-ին ես Pentium 75-ի վրա ունեի համակարգ, որը պտտվում էր մինչև 90: Ամեն ինչ լավ էր աշխատում դրա վրա: Համալսարանում, որտեղ Պասկալը տեղադրվել էր մեզ համար երկրորդ կիսամյակում, դասարանում մաշված «երեք ռուբլին» էր։ Ուսուցչի հետ պայմանավորվելով՝ այս տանկերը տարա երկրորդ պարապմունքի, որպեսզի թեստ հանձնեմ ու այլեւս այնտեղ չգնամ։ Եվ այսպես, գործարկումից հետո բարձրախոսից դուրս եկավ մի ուժեղ մռնչյուն, որը խառնված էր կարկաչուն ձայների հետ: Ընդհանուր առմամբ, 33 մեգահերցանոց DX «երեք ռուբլու քարտը» պարզվեց, որ չի կարող պատշաճ կերպով պտտել այդ նույն «գործարկիչը»: Բայց հակառակ դեպքում ամեն ինչ լավ էր։ Իհարկե, չհաշված ստեղնաշարի դանդաղ հարցումը, որը փչացրեց ամբողջ խաղը, անկախ ԱՀ-ի կատարումից:

Բայց գլխավոր խնդիրը Պասկալում չէ

Իմ պատկերացմամբ, «Տանկերը» առավելագույնն է, որը կարելի է քամել Turbo Pascal-ից առանց հավաքման ներդիրների: Վերջնական արտադրանքի ակնհայտ թերությունները ստեղնաշարի դանդաղ հարցումներն են և գրաֆիկական դանդաղ մատուցումը: Իրավիճակը սրվեց երրորդ կողմի գրադարանների և մոդուլների չափազանց փոքր քանակի պատճառով: Նրանց կարելի էր հաշվել մի ձեռքի մատների վրա։

Բայց ինձ ամենաշատը վրդովեցրեց դպրոցական կրթության մոտեցումը: Այն ժամանակ ոչ ոք երեխաներին չէր ասում այլ լեզուների առավելությունների և հնարավորությունների մասին։ Դասարանում նրանք գրեթե անմիջապես սկսեցին խոսել սկզբի, տպագրության և եթե-ի մասին, ինչը փակեց ուսանողներին BASIC-Pascal պարադիգմի ներսում: Այս երկու լեզուներն էլ կարելի է համարել բացառապես կրթական։ Նրանց «մարտական» օգտագործումը հազվադեպ երեւույթ է։

Ինչու երեխաներին կեղծ լեզուներ սովորեցնել, ինձ համար առեղծված է: Թող նրանք ավելի տեսողական լինեն: Թող BASIC-ի տատանումները այստեղ-այնտեղ օգտագործվեն: Բայց, ամեն դեպքում, եթե մարդը որոշի իր ապագան կապել ծրագրավորման հետ, նա ստիպված կլինի զրոյից սովորել այլ լեզուներ։ Ուրեմն ինչու չպետք է երեխաներին տրվեն նույն կրթական առաջադրանքները, այլ միայն նորմալ հարթակում (լեզու), որի շրջանակներում նրանք կարող են հետագայում ինքնուրույն զարգանալ:

Խոսելով առաջադրանքների մասին. Դպրոցում և քոլեջում նրանք միշտ վերացական էին` ինչ-որ բան հաշվարկել, ֆունկցիա կառուցել, ինչ-որ բան նկարել: Ես սովորել եմ երեք տարբեր դպրոցներում, գումարած՝ ինստիտուտի առաջին կուրսում ունեինք «Պասկալ», և ոչ մի անգամ ուսուցիչները իրական կիրառական խնդիր չեն դրել։ Օրինակ, պատրաստեք նոթատետր կամ մեկ այլ օգտակար բան: Ամեն ինչ հեռու էր. Իսկ երբ մարդ ամիսներ է ծախսում դատարկ խնդիրներ լուծելու վրա, որոնք հետո գնում են աղբարկղ... Ընդհանրապես մարդիկ ինստիտուտից արդեն այրված են հեռանում։

Ի դեպ, նույն բուհի երրորդ կուրսում մեզ ծրագրում «պլյուսներ» էին տալիս։ Թվում էր՝ լավ բան էր, բայց ժողովուրդը հոգնած էր՝ լի կեղծիքներով ու «մարզական» առաջադրանքներով։ Ոչ ոք այնքան ոգեւորված չէր, որքան առաջին անգամը։

Հ.Գ. Ես գուգլեցի, թե ինչ լեզուներ են այժմ դասավանդվում դպրոցներում համակարգչային գիտության դասերին: Ամեն ինչ նույնն է, ինչ 25 տարի առաջ՝ Basic, Pascal. Python-ը գալիս է հատուկենտ ընդգրկումներով:

Source: www.habr.com

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