Skip to content

Commit 75aa216

Browse files
committed
pre-merge
2 parents 1ead27c + 25ca5b3 commit 75aa216

File tree

481 files changed

+4829
-1405
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

481 files changed

+4829
-1405
lines changed

BCS_or_OPD/sem2/lab6/.~lock.1.odt#

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
,nf,laptop,14.05.2025 18:16,file:///home/nf/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4;

BCS_or_OPD/sem2/lab6/1.odt

130 KB
Binary file not shown.

BCS_or_OPD/sem2/lab6/1.pdf

194 KB
Binary file not shown.

BCS_or_OPD/sem2/lab6/script.asm

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
ORG 0x0 ; Инициализация векторов прерывания
2+
V0: WORD $INT1,0x180 ; Вектор прерывания #0
3+
V1: WORD $INT3,0x180 ; Вектор прерывания #1
4+
V2: WORD $DEFAULT,0x180 ; Вектор прерывания #3
5+
6+
ORG 0x010
7+
DEFAULT: IRET
8+
9+
ORG 0x018
10+
X: WORD 0x0000
11+
CACHE1: WORD 0x0000
12+
CACHE2: WORD 0x0000
13+
MIN_VAL: WORD 0xFFEC ; -20
14+
MAX_VAL: WORD 0x0015 ; 21
15+
16+
17+
START:
18+
DI
19+
LD #0x08 ; Разрешить прерывания на вектор 0
20+
OUT 0x03 ; (1000 | 0000 = 1000) в MR КВУ-1
21+
LD #0x09 ; Разрешить прерывания на вектор 1
22+
OUT 0x07 ; (1000 | 0001 = 1001) в MR КВУ-3
23+
24+
LD #0x0A
25+
OUT 0x01 ; MR КВУ-0 на вектор 2
26+
OUT 0x05 ; MR КВУ-2 на вектор 2
27+
OUT 0x0B ; MR КВУ-4 на вектор 2
28+
OUT 0x0D ; MR КВУ-5 на вектор 2
29+
OUT 0x11 ; MR КВУ-6 на вектор 2
30+
OUT 0x15 ; MR КВУ-7 на вектор 2
31+
OUT 0x1A ; MR КВУ-8 на вектор 2
32+
OUT 0x1E ; MR КВУ-9 на вектор 2
33+
EI
34+
MAIN:
35+
LD X
36+
INC
37+
38+
PUSH
39+
CALL CHECKER
40+
POP
41+
42+
ST X
43+
JUMP MAIN
44+
45+
CHECKER:
46+
LD (SP+1)
47+
CMP $MIN_VAL
48+
BLT CHECKER_FIN
49+
CMP $MAX_VAL
50+
BGE CHECKER_FIN
51+
ST (SP+1)
52+
RET
53+
CHECKER_FIN:
54+
LD MIN_VAL
55+
ST (SP+1)
56+
RET
57+
58+
INT1:
59+
PUSH
60+
61+
LD X
62+
ASL ;*2
63+
ASL ;*4
64+
ADD X ;*5
65+
ADD X ;*6
66+
SUB #0x03
67+
OUT 0x02
68+
69+
POP
70+
IRET
71+
INT3:
72+
PUSH
73+
74+
IN 0x06
75+
ST CACHE1
76+
77+
; NOT
78+
NEG
79+
DEC
80+
81+
AND X
82+
83+
ST CACHE2 ; A(^B)
84+
85+
LD X
86+
87+
; NOT
88+
NEG
89+
DEC
90+
91+
AND CACHE1 ; (^A)B
92+
93+
OR CACHE2 ; A(^B) + (^A)B
94+
95+
LD X
96+
97+
POP
98+
IRET

databases/sem2/lab3/.~lock.1.odt#

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
,nf,laptop,07.05.2025 15:26,file:///home/nf/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4;
1+
,nf,laptop,21.05.2025 17:46,file:///home/nf/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4;

databases/sem2/lab3/1.odt

80.7 KB
Binary file not shown.

databases/sem2/lab3/1.pdf

231 KB
Binary file not shown.

databases/sem2/lab3/script.sql

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
-- lab 1
2+
3+
BEGIN;
4+
5+
DROP TABLE IF EXISTS Event ;
6+
DROP TABLE IF EXISTS Object ;
7+
DROP TABLE IF EXISTS AvilableAction ;
8+
9+
-- Создание таблиц
10+
CREATE TABLE Object
11+
(
12+
ObjectName TEXT PRIMARY KEY,
13+
IsGroup BOOLEAN NOT NULL DEFAULT FALSE
14+
);
15+
16+
CREATE TABLE AvilableAction
17+
(
18+
ActionName TEXT PRIMARY KEY
19+
);
20+
21+
CREATE TABLE Event
22+
(
23+
EventId SERIAL PRIMARY KEY,
24+
Action TEXT NOT NULL REFERENCES AvilableAction(ActionName),
25+
PreviousEvent INTEGER REFERENCES Event(EventId),
26+
27+
Target TEXT REFERENCES Object(ObjectName),
28+
Initiator TEXT REFERENCES Object(ObjectName),
29+
30+
CONSTRAINT EeitherTargetOrInitiator CHECK (Target IS NOT NULL OR Initiator IS NOT NULL)
31+
);
32+
33+
-- Вставка объектов
34+
INSERT INTO Object(ObjectName, IsGroup)
35+
VALUES
36+
('Глупые питекантропы', TRUE),
37+
('Способные питекантропы', TRUE),
38+
('Мысли', FALSE),
39+
('Смотрящий на Луну', FALSE),
40+
('Кристалл', FALSE),
41+
('Видения', FALSE),
42+
('Щупальца', FALSE);
43+
44+
-- Вставка действий
45+
INSERT INTO AvilableAction(ActionName)
46+
VALUES
47+
('Оставить в покое'),
48+
('Сосредоточить внимание'),
49+
('Почувствовать'),
50+
('Шариться в закаулках мозга'),
51+
('Начаться');
52+
53+
-- Вставка событий
54+
INSERT INTO Event(Action, Target, Initiator, PreviousEvent)
55+
VALUES
56+
('Оставить в покое', 'Глупые питекантропы', 'Кристалл', NULL),
57+
('Сосредоточить внимание', 'Способные питекантропы', 'Кристалл', 1),
58+
('Почувствовать', 'Смотрящий на Луну', NULL, NULL),
59+
('Шариться в закаулках мозга', 'Смотрящий на Луну', 'Щупальца', 3),
60+
('Начаться', 'Смотрящий на Луну', NULL, 4);
61+
62+
END;
63+
64+
-- lab 3
65+
66+
BEGIN;
67+
68+
ALTER TABLE Event ADD PreviousAction TEXT REFERENCES AvilableAction(ActionName);
69+
70+
/*
71+
CREATE OR REPLACE FUNCTION set_previous_action()
72+
RETURNS TRIGGER AS $$
73+
BEGIN
74+
IF NEW.PreviousEvent IS NOT NULL THEN
75+
SELECT Action INTO NEW.PreviousAction
76+
FROM Event
77+
WHERE EventId = NEW.PreviousEvent;
78+
ELSE
79+
NEW.PreviousAction := NULL;
80+
END IF;
81+
82+
RETURN NEW;
83+
END;
84+
$$ LANGUAGE plpgsql;
85+
86+
CREATE TRIGGER trigger_set_previous_action
87+
BEFORE INSERT OR UPDATE OF PreviousEvent
88+
ON Event
89+
FOR EACH ROW
90+
EXECUTE FUNCTION set_previous_action();
91+
*/
92+
93+
CREATE OR REPLACE FUNCTION cascade_action_name_update()
94+
RETURNS TRIGGER AS $$
95+
BEGIN
96+
UPDATE Event
97+
SET PreviousAction = NEW.Action
98+
WHERE PreviousEvent = NEW.EventId;
99+
100+
RETURN NULL;
101+
END;
102+
$$ LANGUAGE plpgsql;
103+
104+
CREATE TRIGGER trigger_cascade_action_name_update
105+
AFTER UPDATE OF Action
106+
ON Event
107+
FOR EACH ROW
108+
EXECUTE FUNCTION cascade_action_name_update();
109+
110+
END;
111+
112+
-- tests
113+
BEGIN;
114+
115+
INSERT INTO AvilableAction(ActionName)
116+
VALUES
117+
('Какое-то действие');
118+
119+
INSERT INTO Event(Action, Target, Initiator, PreviousEvent)
120+
VALUES
121+
('Какое-то действие', 'Смотрящий на Луну', NULL, 4);
122+
123+
UPDATE Event
124+
SET Action = 'Какое-то действие'
125+
WHERE Event.EventId = 1;
126+
127+
END;

discrete/sem2/HW4/Untitled-1.ipynb

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"cells": [
33
{
44
"cell_type": "code",
5-
"execution_count": null,
5+
"execution_count": 14,
66
"id": "7f2ebc72",
77
"metadata": {},
88
"outputs": [
@@ -12,54 +12,56 @@
1212
"text": [
1313
"<>:1: SyntaxWarning: invalid escape sequence '\\ '\n",
1414
"<>:1: SyntaxWarning: invalid escape sequence '\\ '\n",
15-
"/tmp/ipykernel_523957/2184244653.py:1: SyntaxWarning: invalid escape sequence '\\ '\n",
16-
" s = \"\"\"3\t1\t1\t0\t0\t0\t1\t1\t1\t1\t0\t0\t0\t0\t0\t0\\\n"
15+
"/tmp/ipykernel_523957/2737594719.py:1: SyntaxWarning: invalid escape sequence '\\ '\n",
16+
" s = \"\"\"-\t5\t6\t6\t6\t6\t7\t7\t10\t9\t9\t9\t9\t7\t8\t7\t7\\\n"
1717
]
1818
}
1919
],
2020
"source": [
21-
"s = \"\"\"1\t1\t0\t0\t0\t1\t1\t1\t1\t0\t0\t0\t0\t0\t0\\ \n",
22-
"1\t1\t1\t1\t1\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\\ \n",
23-
"0\t1\t1\t0\t0\t1\t1\t1\t1\t1\t1\t1\t0\t0\t0\\ \n",
24-
"0\t1\t0\t1\t0\t1\t1\t1\t1\t1\t1\t1\t1\t1\t1\\ \n",
25-
"0\t1\t0\t0\t1\t1\t0\t0\t0\t1\t0\t0\t1\t1\t0\\ \n",
26-
"1\t0\t1\t1\t1\t1\t0\t0\t0\t0\t0\t0\t1\t1\t0\\ \n",
27-
"1\t0\t1\t1\t0\t0\t1\t0\t0\t1\t0\t0\t1\t1\t0\\ \n",
28-
"1\t0\t1\t1\t0\t0\t0\t1\t0\t1\t1\t0\t1\t1\t1\\ \n",
29-
"1\t0\t1\t1\t0\t0\t0\t0\t1\t1\t1\t0\t1\t1\t1\\ \n",
30-
"0\t0\t1\t1\t1\t0\t1\t1\t1\t1\t0\t0\t1\t1\t0\\ \n",
31-
"0\t0\t1\t1\t0\t0\t0\t1\t1\t0\t1\t0\t1\t1\t0\\ \n",
32-
"0\t0\t1\t1\t0\t0\t0\t0\t0\t0\t0\t1\t1\t1\t1\\ \n",
33-
"0\t0\t0\t1\t1\t1\t1\t1\t1\t1\t1\t1\t1\t1\t0\\ \n",
34-
"0\t1\t0\t1\t1\t1\t1\t1\t1\t1\t1\t1\t1\t1\t0\\ \n",
35-
"0\t0\t0\t1\t0\t0\t0\t1\t1\t0\t0\t1\t0\t0\t1\\ \"\"\""
21+
"s = \"\"\"-\t5\t6\t6\t6\t6\t7\t7\t10\t9\t9\t9\t9\t7\t8\t7\t7\\ \n",
22+
"-\t-\t5\t5\t6\t5\t7\t6\t10\t9\t8\t9\t8\t6\t8\t7\t6\\ \n",
23+
"-\t-\t-\t5\t7\t6\t7\t6\t10\t9\t8\t9\t8\t5\t9\t8\t7\\ \n",
24+
"-\t-\t-\t-\t7\t6\t7\t6\t10\t9\t8\t9\t8\t6\t9\t8\t7\\ \n",
25+
"-\t-\t-\t-\t-\t5\t5\t6\t9\t7\t8\t7\t8\t7\t7\t5\t6\\ \n",
26+
"-\t-\t-\t-\t-\t-\t6\t5\t10\t8\t7\t8\t7\t6\t8\t6\t5\\ \n",
27+
"-\t-\t-\t-\t-\t-\t-\t5\t9\t7\t8\t6\t7\t7\t8\t6\t7\\ \n",
28+
"-\t-\t-\t-\t-\t-\t-\t-\t10\t8\t7\t7\t6\t6\t9\t7\t6\\ \n",
29+
"-\t-\t-\t-\t-\t-\t-\t-\t-\t7\t8\t8\t9\t8\t7\t8\t9\\ \n",
30+
"-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t6\t6\t7\t7\t8\t6\t7\\ \n",
31+
"-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t7\t6\t6\t9\t7\t6\\ \n",
32+
"-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t6\t7\t9\t7\t8\\ \n",
33+
"-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t6\t10\t8\t7\\ \n",
34+
"-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t8\t7\t6\\ \n",
35+
"-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t6\t7\\ \n",
36+
"-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t-\t5\"\"\""
3637
]
3738
},
3839
{
3940
"cell_type": "code",
40-
"execution_count": 5,
41+
"execution_count": 15,
4142
"id": "c3336668",
4243
"metadata": {},
4344
"outputs": [
4445
{
4546
"name": "stdout",
4647
"output_type": "stream",
4748
"text": [
48-
"[3], [1], [1], [0], [0], [0], [1], [1], [1], [1], [0], [0], [0], [0], [0], [0], \n",
49-
"[1], [1], [1], [1], [1], [0], [0], [0], [0], [0], [0], [0], [0], [1], [0], \n",
50-
"[0], [1], [1], [0], [0], [1], [1], [1], [1], [1], [1], [1], [0], [0], [0], \n",
51-
"[0], [1], [0], [1], [0], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], \n",
52-
"[0], [1], [0], [0], [1], [1], [0], [0], [0], [1], [0], [0], [1], [1], [0], \n",
53-
"[1], [0], [1], [1], [1], [1], [0], [0], [0], [0], [0], [0], [1], [1], [0], \n",
54-
"[1], [0], [1], [1], [0], [0], [1], [0], [0], [1], [0], [0], [1], [1], [0], \n",
55-
"[1], [0], [1], [1], [0], [0], [0], [1], [0], [1], [1], [0], [1], [1], [1], \n",
56-
"[1], [0], [1], [1], [0], [0], [0], [0], [1], [1], [1], [0], [1], [1], [1], \n",
57-
"[0], [0], [1], [1], [1], [0], [1], [1], [1], [1], [0], [0], [1], [1], [0], \n",
58-
"[0], [0], [1], [1], [0], [0], [0], [1], [1], [0], [1], [0], [1], [1], [0], \n",
59-
"[0], [0], [1], [1], [0], [0], [0], [0], [0], [0], [0], [1], [1], [1], [1], \n",
60-
"[0], [0], [0], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [0], \n",
61-
"[0], [1], [0], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [0], \n",
62-
"[0], [0], [0], [1], [0], [0], [0], [1], [1], [0], [0], [1], [0], [0], [1], \n"
49+
"[-], [5], [6], [6], [6], [6], [7], [7], [10], [9], [9], [9], [9], [7], [8], [7], [7], \n",
50+
"[-], [-], [5], [5], [6], [5], [7], [6], [10], [9], [8], [9], [8], [6], [8], [7], [6], \n",
51+
"[-], [-], [-], [5], [7], [6], [7], [6], [10], [9], [8], [9], [8], [5], [9], [8], [7], \n",
52+
"[-], [-], [-], [-], [7], [6], [7], [6], [10], [9], [8], [9], [8], [6], [9], [8], [7], \n",
53+
"[-], [-], [-], [-], [-], [5], [5], [6], [9], [7], [8], [7], [8], [7], [7], [5], [6], \n",
54+
"[-], [-], [-], [-], [-], [-], [6], [5], [10], [8], [7], [8], [7], [6], [8], [6], [5], \n",
55+
"[-], [-], [-], [-], [-], [-], [-], [5], [9], [7], [8], [6], [7], [7], [8], [6], [7], \n",
56+
"[-], [-], [-], [-], [-], [-], [-], [-], [10], [8], [7], [7], [6], [6], [9], [7], [6], \n",
57+
"[-], [-], [-], [-], [-], [-], [-], [-], [-], [7], [8], [8], [9], [8], [7], [8], [9], \n",
58+
"[-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [6], [6], [7], [7], [8], [6], [7], \n",
59+
"[-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [7], [6], [6], [9], [7], [6], \n",
60+
"[-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [6], [7], [9], [7], [8], \n",
61+
"[-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [6], [10], [8], [7], \n",
62+
"[-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [8], [7], [6], \n",
63+
"[-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [6], [7], \n",
64+
"[-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [-], [5], \n"
6365
]
6466
}
6567
],
@@ -95,7 +97,7 @@
9597
"name": "python",
9698
"nbconvert_exporter": "python",
9799
"pygments_lexer": "ipython3",
98-
"version": "3.12.10"
100+
"version": "3.12.4"
99101
}
100102
},
101103
"nbformat": 4,
362 KB
Binary file not shown.

0 commit comments

Comments
 (0)