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