Compare commits

..

6 Commits

Author SHA1 Message Date
Oleh
0e7941c21e Added lab6 2023-06-06 16:22:51 +03:00
Oleh
41ea5f841a Added lab5 2023-06-06 14:48:40 +03:00
Oleh
e38652d12f Added lab4 2023-05-16 15:51:24 +02:00
Oleh
6d7a81dee2 Added lab3 2023-05-15 15:19:00 +02:00
Oleh
ab62df0a7f add lab2 2023-03-23 19:51:48 +01:00
Oleh
4417dfe95a add lab1 2023-03-20 17:36:00 +01:00
103 changed files with 780 additions and 908 deletions

4
.gitignore vendored
View File

@@ -1,4 +1,2 @@
# Project exclude paths
/out/
# Auto detect text files and perform LF normalization
* text=auto
/out/

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

2
.idea/misc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

5
.idea/modules.xml generated
View File

@@ -2,10 +2,7 @@
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/OOP_IO-2x_2023.iml" filepath="$PROJECT_DIR$/.idea/OOP_IO-2x_2023.iml" />
<module fileurl="file://$PROJECT_DIR$/lab1/lab1.iml" filepath="$PROJECT_DIR$/lab1/lab1.iml" />
<module fileurl="file://$PROJECT_DIR$/lab2/lab2.iml" filepath="$PROJECT_DIR$/lab2/lab2.iml" />
<module fileurl="file://$PROJECT_DIR$/lab3/lab3.iml" filepath="$PROJECT_DIR$/lab3/lab3.iml" />
<module fileurl="file://$PROJECT_DIR$/OOP_IO-2x_2023.iml" filepath="$PROJECT_DIR$/OOP_IO-2x_2023.iml" />
</modules>
</component>
</project>

124
.idea/uiDesigner.xml generated Normal file
View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

2
.idea/vcs.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -1,2 +0,0 @@
# Laboratory OOP - IO-2x - 2023
Antonenko Violetta

View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -1 +0,0 @@
Main.java

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/FunctionCalculator.iml" filepath="$PROJECT_DIR$/FunctionCalculator.iml" />
</modules>
</component>
</project>

View File

@@ -1,51 +0,0 @@
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//C2 = 2501 % 2 = 1, і операція O1 буде відніманням (-).
//C3 = 2501 % 3 = 2
//C5 = 2501 % 5 = 1, і операція O2 буде діленням (/).
//C7 = 2501 % 7 = 4, тип індексів i та j буде char.
double result = 0; // результат
char i, j;
char operation1 = '-';
double constant = 2.0;
Scanner scanner = new Scanner(System.in);
System.out.print("Введіть значення n: ");
int n = scanner.nextInt();
System.out.print("Введіть значення m: ");
int m = scanner.nextInt();
// Обчислення значення функції S
for (i = 'a'; i <= 'a' + n - 1; i++) {
for (j = 'b'; j <= 'b' + m - 1; j++) {
try {
double value = (double) i / applyOperation(j, operation1, constant);
result += value;
} catch (ArithmeticException e) {
System.out.println("Ділення на нуль: " + e.getMessage());
} catch (Exception e) {
System.out.println("Виникла помилка: " + e.getMessage());
}
}
}
// Виведення результату
System.out.println("Результат: " + result);
}
// Метод, який застосовує операцію О1 до двох чисел
public static double applyOperation(char j, char operation, double constant) throws Exception {
switch (operation) {
case '-':
return (double) j - constant;
case '/':
if (constant == 0.0) {
throw new ArithmeticException("C не може бути рівним нулю");
} else {
return (double) j / constant;
}
default:
throw new Exception("Непідтримувана операція: " + operation);
}
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/FunctionCalculator/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

8
lab2/Matrix/.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -1 +0,0 @@
Main.java

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Matrix.iml" filepath="$PROJECT_DIR$/Matrix.iml" />
</modules>
</component>
</project>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -1,58 +0,0 @@
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
byte[][] matrix = {{4, 7, 3}, {4, 7, 6}, {7, 10, 9}};
//C5 = 2501 mod 5 = 1, тому C = B^T (транспонування матриці)
//C7 = 2501 mod 7 = 1, тому тип елементів матриці має бути byte
//C11 = 2501 mod 11 = 10, тому треба знайти середнє значення елементів матриці
// Виконуємо дію з матрицею: транспонування матриці B
byte[][] transposedMatrix = transposeMatrix(matrix);
System.out.println("Transposed matrix: ");
printMatrix(transposedMatrix);
// Виконуємо дію з матрицею C: знаходимо середнє значення елементів матриці
double average = calculateAverage(transposedMatrix);
System.out.println("Cереднє значення елементів матриці: " + average);
}
// Метод для транспонування матриці
private static byte[][] transposeMatrix(byte[][] matrix) {
int rows = matrix.length;
int columns = matrix[0].length;
byte[][] transposedMatrix = new byte[columns][rows];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
transposedMatrix[j][i] = matrix[i][j];
}
}
return transposedMatrix;
}
// Метод для знаходження середнього значення елементів матриці
private static double calculateAverage(byte[][] matrix) {
int rows = matrix.length;
int columns = matrix[0].length;
int sum = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
sum += matrix[i][j];
}
}
return (double) sum / (rows * columns);
}
// Метод для виведення матриці на екран
private static void printMatrix(byte[][] matrix) {
for (byte[] row : matrix) {
System.out.println(Arrays.toString(row));
}
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/Matrix/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -1 +0,0 @@
Main.java

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/OperationsStrings.iml" filepath="$PROJECT_DIR$/OperationsStrings.iml" />
</modules>
</component>
</project>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -1,25 +0,0 @@
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
String inputText = "Who are you? What is your name? Where are you from?";
int targetLength = 3;
try {
HashSet<String> uniqueWords = new HashSet<String>();
String[] sentences = inputText.split("[?]");
for (String sentence : sentences) {
String[] words = sentence.trim().split("\\s+");
for (String word : words) {
if (word.length() == targetLength) {
uniqueWords.add(word.toLowerCase());
}
}
}
System.out.println("Unique words of length " + targetLength + " in the input text are: " + uniqueWords);
} catch (Exception e) {
System.out.println("An error occurred: " + e.getMessage());
}
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/OperationsStrings/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

8
lab4/.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

9
lab4/.idea/lab4.iml generated
View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/lab4.iml" filepath="$PROJECT_DIR$/.idea/lab4.iml" />
</modules>
</component>
</project>

6
lab4/.idea/vcs.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/EducationalInstitution.iml" filepath="$PROJECT_DIR$/EducationalInstitution.iml" />
</modules>
</component>
</project>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
lab4/untitled/.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/untitled.iml" filepath="$PROJECT_DIR$/untitled.iml" />
</modules>
</component>
</project>

View File

@@ -1,56 +0,0 @@
import java.util.*;
public class Main {
public static void main(String[] args) {
List<SeaShip> ships = createList();
printList(ships);
ships = sortList(ships);
System.out.println("==============================");
printList(ships);
}
private static ArrayList<SeaShip> createList() {
ArrayList<SeaShip> ships = new ArrayList<>();
Random random = new Random();
for (int i = 0; i < 10; i++)
ships.add(new SeaShip("name" + (i + 1), "class" + (i + 1), "type" + (i + 1),
random.nextInt(10000) + 1000, random.nextDouble() * 100 + 20,
random.nextInt(10000) + 1000, random.nextDouble() * 100));
// ships.add(new SeaShip("nameA", "classA", "typeA",
// random.nextInt(10000) + 1000, 100d,
// random.nextInt(10000) + 1000, 120d));
// ships.add(new SeaShip("nameA", "classA", "typeA",
// random.nextInt(10000) + 1000, 100d,
// random.nextInt(10000) + 1000, 130d));
// ships.add(new SeaShip("nameA", "classA", "typeA",
// random.nextInt(10000) + 1000, 100d,
// random.nextInt(10000) + 1000, 140d));
// ships.add(new SeaShip("nameA", "classA", "typeA",
// random.nextInt(10000) + 1000, 120d,
// random.nextInt(10000) + 1000, 120d));
// ships.add(new SeaShip("nameA", "classA", "typeA",
// random.nextInt(10000) + 1000, 120d,
// random.nextInt(10000) + 1000, 100d));
return ships;
}
private static List<SeaShip> sortList(List<SeaShip> list) {
Comparator<SeaShip> comparator = Comparator.comparing(SeaShip::getLength).reversed()
.thenComparing(SeaShip::getMaxSpeed);
list.sort(comparator);
return list;
}
private static void printList(List<SeaShip> list) {
list.forEach(System.out::println);
}
}

View File

@@ -1,86 +0,0 @@
public class SeaShip {
private String name;
private String shipClass;
private String type;
private Integer weight;
private Double length;
private Integer power;
private Double maxSpeed;
public SeaShip(String name, String shipClass, String type,
Integer weight, Double length, Integer power, Double maxSpeed) {
this.name = name;
this.shipClass = shipClass;
this.type = type;
this.weight = weight;
this.length = length;
this.power = power;
this.maxSpeed = maxSpeed;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getShipClass() {
return shipClass;
}
public void setShipClass(String shipClass) {
this.shipClass = shipClass;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Integer getWeight() {
return weight;
}
public void setWeight(Integer weight) {
this.weight = weight;
}
public Double getLength() {
return length;
}
public void setLength(Double length) {
this.length = length;
}
public Integer getPower() {
return power;
}
public void setPower(Integer power) {
this.power = power;
}
public Double getMaxSpeed() {
return maxSpeed;
}
public void setMaxSpeed(Double maxSpeed) {
this.maxSpeed = maxSpeed;
}
@Override
public String toString() {
return "Sea ship '" + name + "', class: " + shipClass + ", type: " + type + ".\n" +
"Weight: " + weight + "\n" +
"Length: " + length + "\n" +
"Engine power: " + power + "\n" +
"Max speed: " + maxSpeed + "\n";
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

8
lab5/untitled/.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/untitled.iml" filepath="$PROJECT_DIR$/untitled.iml" />
</modules>
</component>
</project>

View File

@@ -1,166 +0,0 @@
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
String inputText = "Раз два три, літо прийди! По ООП сто балів захвати. ім'я запише без апострофу, ех"; //вход даних, текст
int targetLength = 3; //змінна, кількість літер в слові
try {
TextProcessor textProcessor = new TextProcessor();
HashSet<Word> uniqueWords = textProcessor.findUniqueWordsWithLength(inputText, targetLength);
System.out.println("Unique words of length " + targetLength + " in the input text are: " + uniqueWords);// вивод повідомлення, що містить довжину та унікальні слова змінної
} catch (Exception e) {
System.out.println("An error occurred: " + e.getMessage());//вивиод помилки
}
}
}
class Letter {
private char value;
public Letter(char value) {
this.value = value;
}
public char getValue() {
return value;
}
public void setValue(char value) {
this.value = value;
}
}
class Word {
private Letter[] letters;
public Word(Letter[] letters) {
this.letters = letters;
}
public Letter[] getLetters() {
return letters;
}
public void setLetters(Letter[] letters) {
this.letters = letters;
}
public int getLength() {
return letters.length;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (Letter letter : letters) {
sb.append(letter.getValue());
}
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
Word other = (Word) obj;
return this.toString().equals(other.toString());
}
@Override
public int hashCode() {
return this.toString().hashCode();
}
}
class Sentence {
private Word[] words;
private String punctuation;
public Sentence(Word[] words, String punctuation) {
this.words = words;
this.punctuation = punctuation;
}
public Word[] getWords() {
return words;
}
public void setWords(Word[] words) {
this.words = words;
}
public String getPunctuation() {
return punctuation;
}
public void setPunctuation(String punctuation) {
this.punctuation = punctuation;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (Word word : words) {
sb.append(word.toString()).append(" ");
}
sb.append(punctuation);
return sb.toString();
}
}
class Text {
private Sentence[] sentences;
public Text(Sentence[] sentences) {
this.sentences = sentences;
}
public Sentence[] getSentences() {
return sentences;
}
public void setSentences(Sentence[] sentences) {
this.sentences = sentences;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (Sentence sentence : sentences) {
sb.append(sentence.toString());
}
return sb.toString();
}
}
class TextProcessor {
public HashSet<Word> findUniqueWordsWithLength(String inputText, int targetLength) {
HashSet<Word> uniqueWords = new HashSet<>();
String[] sentenceStrings = inputText.split("[?]");
for (String sentenceString : sentenceStrings) {
String[] wordStrings = sentenceString.trim().split("\\s+");
for (String wordString : wordStrings) {
wordString = wordString.replaceAll("[\\t\\s]+", " "); // Заміна послідовності табуляцій та пробілів одним пробілом
wordString = wordString.replaceAll("[^\\p{L}\\s]", ""); // Вилучення розділових знаків
wordString = wordString.toLowerCase(); // Перетворення на нижній регістр
wordString = wordString.replace("", ""); // Вилучення апострофів
if (wordString.length() == targetLength) {
Letter[] letters = new Letter[wordString.length()];
for (int i = 0; i < wordString.length(); i++) {
letters[i] = new Letter(wordString.charAt(i));
}
Word word = new Word(letters);
uniqueWords.add(word);
}
}
}
return uniqueWords;
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

8
lab6/untitled/.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/untitled.iml" filepath="$PROJECT_DIR$/untitled.iml" />
</modules>
</component>
</project>

View File

@@ -1,159 +0,0 @@
import java.util.Arrays;
import java.util.Comparator;
/**
* Клас, що описує базовий рухомий склад залізничного транспорту.
*/
class RollingStock {
private int number;
public RollingStock(int number) {
this.number = number;
}
public int getNumber() {
return number;
}
}
/**
* Клас, що описує пасажирський вагон.
*/
class PassengerCarriage extends RollingStock {
private int passengerCount;
private int comfortLevel;
public PassengerCarriage(int number, int passengerCount, int comfortLevel) {
super(number);
this.passengerCount = passengerCount;
this.comfortLevel = comfortLevel;
}
public int getPassengerCount() {
return passengerCount;
}
public int getComfortLevel() {
return comfortLevel;
}
}
/**
* Клас, що описує вагон для багажу.
*/
class BaggageCarriage extends RollingStock {
private int baggageCount;
public BaggageCarriage(int number, int baggageCount) {
super(number);
this.baggageCount = baggageCount;
}
public int getBaggageCount() {
return baggageCount;
}
}
/**
* Клас, що описує пасажирський потяг.
*/
class PassengerTrain {
private RollingStock[] rollingStock;
public PassengerTrain(RollingStock[] rollingStock) {
this.rollingStock = rollingStock;
}
public int getTotalPassengerCount() {
int totalPassengerCount = 0;
for (RollingStock stock : rollingStock) {
if (stock instanceof PassengerCarriage) {
PassengerCarriage carriage = (PassengerCarriage) stock;
totalPassengerCount += carriage.getPassengerCount();
}
}
return totalPassengerCount;
}
public int getTotalBaggageCount() {
int totalBaggageCount = 0;
for (RollingStock stock : rollingStock) {
if (stock instanceof BaggageCarriage) {
BaggageCarriage carriage = (BaggageCarriage) stock;
totalBaggageCount += carriage.getBaggageCount();
}
}
return totalBaggageCount;
}
public void sortByComfortLevel() {
Arrays.sort(rollingStock, new Comparator<RollingStock>() {
@Override
public int compare(RollingStock o1, RollingStock o2) {
if (o1 instanceof PassengerCarriage && o2 instanceof PassengerCarriage) {
PassengerCarriage carriage1 = (PassengerCarriage) o1;
PassengerCarriage carriage2 = (PassengerCarriage) o2;
return carriage1.getComfortLevel() - carriage2.getComfortLevel();
}
return 0;
}
});
}
public RollingStock findCarriageByPassengerCountRange(int minPassengerCount, int maxPassengerCount) {
for (RollingStock stock : rollingStock) {
if (stock instanceof PassengerCarriage) {
PassengerCarriage carriage = (PassengerCarriage) stock;
if (carriage.getPassengerCount() >= minPassengerCount && carriage.getPassengerCount() <= maxPassengerCount) {
return carriage;
}
}
}
return null;
}
}
/**
* Головний клас програми.
*/
public class Main {
public static void main(String[] args) {
// Створення вагонів потягу
RollingStock[] rollingStock = new RollingStock[5];
rollingStock[0] = new PassengerCarriage(1, 40, 3);
rollingStock[1] = new PassengerCarriage(2, 30, 2);
rollingStock[2] = new BaggageCarriage(3, 50);
rollingStock[3] = new PassengerCarriage(4, 20, 1);
rollingStock[4] = new PassengerCarriage(5, 35, 2);
// Створення пасажирського потягу
PassengerTrain train = new PassengerTrain(rollingStock);
// Розрахунок загальної кількості пасажирів та багажу в потязі
int totalPassengerCount = train.getTotalPassengerCount();
int totalBaggageCount = train.getTotalBaggageCount();
System.out.println("Total passenger count: " + totalPassengerCount);
System.out.println("Total baggage count: " + totalBaggageCount);
// Сортування вагонів за рівнем комфортності
train.sortByComfortLevel();
System.out.println("Sorted carriages by comfort level:");
for (RollingStock stock : rollingStock) {
if (stock instanceof PassengerCarriage) {
PassengerCarriage carriage = (PassengerCarriage) stock;
System.out.println("Carriage " + carriage.getNumber() + ", Comfort Level: " + carriage.getComfortLevel());
}
}
// Знаходження вагона з пасажирськими місцями в заданому діапазоні кількості пасажирів
int minPassengerCount = 25;
int maxPassengerCount = 40;
RollingStock foundCarriage = train.findCarriageByPassengerCountRange(minPassengerCount, maxPassengerCount);
if (foundCarriage != null) {
System.out.println("Found carriage with passenger count in range (" + minPassengerCount + "-" + maxPassengerCount + "): " + foundCarriage.getNumber());
} else {
System.out.println("No carriage found with passenger count in range (" + minPassengerCount + "-" + maxPassengerCount + ")");
}
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

42
src/Main.java Normal file
View File

@@ -0,0 +1,42 @@
public class Main {
public static void main(String[] args) {
System.out.println(args[2]);
System.out.println("Hello world!");
// System.out.println(1);
int a = 1;
int b = 2;
int c = 1;
int d = 1;
System.out.println(2&1);
System.out.println(2|1);
int aa = 2;
/*if (aa) {
}*/
// System.out.println("a"&"b");
System.out.println('a'&'b');
if ((a > b) & MyBooleanMethod()) {
System.out.println("?????????????????????????");
}
}
static boolean MyBooleanMethod() {
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
return true;
}
void myFunction() {
}
int myFunction2() {
return 1;
}
}

View File

@@ -0,0 +1,20 @@
package encapsulationInheritancePolymorphism;
public class Encapsulation {
/*private*/ int field;
private int field2;
// int a = 1;
public void myMethodForTheField () {
System.out.println(field);
}
public void myMethodForTheField2 () {
System.out.println(field);
}
public void myMethodForTheFieldAndTheField2 () {
System.out.println(field);
}
}

View File

@@ -0,0 +1,10 @@
package encapsulationInheritancePolymorphism;
public class EncapsulationInheritancePolymorphism {
public static void main(String[] args) {
int a = 1;
// var b = 2;
// System.out.println(b);
}
}

View File

@@ -0,0 +1,14 @@
package encapsulationInheritancePolymorphism;
public class Main {
public static void main(String[] args) {
Student student = new Student();
//...
student.setFaculty("FPM", "MO-22");
}
}

View File

@@ -0,0 +1,18 @@
package encapsulationInheritancePolymorphism;
public class Student {
private String name;
private String surname;
private String group;
private String faculty;
public String getName() {
return name;
}
public void setFaculty(String faculty, String group) {
this.faculty = faculty;
this.group = group;
}
}

View File

@@ -0,0 +1,9 @@
package encapsulationInheritancePolymorphism.inheritance;
public class ElectricEngine extends Engine {
private String batteryType;
/*private class Engine {
private int power;
}*/
}

View File

@@ -0,0 +1,5 @@
package encapsulationInheritancePolymorphism.inheritance;
public class Engine {
private int power;
}

View File

@@ -0,0 +1,5 @@
package encapsulationInheritancePolymorphism.inheritance;
public class FuelEngine extends Engine {
private String fuelType;
}

View File

@@ -0,0 +1,8 @@
package encapsulationInheritancePolymorphism.inheritance;
public class Main {
public static void main(String[] args) {
ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
FuelEngine fuelEngine = new FuelEngine();
}
}

View File

@@ -0,0 +1,14 @@
package encapsulationInheritancePolymorphism.polymorphism;
public class ElectricEngine extends Engine {
private String batteryType;
@Override
public int getPower() {
return 20;
}
/*private class Engine {
private int power;
}*/
}

View File

@@ -0,0 +1,9 @@
package encapsulationInheritancePolymorphism.polymorphism;
public class Engine {
private int power;
public int getPower() {
return power;
}
}

View File

@@ -0,0 +1,10 @@
package encapsulationInheritancePolymorphism.polymorphism;
public class FuelEngine extends Engine {
private String fuelType;
@Override
public int getPower() {
return 50;
}
}

View File

@@ -0,0 +1,38 @@
package encapsulationInheritancePolymorphism.polymorphism;
/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine;
import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/
public class Main {
public static void main(String[] args) {
/*encapsulationInheritancePolymorphism.inheritance.*/ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
/*encapsulationInheritancePolymorphism.inheritance.*/FuelEngine fuelEngine = new FuelEngine();
Engine engine1 = fuelEngine;
Engine[] engines = {
electricEngine,
fuelEngine
};
for (Engine engine : engines) {
System.out.println(engine.getPower());
}
/*for (int i = 0; i < engines.length; i++) {
System.out.println(engines[i].getPower());
}*/
// +
int a = 1;
int b = 1;
int c = a + b;
System.out.println(c);
String sA = "1";
String sB = "1";
String sC = sA + sB;
System.out.println(sC);
}
}

View File

@@ -0,0 +1,19 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
public class ElectricEngine extends Engine {
private String batteryType;
private int chargeLevel = 9;
private int criticalChargeLevel = 10;
private float coefficientCriticalPowerCut = 0.1f;
@Override
public int getPower() {
return chargeLevel > criticalChargeLevel
? super.getPower()
: (int) (super.getPower() * coefficientCriticalPowerCut);
}
/*private class Engine {
private int power;
}*/
}

View File

@@ -0,0 +1,9 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
public class Engine {
private int power = 100;
public int getPower() {
return power;
}
}

View File

@@ -0,0 +1,10 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
public class FuelEngine extends Engine {
private String fuelType;
/*public int getPower() {
return 50;
}*/
}

View File

@@ -0,0 +1,28 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine;
import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/
public class Main {
public static void main(String[] args) {
/*encapsulationInheritancePolymorphism.inheritance.*/
ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
/*encapsulationInheritancePolymorphism.inheritance.*/
FuelEngine fuelEngine = new FuelEngine();
Engine engine1 = fuelEngine;
Engine[] engines = {
electricEngine,
fuelEngine
};
for (Engine engine : engines) {
System.out.println(engine.getPower());
}
/*for (int i = 0; i < engines.length; i++) {
System.out.println(engines[i].getPower());
}*/
}
}

View File

@@ -0,0 +1,17 @@
package encapsulationInheritancePolymorphism.polymorphism.overload;
public class MyClassForOverloadExample {
void myMethod(int a) {
System.out.println("Integer: " + a);
}
void myMethod(double a) {
System.out.println("Double: " + a);
}
public static void main(String[] args) {
MyClassForOverloadExample overload = new MyClassForOverloadExample();
overload.myMethod(1);
overload.myMethod(0.1);
}
}

45
src/lab1.java Normal file
View File

@@ -0,0 +1,45 @@
import java.util.Scanner;
public class lab1 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
// 2131 % 7 = 3; C7 = long
long n, m, a, b;
float result, sum;
while(true) {
try {
System.out.println("Введіть n типу long:");
n = scanner.nextLong();
System.out.println("Введіть m типу long:");
m = scanner.nextLong();
System.out.println("Введіть a типу long:");
a = scanner.nextLong();
System.out.println("Введіть b типу long:");
b = scanner.nextLong();
break;
}catch(Exception e){
scanner.nextLine();
System.out.println("Введене неправильне число");
}
}
// 2131 % 5 = 1; O2 = /
// 2131 % 2 = 1; O1 = -
// 2131 % 3 = 1; C = 1
result = 0;
byte C = 1;
for(long i = a; i <= n; i++){
sum = 0;
for(long j = b; j <= m; j++){
if (i - C == 0 || j == 0){
System.out.println("Помилка ділення на 0");
System.exit(0);
}
sum += (float) (i/j)/(i-C);
}
result += sum;
}
System.out.println(result);
}
}

51
src/lab2.java Normal file
View File

@@ -0,0 +1,51 @@
public class lab2 {
public static void main(String[] args){
// 2131 % 7 = 3; C7 = int
int[][] matrix = {
{1,2,3,4,5},
{1,3,5,7,9},
{10,1,20,2,5}
};
int rows = matrix.length;
int column = matrix[0].length;
System.out.println("Матриця:");
for(int i = 0; i < rows; i++){
for (int j = 0; j < column; j++){
System.out.print(matrix[i][j]+" ");
}
System.out.println();
}
System.out.println();
// 2131 % 5 = 1; C5 = транспортування;
int[][] transportMatrix = new int[column][rows];
for(int i = 0; i < rows; i++){
for(int j = 0; j < column; j++){
transportMatrix[j][i] = matrix[i][j];
}
}
System.out.println("Транспонована матриця:");
for (int i = 0; i < column; i++){
for (int j = 0; j < rows; j++){
System.out.print(transportMatrix[i][j]+" ");
}
System.out.println();
}
System.out.println();
// 2131 % 11 = 8; C11 = Знайти середнє значення елементів кожного рядка матриці;
int sum;
for(int i = 0; i < rows; i++){
sum = 0;
for(int j = 0; j < column; j++){
sum += matrix[i][j];
}
System.out.println("Середнє арифметичне " + (i+1) + " строки = " + (float)sum/column);
}
}
}

23
src/lab3.js Normal file
View File

@@ -0,0 +1,23 @@
//C17 = 2131 % 17 = 6; Відсортувати слова заданого тексту за зростанням кількості голосних літер.
import create from 'prompt-sync';
const prompt = create();
class Sentence {
constructor() {
this.sentence = prompt("Input sentence: ");
}
sort() {
const words = this.sentence.split(/[\s.?!,;]/).filter((word) => word);
const vowels = /[AaEeiOoUuYy]/g
const sortedWords = words.sort((first, second) => {
const vowelsOfFirstWord = first.match(vowels)? first.match(vowels): [];
const vowelsOfSecondWord = second.match(vowels)? second.match(vowels): [];
return vowelsOfFirstWord.length-vowelsOfSecondWord.length;
});
return sortedWords.join(' ');
}
}
const sentence = new Sentence;
console.log(sentence.sort())

46
src/lab4.js Normal file
View File

@@ -0,0 +1,46 @@
//C11 = 2131%11 = 8; Визначити клас меблі, який складається як мінімум з 5-и полів.
//Створимо клас меблів
class Furniture{
constructor({model, width, height, length, price}) { //об'єкт класа буде створений на основі об'єкта для зручості, тому використовуємо деструктороване присвоєння, щоб не брати зайве.
this.model = model;
this.width = width;
this.height = height;
this.length = length;
this.price = price;
}
}
//Створимо об'єкти майбутніх об'єктів класу меблі
const chair = {
model: 'chair',
width: 1,
length: 1,
height: 1,
price: 500,
};
const table = {
model: 'table',
width: 3,
length: 2,
height: 1.5,
price: 1000,
};
const wardrobe = {
model: 'wardrobe',
width: 5,
length: 1,
height: 3,
price: 750,
};
//Створимо масив що складається з об'єктів класу
const furniture = [new Furniture(wardrobe), new Furniture(chair), new Furniture(table)];
//Відсрортуємо масив за алфавітним порядком;
console.log(furniture.sort((first, second) => first.model > second.model ? 1 : first.model < second.model ? -1 : 0));
//Відсортуємл масив за ціною за спаданням
console.log(furniture.sort((first, second) => second.price - first.price));

103
src/lab5.js Normal file
View File

@@ -0,0 +1,103 @@
class Text {
constructor(text) {
this.text = [];
const sentences = text.split(/[.?!;]/).filter((sentence) => sentence);
for (const sentence of sentences) {
this.text.push(new Sentence(sentence))
}
}
getText() {
let text = '';
for (const sentence of this.text) {
text += sentence.getSentence() + '. ';
}
return text;
}
getSortedText() {
let words = [];
const vowels = /[AaEeiOoUuYy]/g;
for (const sentence of this.text) {
words = words.concat(sentence.getWords());
}
const sortedWords = words.sort((first, second) => {
const vowelsOfFirstWord = first.match(vowels)? first.match(vowels): [];
const vowelsOfSecondWord = second.match(vowels)? second.match(vowels): [];
return vowelsOfFirstWord.length-vowelsOfSecondWord.length;
});
return sortedWords.join(' ');
}
}
class Sentence {
constructor(sentence) {
this.sentence = [];
const words = sentence.split(/[\s,:]/).filter((word) => word);
for (const word of words) {
this.sentence.push(new Word(word));
}
}
getSentence() {
let sentence = '';
for (const word of this.sentence) {
sentence += word.getWord();
if ( this.sentence[this.sentence.length-1] !== word) sentence += ' ';
}
return sentence;
}
getWords() {
let words = [];
for (const word of this.sentence) {
words.push(word.getWord());
}
return words;
}
}
class Word {
constructor(word) {
this.word = [];
for (const symbol of word) {
if (/[A-Za-z]/.test(symbol)){
this.word.push(new Letter(symbol));
} else if (/[0-9]/.test(symbol)) {
this.word.push(new Number(symbol));
}
}
}
getWord() {
let word = '';
for (const symbol of this.word) {
word += symbol.getSymbol();
}
return word
}
}
class Letter {
constructor(letter) {
this.letter = letter;
}
getSymbol() {
return this.letter;
}
}
class Number {
constructor(number) {
this.number = number;
}
getSymbol() {
return this.number;
}
}
const text = new Text('In late September or October, Martina elevated Constans to co-emperor, but also raised Heraclonas\'s brother Tiberius to co-emperor alongside them. Despite these overtures, Valentinus entered Constantinople shortly thereafter, deposed Heraclonas and Martina, and then elevated Constans to sole emperor. Heraclonas, Martina, Tiberius, and Martinus are said by John of Nikiu to have been escorted forth with insolence. Valentinus had Martinus nose cut off, emasculated him, and then banished his family to Rhodes, where they stayed until their deaths. According to some sources, the stress of the surgery killed Martinus immediately.');
console.log(text.getText());
console.log('\n' + text.getSortedText());

Some files were not shown because too many files have changed in this diff Show More