������ �������� ����(!) ������������� ����������
|
CIT Forum CD-ROM
|
|
BS(1)
��������
bs - ����������/������������� �������� ��������� ��������
���������
bs [���� [�������� ...]]
��������
���� bs - ���������� ������� ������� � �������-4 � ���������� ������������ �� ����� C. ���� bs ������ ���
��� ����� ����������������, � ������� ����� ����������
��� �� �����, ��� � ���������� � ���������� ��������
����������. ������������ �� ������� ������ � ����������� � ������� � ���������� ��������������. ����������
�������, ��������� trace � dump, � ����� ��������� ��������� �� ������� ���������� �������� ������������
��������. ����� ����, ����� ���������� �������������
���������; ���������� ������� ����� ������������� ��
����, ��� �������� ������� �������, � ��������.
���� � ��������� ������ ������ �������� ����, ���� ���������� �� ���� � ������������ � ���������. �� ���������, ���������, ����������� �� �����, ������������� ���
������������ ����������. ���������, ��������� � ���������, ������ ����������� ���������� (��. ���� ���������
compile � execute). ���� ��������� �������� - �� ������������, ��������� ���������-��������� ����������.
��������� �� ����� bs ������� �� �����. �������� ����������� �������� \ � ����� ������. ���� ���������
������ ���������� ����:
��������
����� ��������
����� - ��� ��� (��. ����), �� ������� ������� ���������. ����� � ���������� ����� ����� ���� � �� �� �����.
�������� ����� bs - ��� ��������� ��� �������� �����,
�� ������� ������� 0 ��� ����� ���������. ���������
�������� ����� (clear, compile, !, execute, include,
ibase, obase � run) ������ �����������, ��� ������ ���
���������������.
��������� ����������
- ���������
- ����� ���������� ��������� �������� ��� ��������
������� (��������, ������������ ��� ����� �������). ������ ���������� ����, ����� �������� �����
����������.
- break
- ����� �� ������ ����������� for/while �����.
- clear
- ����������� ����������. �������� ������� ���� �
������� ���������������� ���������.
- compile [���������]
- ����������� ����������. ��������������� ����������� ��������� (�� �������� �� �������� ������������� ����� ������������ ����������). ��������������
��������� ����������� � ������������ � ��������
����� ����� ��� ������������ �����. � ���������
������ ����������� clear.
- continue
- ������� � ��������� �������� �������� for/while
�����.
- dump [���]
- ���������� ����� � ������� �������� ���� ����������� ����������. ���� ������� ����� ���, ����������
������ � ������ ����������. ����� ������ ��� ���������� ��������� ����� ���������� ��������� �
(��������) ����������� ���������������� �������.
- exit [���������]
- ��������� �� ��������� �������. ��������� ������������ � �������� ���� ����������.
- execute
- �������� ����� ���������� �� ����������� (���������� ���� ����������� ������). ��� ������� �� �������� ���������� ����������� ���������� (��. ����
������� run).
- for ��� = ��������� ��������� ��������
for ��� = ��������� ���������
...
next
for ���������, ���������, ��������� ��������
for ���������, ���������, ���������
...
next
���������� ��������� �������� (������ �����) ���
������ ���������� (������ �����) ��� �����������
���������� � ��������� ������. ���������� ��������� �������� ������� ���������, ����� ��� ������������� �� ������� � ������ �����, ���� �� ���������� �������� ������� ���������. ������� � ��������� ������ ��������� ��� ���������, �����������
��������. ������ �� ��� - �������������, ������
- ������� (���� �������, �� ����������), � ������
- �������� ��� �������� � ��������� �������� (������
����������).
- fun f([a, ...]) [v, ...]
...
nuf
- ���������� ���, ��������� � ��������� ����������
���������� ������������� �������. ����������� ��
10 ���������� � ��������� ����������. ��� ����� ��
����� ���� ���������, � ����� �� ����� ���� ������� �� ����� � ������. ����������� ������� �� �����
���� ����������.
- freturn
- ��������������� � ��������� ���������� ���������������� �������. ��. ���� �������� ������ (?).
���� ����� �����������, freturn ���������� 0. ����� ����� �������, freturn ������������ � ���������������� ��������� (��������, �������� �������� �� ��������� �������).
- goto ���
- �������� ���������� �� ���������� � ������ �������� � ��������������� ������.
- ibase N
- ���������� ��������� ������� ��������� ��� �����
����� ������ N. �������������� ������ ���������
�������� N: 8, 10 (�� ���������) � 16. ����������������� �������� 10-15 �������� ��� a-f. ������
������ ������ ����� (�� ���� f0a ������� �������
��� 0f0a). Ibase (�, ����, obase) ����������� ����������.
- if ��������� ��������
if ���������
...
[else
...]
fi
- ��������� �������� (������ �����) ��� ������ ���������� (������ �����), ���� ��������� ����������
��������� ���������. ������� �������� 0 � "" (������) ��������� ��������. �� ������ ����� ����������� �������������� ������ ����������, �������
������ �����������, ����� �� ����������� ������
������. ������������ ��������, ���������� � ��� ��
������, ��� � else, - ��� if; ������ ������ fi ����� ���� � ��� �� ������, ��� � fi. ��������������
���������� else � if � elif. ����� ������� ������������������ if ... elif ... [ else ... ], ��������� ������ ���� fi.
- include ���������
- ��������� ������ ���������� ��� �����. ���� ������
��������� bs-���������. ����� ��������� ����������
������ ������������� ���������. ��������� include
�� ����� ���� ����������.
- obase N
- ���������� ��������� ������� ��������� ��� ������
����� ������ N (��. ���� ibase).
- onintr �����
onintr
- ����������� ��������� ����������. � ������ �����
����� ���������� ���������� ���������� �� ��������� �����, � �������� ���, ��� ���� �� � ������
���������� ��� �������� �������� goto. ����� ������ ��������� ���������� ������������� ������� ����������. �� ������ ����� ���������� �������� ���������� ����������.
- return [���������]
- ��������� ��������� � ���������� ��� �������� �
�������� ���������� ������ �������. ���� ���������
�� �������, ������������ 0.
- run ������������� ��������� ��������� �����. ��������
���������� �� ������ ���������������� ��������.
���� �������� run ���������� � �����, �� ������
���� ��������� ����������.
- stop
���������� ���������� ���������������� ����������.
Bs ������������ � ����� ������������ ����������.
- trace [���������]
- ���������� ������������ �������. ���� ��������� ��
������� (��� ����� ������� ��������), �����������
�����������; � ��������� ������ ���������� �������� ������� ���������������� ������� � ���������
�� ���. ������ ������� ��������� �� ������� �������� ���������, ���������� � ��������� trace.
- while ��������� ��������
while ���������
...
next
- �������� while ���������� for �� ����������� ����,
��� ����������� ������� ����������� �����.
- ! ������� shell'�
- ��������� ������� shell'�.
- # ...
- ���� �������� ������������. �� ������������ ���
��������� � ��������� ������������.
��������� ���������
- ���
��� ������������ ��� ����, ����� ������� ����������. ����� ������� �� ����� (��������� ��� ��������), �� ������� ����� ��������� ����� � �����.
������ ������ ����� �������� � ����� �������� ���������. �� ����������� ����, �� �������� � ���������� fun, ��� ����� �������� �����������. ���������� ���� ����� ���� ����� (������������ �������
��������) � ������� ��������; ����� ����, �����
����� ���� ������� �� �����/������ (��. ����
���������� ������� open).
- ��� ([��������� [, ���������] ...])
- � �������� ����� ���������� �� �����, �� �������
������� ��������� � �������, ����������� ��������.
�� ����������� ���������� ������� (��������� ����), ��� ������ ���� ���������� ��� ������ ��������� fun. ��������� ������� ���������� �� ��������.
- ��� [��������� [, ���������] ...]
- ����� ��������� ������������ ��� ��������� � �������� ��� �������� (��. ���� �������� ����������
������� ��� ������ � ���������). ��� �������� ������ ��������� ��������� �� ������ � ������������
��� ������������ ��� �����. �������������� ��������� ������������� ������������ ����� (�� ���� ����� ������������� � ��� �� ������, ��� � ���); ������ a[1,2] � a[1][2] ���������� ���� � �� ��.
�������� ��������� ��������� ������ ���� � �������� �� 0 �� 32767.
- �����
- ����� ������������ ��� ������������� ������������
��������. ����� ������������ � ����� �������� �
�������� �����, ���������� ����� (�� �����������)
�, ��������, ���������� ���������, ��������� ��
������� e, �� ������� ����� ��������� �������������� �� ������.
- �������_��������
- �������_�������� �������������� ������� ". ���� \
��������� ��������� � ������� ��������� �������:
������� (\"), ������� ������ (\n), ������� �������
(\r), ������ (\b) � ��������� (\t). � ���������
������� ������ \ ���������� ��� ����.
- (���������)
- ������ ������������ ��� ����, ����� �������� ������� ����������.
- (���������, ��������� [, ��������� ...]) [���������]
- ��������� ��������� ������������ ��� ������, �����
������� ���� ������� �� ������� � ������� ������
������ ���������, ����������� ��������. ��������
������ ���������� �����, ������� � ����. ���������:
- (False, True)[a == b]
- ����� �������� True, ���� a ����� b.
- ? ���������
- �������� ������ ��������� "�����" ���������� ���������, � �� ��� ��������. �� ������������� ������������ ��� �������� ������ �� ����� ����� (��. ���� �������), ���������� ���������� ����������
������� � ��� �������� �������� �� ������������
������������� ������� (��. freturn). "������� ��
����������", ��������������� ������ ���������
(��������, ����� �����), �������� � ������������
�������� � ������ ���������� ������ � ���������
��������� ���������� ������������ ��� ���������
����� ������ ����������� �������.
- - ���������
- ����������� �������� �������� ��������� � ��������
������.
- ++ ���
- ����������� �� ������� �������� ���������� (���
�������� �������). ����������� �������� ����� ��������.
- -- ���
- ��������� �� ������� �������� ����������. ����������� �������� ����� ��������.
- ! ���������
- ���������� ��������� �������� ���������. ������
���������, ����� ��������� ����� ���� ����������
��� ������ �� ���������� ������� shell'�.
- ��������� �������� ���������
- ��������� � ��������������� �������� ���� ���������� ������������ ����� �����������, ������� ����������� ���������, ����������� �������. �� ����������� ������������, ������������ � �������� ���������, ����� ���, ��� ����������� ��������, ��� �������� ������������� � ������ ����.
�������� �������� (����������� �� ����������� ����������):
- =
- �������� ������������. ����� ������� ������ ����
������ ��� ��������� �������. ����������� ��������
������ �������. ���������������� ������������ ����������� ������ ������; ��� ������ ��������
- ����� �������.
- _ (�������������).
- �������� ������������.
- & |
- ����������� & (���������� �) �������� 0, ���� �����-������ �� �� ���������� - 0; ��������� �����
1, ���� ��� ��������� ���������; ����������� |
(���������� ���) �������� 0, ���� ��� ���������
����� ����; ��������� ����� 1, ���� �����-������
�� ���������� ���������. ��� �������� ��������
������ ������� �������� ��� 0.
- < <= > >= == !=
- �������� ��������� (������, ������ ��� �����,
������, ������ ��� �����, �����, �� �����) ���������� 1, ���� �� ��������� ��������� � ���������
���������. � ��������� ������ ��� ���������� 0.
��������� ���������, �������� a>b>c (��� ������������ a>b & b>c). ���� ��� ��������� �������� ��������� ��������, ����������� ������������������
���������������.
- +
- �������� � ���������.
- * / %
- ���������, ������� � �������.
- ^
- ���������� � �������.
���������� �������
������ � �����������
- arg(i)
- �������� i-�� ������������ ��������� ��������
������ ������ �������. �� ������� ������ arg
���������� i-�� �������� ��������� ������ (arg (0)
���������� bs).
- narg( )
- ���������� ����� ���������� ����������. �� �������
������ ������������ ����� ���������� ���������
������.
�������������� �������
- abs(x)
- ���������� �������� x.
- atan(x)
- ���������� x. �������� ����� - �/2 � �/2.
- ceil(x)
- ����������� �����, �� ������� x.
- cos(x)
- ������� x (���� �������� � ��������).
- exp(x)
- ���������� x.
- floor(x)
- ���������� ����� �����, �� ������������� x.
- log(x)
- ����������� �������� x.
- rand( )
- ���������� �������������� ����� 0 � 1 ���������
�����.
- sin(x)
- ����� x.
- sqrt(x)
- ���������� ������ �� x.
�������� � ��������� ��������
- size(s)
- ������ (����� � ������) ������� s.
- format(f, a)
- ���������� ����������������� �������� a. ��������������, ��� f - ��� ������������ ������� � ������
printf(3S). ������������� ������������ ������ ��������� ���� �������������� �������: %...f, %...e �
%...s.
- index(x, y)
- ����� ������� ������� � x, ������������ � �����
- ���� �������� �� y. ���� ������ ���, ������������
0.
- trans(s, f, t)
- ������������ ������� ��������� s � ��������� f, �
�������� �� �� �������, ������� � ��� �� �������
������� t. ������� ���������, ������� �� ����������� � f, ���������� � ���������. ���� f �������,
��� t, ������� ���������, ������� �������������� �
���������� ������ f, �� ���������� � ���������.
- substr(s, ������, ������)
- ���������� s � ��������� ������� � �������.
- match(�������_��������, ������)
mstring(n)
- ������ ����� ���������, ����������� ���������� ���������� ������� ed(1). ������� ., [, ] (���������� ������), ^, * � $ �������� ������������. ������� mstring ���������� n-�� (1 n 10) ����������
�������������� �������_��������, ������� �������
������������ � ���������� �������, ������������
����� ������ �������� \( � \), �� ���������� ��������� � match. ������� �������������� � �������
�������_�������� (��� ���� �� ��� ��� ����������
�������� ^). ������� match ���������� ����� ������� �������������� ��������. ������:
match("a123ab123", ".*\([a-z]\)") == 6
mstring(1) == "b"
������ � �������
- open(���, ����, ���)
close(���)
- �������� ��� ������ ���� ������ ���������� � ������ bs (���������� ��� ������� ��������). ��� ��������� � ������� open � �������� ��������� ����
����� ��������:
- 0, 1, ��� 2, ��� �������� ����������� ����,
����������� ����� � ����������� �������� ��������������.
- ������� ��������, �������������� ��� �����.
- ������� �������� � ! � ������, ��������������
�������, ������� ������ ���� ��������� (����������� sh -c).
�������� ��� ������ ���� ����� �� ���������: r
(������), w (������), W (������ ��� �������� ������), a (���������). ����� ���� ��� ��������� ������� close, ��� ���������� ������� ����������. ��������� ���������� ������:
open("get", 0, "r")
open("put", 1, "w")
open("puterr", 2, "w")
������� ��������� ����.
- access(s, m)
- ��������� ����� access(2).
- ftype(s)
- ���������� �������������� ��������� ���� �����: f
��� �������� �����, p ��� ������������ ������, d
��� ��������, b ��� �������� ����������, c ���
����������� ����������.
�������
- table(���, ������)
- ������� � bs - ��� ���������� ������ � ������������� ��������. "���������" (�� �������� ����� �������) �������� ������� �������� (����� ������������� � �������). �������� ��� ������ ���� ������
���������� � ������ bs (���������� ��� �������
��������). �������� ������ ������������� ����������� ����� ���������, ������� ������ ���� ���������. Bs �������� ��������� �� ������ � ���������
������, ����� ������� �������������.
- item(���, �����)
key( )
- ������� item ������������ ������ � ��������� ������� �� �� ������� (������ ��������� �������� ������ �� ��������� ���������������� ��������). �����
����, ��� ������� item ��������� �������� ��������
�������, ����������� ������� key ����� "������"
(����) ����� ��������. �������� ��� ������ ����� �
�������. ��� ��� ������ ������� ������� �� ����������, ���� ������������ �������� ������, ����� ���������� ����� �������, ��������:
table("t", 100)
...
# ���� ��������� ���������� word �������� �����,
# ��������� ��������� ��������� �������
# � �������� ����� �����:
++t[word]
...
# ���������� ���� ����/��������:
for i = 0, ?(s = item(t, i)), ++i if key() \
put = key()_":"_s
- iskey(���, �����)
- ���������, ���� �� ���� ����� � ������� ���; ���������� 1, ���� ����, � 0, ���� ���.
������ �������
- eval(�������_��������)
- ��������� ���� �������� ��� ��������� � ������ bs.
��� ������� ������ ��� �������������� ��������
����� �� ���������� �������� �����. Eval ����� ����� �������������� ��� ������ ����� ��������� ���������. ��������, ����� ���������� ����������
name = "xyz"
eval("++"_name)
�������� ���������� xyz ���������� �� 1. ����� ����, ������� eval � �������������� ��������� ������
��������� ��������� ���������� ��������� ��������.
����������� ���������� ���������
?eval("open(\"X\", \"XXX\", \"r\")")
����� 0, ���� ����� � ������ "XXX" ��� (������
���������� ���������� ��������� ������������).
��������� �������� ��������� ������� �� ����� L
(���� ��� ����������):
label="L"
if !(?eval("goto "_label)) puterr = "no label"
- plot(������, ���������)
- ��������� ����� ��� ���������, ������� �������������� ���������� tplot(1G). ��������� ���������
�������:
- plot(0, ��������)
- ����������, ��� ���������� ����� ��������� plot
������ ������������ ��������� tplot(1G) � ���������� -T��������.
- plot(4)
- "�������" �������.
- plot(2, �����)
- ������ ����� �� ������� �����.
- plot(3, x1, y1, x2, y2)
- ������ ������� ����� (x1,y1) � (x2,y2).
- plot(4, x, y, r)
- ������ ���� � ������� (x,y) � �������� r.
- plot(5, x1, y1, x2, y2, x3, y3)
- ������ ���� � ������� (x1,y1) � ������� (x2,y2)
� (x3,y3).
- plot(6)
- �� ����������.
- plot(7, x, y)
- ������ ����� (x,y) �������.
- plot(8, x, y)
- ������ ������� �� ������� ����� � (x,y).
- plot(9, x, y)
- ������ ����� � (x,y).
- plot(10, �����)
- ������������� �������� ����� ���������� �����.
- plot(11, x1, y1, x2, y2)
- ������������� ����� ������ ���� ������� ��������� � (x1,y1), � ������ ������� - � (x2,y2).
- plot(12, x1, y1, x2, y2)
- ����������, ��� ��������������� x (y) ���������� ������ ���������� �� x1 (y1) � ����� ������������ � x2 (y2) ����� ���, ��� ��� ������������. �������������� ������� - plot(12, 1.0,
1.0, 0.0, 0.0).
��������� ������� ��������� �� �� ���� ���������.
��� �������, ����� 0 � 12, ����������� �� ������
�������� �������� ��������� tplot(1G). ����� �������� �������������� ����������, ��. plot(4).
- last( )
- � ������ ������������ ���������� ���������� ��������� ����������� ��������.
�������
- ������������� bs � �������� ������������:
$ bs
# ���������� (� ������), ������� ����
# �������� �� �����������.
186000 * 5280 * 12 / 1e9
11.78496
# ������� ������� (�� 6% �� 5 ���
# � 1000 ��������).
int = .06 / 4
bal = 1000
for i = 1 5*4 bal = bal + bal*int
bal - 1000
346.855007
- exit
- ����� ��� �������� bs-��������:
# �������������:
var1 = 1
open("read", "infile", "r")
...
# ����������:
while ?(str = read)
...
next
# ����������
close("read")
...
# ��������� ����������� �������� (exit ��� stop):
exit
# ��������� ������� ������
run
- ������� �����/������:
# ���������� "oldfile" � "newfile".
open("read", "oldfile", "r")
open("write", "newfile", "w")
...
while ?(write = read) ...
...
# ������� "read" � "write":
close("read")
close("write")
# ����� ����� ���������.
open("ls", "!ls *", "r")
open("pr", "!pr -2 -h 'List'", "w")
while ?(pr = ls) ...
...
# ������� �����:
close("ls")
close("pr")
��. �����
ed(1), sh(1), tplot(1G).
access(2), printf(3S), stdio(3S), plot(4) � �����������
������������.
����� ������ �������� �������������� ������� ��. � ������� 3M ����������� ������������ (��� ���������� � ������� ������������ ������� pow, ��������� � exp(3M); ����� �����/������ ������������ �����������.
��������
"���������" �������������������� ��������� ������� �������� ������� �� ���� �������� � ������������� ������
43 � 300, ������� ����������� ������ ������ ��� ����/�������� ����� �������� �������.
� ������� �������� ������ ���������� ���� #, ���������
�� ������ ������� �����������.