Skip to content

Commit 208b1af

Browse files
committed
add lab5 baasics to OPD
1 parent 5bee94a commit 208b1af

40 files changed

+699
-148
lines changed

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

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

BCS_or_OPD/sem2/lab5/1.asm

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
ORG 0x3FD
2+
START: CLA
3+
ST RES1
4+
PUSH
5+
CALL IO
6+
POP
7+
BEQ END1
8+
SWAB
9+
ST RES1
10+
PUSH
11+
CALL IO
12+
POP
13+
JUMP END1
14+
15+
END1: ADD RES1
16+
ST (ADDR)+
17+
CMP RES1
18+
BNE START
19+
HLT
20+
21+
IO: IN 5
22+
AND #0x40
23+
BEQ IO
24+
IN 4
25+
ST (SP+1)
26+
RET
27+
28+
RES1: WORD 0x0000
29+
ADDR: WORD 0x561

BCS_or_OPD/sem2/lab5/1.odt

105 KB
Binary file not shown.

BCS_or_OPD/sem2/lab5/1.pdf

166 KB
Binary file not shown.

programming/sem2/lab5/src/commands/Add.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import commands.utils.AddUtils;
88
import objects.City;
99
import storage.Structure;
10+
import storage.acess.StructQueue;
1011

1112
public class Add extends BasicCommand{
1213
public Add(){
@@ -19,17 +20,22 @@ public final void execute(HashMap<String, String> args){
1920
Structure structure = new Structure();
2021
ArrayDeque<City> allEntities = structure.getAllEntities();
2122
try {
23+
2224
City city = new City(
2325
AddUtils.findFreeId(allEntities),
2426
args.get("name"),
25-
AddUtils.generateLocalDateTime(),
2627
args.get("area"),
2728
args.get("population"),
2829
args.get("metersAboveSeaLevel")
2930
);
3031
structure.addEntity(
3132
city
3233
);
34+
StructQueue sq = new StructQueue();
35+
sq.add(
36+
"addEntity",
37+
city.toString()
38+
)
3339
}
3440
catch (UnacceptableValue err){
3541
System.out.println("Ошибка во время создания объекта: " + err.getMessage());

programming/sem2/lab5/src/commands/BasicCommand.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package commands;
22

33
import java.util.HashMap;
4+
import java.util.function.UnaryOperator;
45

56
public abstract class BasicCommand {
67
private String name;

programming/sem2/lab5/src/commands/FilterStartsWithName.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package commands;
22

33
import storage.Structure;
4-
import objects.City;
4+
import objects.templates.City;
55

66
import java.util.HashMap;
77

programming/sem2/lab5/src/commands/RemoveById.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package commands;
22

3-
import objects.converters.Converters;
3+
import objects.templates.converters.Converters;
44
import storage.Structure;
55

66
import java.util.HashMap;

programming/sem2/lab5/src/commands/utils/AddUtils.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package commands.utils;
22

3-
import objects.City;
3+
import objects.templates.City;
44

55
import java.time.LocalDateTime;
66
import java.util.ArrayDeque;
7-
import java.util.NoSuchElementException;
87

98
public class AddUtils {
109
public static Long findFreeId(ArrayDeque<City> cities){

programming/sem2/lab5/src/core/Engine.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package core;
22

33
import commands.*;
4+
import core.promise.Promise;
45
import textWorkers.invokers.IInvoker;
56

67
import java.util.HashMap;
@@ -61,7 +62,10 @@ public void runCommand(String commandName, HashMap<String,String> args){
6162
}
6263

6364
try {
64-
command.execute(args);
65+
Promise promise = new Promise(
66+
67+
args
68+
);
6569
}
6670
catch (Exception err){
6771
System.out.println("Выполнение команды неожиданно прервалось со следующей ошибкой: "+err);

0 commit comments

Comments
 (0)