Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?

90-жылдары мектептегі «информатика» қандай болғаны және неге сол кезде барлық бағдарламашылар тек өздігінен оқытылатыны туралы аздап.

Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?

Балаларға қандай бағдарлама жасауды үйретті

90-шы жылдардың басында Мәскеу мектептері компьютерлік сыныптармен таңдамалы түрде жабдықтала бастады. Бөлмелер дереу терезелердегі торлармен және ауыр темірмен қапталған есіктермен жабдықталған. Бір жерден информатика пәнінің мұғалімі пайда болды (ол директордан кейінгі ең маңызды жолдас болып көрінді), оның басты міндеті ешкімнің ештеңеге қол тигізбеуін қадағалау болатын. Ештеңе. Тіпті алдыңғы есік.
Сыныптарда BK-0010 (оның сорттарында) және BK-0011M жүйелерін жиі кездестіруге болады.

Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?
Фотосурет түсірілді мұнда

Балаларға экранда сызықтар мен шеңберлер сызу үшін жалпы құрылым, сонымен қатар он шақты BASIC командалары туралы айтылды. Кіші және орта сыныптар үшін бұл жеткілікті болды.

Өз туындыларын (бағдарламаларын) сақтауда қиындықтар болды. Көбінесе моноканалды контроллерлерді пайдаланатын компьютерлер «жалпы шина» топологиясы және 57600 бады беру жылдамдығы бар желіге біріктірілді. Әдетте, бір ғана диск жетегі болды және онымен жиі қателіктер болды. Кейде ол жұмыс істейді, кейде істемейді, кейде желі қатып қалады, кейде иілгіш диск оқылмайды.

Содан кейін мен сыйымдылығы 360 кБ болатын бұл туындыны өзіммен бірге алып жүрдім.

Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?

Бағдарламамды одан қайта алу мүмкіндігім 50-70 пайыз болды.

Дегенмен, BC компьютерлеріндегі барлық осы оқиғалардың негізгі мәселесі шексіз қатып қалу болды.

Бұл кодты теру немесе бағдарламаны орындау кез келген уақытта орын алуы мүмкін. Мұздатылған жүйе сіздің 45 минутыңызды бекер өткізгеніңізді білдіреді, себебі... Маған бәрін қайтадан жасау керек болды, бірақ қалған сабақ уақыты бұл үшін жеткіліксіз болды.

1993 жылға таяғанда кейбір мектептер мен лицейлерде 286 көліктен тұратын кәдімгі сыныптар пайда болды, кей жерлерде тіпті үш сом болды. Бағдарламалау тілдері тұрғысынан екі нұсқа болды: «BASIC» аяқталған жерде «Турбо Паскаль» басталды.

«Турбо Паскальда» «танктер» мысалында бағдарламалау

Паскаль тілін пайдалана отырып, балаларды циклдар құруға, функциялардың барлық түрлерін салуға және массивтермен жұмыс істеуге үйретті. Мен біраз уақыт «тұрған» физика-математика лицейінде аптасына бір жұп информатикаға бөлінді. Ал екі жыл бойы мына қызық жер болды. Әрине, мен массивтің немесе синусоидтың қандай да бір түрін экранда көрсетуден гөрі маңыздырақ нәрсе жасағым келді.

Танктер

Battle City NES клондық консольдеріндегі ең танымал ойындардың бірі болды (Денди және т.б.).

Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?

1996 жылы 8 разрядтың танымалдығы өтіп кетті, олар ұзақ уақыт бойы шкафтарда шаң жинап жүрді және маған ДК үшін «Танктердің» клонын ауқымды нәрсе ретінде жасау жақсы көрінді. Төменде Паскаль тілінде графикамен, тінтуірмен және дыбыспен бірдеңе жазу үшін сол кезде қалай жалтару керек болғаны туралы айтылады.

Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?

Сіз тек таяқшалар мен шеңберлерді сала аласыз

Графикадан бастайық.

Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?

Паскаль өзінің негізгі нұсқасында кейбір фигураларды салуға, бояуға және нүктелердің түстерін анықтауға мүмкіндік берді. Graph модуліндегі бізді спрайттарға жақындататын ең жетілдірілген процедуралар GetImage және PutImage болып табылады. Олардың көмегімен экранның бір бөлігін бұрын сақталған жад аймағына түсіріп, содан кейін бұл бөлікті растрлық кескін ретінде пайдалануға болады. Басқаша айтқанда, экранда кейбір элементтерді немесе кескіндерді қайта пайдаланғыңыз келсе, алдымен оларды саласыз, жадқа көшіресіз, экранды өшіресіз, келесісін саласыз және жадта қажетті кітапхананы жасағанға дейін жасайсыз. Барлығы тез болатындықтан, пайдаланушы бұл трюктерді байқамайды.

Спрайттар пайдаланылған бірінші модуль карта редакторы болды.

Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?

Онда белгіленген ойын алаңы болды. Тінтуірді басу төрт кедергі опциясының бірін таңдауға болатын мәзірді шығарады. Тышқан туралы айтатын болсақ...

Тінтуір 90-шы жылдардың соңы

Әрине, барлығында тышқандар болды, бірақ 90-жылдардың ортасына дейін олар тек Windows 3.11-де, графикалық пакеттерде және аздаған ойындарда қолданылды. Wolf және Doom тек пернетақтамен ойналды. Ал DOS ортасында тышқан аса қажет болмады. Сондықтан Borland тіпті стандартты пакетке тінтуір модулін қоспады. Сіз оны таныстарыңыз арқылы іздеуге тура келді, олар қолдарын көтеріп: «Ол сізге не үшін керек?» деп жауап берді.

Дегенмен, тінтуірді сұрауға арналған модульді табу - бұл шайқастың жартысы ғана. Экрандағы түймелерді тінтуірмен басу үшін оларды салу керек болды. Оның үстіне екі нұсқада (басылған және басылған емес). Басылмайтын түйменің үстіңгі жағы ашық және оның астында көлеңке болады. Басқан кезде бәрі керісінше. Содан кейін оны экранға үш рет сызыңыз (басылмады, басылды, содан кейін қайта басылмады). Сонымен қатар, көрсету үшін кідірістерді орнатуды және курсорды жасыруды ұмытпаңыз.

Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?

Мысалы, кодта негізгі мәзірді өңдеу келесідей болды:

Паскальдағы Танчики: 90-жылдары балаларды бағдарламалауды қалай үйреткен және онымен не болды?

Дыбыс – тек компьютер динамигі

Дыбыспен бөлек әңгіме. Тоқсаныншы жылдардың басында Sound Blaster клондары өздерінің жеңісті маршына дайындалып жатқан болатын және қосымшалардың көпшілігі тек кірістірілген динамикпен жұмыс істеді. Оның мүмкіндіктерінің максимумы - бір тонды бір уақытта шығару. Турбо Паскаль сізге дәл осылай жасауға мүмкіндік берді. Дыбыс процедурасы арқылы әртүрлі жиіліктермен «сықырлау» мүмкін болды, бұл оқ пен жарылыс дыбыстары үшін жеткілікті, бірақ музыкалық скринсейвер үшін, ол кезде сән болғандай, бұл жарамсыз болды. Нәтижесінде өте айлакер шешім табылды: бағдарламалық жасақтаманың жеке мұрағатында кейбір BBS-тен бір рет жүктелген «exe файлы» табылды. Ол ғажайыптар жасай алды - компьютер динамигі арқылы қысылмаған толқындарды ойнады және ол мұны пәрмен жолынан жасады және нақты интерфейсі болмады. Тек Pascal exec процедурасы арқылы шақыру және бұл құрылыстың құлап кетпеуіне көз жеткізу керек болды.

Нәтижесінде экран сақтағышында өлтіруші музыка пайда болды, бірақ онымен күлкілі нәрсе болды. 1996 жылы менде Pentium 75 жүйесінде 90-ға дейін иінді жүйе болды. Онда бәрі жақсы жұмыс істеді. Екінші семестрде бізге Паскаль орнатылған университетте сыныпта әбден тозған «үш рубль» болды. Мұғаліммен келісіп, сынақ тапсырып, енді ол жаққа бармас үшін осы танктерді екінші сабаққа апардым. Сонымен, ұшырылғаннан кейін динамиктен ызылдаған ішек дыбыстарымен араласқан қатты гүріл шықты. Жалпы алғанда, 33 мегагерц DX «үш рубльдік карта» дәл сол «орындалатын» файлды дұрыс айналдыра алмайтын болып шықты. Бірақ әйтпесе бәрі жақсы болды. Әрине, компьютердің өнімділігіне қарамастан, бүкіл геймплейді бұзған баяу пернетақта сауалнамасын есептемегенде.

Бірақ басты мәселе Паскаль тілінде емес

Менің түсінігім бойынша, «танктер» - бұл турбо Паскальдан құрастыру кірістірусіз сығуға болатын максимум. Түпкілікті өнімнің айқын кемшіліктері - баяу пернетақта сұрауы және графиканы баяу көрсету. Жағдайды үшінші тарап кітапханалары мен модульдерінің өте аз саны қиындата түсті. Оларды бір қолмен санауға болатын.

Бірақ мені ең қатты ренжіткені мектептегі білімге деген көзқарас болды. Ол кезде ешкім балаларға басқа тілдің артықшылықтары мен мүмкіндіктері туралы айтқан емес. Сыныпта олар студенттерді BASIC-Паскаль парадигмасының ішіне құлыптаған begin, println және if туралы бірден айта бастады. Бұл екі тілді де тек білім беру деп санауға болады. Олардың «жауынгерлік» қолданылуы сирек кездеседі.

Неліктен балаларды жалған тілге үйрету мен үшін жұмбақ. Олар көбірек көрнекі болсын. BASIC нұсқалары мұнда және сол жерде қолданылсын. Бірақ, кез келген жағдайда, егер адам өз болашағын бағдарламалаумен байланыстыруды шешсе, ол басқа тілдерді нөлден үйренуге мәжбүр болады. Неліктен балаларға бірдей білім беру тапсырмаларын бермеу керек, тек кәдімгі платформада (тілде), олар одан әрі өз бетінше дами алады?

Тапсырмалар туралы айту. Мектепте және колледжде олар әрқашан дерексіз болды: бірдеңені есептейді, функцияны құрастырады, бірдеңені сызады. Мен үш түрлі мектепте оқыдым, сонымен қатар институттың бірінші курсында бізде «Паскаль» болды, мұғалімдер бірде-бір рет нақты қолданбалы мәселе қойған жоқ. Мысалы, дәптер немесе басқа пайдалы нәрсе жасаңыз. Барлығы тым алыс болды. Ал адам айлап бос есептерді шешіп, кейін қоқыс жәшігіне кетіп жатқанда... Жалпы, адамдар институттан өртеніп кетіп жатыр.

Айтпақшы, сол университеттің үшінші курсында бізге бағдарлама бойынша «плюс» берілді. Бұл жақсы нәрсе сияқты көрінді, бірақ халық шаршады, жалған және «жаттығу» тапсырмаларына толы. Ешкім алғашқы кездегідей құлшыныс танытпады.

PS Қазір мектептердегі информатика сабақтарында қандай тілдер оқытылатыны туралы google-ден іздедім. Барлығы 25 жыл бұрынғыдай: Basic, Pascal. Python спорадикалық қосындыларда келеді.

Ақпарат көзі: www.habr.com

пікір қалдыру