Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele

Egy kicsit arról, hogy milyen volt az iskolai „számítástechnika” a 90-es években, és miért volt akkor minden programozó kizárólag autodidakta.

Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele

Amire a gyerekeket programozni tanították

A 90-es évek elején a moszkvai iskolákat szelektíven számítógépes osztályokkal szerelték fel. A szobákat azonnal felszerelték az ablakokon rácsokkal és egy nehéz vasborítású ajtóval. Valahonnan felbukkant egy informatika tanár (az igazgató után a legfontosabb elvtársnak tűnt), akinek az volt a fő feladata, hogy ne nyúljon hozzá senki. Semmi sem. Még a bejárati ajtót is.
A tantermekben leggyakrabban a BK-0010 (változataiban) és a BK-0011M rendszer található.

Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele
Fénykép készült ezért

A gyerekeknek elmesélték az általános felépítést, valamint körülbelül egy tucat ALAP parancsot, hogy vonalakat és köröket rajzolhassanak a képernyőre. A közép- és alsó tagozatosok számára ez valószínűleg elég volt.

Problémák adódtak az alkotások (programok) megőrzésével. Leggyakrabban az egycsatornás vezérlőket használó számítógépeket „közös busz” topológiájú és 57600 baud átviteli sebességű hálózatba vonták össze. Általában csak egy lemezmeghajtó volt, és a dolgok gyakran rosszul mentek vele. Néha működik, néha nem, néha lefagy a hálózat, néha a hajlékonylemez olvashatatlan.

Ezt a 360 kB kapacitású alkotást aztán magammal vittem.

Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele

50-70 százalék volt az esélye annak, hogy újra kihozzam belőle a programomat.

A BC számítógépekkel kapcsolatos történetek fő problémája azonban a végtelen lefagyás volt.

Ez bármikor megtörténhet, akár a kód beírása, akár egy program végrehajtása közben. A befagyott rendszer azt jelentette, hogy hiába töltöttél 45 percet, mert... Mindent elölről kellett csinálnom, de a hátralévő óra erre már nem volt elég.

1993-hoz közeledve néhány iskolában és líceumban megjelentek a normál osztályok 286 autóval, és helyenként három rubel is volt. A programozási nyelvek tekintetében két lehetőség volt: ahol a „BASIC” véget ért, ott kezdődött a „Turbo Pascal”.

Programozás "Turbo Pascal"-ban a "tankok" példájával

A Pascal segítségével a gyerekeket megtanították hurkokat építeni, mindenféle függvényt rajzolni és tömbökkel dolgozni. A fizika-matematika líceumban, ahol „laktam” egy ideig, heti egy pár informatikára volt beosztva. És két évig volt ez az unalmas hely. Természetesen valami komolyabbat akartam csinálni, mint egy tömb vagy valamilyen szinuszos érték megjelenítése a képernyőn.

Tankok

A Battle City volt az egyik legnépszerűbb játék a NES klónkonzolokon (Dendy stb.).

Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele

1996-ban a 8 bitesek népszerűsége elmúlt, régóta gyűjtögették a port a szekrényekben, és számomra menőnek tűnt, hogy a „Tanks”-ból klónt készítsek PC-re, mint valami nagyszabású. Az alábbiakban csak arról lesz szó, hogy akkoriban hogyan kellett kitérni ahhoz, hogy Pascalon grafikával, egérrel és hanggal írjunk valamit.

Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele

Csak botokat és köröket rajzolhat

Kezdjük a grafikával.

Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele

Az alapváltozatban a Pascal lehetővé tette néhány alakzat rajzolását, festését és a pontok színének meghatározását. A Graph modul legfejlettebb eljárásai, amelyek közelebb visznek a sprite-okhoz, a GetImage és a PutImage. Segítségükkel sikerült a képernyő egy részét egy korábban lefoglalt memóriaterületre rögzíteni, majd ezt a darabot bittérképes képként használni. Más szóval, ha egyes elemeket vagy képeket szeretne újra felhasználni a képernyőn, először meg kell rajzolnia, át kell másolnia a memóriába, törölnie kell a képernyőt, meg kell rajzolnia a következőt, és így tovább, amíg létre nem hozza a kívánt könyvtárat a memóriában. Mivel minden gyorsan történik, a felhasználó nem veszi észre ezeket a trükköket.

Az első modul, ahol sprite-okat használtak, a térképszerkesztő volt.

Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele

Jelzett játéktere volt. Az egérrel kattintva egy menü jelenik meg, ahol a négy akadály közül választhat. Ha már az egérről beszélünk...

Az egér már a 90-es évek vége

Természetesen mindenkinek volt egere, de a 90-es évek közepéig csak Windows 3.11-ben, grafikus csomagokban és kevés játékban használták. A Farkast és a Végzetet csak a billentyűzettel játszották. És a DOS környezetben az egérre nem volt különösebben szükség. Ezért a Borland még az egérmodult sem vette be a standard csomagba. Ismerősein keresztül kellett keresnie, akik felemelték a kezüket, és felkiáltottak: "Mire van szüksége?"

Az egér lekérdezéséhez szükséges modul megtalálása azonban csak a siker fele. Ahhoz, hogy a képernyőn megjelenő gombokra kattintsunk az egérrel, meg kellett őket rajzolni. Sőt, két változatban (préselt és nem préselt). A meg nem nyomott gombnak világos teteje van, alatta pedig árnyék. Ha megnyomják, fordítva van. Aztán háromszor rajzold rá a képernyőre (nem lenyomva, lenyomva, majd újra nem nyomva). Ezenkívül ne felejtse el beállítani a megjelenítési késleltetéseket, és elrejteni a kurzort.

Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele

Például a főmenü kódban történő feldolgozása így nézett ki:

Tanchiki Pascalban: hogyan tanították a gyerekeket programozásra a 90-es években, és mi volt a baj vele

Hang – csak PC hangszóró

Külön történet hanggal. A kilencvenes évek elején a Sound Blaster klónok éppen győzelmes menetelésükre készültek, és a legtöbb alkalmazás csak a beépített hangszóróval működött. Lehetőségeinek maximuma egyetlen hang egyidejű reprodukálása. És pontosan ezt tette lehetővé a Turbo Pascal. A hangos eljárással különböző frekvenciákkal lehetett „csikorgatni”, ami a puskalövések és robbanások hangjaira elég, de zenei képernyővédőnek, ahogy az akkoriban divat volt, ez nem volt megfelelő. Ennek eredményeként egy nagyon ravasz megoldás született: a szoftver saját archívumában egy „exe fájlt” fedeztek fel, amelyet egyszer letöltöttek valamelyik BBS-ről. Csodákat tudott művelni – tömörítetlen hullámokat játszott le PC hangszórón keresztül, és ezt a parancssorból tette, és nem volt tényleges interfésze. Csak a Pascal exec eljárással kellett meghívni, és megbizonyosodni arról, hogy ez a konstrukció nem omlott össze.

Ennek eredményeként a gyilkos zene megjelent a képernyővédőn, de egy vicces dolog történt vele. 1996-ban volt egy rendszerem egy Pentium 75-ön, 90-ig forgatták. Minden jól működött rajta. Azon az egyetemen, ahol a második félévben beiktatták nekünk a Pascalt, ott volt az osztályteremben kopott „három rubel”. A tanárral egyetértésben elvittem ezeket a tankokat a második órára, hogy vizsgát tegyek és ne menjek oda többet. És így, az indítás után, gurgulázó torokhangokkal kevert hangos üvöltés tört ki a hangszóróból. Általánosságban elmondható, hogy a 33 megahertzes DX „háromrubeles kártya” nem tudja megfelelően pörgetni ugyanazt a „végrehajtást”. De egyébként minden rendben volt. Persze nem számítva a lassú billentyűzet lekérdezést, ami a PC teljesítményétől függetlenül elrontotta az egész játékmenetet.

De a fő probléma nem Pascalban van

Értelmezésem szerint a „tankok” a maximum, amit összeszerelő betétek nélkül ki lehet préselni a Turbo Pascalból. A végtermék nyilvánvaló hiányosságai a lassú billentyűzet lekérdezés és a lassú grafikai megjelenítés. A helyzetet súlyosbította a harmadik féltől származó könyvtárak és modulok rendkívül alacsony száma. Egy kéz ujjain meg lehetne számolni őket.

De ami a legjobban felzaklatott, az az iskolai oktatás megközelítése volt. Akkor még senki nem beszélt a gyerekeknek más nyelvek előnyeiről és lehetőségeiről. Az órán szinte azonnal elkezdtek beszélni a kezdésről, a println-ről és az if-ről, ami bezárta a diákokat a BASIC-Pascal paradigmába. Mindkét nyelv kizárólag oktatási nyelvnek tekinthető. „Harci” felhasználásuk ritka eset.

Számomra rejtély, hogy miért tanítsam a gyerekeket hamis nyelvekre. Legyenek vizuálisabbak. Használjuk itt-ott a BASIC variációit. De mindenesetre, ha valaki úgy dönt, hogy a jövőjét a programozáshoz köti, más nyelveket kell tanulnia a semmiből. Miért ne kaphatnák tehát a gyerekek ugyanazokat a nevelési feladatokat, de csak normál platformon (nyelven), amelyen belül önállóan is tovább fejlődhetnének?

Apropó feladatok. Az iskolában és a főiskolán mindig absztrakt volt: számolj ki valamit, konstruálj függvényt, rajzolj valamit. Három különböző iskolában tanultam, ráadásul az intézet első évében „Pascal” volt, és egyetlenegyszer sem jelentettek valódi alkalmazási problémát a tanárok. Például készítsen egy jegyzetfüzetet vagy valami más hasznosat. Minden távoli volt. És amikor az ember hónapokat tölt az üres problémák megoldásával, amelyek aztán a kukába kerülnek... Általában már kiégve hagyják el az intézetet.

Ugyanazon egyetem harmadik évében egyébként „pluszokat” kaptunk a programban. Jó dolognak tűnt, de az emberek elfáradtak, tele voltak hamisítványokkal és „kiképzési” feladatokkal. Senki sem volt olyan lelkes, mint először.

PS Megkerestem a google-ban, hogy milyen nyelveket tanítanak most az iskolákban az informatika órákon. Minden ugyanaz, mint 25 évvel ezelőtt: Basic, Pascal. A Python szórványos zárványokban érkezik.

Forrás: will.com

Hozzászólás