{"id":2645,"date":"2017-07-05T20:44:06","date_gmt":"2017-07-05T17:44:06","guid":{"rendered":"http:\/\/java.mazurok.com\/?p=2645"},"modified":"2017-07-07T01:02:26","modified_gmt":"2017-07-06T22:02:26","slug":"%d0%ba%d0%bb%d0%b0%d1%81%d1%81-%d0%b8%d0%b7%d0%bc%d0%b5%d0%bd%d1%8f%d0%b5%d0%bc%d1%8b%d1%85-%d1%80%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d1%85-%d0%b4%d1%80%d0%be%d0%b1%d0%b5","status":"publish","type":"post","link":"https:\/\/java.mazurok.com\/?p=2645","title":{"rendered":"\u041a\u043b\u0430\u0441\u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0440\u043e\u0431\u0435\u0439"},"content":{"rendered":"<p><b>\u0417\u0430\u0434\u0430\u0447\u0430<\/b><\/p>\n<p>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 (mutable) \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u0440\u043e\u0431\u044f\u043c\u0438, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u044c\u0442\u0435 \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/p>\n<p><strong>\u0422\u0435\u0441\u0442\u044b<\/strong><\/p>\n<p>\u0412\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: \u0447\u0435\u0442\u044b\u0440\u0435 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u043b\u0430 &#8212; \u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c \u0438 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u044c \u0434\u0440\u043e\u0431\u0438 F1, \u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c \u0438 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u044c\u00a0 \u0434\u0440\u043e\u0431\u0438 F2<\/p>\n<p>\u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f, \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f, \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0434\u0440\u043e\u0431\u0435\u0439 F1 \u0438 F2<\/p>\n<table style=\"width: 535.78px\">\n<tbody>\n<tr style=\"height: 24px\">\n<td style=\"width: 19px;height: 24px;text-align: center\">\u2116<\/td>\n<td style=\"width: 131px;height: 24px;text-align: center\">\u0412\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/td>\n<td style=\"width: 68px;height: 24px;text-align: center\">\u0414\u0440\u043e\u0431\u044c F1<\/td>\n<td style=\"width: 68px;height: 24px;text-align: center\">\u0414\u0440\u043e\u0431\u044c F2<\/td>\n<td style=\"width: 116px;height: 24px;text-align: center\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 F1 \u0438 F2<\/td>\n<td style=\"width: 98px;height: 24px;text-align: center\">F1+F2<\/td>\n<td style=\"width: 229px;height: 24px;text-align: center\">F1-F2<\/td>\n<td style=\"width: 110px;height: 24px;text-align: center\">F1*F2<\/td>\n<td style=\"width: 161.78px;height: 24px;text-align: center\">F1\/F2<\/td>\n<\/tr>\n<tr style=\"height: 24px\">\n<td style=\"width: 19px;height: 24px;text-align: center\">1<\/td>\n<td style=\"width: 131px;height: 24px;text-align: center\">1 2 2 3<\/td>\n<td style=\"width: 68px;height: 24px;text-align: center\">1\/2<\/td>\n<td style=\"width: 68px;height: 24px;text-align: center\">2\/3<\/td>\n<td style=\"width: 116px;height: 24px;text-align: center\">1\/2&lt;2\/3<\/td>\n<td style=\"width: 98px;height: 24px;text-align: center\">7\/6<\/td>\n<td style=\"width: 229px;height: 24px;text-align: center\">-1\/6<\/td>\n<td style=\"width: 110px;height: 24px;text-align: center\">1\/3<\/td>\n<td style=\"width: 161.78px;height: 24px;text-align: center\">3\/4<\/td>\n<\/tr>\n<tr style=\"height: 24px\">\n<td style=\"width: 19px;height: 24px;text-align: center\">2<\/td>\n<td style=\"width: 131px;height: 24px;text-align: center\">4 16 3 -5<\/td>\n<td style=\"width: 68px;height: 24px;text-align: center\">1\/4<\/td>\n<td style=\"width: 68px;height: 24px;text-align: center\">-3\/5<\/td>\n<td style=\"width: 116px;height: 24px;text-align: center\">1\/4&gt;-3\/5<\/td>\n<td style=\"width: 98px;height: 24px;text-align: center\">-7\/20<\/td>\n<td style=\"width: 229px;height: 24px;text-align: center\">17\/20<\/td>\n<td style=\"width: 110px;height: 24px;text-align: center\">-3\/20<\/td>\n<td style=\"width: 161.78px;height: 24px;text-align: center\">-5\/12<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 19px;text-align: center\">3<\/td>\n<td style=\"width: 131px;text-align: center\">1 7 2 14<\/td>\n<td style=\"width: 68px;text-align: center\">1\/7<\/td>\n<td style=\"width: 68px;text-align: center\">1\/7<\/td>\n<td style=\"width: 116px;text-align: center\">1\/7=1\/7<\/td>\n<td style=\"width: 98px;text-align: center\">2\/7<\/td>\n<td style=\"width: 229px;text-align: center\">0\/1<\/td>\n<td style=\"width: 110px;text-align: center\">1\/49<\/td>\n<td style=\"width: 161.78px;text-align: center\">1\/1<\/td>\n<\/tr>\n<tr style=\"height: 24px\">\n<td style=\"width: 19px;height: 24px;text-align: center\">4<\/td>\n<td style=\"width: 131px;height: 24px;text-align: center\">2 4 0 4<\/td>\n<td style=\"width: 68px;height: 24px;text-align: center\">1\/2<\/td>\n<td style=\"width: 68px;height: 24px;text-align: center\">0\/1<\/td>\n<td style=\"width: 116px;height: 24px;text-align: center\">1\/2&gt;0\/1<\/td>\n<td style=\"width: 98px;height: 24px;text-align: center\">1\/2<\/td>\n<td style=\"width: 229px;height: 24px;text-align: center\">1\/2<\/td>\n<td style=\"width: 110px;height: 24px;text-align: center\">0\/1<\/td>\n<td style=\"width: 161.78px;height: 24px;text-align: center\">Error<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u041a\u043e\u0434<\/strong><\/p>\n<pre class=\"lang:java decode:true \">import java.util.Scanner;\r\n\r\nclass Arithmetics {\r\n\t\/**\r\n\t * Returns the greatest common divisor of two numbers\r\n\t * @param a the first number\r\n\t * @param b the second number\r\n\t * @return the greatest common divisor of two numbers\r\n\t*\/\r\n\tpublic static int gcd(int a, int b)\r\n\t{\r\n\t\treturn (b == 0 ? a : gcd(b, a % b));\r\n\t}\r\n}\r\n\r\nclass Fraction {\r\n\tprivate int n, d;\r\n\r\n\t\/**\r\n\t * @param n is an integer number\r\n\t*\/\t\r\n\tpublic Fraction(int n) { setValue(n); }\r\n\t\/**\r\n\t * @param n is the numerator of a fraction\r\n\t * @param d is the denominator of a fraction\r\n\t*\/\r\n\tpublic Fraction(int n, int d) throws IllegalArgumentException {\r\n\t\tsetValue(n, d);\r\n\t}\r\n\tpublic Fraction(Fraction f) {\r\n\t\tsetValue(f);\r\n\t}\r\n\t\r\n\tpublic int getNumerator() { return n; }\r\n\tpublic int getDenominator() { return d; }\r\n\t\r\n\tpublic void setNumerator(int n) { setValue(n, this.d); }\r\n\tpublic void setDenominator(int d) { setValue(this.n, d); }\r\n\t\/**\r\n\t * Assigns a new fraction from an integer number\r\n\t*\/\r\n\tpublic void setValue(int n) { this.n = n; this.d = 1; }\r\n\t\/**\r\n\t * Assigns a new value to the fraction\r\n\t * @param n is the new numerator of a fraction\r\n\t * @param d is the new denominator of a fraction\r\n\t*\/\r\n\tpublic void setValue(int n, int d) throws IllegalArgumentException {\r\n\t\tif (d == 0)\r\n\t\t\tthrow new IllegalArgumentException(\"Error: Denominator cannot be equal to zero\");\r\n\t\tthis.n = n;\r\n\t\tthis.d = d;\r\n\t\treduce();\r\n\t}\r\n\tpublic void setValue(Fraction f) { this.n = f.n; this.d = f.d; }\r\n\t\r\n\tprivate void reduce() {\r\n\t\tint gcd = Arithmetics.gcd(n, d);\r\n\t\tn \/= gcd;\r\n\t\td \/= gcd;\r\n\t\tif (d &lt; 0) { d *= -1; n *= -1; }\r\n\t}\r\n\tprivate void add(int n, int d) {\r\n\t\tthis.n = this.n * d + n * this.d;\r\n\t\tthis.d *= d;\r\n\t\treduce();\r\n\t}\r\n\tprivate void substract(int n, int d) {\r\n\t\tadd(n * -1, d);\r\n\t}\r\n\tprivate void multiply(int n, int d) {\r\n\t\tthis.n *= n;\r\n\t\tthis.d *= d;\r\n\t\treduce();\r\n\t}\r\n\tprivate void divide(int n, int d) {\r\n\t\tthis.n *= d;\r\n\t\tthis.d *= n;\r\n\t\treduce();\r\n\t}\r\n\t\r\n\t\/**\r\n\t * Adds an integer number to the fraction\r\n\t * @param n is a number\r\n\t*\/\r\n\tpublic void add(int n) {\r\n\t\tadd(n, 1);\r\n\t}\r\n\t\/** Adds another fraction to the fraction\r\n\t * @param f is another fracton\r\n\t*\/\r\n\tpublic void add(Fraction f) {\r\n\t\tadd(f.n, f.d);\r\n\t}\r\n\t\r\n\t\/**\r\n\t * Subsracts an integer number from the fraction\r\n\t * @param n is a number\r\n\t*\/\r\n\tpublic void substract(int n) { add(n * -1); }\r\n\t\/** Substracts another fraction from the fraction\r\n\t * @param f is another fracton\r\n\t*\/\r\n\tpublic void substract(Fraction f) {\r\n\t\tsubstract(f.n, f.d);\r\n\t}\r\n\t\r\n\t\/**\r\n\t * Multiplies the fraction by an integer number\r\n\t * @param n is a number\r\n\t*\/\r\n\tpublic void multiply(int n) {\r\n\t\tmultiply(n, 1);\r\n\t}\r\n\t\/** Multiplies the fraction by another fraction\r\n\t * @param f is another fracton\r\n\t*\/\r\n\tpublic void multiply(Fraction f) {\r\n\t\tmultiply(f.n, f.d);\r\n\t}\r\n\t\r\n\t\/**\r\n\t * Divides the fraction by an integer number\r\n\t * @param n is a number\r\n\t*\/\r\n\tpublic void divide(int n) throws ArithmeticException {\r\n\t\t\t\tif (n == 0) throw new ArithmeticException(\"Error: Division by zero\");\r\n\t\tdivide(n, 1);\r\n\t}\r\n\t\/** Divides the fraction by another fraction\r\n\t * @param f is another fracton\r\n\t*\/\r\n\tpublic void divide(Fraction f) throws ArithmeticException {\r\n\t\tif (f.n == 0) throw new ArithmeticException(\"Error: Division by zero\");\r\n\t\tdivide(f.n, f.d);\r\n\t}\r\n\t\r\n\t\/**\r\n\t * Compares the fraction to another fraction by equality\r\n\t * @param f is another fraction\r\n\t * @return true in case of equuality or false otherwise\r\n\t *\/\r\n\tpublic boolean equals(Fraction f) {\r\n\t\treturn (n == f.n &amp;&amp; d == f.d);\r\n\t}\r\n\t\/**\r\n\t * Compares the fraction to another fraction\r\n\t * @param f is another fraction\r\n\t * @return 0 if the fraction equals to another fraction, 1 if greater, -1 if lesser\r\n\t *\/\r\n\tpublic int compareTo(Fraction f) {\r\n\t\treturn (equals(f)) ? 0 : (n * f.d - f.n * d &gt; 0) ? 1 : -1;\r\n\t}\r\n\t\r\n\t\/** \r\n\t * String representation of the fraction\r\n\t * @return the string representation of the fraction in such form: numerator\/denominator\r\n\t *\/\r\n\tpublic String toString() {\r\n\t\treturn n + \"\/\" + d;\r\n\t}\r\n}\r\n\r\npublic class Main {\r\n\tpublic static void main(String[] args) {\r\n\t\ttry {\r\n\t\t\tScanner scanner = new Scanner(System.in);\r\n\t\t\tint n1 = scanner.nextInt();\r\n\t\t\tint d1 = scanner.nextInt();\r\n\t\t\tint n2 = scanner.nextInt();\r\n\t\t\tint d2 = scanner.nextInt();\r\n\t\t\t\r\n\t\t\tFraction f1 = new Fraction(n1, d1);\r\n\t\t\tString f1Str = f1.toString();\r\n\t\t\tSystem.out.println(\"The first fraction is \" + f1Str);\r\n\t\t\tFraction f2 = new Fraction(n2, d2);\r\n\t\t\tString f2Str = f2.toString();\r\n\t\t\tSystem.out.println(\"The second fraction is \" + f2Str);\r\n\t\t\tFraction temp = new Fraction(f1);\r\n\t\t\t\r\n\t\t\tint comparisonResult = f1.compareTo(f2);\r\n\t\t\tchar relationSign = (comparisonResult &gt; 0) ? '&gt;' : (comparisonResult &lt; 0) ? '&lt;' : '=';\r\n\t\t\tSystem.out.println(f1Str + \" \" + relationSign + \" \" + f2Str);\r\n\t\t\t\r\n\t\t\ttemp.add(f2);\r\n\t\t\tSystem.out.println(f1Str + \" + \" + f2Str + \" = \" + temp.toString());\r\n\t\t\ttemp.setValue(f1);\r\n\t\t\t\r\n\t\t\ttemp.substract(f2);\r\n\t\t\tSystem.out.println(f1Str + \" - \" + f2Str + \" = \" + temp.toString());\r\n\t\t\ttemp.setValue(f1);\r\n\t\t\t\r\n\t\t\ttemp.multiply(f2);\r\n\t\t\tSystem.out.println(f1Str + \" * \" + f2Str + \" = \" + temp.toString());\r\n\t\t\ttemp.setValue(f1);\r\n\t\t\t\r\n\t\t\ttry {\r\n\t\t\t\ttemp.divide(f2);\r\n\t\t\t\tSystem.out.println(f1Str + \" \/ \" + f2Str + \" = \" + temp.toString());\r\n\t\t\t} catch (ArithmeticException e) {\r\n\t\t\t\tSystem.out.println(e.getMessage());\r\n\t\t\t}\r\n\t\t} catch (IllegalArgumentException e) {\r\n\t\t\tSystem.out.println(e.getMessage());\r\n\t\t}\r\n\t}\r\n}<\/pre>\n<p>\u041a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043d\u0430\u00a0<a href=\"http:\/\/ideone.com\/iBNEQn\">ideone<\/a><\/p>\n<p><strong>\u041f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435<\/strong><\/p>\n<p>\u041a\u043b\u0430\u0441\u0441 <span class=\"lang:java decode:true crayon-inline\">Arithmetics<\/span> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u041d\u041e\u0414\u00a0<span class=\"lang:java decode:true crayon-inline\">public static int gcd(int a, int b)<\/span>.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<span class=\"lang:java decode:true crayon-inline \">Fraction<\/span>\u00a0 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0434\u0440\u043e\u0431\u044f\u043c\u0438. \u0415\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u043b\u044f\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0434\u0440\u043e\u0431\u044c\u044e:<\/p>\n<ul>\n<li>\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044f (\u043c\u0435\u0442\u043e\u0434 <span class=\"lang:java decode:true crayon-inline\">public int getNumerator()<\/span>) \u0438 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u044f (\u043c\u0435\u0442\u043e\u0434 <span class=\"lang:java decode:true crayon-inline \">public int getDenominator()<\/span>);<\/li>\n<li>\u0437\u0430\u0434\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (\u043c\u0435\u0442\u043e\u0434\u044b\u00a0<span class=\"lang:java decode:true crayon-inline\">public void setValue()<\/span> \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438) \u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u0435\u043c \u0438 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u0435\u043c (\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b\u00a0<span class=\"lang:java decode:true crayon-inline\">int n, int d<\/span>, \u0446\u0435\u043b\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c (\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u00a0<span class=\"lang:java decode:true crayon-inline\">int n<\/span>) \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u0434\u0440\u043e\u0431\u044c\u044e (\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u00a0<span class=\"lang:java decode:true crayon-inline \">Fraction f<\/span>);<\/li>\n<li>\u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c, \u043e\u0442\u043d\u044f\u0442\u044c, \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u043d\u0430, \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0434\u0440\u043e\u0431\u044c \u0438\u043b\u0438 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e (\u043c\u0435\u0442\u043e\u0434\u044b\u00a0<span class=\"lang:java decode:true crayon-inline\">public void<\/span>\u00a0 <span class=\"lang:java decode:true crayon-inline\">add()<\/span>, <span class=\"lang:java decode:true crayon-inline\">substract()<\/span>, <span class=\"lang:java decode:true crayon-inline \">multiply()<\/span>,\u00a0<span class=\"lang:java decode:true crayon-inline\">divide()<\/span> \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438\u00a0<span class=\"lang:java decode:true crayon-inline \">Fraction f<\/span> \u0438\u043b\u0438 <span class=\"lang:java decode:true crayon-inline\">int n<\/span>;<\/li>\n<li>\u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0434\u0440\u043e\u0431\u044c\u044e (\u043c\u0435\u0442\u043e\u0434\u044b\u00a0<span class=\"lang:java decode:true crayon-inline \">public boolean equals()<\/span> \u0438\u00a0<span class=\"lang:java decode:true crayon-inline\">public int compareTo()<\/span>;<\/li>\n<li>\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0440\u043e\u0431\u0438 (\u043c\u0435\u0442\u043e\u0434\u00a0<span class=\"lang:java decode:true crayon-inline\">public String toString()<\/span>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u0417\u0430\u0434\u0430\u0447\u0430 \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 (mutable) \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u0440\u043e\u0431\u044f\u043c\u0438, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u044c\u0442\u0435 \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0422\u0435\u0441\u0442\u044b \u0412\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: \u0447\u0435\u0442\u044b\u0440\u0435 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u043b\u0430 &#8212; \u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c \u0438 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u044c \u0434\u0440\u043e\u0431\u0438 F1, \u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c \u0438 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u044c\u00a0 \u0434\u0440\u043e\u0431\u0438 F2 \u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f, \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f, \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0434\u0440\u043e\u0431\u0435\u0439 F1 \u0438 F2 \u2116 \u0412\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0414\u0440\u043e\u0431\u044c F1 \u0414\u0440\u043e\u0431\u044c F2 \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 F1 \u0438 F2 F1+F2 &hellip; <a href=\"https:\/\/java.mazurok.com\/?p=2645\" class=\"more-link\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":98,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[285,30,286,284],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts\/2645"}],"collection":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/users\/98"}],"replies":[{"embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2645"}],"version-history":[{"count":11,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts\/2645\/revisions"}],"predecessor-version":[{"id":2887,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts\/2645\/revisions\/2887"}],"wp:attachment":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}