Tính Căn Bậc Hai Trong Pascal. - Khiêm

Thứ Ba, 15 tháng 9, 2015

tính căn bậc hai trong pascal.

Trong lập trình pascal để tinh căn bậc hai cảu một số ta chỉ cần dung hàm sqrt thật là đơn giản đúng không các bạn!! Nhưng để tinh được một căn bậc hai ta phải dùng một thuật toán vô cùng ngắn gọn và đơn giản mà không cần sử dụng hàm sqrt!!! Căn bậc hai của y được định nghĩa là số x sao cho: x^2 == y hay x = y / x. Nếu x là kết quả thì x = y / x, còn nếu không kết quả sẽ phải là 1 số x’ nằm trong khoảng x và y/x. Ta không biết số này là bao nhiêu, nhưng ta có 1 cách để đoán lấy 1 số trong khoảng này đó là trung bình cộng! Ví dụ: cần tính căn bậc 2 của 3. Ta đoán kết quả là 1.0. Kết quả này không đúng rồi, nên đáp số sẽ nằm trong khoảng 1.0 và 3/1.0 = 2.0. Lấy trung bình cộng lần 1 ta có kết quả là 1.5. Lại thử với 1.5 và 3/1.5 = 2.0 ta có kết quả là 1.75! Sau nhiều lần lặp ta sẽ có kết quả tiệm cận với đáp số! Vì ta không có kết quả chính xác, nên số lần lặp sẽ là vô hạn. Tuy vậy tại mỗi bước lặp, ta sẽ thử xem kết quả đủ chính xác theo yêu cầu chưa. Ví dụ nếu đáp số hiện tại là x = 1.73, x^2 = 2.99 và ta chỉ cần độ chính xác đến 2 số sau dấu phẩy, thì 1.73 là đáp án phù hợp. Do vậy ta sẽ có chương trình tính căn bậc 2 như sau: program can_bac_hai; uses crt; var x,i:integer; t:real; begin clrscr; write('Nhap x: '); {hien thi cau lenh } readln(x); {nhap so can tinh can } t:=x / 2; for i:=1 to x do {vong lap cho x} if ((t*t-x)/2) <0 then while ((t*t-x)/2)*-1 >=0.000001 do t:=(x/t-t)/2+t else while (t*t-x)/2>=0.000001 do t:=(x/t-t)/2+t; writeln('Can bac 2 cua ',x,' la : ' ,t:2:2); readln end.

1 nhận xét:

  1. kumlúc 21:40 24 tháng 3, 2022

    hay

    Trả lờiXóaTrả lời
      Trả lời
Thêm nhận xétTải thêm... Trang chủ Đăng ký: Đăng Nhận xét (Atom)

Giới thiệu về tôi

Unknown Xem hồ sơ hoàn chỉnh của tôi

Lưu trữ Blog

  • ▼  2015 (1)
    • ▼  tháng 9 (1)
      • tính căn bậc hai trong pascal.

Từ khóa » Viết Căn Bậc 2 Trong Pascal