Compare commits

..

20 Commits

Author SHA1 Message Date
idkWhatUserNameToUse
9813f75326 extracted method with adding issue 2023-03-23 21:08:55 +02:00
idkWhatUserNameToUse
8ae3907d24 Merge branch 'ІО-22/20-Папко-Максим' of https://github.com/ASDjonok/OOP_IO-2x_2023 into ІО-22/20-Папко-Максим 2023-03-23 20:55:22 +02:00
idkWhatUserNameToUse
a011fc41cf task completed in main method 2023-03-23 20:55:11 +02:00
Maxim Papko
4454d46284 Delete Lab1 directory 2023-03-23 20:40:46 +02:00
idkWhatUserNameToUse
4d70c6a51e Merge branch 'ІО-22/20-Папко-Максим' of https://github.com/ASDjonok/OOP_IO-2x_2023 into ІО-22/20-Папко-Максим 2023-03-23 20:40:02 +02:00
idkWhatUserNameToUse
8db686fac0 determined task 2023-03-23 20:39:53 +02:00
Maxim Papko
a48fb7d41f Delete Lab1 directory 2023-03-23 20:37:22 +02:00
idkWhatUserNameToUse
09f2114de6 determined task 2023-03-23 20:35:38 +02:00
Maxim Papko
828dedc3b6 Add files via upload 2023-03-23 20:34:26 +02:00
Maxim Papko
41b6eb063c Delete Program.cs 2023-03-23 20:31:07 +02:00
Maxim Papko
bb2c8bd1a0 Add files via upload 2023-03-23 20:30:52 +02:00
idkWhatUserNameToUse
88a618647d a certain option 2023-03-23 20:29:30 +02:00
idkWhatUserNameToUse
f4fccadb7b Merge branch 'ІО-22/20-Папко-Максим' of https://github.com/ASDjonok/OOP_IO-2x_2023 into ІО-22/20-Папко-Максим 2023-03-19 16:53:25 +02:00
idkWhatUserNameToUse
fb4c2404f7 added empty file 2023-03-19 16:53:05 +02:00
Maxim Papko
86940aa666 Delete Program.cs 2023-03-19 14:09:18 +02:00
Maxim Papko
1e368a1324 Add files via upload 2023-03-19 14:06:41 +02:00
Maxim Papko
559b03336e Delete Program.cs 2023-03-19 13:45:51 +02:00
Maxim Papko
0a7521af40 Delete .gitignore 2023-03-19 13:43:14 +02:00
Maxim Papko
0b51a1a491 Delete OOP_IO-2x_2023.iml 2023-03-19 13:43:08 +02:00
Maxim Papko
f54eee595c Add files via upload 2023-03-19 13:42:50 +02:00
13 changed files with 198 additions and 353 deletions

2
.gitignore vendored
View File

@@ -1,2 +0,0 @@
# Project exclude paths
/out/

2
.idea/misc.xml generated
View File

@@ -1,6 +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">
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

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

View File

@@ -0,0 +1,61 @@
using System;
public class Lab1
{
public static void Main(String[] args)
{
/*o1 = +
c3 = 0
o2 = *
c7 = short */
// var A = 4;
// short B = 3;
// var N = 10;
// var M = 10;
//
// var C = 1;
// var s = 0;
//
// bool divisionByZero=false;
Calculation(4, 3, 10, 10, 1, false);
}
public static void Calculation(int A, int C, int N, short B, int M, bool divisionByZero)
{
var s = 0;
if ((A <= -C && -C <= N) || (B <= 0 && 0 <= M))
{
Console.WriteLine("Division by zero!");
return;
}
for (int i = A; i <= N; i++)
{
if (i + C == 0)
{
Console.WriteLine("Division by zero!");
divisionByZero = true;
break;
}
for (short j = B; j <= M; j++)
{
if (j == 0)
{
Console.WriteLine("Оскільки j = 0, то сума просто буде 0");
break;
}
s += (i * j) / (i + C);
}
}
if (!divisionByZero)
{
Console.WriteLine($"s = {s};");
}
}
}

52
laboratorna1/Program.cs Normal file
View File

@@ -0,0 +1,52 @@
using System;
public class Lab1
{
public static void Main(String[] args)
{
/*o1 = +
c3 = 0
o2 = *
c7 = short */
var A = 4;
short B = 3;
var N = 10;
var M = 10;
var C = 1;
var s = 0;
bool divisionByZero=false;
if ((A <= -C && -C <= N) || (B <= 0 && 0 <= M))
{
Console.WriteLine("Division by zero!");
return;
}
for (int i = A; i <= N; i++)
{
if (i + C == 0) {
Console.WriteLine("Division by zero!");
divisionByZero = true;
break;
}
for (short j = B; j <= M; j++)
{
if (j == 0) {
Console.WriteLine("Оскільки j = 0, то сума просто буде 0");
break;
}
s += (i * j) / (i + C);
}
}
if (!divisionByZero)
{
Console.WriteLine($"s = {s};" );
}
}
}

58
src/Lab1.java Normal file
View 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
View 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}
};
}
}

View File

@@ -1,45 +0,0 @@
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);
}
}

View File

@@ -1,51 +0,0 @@
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);
}
}
}

View File

@@ -1,23 +0,0 @@
//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())

View File

@@ -1,46 +0,0 @@
//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));

View File

@@ -1,103 +0,0 @@
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());

View File

@@ -1,71 +0,0 @@
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));