Random

Chia sẻ bởi Trần Trung | Ngày 26/04/2019 | 35

Chia sẻ tài liệu: Random thuộc Tin học 12

Nội dung tài liệu:

Mưa hay bài toán số ngẫu nhiên
Mưa! trú ngay, không thì ướt hết!
Trú mưa dưới gốc cây, nhìn những hạt mưa rơi. Những hạt mưa rơi ngẫu nhiên và đều khắp. Thật khó mà đoán được hạt mưa tiếp theo sẽ rơi chỗ nào. Bởi thế đã có nhà thơ viết "Thân em như hạt mưa sa...". Có hàng vạn các qui luật trên đời này, sự ngẫu nhiên thì làm được trò trống gì cơ chứ? Vậy mà chúng ta lại có thể chứng minh điều ngược lại: sự ngẫu nhiên lại rất hữu ích. Ai cũng biết diện tích S của hình tròn bán kính r được tính theo công thức S= II r2. Có điều các em chưa biết là có thể tính được giá trị của số II nhờ những dọt nước mưa rơi ngẫu nhiên. Để tính toán chúng ta cần mô phỏng lại một trận mưa trên máy tính.
Cho mưa rơi vào một hình vông cạnh dài bằng 1. Nhớ là mưa phải rơi ?đúng như thật?, tức là phải rơi ngẫu nhiên. Đếm số hạt mưa rơi vào hình quạt như hình vẽ bên. Rồi chia cho tổng số các hạt mưa. Phân số thu được tiến dần tới giá trị II/4. Hãy chạy khúc trình sau.
Uses Crt;
Var x,y:real; {(x,y) toạ độ của hạt mưa}
n,m:real;
Begin
n:=0;m:=0;randomize;
Repeat
x:=random;y:=random; {rơi ngẫu nhiên}
if x*x+y*y<=1 then n:=n+1; {đếm số rơi vào hình quạt}
m:=m+1; {tổng số tất cả các hạt mưa}
writeln(4*n/m:10:6); {chia cho nhau}
Until keypressed;
End.
. Cho máy chạy(Giá trị in ra trên màn hình tiến dần đến số càng lâu chúng ta càng thu được giá trị chính xác. Thật ngạc nhiên vì sự đơn giản của thuật giải. Một ví dụ tiếp theo. Cho biết 5x2+8x-37=0. Tìm một giá trị nghiệm của x với độ chính xác 0.01.
Trước hết uớc luợng -8 < x < 8 cho nên chỉ cần tìm x trong khoảng [-8,8].
Var x:real;
Begin
Randomize; {Khởi tạo quá trình tạo số ngẫu nhiên}
Repeat
X:=8*(2*random-1); {chọn ngẫu nhiên một số trong khoảng [-8,+8]}
Until abs(5x*x+8x-37) < 0.01; {dừng nếu |5x2+8x-37|<0.01}
Write(x:8:5);
End.
Ghi lại giá trị của x. Cho chạy trình trên vài lần, chúng ta sẽ thu được tất cả các nghiệm của phương trình 5x2+8x-37=0.
Gải gần đúng các phương trình
1. x3+8x2-7=0
2. cos(x)=x.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Trần Trung
Dung lượng: | Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)