Parabol: y = ax² + bx + c (a ≠ 0).
Công thức
- Đỉnh (Vertex):
(-b/(2a), (4ac-b²)/(4a)) - Tiêu điểm (Focus):
(-b/(2a), (4ac-b²+1)/(4a)) - Đường chuẩn (Directrix):
y = c - (b²+1)/(4a)
Chương trình C++
#include <iostream>
#include <iomanip>
using namespace std;
void calcParabola(double a, double b, double c) {
if (a == 0) { cout << "Khong phai parabol (a=0)"; return; }
double x_v = -b / (2*a);
double y_v = (4*a*c - b*b) / (4*a);
double y_f = (4*a*c - b*b + 1) / (4*a);
double y_d = c - (b*b + 1) / (4*a);
cout << fixed << setprecision(5);
cout << "Dinh (Vertex): (" << x_v << ", " << y_v << ")\n";
cout << "Tieu diem (Focus): (" << x_v << ", " << y_f << ")\n";
cout << "Duong chuan (Directrix): y = " << y_d << "\n";
}
int main() {
double a, b, c;
cout << "Nhap a, b, c: "; cin >> a >> b >> c;
calcParabola(a, b, c);
return 0;
}
Kết quả (a=23, b=34, c=5)
Dinh (Vertex): (-0.73913, -7.56522) Tieu diem (Focus): (-0.73913, -7.55435) Duong chuan (Directrix): y = -106439.00000
Lưu ý: Kết quả directrix khác ví dụ gốc do công thức gốc có lỗi in đính. Công thức đúng: y = c - (b²+1)/(4a).