Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions task01/src/com/example/task01/Point.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,34 @@ public class Point {
int x;
int y;

void flip(){
x *= (-1);
y *= (-1);
//по заданию нужно ещё их поменять местами, но этого не нужно ибо точка уже развёрнута на 180
// но без этого не засчитывается тест
int swap = x;
x = y;
y = swap;
}
double distance(Point point){
return Math.sqrt(Math.pow(Math.abs(x - point.x), 2) + Math.pow(Math.abs(y - point.y), 2));
}

void print() {
String pointToString = String.format("(%d, %d)", x, y);
System.out.println(pointToString);
}
public String toString() {
String pointToString = String.format("(%d, %d)", x, y);
return pointToString;
}

public Point(){
this.x = 0;
this.y = 0;
}
public Point(int x, int y){
this.x = x;
this.y = y;
}
}
72 changes: 72 additions & 0 deletions task02/src/com/example/task02/TimeSpan.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
package com.example.task02;

public class TimeSpan {
private int hour;
public void setHour(int hour){
this.hour = hour;
}
public int getHour(){
return hour;
}

private int minute;
public void setMinute(int minute){
this.minute = minute % 60;
hour += minute / 60;
}
public int getMinute(){
return minute;
}

private int second;
public void setSecond(int second){
this.second = second % 60;
minute += (second / 60) % 60;
hour += second / 3600;
}
public int getSecond(){
return second;
}

private void timeToSecond(){
second += hour * 3600 + minute * 60;
minute = 0;
hour = 0;
}
private void secondToTime(){
second %= 60;
minute += (second / 60) % 60;
hour += second / 3600;
}
void add(TimeSpan time){
/*
second += time.second;
minute += time.minute + second / 60;
hour += time.hour + minute / 60;
second %= 60;
minute %=60;
*/
setHour(time.hour);
setMinute(time.minute);
setSecond(time.second);
}
void subtract(TimeSpan time){
timeToSecond();
time.timeToSecond();
second -= time.second;
secondToTime();
}

public TimeSpan(int hour, int minute, int second) {
this.hour = 0;
this.minute = 0;
this.second = 0;
setHour(hour);
setMinute(minute);
setSecond(second);
}
public String toString(){
String timeToString = String.format("(%d, %d, %d)", hour, minute, second);
return timeToString;
}
}
40 changes: 40 additions & 0 deletions task03/src/com/example/task03/ComplexNumber.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.example.task03;

public class ComplexNumber {
private double realPart; //a
private double imaginaryPart; // b

public void setRealPart(double realPart){
this.realPart = realPart;
}
public double getRealPart(){
return realPart;
}

public void setImaginaryPart(double imaginaryPart){
this.imaginaryPart = imaginaryPart;
}
public double getImaginaryPart() {
return imaginaryPart;
}
public ComplexNumber(){
this(0,0);
}

public ComplexNumber sumComplexNumbers(ComplexNumber number){
return new ComplexNumber(realPart + number.realPart, imaginaryPart + number.imaginaryPart);
}
public ComplexNumber multiplyComplexNumbers(ComplexNumber number){
return new ComplexNumber(realPart * number.realPart - imaginaryPart * number.imaginaryPart,
imaginaryPart * number.realPart + realPart * number.imaginaryPart);
}

public ComplexNumber(double realPart, double imaginaryPart){
this.realPart = realPart;
this.imaginaryPart = imaginaryPart;
}
public String toString(){
String numberToString = String.format("(%f; %f)", realPart, imaginaryPart);
return numberToString;
}
}
7 changes: 6 additions & 1 deletion task03/src/com/example/task03/Task03Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

public class Task03Main {
public static void main(String[] args) {

ComplexNumber first = new ComplexNumber(4.5, 8.2);
ComplexNumber second = new ComplexNumber(2, 6);
ComplexNumber sum = first.sumComplexNumbers(second);
ComplexNumber mul = first.multiplyComplexNumbers(second);
System.out.println(sum.toString());
System.out.println(mul.toString());
}
}
24 changes: 24 additions & 0 deletions task04/src/com/example/task04/Line.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.example.task04;

public class Line {
private Point p1;
public Point getP1(){
return p1;
}
private Point p2;
public Point getP2(){
return p2;
}
public boolean isCollinearLine(Point p){
double angleOfInclination = Math.atan((double) Math.abs(p1.y - p2.y) / Math.abs(p1.x - p2.x));
double angleOfInclinationP = Math.atan((double) Math.abs(p.y - p2.y) / Math.abs(p.x - p2.x));
return angleOfInclination == angleOfInclination;
}
public Line(Point p1, Point p2){
this.p1 = p1;
this.p2 = p2;
}
public String toString(){
return new String(p1.toString() + p2.toString());
}
}
31 changes: 31 additions & 0 deletions task04/src/com/example/task04/Point.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.example.task04;

/**
* Класс точки на плоскости
*/
public class Point {
public final int x;
public final int y;

double distance(Point point){
return Math.sqrt(Math.pow(Math.abs(x - point.x), 2) + Math.pow(Math.abs(y - point.y), 2));
}

void print() {
String pointToString = String.format("(%d, %d)", x, y);
System.out.println(pointToString);
}
public String toString() {
String pointToString = String.format("(%d, %d)", x, y);
return pointToString;
}

public Point(){
this.x = 0;
this.y = 0;
}
public Point(int x, int y){
this.x = x;
this.y = y;
}
}
47 changes: 15 additions & 32 deletions task05/src/com/example/task05/Point.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,45 +5,28 @@
*/
public class Point {

/**
* Конструктор, инициализирующий координаты точки
*
* @param x координата по оси абсцисс
* @param y координата по оси ординат
*/
public Point(double x, double y) {
throw new AssertionError();
}
private double x;
private double y;

/**
* Возвращает координату точки по оси абсцисс
*
* @return координату точки по оси X
*/
public void setX(double x){
this.x = x;
}
public void setY(double y){
this.y = y;
}
public double getX() {
// TODO: реализовать
throw new AssertionError();
return x;
}

/**
* Возвращает координату точки по оси ординат
*
* @return координату точки по оси Y
*/
public double getY() {
// TODO: реализовать
throw new AssertionError();
return y;
}

/**
* Подсчитывает расстояние от текущей точки до точки, переданной в качестве параметра
*
* @param point вторая точка отрезка
* @return расстояние от текущей точки до переданной
*/
public double getLength(Point point) {
// TODO: реализовать
throw new AssertionError();
return Math.sqrt(Math.pow(Math.abs(x - point.x), 2) + Math.pow(Math.abs(y - point.y), 2));
}

public Point(double x, double y) {
this.x = x;
this.y = y;
}
}
48 changes: 22 additions & 26 deletions task05/src/com/example/task05/PolygonalLine.java
Original file line number Diff line number Diff line change
@@ -1,46 +1,42 @@
package com.example.task05;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
* Ломаная линия
*/
public class PolygonalLine {
private ArrayList<Point> listPoint;

/**
* Устанавливает точки ломаной линии
*
* @param points массив точек, которыми нужно проинициализировать ломаную линию
*/
public void setPoints(Point[] points) {
// TODO: реализовать
for (Point point : points) {
addPoint(point);
}
}

/**
* Добавляет точку к ломаной линии
*
* @param point точка, которую нужно добавить к ломаной
*/
public void addPoint(Point point) {
// TODO: реализовать
listPoint.add(new Point(point.getX(), point.getY()));
}

/**
* Добавляет точку к ломаной линии
*
* @param x координата по оси абсцисс
* @param y координата по оси ординат
*/
public void addPoint(double x, double y) {
// TODO: реализовать
listPoint.add(new Point(x, y));
}

/**
* Возвращает длину ломаной линии
*
* @return длину ломаной линии
*/
public double getLength() {
// TODO: реализовать
throw new AssertionError();
double sumLength = 0;
for(int i = 0; i < listPoint.toArray().length - 1; i++){
sumLength += listPoint.get(i).getLength(listPoint.get(i + 1));
}
return sumLength;
}

public PolygonalLine(){
listPoint = new ArrayList<>();
}
public PolygonalLine(Point[] points){
listPoint = new ArrayList<>();
setPoints(points);
}
}