Viết chương trình pascal giải phương trình ax2+bx+c=0 a khác 0
Trang Chủ Diễn Đàn > E - CÁC CÂU LẠC BỘ > CLB Học Tập > Hỏi Đáp >
Chúng ta đã học nghiệm của phương trình bậc hai ax2 + bx + c = 0 từ khi còn nhỏ, và có một công thức tìm nghiệm trực tiếp. Nhưng người xưa đã phải mất một thời gian dài để tìm ra điều đó. Ghi chép sớm nhất là trong văn học Babylon vào khoảng hai nghìn năm trước Công nguyên, phương trình bậc hai đơn giản nhất cũng có liên quan đến các tài liệu giấy cói của Ai Cập cổ đại. Hai nghìn năm trước cũng có một bài toán trong “Cửu chương số học” của Trung Quốc sử dụng phương trình bậc hai. Tuy nhiên, người xưa tỏ ra bảo thủ hơn trong quan điểm về lĩnh vực số, và họ không bao giờ thừa nhận các gốc âm. Với công thức và hàm căn bậc hai, chương trình giải phương trình bậc hai không khó thực hiện: Chương trình không khó, và một số từ ngữ được sử dụng trong đó để giải thích ngắn gọn như sau: – sarray = s.split (“,”), câu lệnh này phân tách chuỗi được phân tách bởi “,” thành một mảng, chẳng hạn như đầu vào 1,2,3, nó sẽ được phân tách thành ba phần tử của mảng [1,2,3 ]. Sau đó tính số phân biệt, và cuối cùng đặt công thức để tìm căn. – Khi phân biệt b * 2-4a * c <0, chúng tôi báo cáo không có lời giải, vì vậy chương trình này không nhận dạng số nhiều. Chúng ta thấy rằng phương pháp trên là rất phổ biến, bởi vì chúng tôi đã luôn luôn ghi nhớ nó như thế này. Trên thực tế, công thức tìm kiếm gốc này rất khó tìm ra và có cảm giác như nó được ghép lại với nhau. Chúng ta có một cách khác để lấy công thức tìm gốc một cách dễ hiểu hơn. Mô tả ngắn gọn như sau: Đối với phương trình ax2 + bx + c = 0, giả sử rằng hai nghiệm nguyên của nó là R và S, phương trình có thể biến đổi thành: (x-R) (x-S) = 0, được khai triển thành x2- (R + S) x + RS = 0, sau đó chuyển phương trình ban đầu thành: x2 + (b / a) x + c / a = 0, so sánh hai phương trình để được:
Theo kết quả trên R + S = -b / a, có thể thấy rằng giá trị trung bình của R và S là -b / a, sau đó nó có thể được chuyển thành:
Ta thấy Z này tương đương với việc tìm hai gốc. Sử dụng R * S = c / a, biến đổi thành:
Căn bậc hai Z = sqrt (b2 / 4a2-c / a) và công thức trước đó được sử dụng để lấy:
Các tuyến đường khác nhau dẫn đến cùng một mục tiêu. Nhưng ý tưởng giải quyết vấn đề này rõ ràng hơn nhiều. Điều rất đáng ngạc nhiên là lý do rõ ràng này chỉ được phát hiện gần đây (2019.12, Luo Boshen), và không ai phát hiện ra nó trong hàng nghìn năm. Khi tôi nhìn thấy lý do này lần đầu tiên, tôi chỉ nghĩ: Tại sao tôi không tìm thấy một lý do đơn giản như vậy?
Lorem ipsum dolor sit amet, consectetur adipiscing elit.Morbi adipiscing gravdio, sit amet suscipit risus ultrices eu.Fusce viverra neque at purus laoreet consequa.Vivamus vulputate posuere nisl quis consequat. Create an account Program GIAI_PHUONG_TRINH_BACII; Uses crt; Var a,b,c,d,x,x1,x2: real; Begin Clrscr; Writeln('GIAI PHUONG TRINH BAC II: '); Writeln('-------------------------------------------'); Write('Nhap he so a='); readln(a); Write('Nhap he so b='); readln(b); Write('Nhap he so c='); readln(c); If a=0 then If b=0 then If c=0 then Writeln('Phuong trinh co vo so nghiem') Else Writeln('Phuong trinh vo nghiem') Else Writeln('Phuong trinh co mot nghiem: x=',-c/b: 4: 2) Else Begin D:=b*b-4*a*c; If D=0 then Writeln('Phuong trinh co nghiem kep: x=',-b/(2*a): 4: 2) Else If D<0 then Writeln('Phuong trinh vo nghiem') Else Begin x1:=(-b-sqrt(D))/(2*a); x2:=(-b+sqrt(D))/(2*a); Writeln('Pt co 2 nghiem la x1= ',x1:4:2 ,' va x2=',x2:4:2); End; End; Readln End.
Giải phương trình bậc 2 (ax2+ bx + c =0)
thuật toán giải phương trinhg bậc 2 Chú ý: Thuật toán trên không xét các trường hợp a, b, c bằng 0 như code ở dưới, code thì đầy đủ hơn. 2. Code pascal giải PT bậc IIProgram GIAI_PHUONG_TRINH_BACII; Uses CRT; {Su dung thu vien CRT} Var a,b,c,D,x,x1,x2: real; Begin Clrscr; {xoa man hình, neu khong USES CRT thi lenh nay se bi bao loi} Writeln('GIAI PHUONG TRINH BAC II: '); Writeln('-------------------------------------------'); Write('Nhap he so a='); readln(a); {Viet thong bao nhap a vaf cho nhap he so a vao tu ban phim } Write('Nhap he so b='); readln(b); {Viet thong bao nhap b vaf cho nhap he so b vao tu ban phim } Write('Nhap he so c='); readln(c); {Viet thong bao nhap c vaf cho nhap he so c vao tu ban phim } If a=0 then If b=0 then If c=0 then Writeln('Phuong trinh co vo so nghiem') {a=0, b=0, c=0 } Else Writeln('Phuong trinh vo nghiem') {a=0, b=0, c<>0} Else Writeln('Phuong trinh co mot nghiem: x=',-c/b: 4: 2) {a=0, b<>0} Else {a <> 0} Begin D:=b*b-4*a*c; If D=0 then Writeln('Phuong trinh co nghiem kep: x=',-b/(2*a): 4: 2) {Delta =0} Else If D<0 then Writeln('Phuong trinh vo nghiem') {Delta <0} Else {Delta >0} Begin x1:=(-b-sqrt(D))/(2*a); x2:=(-b+sqrt(D))/(2*a); Writeln('Phuong trinh co 2 nghiem la x1= ',x1:4:2 ,' va x2= ',x2:4:2); End; End; Readln {Truoc END. thi khong can dau ;} End.3. Xem thêm
4. Videos hướng dẫn
3.6 58 votes Đánh giá bài viết |