Skip to content

Commit 3ac1e9c

Browse files
committed
Some code cleanup
1 parent 5ac4a76 commit 3ac1e9c

30 files changed

+218
-250
lines changed

src/labs/sem1/lab1/Dop.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package labs.sem1.lab1;
22

3-
// доп: создать класс Circle для работы с фигурой круг
4-
// два метода: bool isInside(int x, y) и zoom(int amount)
3+
// Доп:
4+
// Создать класс Circle для работы с фигурой круг
5+
// Мтоды: bool isInside(int x, y) и zoom(int amount)
56

67
public class Dop {
78
public static void main(String[] args) {

src/labs/sem1/lab1/Main.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
package labs.sem1.lab1;
22

3+
// Напишите класс, реализующий правильные с объектно-ориентированной точки зрения целые числа. При
4+
// создании нового объекта должно создаваться число, равное нулю. В классе должны быть определены:
5+
6+
// - методы increment() и decrement(), соответственно увеличивающие и уменьшающие число на 1
7+
// - методы add(Int n) и subtract(Int n), увеличивающие и уменьшающие число на n
8+
// - метод toString()
9+
10+
// - в методах add и subtract передаются значения типа Int (с большой буквы), а не стандартный int
11+
// - применить инкриминирование 1000 раз - плохой вариант
12+
// - для сдачи основного задания нельзя придумывать свои методы и конструкторы, нужно использовать
13+
// указанные выше
14+
15+
// Напишите наиболее короткую программу, которая используя только класс Int, выводит на экран число
16+
// 1000. Программа должна быть чисто объектно-ориентированной. В частности, в ней нельзя
17+
// использовать оператор присваивания.
18+
319
public class Main {
420
public static void main(String[] args) {
521
test1();

src/labs/sem1/lab10/Dop.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package labs.sem1.lab10;
22

3-
import java.util.List;
4-
import java.util.concurrent.atomic.AtomicInteger;
5-
import java.util.function.Predicate;
6-
3+
// Доп:
74
// Реализовать класс iterativeParallelism, который будет обрабатывать списки в несколько потоков
85
// должны быть реализованы следующие методы:
96

@@ -16,10 +13,14 @@
1613
// можете рассчитывать, что число потоков не велико. Не следует рассчитывать на то, что переданные
1714
// компараторы, предикаты и функции работают быстро.
1815

16+
import java.util.List;
17+
import java.util.concurrent.atomic.AtomicInteger;
18+
import java.util.function.Predicate;
19+
1920
public class Dop {
2021
public static void main(String[] args) {
2122
List<Integer> list = List.of(1, 2, 3, 4, -5, 6, 7, 8, -9, 10, 100);
22-
23+
2324
System.out.println(iterativeParallelism.minimum(3, list));
2425
System.out.println(iterativeParallelism.maximum(3, list));
2526

src/labs/sem1/lab10/Logger.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package labs.sem1.lab10;
22

3+
import java.io.IOException;
34
import java.nio.file.Files;
45
import java.nio.file.Paths;
5-
import java.io.IOException;
66

77
public class Logger {
88
StringBuilder sb;

src/labs/sem1/lab10/Main.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
11
package labs.sem1.lab10;
22

3+
// Написать класс стек на основе связного списка (классом LinkedList пользоваться нельзя) с методами:
4+
// - модифицирующими: void push(int), int pop()
5+
// - читающими: equals(), toString()
6+
7+
// Написать две реализации:
8+
// - SynchroStack - со стеком одновременно работать может только один поток
9+
// - SynchroStackFast - со стеком одновременно может работать либо один модифицирующий поток, либо несколько читающих потоков
10+
11+
// Класс должен быть пригоден к использованию в многопоточных программах
12+
// В main с помощью замеров времени показать преимущество SynchroStackFast при работе в многопоточной программе.
13+
314
public class Main {
415
public static void main(String[] args) {
516
// classes to benchmark
617
Class<?>[] classes = {
7-
Stack.class,
8-
DebugStack.class,
9-
SynchroStack.class,
10-
SynchroStackFast.class
11-
};
18+
Stack.class, DebugStack.class, SynchroStack.class, SynchroStackFast.class };
1219

1320
int threadsPerMethod = 24; // threads per method
1421
int itersPerMethod = 1000; // iterations per method

src/labs/sem1/lab2/Dop.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package labs.sem1.lab2;
22

3-
// доп. добавить в класс метод rotate(int dir)
4-
// dir - направление вращения
5-
// 1 - 90 градусов, 2 - 180 градусов, 3 - 270 градусов
3+
// Доп:
4+
// Добавить в класс метод rotate (int dir)
5+
// dir - направление вращения:
6+
// (1 - 90 градусов, 2 - 180 градусов, 3 - 270 градусов)
67

78
class MatrixDop extends Matrix {
89
public MatrixDop(int size) {

src/labs/sem1/lab2/Main.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
11
package labs.sem1.lab2;
22

3+
// Напишите класс Matrix, реализующий квадратные матрицы. В нем должны быть определены (во всех
4+
// методах предполагается, что передаваемые параметры всегда корректны):
5+
6+
// - конструктор с целочисленным параметром - размером матрицы, создающий единичную матрицу;
7+
// - методы Matrix sum(Matrix) и Matrix product(Matrix), вычисляющие сумму и произведение матриц
8+
// - сеттеры и геттеры для обращения к элементам матрицы: setElement(int row, int column, int value)
9+
// и getElement(int row, int column)
10+
// - метод toString() (необходимо использовать StringArray или StringBuilder)
11+
12+
// Напишите программу, выводящую первые 10 степеней матрицы:
13+
// [1 1]
14+
// [1 0]
15+
316
public class Main {
417
public static void main(String[] args) {
5-
// Напишите программу, выводящую первые 10 степеней матрицы:
6-
// [1 1]
7-
// [1 0]
8-
918
// create a matrix
1019
Matrix inputMatrix = new Matrix(2);
1120

src/labs/sem1/lab3/Dop.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package labs.sem1.lab3;
22

3+
// Доп:
34
// Создать класс FourPartMatrix, расширяющий класс SquareMatrix.
45
// Вторая четвертинка равна первой, четвертая - третьей.
56
// Добавить MatrixSumException, MatrixProductException

src/labs/sem1/lab3/FourPartMatrix.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package labs.sem1.lab3;
22

3-
// Создать класс FourPartMatrix, расширяющий класс SquareMatrix
4-
// Вторая четвертинка равна первой, четвертая - третьей
5-
// Добавить MatrixSumException, MatrixProductException
6-
73
public class FourPartMatrix extends SquareMatrix {
84
protected int[][] second;
95

src/labs/sem1/lab3/Main.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,29 @@
11
package labs.sem1.lab3;
22

3+
// Напишите класс Matrix, реализующий матрицы и расширяющий его класс SquareMatrix, реализующий
4+
// квадратные матрицы В классах должны быть определены:
5+
6+
// - конструкторы с параметрами размера матриц, создающие нулевую матрицу для Matrix
7+
// и единичную для SquareMatrix
8+
// - методы Matrix sum(Matrix) и Matrix product(Matrix),
9+
// вычисляющие сумму и произведение матриц (метод sum должен быть переопределен в SquareMatrix)
10+
// - методы setElement(int row, int column, int value) и getElement(int row, int column)
11+
// для обращения к элементам матрицы
12+
// - метод toString()
13+
14+
// Напишите собственный класс исключения, расширяющий (наследующий) класс RuntimeException.
15+
// Во всех конструкторах и методах должны бросаться исключения в тех случаях, когда соответствующая
16+
// операция невозможна (например, при сложении матриц разных размеров). Исключения должны содержать
17+
// информацию о том, какая именно проблема возникла. Достаточно хранить эту информацию в виде
18+
// строки, возвращаемой методом getMessage()
19+
20+
// Примените к написанной программе:
21+
// - Разложите классы по пакетам
22+
// - Напишите слово final в тех случаях, где оно разумно
23+
// - Реализуйте для матриц метод equals()
24+
325
public class Main {
426
public static void main(String[] args) {
5-
627
SquareMatrix matrix1 = new SquareMatrix(2);
728
SquareMatrix matrix2 = new SquareMatrix(2);
829

0 commit comments

Comments
 (0)