МАЛЕНЬКИЕ ПРОГРАММЫ И ИХ ОПИСАНИЕ

Маленькие программы неудобно записывать в отдельные файлы. Более разумно держать их несколько в одном файле с описанием. Так в этом файле и сделано.
#f [op=fold; file=null;] #pro scom #e [b=KY; le=670;] _text @

Информация о списке каких-то операций

Если в программе много операций, то информацию о списке таких операций проще всего делать с помощью вэб-сайта. Он готовится отдельно а тут надо его показать.

#pro 0001 # s(3)=1; #f [op=fold; file=null;] #pr C:\\_vk\\_Web\\__kv-u\\acl\\info.htm\E #io [op=wt; fir=t(1); n=s(5); file=runsys.bat;] #rob [mo=1; le=300;] #sys [op=rp;] # &=&&; @

Увеличение горизонтальной толщины линий на картинке символа

Задача такая: Из негатива картинки символа получена матрица чисел в диапазоне от 0 до 255. Каждая точка строки складывается с предыдущей и последующей, а затем новые значения чисел обрезаются на 255. После этого рисуется картинка символа в негативе. В самом начале надо определить размеры картинки в переменных n1 и n2, а затем напечатать имя файла без расширения, которое добавляется автоматически как (.dat). Имя либо полное, либо относительно папки РАМЫ.

#pro 0002 # n1=57; n2=65; #pr pro/htm/03\E
# n=n1*n2; #io [op=rd; fir=r(1); mo=1; n=n; le=0; file=\Tp .dat\E]
# j=2+n; i=2; n3=n1-2; #rep n2 #rep n3 # r(j)=r(i-1)+r(i)+r(i+1); j=j+1; i=i+1; #end # j=j+2; i=i+2; #end
# j=1+n; i=1; #rep n2 # r(j)=r(i); j=j+n1; i=i+n1; #end # j=n1+n; i=n1; #rep n2 # r(j)=r(i); j=j+n1; i=i+n1; #end
# J=1+n; F=1+2*n; V0=0; V1=255; #ma [op=var; b=J; le=n;]
#d 5 A J n1 n2 -1100 11 #p [pa=0; em=0;] #pri \Tp |\Tp\E #e [n=2;] _scom # &=&&; @

Проверка файла на наличие неправильных символов

Задача такая: Есть текстовый файл, адрес которого указан. Нужно проверить наличие в этом файле символов с ASCII с номерами за пределами интервала 1 -- 127. Если такие символы есть, то указывается их положение в файле и ASCII код. Разумеется, что речь идет о файле на английском языке без юникодов. При отправке статей в Латехе в иностранные журналы они не компилируются, если там по какой-то причине остались русские буквы. И это приходиться проверять.

#pro 0003 #pr C:/_vk/_Science/_In-work/ka23pl/ka23pl.tex\E
#f [op=size; file=\Tp\E] # N=s(1); #io [op=rb; fir=i(1); n=N; le=0;]
# j=1; i=1; #rep N # &=(i(j)*(128-i(j)))>0; #case 0 # r(i)=j; r(i+1)=i(j); i=i+2; #end | # j=j+1; #end # n=(i-1); &=n>0<1; !
#case 0 #m [op=win;] нет плохих символов\n\I8 N;\E #end |
#case 1 # a=s(3); i=1; #rep n #pr \I5 r(i) r(i+1);\E # i=i+2; #end # b=s(3)-a; #m [op=win;] \Ta b\E #end | # &=&&; @

Мини презентация

Задача такая: В некоторой папке есть коллекция картинок одинакового размера. Они все пронумерованы от s001 до s0nn. Расширение файлов jpg или png. Из этих картинок сделана матрица иконок в файле s099.jpg. Матрицу легко приготовить с помощью готовых ACL программ. Иконки имеют фиксированный размер, а их число равно (или больше) числа картинок. Программа показывает таблицу иконок, а после выбора одной их них -- картинку с прокруткой вперед или назад при нажатии клавиш стрелок вправо или влево. При нажатии любой другой клавиши делается запрос на повторение выбора. Входные данные w и h -- ширина и высота иконок, N1 и N2 -- число иконок по горизонтали и вертикали. И печать имени папки с картинками.

#pro 0004 # s(3)=999; w=300; h=200; N1=4; N2=4; #pr C:/_vk/_Web/__kv-u/slsh2/2201/\E
# u=s(4); v=s(5); N3=N1*N2+1; #f [op=fold; file=null;] # &=1; !
#case 1 #w [op=im; mo=0; file=\Tu v s099.jpg\E sav=1;] # w=s(12); h=s(13); #ch [n=1; xs=(s(106)-w)/2; ys=(s(107)-h)/2;]
. # x=s(102); y=s(103); k1=int(x/w)+1; k2=int(y/h)+1; n=(N2-k2)*N1+k1; &1=2; &=abs(s(2)-27)<1; !
. #case 1 &=1; !
. . #case 1 # s(3)=1; #pr \Tu v s\I-3 n;.jpg\E #f [op=size; file=\Tp\E] # &=s(1)<1; #case 1 #w [op=im; mo=0; sav=0;] # b=s(2); #end |
. . . #case 0 #pr \Tu v s\I-3 n;.png\E #f [op=size; file=\Tp\E] # &=s(1)<1; #case 1 #w [op=im; mo=0; sav=0;] # b=s(2); #end | #end |
. . . # a=2; &=b-39; #case 0 # n=n+1; &=n; #case N3 # n=1; #end | # a=1; #end |
. . . # &=b-37; #case 0 # n=n-1; &=n; #case 0 # n=N3-1; #end | # a=1; #end | # &=a; !
. . #end #m [op=yno;] Would you like to continue?\E # &1=&; !
. #end | # &=&1; !
#end # &=&&; @

Дата последнего обновления файла

Данная программа предлагает просто выбрать файл и затем показывает дату его последнего обновления. Процедуру можно продолжить по запросу. Используется суперкоманда номер 34

#pro 0005 #f [op=fold; file=null;] # &=1; #case 1 # s(3)=1; #f [op=choo; mo=0; file=proc;] #e [n=34;] _scom #pr \Tp\n\I-6 DZ;-\I-6 TZ;\E #e [n=33; b=KY; le=670;] _text ! #m [op=yno;] Continue ?\E #end # &=&&; @

#e [n=16;] _scom #e [c=1;] 0001 #e [c=2;] 0002 #e [c=3;] 0003 #e [c=4;] 0004 #e [c=5;] 0005 !

.