mirror of
https://github.com/ASDjonok/OOP_IO-2x_2023.git
synced 2026-04-01 21:21:50 +03:00
Compare commits
59 Commits
100398953a
...
ІО-22/20-П
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1804300a41 | ||
|
|
901f3764cc | ||
|
|
4ce763a535 | ||
|
|
8548f7c734 | ||
|
|
5e1040d05b | ||
|
|
5f4e295f72 | ||
|
|
534f830672 | ||
|
|
d127ee3456 | ||
|
|
b1f37e7fae | ||
|
|
73c713708f | ||
|
|
02f123888c | ||
|
|
a954fc5f52 | ||
|
|
dcf2b89997 | ||
|
|
e20f774ceb | ||
|
|
9ec0b06627 | ||
|
|
64b8735333 | ||
|
|
983828b777 | ||
|
|
124f67b760 | ||
|
|
8d906fd812 | ||
|
|
e6a726c647 | ||
|
|
4be9e7b1ba | ||
|
|
d1e20c015c | ||
|
|
ad7b0175ba | ||
|
|
c62613c975 | ||
|
|
c95a243c84 | ||
|
|
63b1b6f62b | ||
|
|
1c68762d9d | ||
|
|
ba82b49508 | ||
|
|
ee35a832b9 | ||
|
|
7e652a976c | ||
|
|
15685384a7 | ||
|
|
e6620839bd | ||
|
|
f136101a3b | ||
|
|
59fb75ce32 | ||
|
|
b9570d75f8 | ||
|
|
ae0f85c8d6 | ||
|
|
96dd638e66 | ||
|
|
61760443a5 | ||
|
|
8b517d136f | ||
|
|
9813f75326 | ||
|
|
8ae3907d24 | ||
|
|
a011fc41cf | ||
|
|
4454d46284 | ||
|
|
4d70c6a51e | ||
|
|
8db686fac0 | ||
|
|
a48fb7d41f | ||
|
|
09f2114de6 | ||
|
|
828dedc3b6 | ||
|
|
41b6eb063c | ||
|
|
bb2c8bd1a0 | ||
|
|
88a618647d | ||
|
|
f4fccadb7b | ||
|
|
fb4c2404f7 | ||
|
|
86940aa666 | ||
|
|
1e368a1324 | ||
|
|
559b03336e | ||
|
|
0a7521af40 | ||
|
|
0b51a1a491 | ||
|
|
f54eee595c |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +0,0 @@
|
|||||||
Rust/lab_1/target
|
|
||||||
Rust/lab_2/target
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
package OOP.Java.lab_1;
|
|
||||||
|
|
||||||
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,23 +0,0 @@
|
|||||||
package OOP.Java.lab_1
|
|
||||||
|
|
||||||
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,104 +0,0 @@
|
|||||||
package OOP.Java.lab_2;
|
|
||||||
|
|
||||||
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;
|
|
||||||
|
|
||||||
return "|%" + width + "d ";
|
|
||||||
}
|
|
||||||
|
|
||||||
public static double average(short[] row) {
|
|
||||||
short sum = 0;
|
|
||||||
|
|
||||||
for (short element : row) {
|
|
||||||
sum += element;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (double) sum / row.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
short rows, columns;
|
|
||||||
|
|
||||||
Scanner input = new Scanner(System.in);
|
|
||||||
|
|
||||||
final short a = protectedInput("Input a constant to multiply 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:");
|
|
||||||
|
|
||||||
String 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] *= (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,57 +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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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(); rightBoundary >= leftBoundary; rightBoundary--) {
|
|
||||||
if (result.equals(builder.substring(leftBoundary, rightBoundary).toLowerCase().replaceAll("[^a-z]",""))) {
|
|
||||||
return builder.substring(leftBoundary, rightBoundary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
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);
|
|
||||||
System.out.println("Length is: " + longestPalSubstr(stringToDetect));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
40
Lab3/Lab2/Lab2/Program.cs
Normal file
40
Lab3/Lab2/Lab2/Program.cs
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
public class Laba2
|
||||||
|
{
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
const int a = 2;
|
||||||
|
int[,] b = new[,] //створення матриці;
|
||||||
|
{
|
||||||
|
{ 1, 2, 8 },
|
||||||
|
{ 3, 4, 5 },
|
||||||
|
{ 6, 7, 9 }
|
||||||
|
};
|
||||||
|
int rows = b.GetLength(0); //отримання довжини рядків
|
||||||
|
int cols = b.GetLength(1); //отримання довжини стовпців
|
||||||
|
for (int i = 0; i < rows; i++)
|
||||||
|
{
|
||||||
|
int Avg = 0;
|
||||||
|
for (int j = 0; j < cols; j++)
|
||||||
|
{
|
||||||
|
Console.Write(b[i, j] + " "); // перебір матриці для обчислення середнього значення рядка
|
||||||
|
Avg += b[i, j];
|
||||||
|
}
|
||||||
|
Avg = Avg / cols;
|
||||||
|
Console.Write($"-average of row is:{Avg};" );
|
||||||
|
Console.WriteLine(" ");
|
||||||
|
|
||||||
|
}
|
||||||
|
Console.WriteLine(" ");
|
||||||
|
for (int x = 0; x < rows; x++)
|
||||||
|
{
|
||||||
|
for (int y = 0; y < cols; y++)
|
||||||
|
{
|
||||||
|
Console.Write(b[x, y] * a + " "); //виведення матриці, помноженої на константу
|
||||||
|
|
||||||
|
}
|
||||||
|
Console.WriteLine(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
33
Lab3/Lab3/Lab3/Program.cs
Normal file
33
Lab3/Lab3/Lab3/Program.cs
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
class Lab3
|
||||||
|
{
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
string text = "Вухатий великий синiй слон. Яблуко в саду. Зелене яблуко? Груша. Жовта слива висить у саду!";
|
||||||
|
Console.WriteLine(text );
|
||||||
|
|
||||||
|
// розділяємо текст на окремі речення
|
||||||
|
string[] textSplit = text.Split(new[] { '.', '?', '!' }, StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
|
||||||
|
// обчислюємо кількість слів у кожному реченні та створюємо масив з кількістю слів у реченнях
|
||||||
|
int[] amountOfWords = new int[textSplit.Length];
|
||||||
|
for (int i = 0; i < textSplit.Length; i++)
|
||||||
|
{
|
||||||
|
string[] words = textSplit[i].Trim().Split(' ', StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
amountOfWords[i] = words.Length;
|
||||||
|
}
|
||||||
|
|
||||||
|
// створюємо Dictionary, де ключ - кількість слів у реченні, а значення - речення
|
||||||
|
Dictionary<string, int> sentenceDictionary = new Dictionary<string, int>();
|
||||||
|
for (int i = 0; i < textSplit.Length; i++)
|
||||||
|
{
|
||||||
|
sentenceDictionary.Add(textSplit[i],amountOfWords[i] );
|
||||||
|
}
|
||||||
|
var sortedDict = sentenceDictionary.OrderBy(x => x.Value).ToDictionary(x => x.Key, x => x.Value);
|
||||||
|
|
||||||
|
|
||||||
|
Console.WriteLine(String.Join(";", sortedDict.Keys));
|
||||||
|
}
|
||||||
|
}
|
||||||
86
Lab3/Lab4/Lab4/Program.cs
Normal file
86
Lab3/Lab4/Lab4/Program.cs
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ConsoleApp1
|
||||||
|
{
|
||||||
|
class Furniture
|
||||||
|
{
|
||||||
|
// 5 полів
|
||||||
|
private string type;
|
||||||
|
private string material;
|
||||||
|
private string color;
|
||||||
|
private int price;
|
||||||
|
private int amount;
|
||||||
|
|
||||||
|
// конструктор з атрибутами
|
||||||
|
public Furniture(string type, string material, string color, int price, int amount)
|
||||||
|
{
|
||||||
|
this.type = type;
|
||||||
|
this.material = material;
|
||||||
|
this.color = color;
|
||||||
|
this.price = price;
|
||||||
|
this.amount = amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
// методи для повернення атрибутів
|
||||||
|
public string getType()
|
||||||
|
{
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string getMaterial()
|
||||||
|
{
|
||||||
|
return material;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string getColor()
|
||||||
|
{
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPrice()
|
||||||
|
{
|
||||||
|
return price;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getAmount()
|
||||||
|
{
|
||||||
|
return amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
|
||||||
|
Furniture[] furnitureArr = {
|
||||||
|
new Furniture("шафа", "дерево", "коричневий", 5000, 2),
|
||||||
|
new Furniture("стiл", "скло", "чорний", 3000, 3),
|
||||||
|
new Furniture("лiжко", "метал", "срiблястий", 8000, 1),
|
||||||
|
new Furniture("диван", "тканина", "сiрий", 10000, 2),
|
||||||
|
new Furniture("стiлець", "метал", "синій", 500, 4)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Сортування масиву за ціною за зростанням
|
||||||
|
var sorted = furnitureArr.OrderBy(ob => ob.price).ToArray();
|
||||||
|
// Вивести відсортований масив
|
||||||
|
Console.WriteLine("Вiдсортований за цiною (за зростанням):");
|
||||||
|
foreach (Furniture f in sorted)
|
||||||
|
{
|
||||||
|
Console.WriteLine(f.getType() + " - " + f.getPrice() + " грн;");
|
||||||
|
}
|
||||||
|
Console.WriteLine(' ');
|
||||||
|
// Сортування масиву за кількістю за спаданням
|
||||||
|
var sortedReversery = furnitureArr.OrderBy(ob => ob.amount).ToArray().Reverse();
|
||||||
|
// Вивести відсортований масив
|
||||||
|
Console.WriteLine("Вiдсортований за кiлькiстю (за спаданням):");
|
||||||
|
foreach (Furniture f in sortedReversery)
|
||||||
|
{
|
||||||
|
Console.Write($"{f.getType()} - {f.getAmount()}; " );
|
||||||
|
}
|
||||||
|
Console.WriteLine(' ');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
121
Lab6/Lab6/Program.cs
Normal file
121
Lab6/Lab6/Program.cs
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Formats.Asn1;
|
||||||
|
|
||||||
|
// Визначити ієрархію рухомого складу залізничного транспорту.Створити пасажирський потяг.Порахувати загальну чисельність пасажирів і багажу в потязі.
|
||||||
|
// Провести сортування вагонів потягу за рівнем комфортності. Знайти вагон в потязі, що відповідає заданому діапазону кількості пасажирів.
|
||||||
|
|
||||||
|
|
||||||
|
class Lab6
|
||||||
|
{
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
List<Wagons> wagons = new List<Wagons>(); //створюємо лист-список вагонів;
|
||||||
|
|
||||||
|
// Додаємо вагони за допомогою класу Wagons;
|
||||||
|
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 100, 100, "Вищий", 10));
|
||||||
|
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 50, 48, "Середнiй", 20));
|
||||||
|
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 20, 15, "Низький", 30));
|
||||||
|
wagons.Add(new Wagons.FreightWagons("Вантажний", 10, 10));
|
||||||
|
wagons.Add(new Wagons.FreightWagons("Вантажний", 20, 20));
|
||||||
|
wagons.Add(new Wagons.FreightWagons("Вантажний", 30, 30));
|
||||||
|
|
||||||
|
|
||||||
|
Console.WriteLine("Усi вагони:"); //відображення всіх вагонів;
|
||||||
|
|
||||||
|
foreach (Wagons wagon in wagons)
|
||||||
|
{
|
||||||
|
Console.WriteLine(wagon.GetType() + ": " + wagon.GetPassengers() + " пасажирiв(-а), " + wagon.GetBaggage() +
|
||||||
|
" валiз/контейнерiв, " + wagon.GetComfort() + ", " + wagon.GetAmount() + ";");
|
||||||
|
}
|
||||||
|
|
||||||
|
int amountOfPassangers = 0; //обчислення загальної кількості пасажирів;
|
||||||
|
foreach (Wagons p in wagons)
|
||||||
|
{
|
||||||
|
amountOfPassangers += p.GetPassengers();
|
||||||
|
}
|
||||||
|
|
||||||
|
var sorted = wagons.OrderByDescending(ob => ob.GetComfort()).ToArray(); //сортування вагонів за рівнем комфорту;
|
||||||
|
|
||||||
|
Console.WriteLine("\nКiлькiсть пасажирiв у пасажирському вагонi: " + amountOfPassangers + ";");
|
||||||
|
Console.WriteLine("\nВеддiть мiнiмальну кiлькiсть пасажирiв: ");
|
||||||
|
var minPassangers = Convert.ToInt32(Console.ReadLine());
|
||||||
|
Console.WriteLine("Веддiть максимальну кiлькiсть пасажирiв: ");
|
||||||
|
var maxPassangers = Convert.ToInt32(Console.ReadLine());
|
||||||
|
foreach (Wagons t in wagons)
|
||||||
|
{
|
||||||
|
if (t.GetPassengers() != null && t.GetPassengers() >= minPassangers && t.GetPassengers() <= maxPassangers) //пошук вагону за кількістю пасажирів;
|
||||||
|
{
|
||||||
|
Console.Write(t.GetType() + " - " + t.GetPassengers()+"; ");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw (new InvalidOperationException("Немає такого вагону;"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Wagons
|
||||||
|
{
|
||||||
|
private string type; // тип вагону
|
||||||
|
private int passengers; // кількість пасажирів
|
||||||
|
private int baggage; // кількість багажу в тоннах
|
||||||
|
private string comfort; // рейтиг комфорту вагону
|
||||||
|
private int amount; // кількість вагонів
|
||||||
|
|
||||||
|
public Wagons(string type, int? passengers, int? baggage, string comfort, int amount) //конструктор вагонів;
|
||||||
|
{
|
||||||
|
this.type = type;
|
||||||
|
this.passengers = Convert.ToInt32(passengers);
|
||||||
|
this.baggage = Convert.ToInt32(baggage);
|
||||||
|
this.comfort = comfort;
|
||||||
|
this.amount = amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetType() //геттери атрибутів класу;
|
||||||
|
{
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetPassengers()
|
||||||
|
{
|
||||||
|
return passengers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int? GetBaggage()
|
||||||
|
{
|
||||||
|
return baggage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetComfort()
|
||||||
|
{
|
||||||
|
return comfort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetAmount()
|
||||||
|
{
|
||||||
|
return amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
// підклас Пасажирський вагон який наслідує батьківський клас Вагони;
|
||||||
|
public class PassengerWagons : Wagons
|
||||||
|
{
|
||||||
|
public PassengerWagons(string type, int passengers, int baggage, string comfort, int amount) : base(type,
|
||||||
|
passengers, baggage, comfort, amount)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// підклас Вантажний вагон який наслідує батьківський клас Вагони;
|
||||||
|
public class FreightWagons : Wagons
|
||||||
|
{
|
||||||
|
public FreightWagons(string type, int baggage, int amount) : base(type, null, baggage, null, amount)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
1
READ ME
Normal file
1
READ ME
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Files with lab2,3,4 located in in Lab3. My excuses for confusing you
|
||||||
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!");
|
|
||||||
}
|
|
||||||
58
src/Lab1.java
Normal file
58
src/Lab1.java
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
public class Lab1 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// char c = 'a' + '1';
|
||||||
|
char c = 97;
|
||||||
|
// char c = '1';
|
||||||
|
System.out.println(c);
|
||||||
|
System.out.println((int) c);
|
||||||
|
c++;
|
||||||
|
System.out.println(c);
|
||||||
|
System.out.println((int) c);
|
||||||
|
System.out.println((double)'1'/'3');
|
||||||
|
|
||||||
|
// System.out.println( (double) 0 / 0 );
|
||||||
|
// System.out.println( Math.sqrt(-1) );
|
||||||
|
double s = 0;
|
||||||
|
/*for (int i = 1; i <= 3; i++) { // 1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> i = 1, 2) <20><><EFBFBD><EFBFBD> <20> <= 3, 3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䳿 <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
System.out.println(i); // 4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> 1, 5) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 2
|
||||||
|
// s = s + i;
|
||||||
|
s += i;
|
||||||
|
}*/
|
||||||
|
/*int[] array = new int[2];
|
||||||
|
for (int i = 0; i < array.length; i++) {
|
||||||
|
|
||||||
|
}*/
|
||||||
|
final int A = -3;
|
||||||
|
final int B = 0;
|
||||||
|
final int N = 2;
|
||||||
|
final int M = 2;
|
||||||
|
|
||||||
|
final int C = 1;
|
||||||
|
// boolean wasDivisionByZero = false;
|
||||||
|
// todo char
|
||||||
|
// todo[clear code] think about avoiding brackets
|
||||||
|
if ((A <= -C && -C <= N) || (B <= 0 && 0 <= M)) {
|
||||||
|
System.out.println("Division by zero!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
/*myLabel:*/for (int i = A; i <= N /*&& !wasDivisionByZero*/; i++) {
|
||||||
|
/*if (i + C == 0) { // todo optimize
|
||||||
|
System.out.println("Division by zero!");
|
||||||
|
wasDivisionByZero = true;
|
||||||
|
break; //todo flag vs return;
|
||||||
|
}*/
|
||||||
|
for (int j = B; j <= M; j++) {
|
||||||
|
/*if (j == 0) {
|
||||||
|
System.out.println("Division by zero!");
|
||||||
|
return;
|
||||||
|
// wasDivisionByZero = true;
|
||||||
|
// break myLabel;
|
||||||
|
}*/
|
||||||
|
s += (double) (i / j) / (i + C);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// if (!wasDivisionByZero) {
|
||||||
|
System.out.println("s = " + s);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
26
src/Lab2.java
Normal file
26
src/Lab2.java
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
public class Lab2 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int[] array = {1, 2, 3};
|
||||||
|
/*for (int i = 0; i < array.length; i++) {
|
||||||
|
if (i % 2 == 0) {
|
||||||
|
System.out.println("!" + array[i]);
|
||||||
|
} else {
|
||||||
|
System.out.println("?" + array[i]);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
for (int i = 0; i < array.length; i+=2) {
|
||||||
|
System.out.println("!" + array[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 1; i < array.length; i+=2) {
|
||||||
|
System.out.println("?" + array[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// зубчасті матриці
|
||||||
|
int[][] matrix = {
|
||||||
|
{1, 2},
|
||||||
|
{3}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
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