mirror of
https://github.com/ASDjonok/OOP_IO-2x_2023.git
synced 2026-04-01 21:21:50 +03:00
Compare commits
6 Commits
a8cbadbe7d
...
ІО-21/31-Ц
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0e7941c21e | ||
|
|
41ea5f841a | ||
|
|
e38652d12f | ||
|
|
6d7a81dee2 | ||
|
|
ab62df0a7f | ||
|
|
4417dfe95a |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,2 +1,2 @@
|
|||||||
Rust/lab_1/target
|
# Project exclude paths
|
||||||
Rust/lab_2/target
|
/out/
|
||||||
8
.idea/.gitignore
generated
vendored
Normal file
8
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
6
.idea/misc.xml
generated
Normal file
6
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?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>
|
||||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<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
124
.idea/uiDesigner.xml
generated
Normal 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>
|
||||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
public class lab_1 {
|
|
||||||
|
|
||||||
public static int protectedInput(String variableToRead, Scanner input) {
|
|
||||||
do {
|
|
||||||
try {
|
|
||||||
System.out.printf("Enter %s: ", variableToRead);
|
|
||||||
return input.nextInt();
|
|
||||||
} catch (Exception e) {
|
|
||||||
System.out.printf("%s must be an integer.\n", variableToRead.toUpperCase());
|
|
||||||
input.nextLine();
|
|
||||||
}
|
|
||||||
} while (true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
Scanner input = new Scanner(System.in);
|
|
||||||
|
|
||||||
final int n = protectedInput("n", input);
|
|
||||||
final int m = protectedInput("m", input);
|
|
||||||
final int a = protectedInput("a", input);
|
|
||||||
final int b = protectedInput("b", input);
|
|
||||||
|
|
||||||
input.close();
|
|
||||||
|
|
||||||
final float s = ((float) (b + m) / 2) * (m - b + 1) * (n - a + 1);
|
|
||||||
|
|
||||||
System.out.println("S = " + s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
fun protectedInput(variableName: String): Int {
|
|
||||||
do {
|
|
||||||
try {
|
|
||||||
print("Enter $variableName: ")
|
|
||||||
return readln().toInt()
|
|
||||||
} catch (e: Exception) {
|
|
||||||
println("${variableName.uppercase()} must be an integer!")
|
|
||||||
}
|
|
||||||
} while (true)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun main() {
|
|
||||||
val n: Int = protectedInput("n")
|
|
||||||
val m: Int = protectedInput("m")
|
|
||||||
val a: Int = protectedInput("a")
|
|
||||||
val b: Int = protectedInput("b")
|
|
||||||
|
|
||||||
val s: Float = (b + m).toFloat() / 2 * (m - b + 1) * (n - a + 1)
|
|
||||||
|
|
||||||
println("S = $s")
|
|
||||||
}
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
public class lab_2 {
|
|
||||||
|
|
||||||
public static short protectedInput(String inputPrompt, String errorMessage, Scanner input) {
|
|
||||||
short read_variable;
|
|
||||||
|
|
||||||
do {
|
|
||||||
try {
|
|
||||||
System.out.println();
|
|
||||||
System.out.print(inputPrompt);
|
|
||||||
|
|
||||||
read_variable = input.nextShort();
|
|
||||||
break;
|
|
||||||
} catch (Exception e) {
|
|
||||||
System.out.println(errorMessage);
|
|
||||||
input.nextLine();
|
|
||||||
}
|
|
||||||
} while (true);
|
|
||||||
|
|
||||||
return read_variable;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String format(int number) {
|
|
||||||
int width = String.valueOf(number).length() + 1;
|
|
||||||
String format = "|%" + width + "d ";
|
|
||||||
|
|
||||||
return format;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static double average(short[] row) {
|
|
||||||
short sum = 0;
|
|
||||||
|
|
||||||
for (short element : row) {
|
|
||||||
sum += element;
|
|
||||||
}
|
|
||||||
|
|
||||||
double result = sum / row.length;
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
short a, rows = 0, columns = 0;
|
|
||||||
String format;
|
|
||||||
|
|
||||||
Scanner input = new Scanner(System.in);
|
|
||||||
|
|
||||||
a = protectedInput("Input a constant to multipy a matrix by: ",
|
|
||||||
"A constant must be a short-data type integer, try again.", input);
|
|
||||||
|
|
||||||
System.out.println();
|
|
||||||
System.out.println("Input size of the matrix.");
|
|
||||||
|
|
||||||
do {
|
|
||||||
rows = protectedInput("Rows: ",
|
|
||||||
"A number of rows must be a short-data type integer, try again.", input);
|
|
||||||
} while (rows <= 0);
|
|
||||||
|
|
||||||
do {
|
|
||||||
columns = protectedInput("Columns: ",
|
|
||||||
"A number of columns must be a short-data type integer, try again.", input);
|
|
||||||
} while (columns <= 0);
|
|
||||||
|
|
||||||
input.close();
|
|
||||||
|
|
||||||
short[][] matrix_B = new short[rows][columns];
|
|
||||||
|
|
||||||
System.out.println();
|
|
||||||
System.out.println("Matrix B:");
|
|
||||||
|
|
||||||
format = format(rows * columns);
|
|
||||||
|
|
||||||
for (short i = 0; i < rows; i++) {
|
|
||||||
for (short j = 0; j < columns; j++) {
|
|
||||||
matrix_B[i][j] = (short) ((i + 1) * (j + 1));
|
|
||||||
|
|
||||||
System.out.printf(format, matrix_B[i][j]);
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("|");
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println();
|
|
||||||
System.out.println("Matrix a×B:");
|
|
||||||
|
|
||||||
format = format(rows * columns * a);
|
|
||||||
|
|
||||||
for (short i = 0; i < matrix_B.length; i++) {
|
|
||||||
for (short j = 0; j < matrix_B[i].length; j++) {
|
|
||||||
matrix_B[i][j] *= (short) (a);
|
|
||||||
|
|
||||||
System.out.printf(format, matrix_B[i][j]);
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("|");
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println();
|
|
||||||
System.out.println("Averages of each row:");
|
|
||||||
|
|
||||||
for (short[] row : matrix_B) {
|
|
||||||
System.out.println(average(row));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
package OOP.Java.lab_3;
|
|
||||||
|
|
||||||
public class lab_3 {
|
|
||||||
static int maxStrLength;
|
|
||||||
static String result;
|
|
||||||
|
|
||||||
public static void cSubUtil(StringBuilder stringbuilder, int leftBoundary, int rightBoundary) {
|
|
||||||
String string = stringbuilder.toString().toLowerCase().replaceAll("[^a-z]","");
|
|
||||||
// check if the indices lie in the range of string
|
|
||||||
// and also if it is palindrome
|
|
||||||
while (leftBoundary >= 0 && rightBoundary < string.length() && string.toLowerCase().charAt(leftBoundary) == string.toLowerCase().charAt(rightBoundary)) {
|
|
||||||
// expand the boundary
|
|
||||||
leftBoundary--;
|
|
||||||
rightBoundary++;
|
|
||||||
}
|
|
||||||
// if it's length is greater than maxLength update
|
|
||||||
// maxLength and res
|
|
||||||
if (rightBoundary - leftBoundary - 1 >= maxStrLength) {
|
|
||||||
result = string.substring(leftBoundary + 1, rightBoundary);
|
|
||||||
maxStrLength = rightBoundary - leftBoundary - 1;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int longestPalSubstr(StringBuilder string)
|
|
||||||
{
|
|
||||||
result = "";
|
|
||||||
maxStrLength = 1;
|
|
||||||
// for every index in the string check palindromes
|
|
||||||
// starting from that index
|
|
||||||
for (int i = 0; i < string.length(); i++) {
|
|
||||||
// check for odd length palindromes
|
|
||||||
cSubUtil(string, i, i);
|
|
||||||
// check for even length palindromes
|
|
||||||
cSubUtil(string, i, i + 1);
|
|
||||||
}
|
|
||||||
System.out.println("Longest palindrome substring is: " + compareStrings(string));
|
|
||||||
return compareStrings(string).length();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String compareStrings(StringBuilder builder) {
|
|
||||||
for (int leftBoundary = 0; leftBoundary <= builder.length(); leftBoundary++) {
|
|
||||||
for (int rightBoundary = builder.length(); leftBoundary >= 0; rightBoundary--) {
|
|
||||||
if (result.equals(builder.substring(leftBoundary, rightBoundary).toString().toLowerCase().replaceAll("[^a-z]",""))) {
|
|
||||||
return builder.substring(leftBoundary, rightBoundary).toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
StringBuilder stringToDetect = new StringBuilder("Eva, can I see bees in a cave?");
|
|
||||||
|
|
||||||
System.out.println("Initial string: " + stringToDetect.toString());
|
|
||||||
System.out.println("Length is: " + longestPalSubstr(stringToDetect));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
11
OOP_IO-2x_2023.iml
Normal file
11
OOP_IO-2x_2023.iml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?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>
|
||||||
16
Rust/lab_1/Cargo.lock
generated
16
Rust/lab_1/Cargo.lock
generated
@@ -1,16 +0,0 @@
|
|||||||
# This file is automatically @generated by Cargo.
|
|
||||||
# It is not intended for manual editing.
|
|
||||||
version = 3
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "lab_1"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"text_io",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "text_io"
|
|
||||||
version = "0.1.12"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d5f0c8eb2ad70c12a6a69508f499b3051c924f4b1cfeae85bfad96e6bc5bba46"
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "lab_1"
|
|
||||||
version = "0.1.0"
|
|
||||||
edition = "2021"
|
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
||||||
|
|
||||||
[profile.release]
|
|
||||||
opt-level = 'z' # Optimize for size
|
|
||||||
lto = true # Enable link-time optimization
|
|
||||||
codegen-units = 1 # Reduce number of codegen units to increase optimizations
|
|
||||||
panic = 'abort' # Abort on panic
|
|
||||||
strip = true # Strip symbols from binary*
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
text_io = "0.1.12"
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
fn protected_read(variable_name: &str) -> i32 {
|
|
||||||
use text_io::try_read;
|
|
||||||
loop {
|
|
||||||
print!("Enter {}: ", variable_name);
|
|
||||||
let read_result: Result<i32, _> = try_read!();
|
|
||||||
match read_result {
|
|
||||||
Ok(read_integer) => return read_integer,
|
|
||||||
Err(_e) => println!("{} must be an integer!", variable_name.to_uppercase()),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
let n: i32 = protected_read("n");
|
|
||||||
let m: i32 = protected_read("m");
|
|
||||||
let a: i32 = protected_read("a");
|
|
||||||
let b: i32 = protected_read("b");
|
|
||||||
|
|
||||||
let s: f32 = ((b + m) as f32 / 2f32) * ((m - b + 1) * (n - a + 1)) as f32;
|
|
||||||
|
|
||||||
println!("S = {}", s);
|
|
||||||
}
|
|
||||||
7
Rust/lab_2/Cargo.lock
generated
7
Rust/lab_2/Cargo.lock
generated
@@ -1,7 +0,0 @@
|
|||||||
# This file is automatically @generated by Cargo.
|
|
||||||
# It is not intended for manual editing.
|
|
||||||
version = 3
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "lab_2"
|
|
||||||
version = "0.1.0"
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "lab_2"
|
|
||||||
version = "0.1.0"
|
|
||||||
edition = "2021"
|
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
fn main() {
|
|
||||||
println!("Hello, world!");
|
|
||||||
}
|
|
||||||
42
src/Main.java
Normal file
42
src/Main.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
20
src/encapsulationInheritancePolymorphism/Encapsulation.java
Normal file
20
src/encapsulationInheritancePolymorphism/Encapsulation.java
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
14
src/encapsulationInheritancePolymorphism/Main.java
Normal file
14
src/encapsulationInheritancePolymorphism/Main.java
Normal 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");
|
||||||
|
}
|
||||||
|
}
|
||||||
18
src/encapsulationInheritancePolymorphism/Student.java
Normal file
18
src/encapsulationInheritancePolymorphism/Student.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package encapsulationInheritancePolymorphism.inheritance;
|
||||||
|
|
||||||
|
public class ElectricEngine extends Engine {
|
||||||
|
private String batteryType;
|
||||||
|
|
||||||
|
/*private class Engine {
|
||||||
|
private int power;
|
||||||
|
}*/
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package encapsulationInheritancePolymorphism.inheritance;
|
||||||
|
|
||||||
|
public class Engine {
|
||||||
|
private int power;
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package encapsulationInheritancePolymorphism.inheritance;
|
||||||
|
|
||||||
|
public class FuelEngine extends Engine {
|
||||||
|
private String fuelType;
|
||||||
|
}
|
||||||
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}*/
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package encapsulationInheritancePolymorphism.polymorphism;
|
||||||
|
|
||||||
|
public class Engine {
|
||||||
|
private int power;
|
||||||
|
|
||||||
|
public int getPower() {
|
||||||
|
return power;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package encapsulationInheritancePolymorphism.polymorphism;
|
||||||
|
|
||||||
|
public class FuelEngine extends Engine {
|
||||||
|
private String fuelType;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPower() {
|
||||||
|
return 50;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}*/
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||||
|
|
||||||
|
public class Engine {
|
||||||
|
private int power = 100;
|
||||||
|
|
||||||
|
public int getPower() {
|
||||||
|
return power;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||||
|
|
||||||
|
public class FuelEngine extends Engine {
|
||||||
|
private String fuelType;
|
||||||
|
|
||||||
|
/*public int getPower() {
|
||||||
|
return 50;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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());
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
45
src/lab1.java
Normal 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
51
src/lab2.java
Normal 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
23
src/lab3.js
Normal 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
46
src/lab4.js
Normal 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
103
src/lab5.js
Normal 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());
|
||||||
71
src/lab6.js
Normal file
71
src/lab6.js
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
console.log(2131 % 13)
|
||||||
|
|
||||||
|
class Room {
|
||||||
|
constructor(price, ...toys) {
|
||||||
|
this.toys = toys;
|
||||||
|
this.price = price;
|
||||||
|
if (this.getCurrentPrice() > price) throw new SyntaxError('We haven`t money for this');
|
||||||
|
}
|
||||||
|
|
||||||
|
addToy(toy) {
|
||||||
|
if (this.getCurrentPrice() + toy.getPrice() <= this.price) this.toys.push(toy);
|
||||||
|
else throw new SyntaxError('We haven`t money for this');
|
||||||
|
}
|
||||||
|
|
||||||
|
getCurrentPrice() {
|
||||||
|
let sum = 0;
|
||||||
|
for (const toy of this.toys) {
|
||||||
|
sum += toy.getPrice();
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
getSortedToysByPrice() {
|
||||||
|
const sortedToys = this.toys.copyWithin();
|
||||||
|
return sortedToys.sort((firstToy, secondToy) => {
|
||||||
|
return firstToy.getPrice() - secondToy.getPrice();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
getToyByPrice(lowerPrice, upperPrice) {
|
||||||
|
return this.toys.find((toy) => lowerPrice <= toy.getPrice() && toy.getPrice() <= upperPrice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class Toy {
|
||||||
|
|
||||||
|
constructor(type, price, group) {
|
||||||
|
this.type = type;
|
||||||
|
this.price = price;
|
||||||
|
this.group = group;
|
||||||
|
}
|
||||||
|
|
||||||
|
getPrice() {
|
||||||
|
return this.price;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Car extends Toy {
|
||||||
|
constructor(price, group) {
|
||||||
|
super('car', price, group);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Ball extends Toy {
|
||||||
|
constructor(price, group) {
|
||||||
|
super('ball', price, group);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Doll extends Toy {
|
||||||
|
constructor(price, group) {
|
||||||
|
super('doll', price, group);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const doll = new Doll(200, 'middle');
|
||||||
|
const ball = new Ball(150, 'young');
|
||||||
|
const car = new Car(300, 'old');
|
||||||
|
const room = new Room(1000, doll, ball, car);
|
||||||
|
console.log(room.getSortedToysByPrice())
|
||||||
|
console.log(room.getToyByPrice(201, 301));
|
||||||
13
src/test/A.java
Normal file
13
src/test/A.java
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
package test;
|
||||||
|
|
||||||
|
public class A {
|
||||||
|
/*private*/ int f/* = 3*/;
|
||||||
|
|
||||||
|
public int getF() {
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setF(int f) {
|
||||||
|
this.f = f;
|
||||||
|
}
|
||||||
|
}
|
||||||
15
src/test/Main.java
Normal file
15
src/test/Main.java
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
package test;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
A a = new A();
|
||||||
|
System.out.println(a.getF());
|
||||||
|
a.setF(1);
|
||||||
|
System.out.println(a.getF());
|
||||||
|
|
||||||
|
System.out.println(a.f);
|
||||||
|
|
||||||
|
int[] array = {1, 2, 1};
|
||||||
|
System.out.println(array.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user