Zelený sešit a co v něm bylo

Когда 16 сентября 2021 года умер дядюшка Clive, я как раз собирался на выходные к родителям на дачу. В приступе острой тоски и ностальгии я смог перерыть свой старый письменный стол и найти тетрадь в твёрдой зелёной обложке, которую на Рождество 1995 года получил вместе с Didaktik Gama. На самых последних страницах этой тетради китайской ручкой были записаны несколько программ на BASIC, и поскольку к Didaktikу у меня несколько недель не было никакого носителя, эта тетрадь была единственным источником развлечения, которое я себе со своим первым компьютером устраивал.

Более состоятельные друзья в ту пору играли на своих четыре‑восемь‑шестых в Doom, победнее — гоняли Amiga, а я на безнадёжно устаревшем восьмибитнике написал первые пять программ в своей жизни — и навсегда стало ясно, что играть в игры мне не суждено: я буду программировать. Оглядываясь на те двадцать девять лет назад, я безмерно рад, что так вышло, и ни о чём не жалею.

Те первые пять программ я для вас переписал — и намеренно не даю их приложением: мне их тоже пришлось переписывать от руки, так какого ж рожна. В программе номер один в строке пятьдесят в кавычки входит графический символ, который вводится в режиме G с шифтом на цифре восемь; остальное достаточно набрать как есть. Столько чистого счастья, сколько я тогда, вы наверняка не испытаете — но если вам и правда радостно, что я освещаю ваши жизни своим существованием, то виноваты в этом эти пять программ. Ну и радость, а?

ПРОГРАММА 1

10 BORDER 0: PAPER 0: CLS 20 LET x=1 30 FOR t=0 TO 21 40 FOR c=1 TO 6 50 PRINT INK c;AT t,c+x;" " 60 NEXT c 70 LET x=x+1 80 NEXT t

ПРОГРАММА 2

5 BORDER 1: PAPER 6: CLS 10 INPUT n 20 FOR r=20 TO 80 STEP 2 25 LET x=128: LET y=87 30 LET h1=x-r: LET v1=y 35 PLOT h1,v1 40 FOR a=0 TO 361 STEP 360/n 50 LET h2=x-rCOS (aPI/180) 60 LET v2=y+rSIN (aPI/180) 70 DRAW h2-h1,v2-v1 80 LET h1=h2: LET v1=v2 90 NEXT a 100 NEXT r

ПРОГРАММА 3

10 OVER 1 20 FOR x=-100 TO 100 STEP 1+RND*15 30 PLOT 128,150 40 DRAW x,-120 50 NEXT x 60 GO TO 20

ПРОГРАММА 4

10 BORDER 4: PAPER 1: INK 6: CLS 30 FOR y=0 TO 20 STEP 2 40 PLOT 0,y 50 DRAW 255,0 60 NEXT y 70 FOR n=100 TO 220 STEP 30 80 FOR x=-10-n/10 TO 10+n/10 90 PLOT n,35+n/10 100 DRAW x,-n/4 110 NEXT x: NEXT n 120 FOR n=0 TO 2PI STEP PI/12 130 PLOT 40+2COS n,140+2SIN n 140 DRAW 15COS n,15*SIN n 150 NEXT n

ПРОГРАММА 5

10 BORDER 0: PAPER 0: INK 6: CLS 20 LET x=RND255 30 LET y=RND104+71 40 LET t=INT (175-y)/8 50 LET c=INT (x/8) 60 PLOT 0,0: DRAW OVER 1;x,y 70 PLOT 0,0: DRAW OVER 1;x,y 80 PRINT AT t,c;"*" 90 GO TO 20 Я немного жалею всех, кто начинал сразу с компьютера, который нельзя так легко заставить «что‑то» делать. Клик по иконке или тычок пальцем по дисплею — это не то же самое, что сказать «РИСУЙ!», «СЧИТАЙ!», «ПИШИ!» — и потом с изумлением смотреть, как компьютер и правда это делает.

Для RESTORE ностальгировал Logout.

Share your thoughts about the article