Практикум по программированию. Основы. Ветвление. Прямая и окружность
From AsIsWiki
Contents |
Java
import java.util.Scanner; import java.lang.Math; public class Task14 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println(); System.out.println(" Поиск точек пересечения прямой Y = K * X + B "); System.out.println(" и окружности с центром в начале координат "); System.out.println("----------------------------------------------"); System.out.print(" Введите коэффициент K: "); double k = in.nextDouble(); System.out.print(" Введите коэффициент B: "); double b = in.nextDouble(); System.out.print(" Радиус окружности R: "); double r = in.nextDouble(); System.out.println("----------------------------------------------"); double d = 4 * k * k * b * b - 4 * (k * k + 1) * (b * b - r * r); System.out.printf(" Прямая Y = %.2f * X + %.2f с окружностью радиусом R = %.2f\n", k, b, r); double x1, y1, x2, y2; if (d < 0) { System.out.println(" не пересекается"); } else { if (d == 0) { x1 = -2 * k * b / (2 * k * k + 2); y1 = k * x1 + b; System.out.printf(" пересекается в точке X = %.2f, Y = %.2f\n", x1, y1); } else { x1 = (-2 * k * b - Math.sqrt(d)) / (2 * k * k + 2); y1 = k * x1 + b; x2 = (-2 * k * b + Math.sqrt(d)) / (2 * k * k + 2); y2 = k * x2 + b; System.out.println(" пересекается в точках:"); System.out.printf(" X1 = %.2f, Y1 = %.2f\n", x1, y1); System.out.printf(" X2 = %.2f, Y2 = %.2f\n", x2, y2); } } } }
C++
Pascal