Kênh Tên Miền chuyên cung cấp tên miền đẹp, giá rẻ! Hãy liên hệ kỹ thuật: 0914205579 - Kinh doanh: 0912191357 để được tư vấn, hướng dẫn miễn phí, Cảm ơn quý khách đã ủng hộ trong thời gian qua!
Sunday, December 22, 2013



Mảng ngẫu nhiên - gia sư tin học, pascal nâng cao



      Sinh ngẫu nhiên n số nguyên không âm cho mảng nguyên a.


Đặc tả
Trong TP hàm random(n) sinh một số ngẫu nhiên kiểu nguyên nằm trong khoảng từ 0 đến n - 1. Hãy tưởng tượng có một quân súc sắc n mặt mã số các mặt từ 0 đến n - 1. Khi ta gọi hàm random(n) thì máy tính sẽ gieo quân súc sắc đó và cho ta giá trị xuất hiện trên mặt ngửa.
Trong C# phương thức Next(n) của lớp Random hoạt động tương tự như random(n)của TP.
Chú ý
      1. Trước khi gọi hàm randomta cần gọi thủ tục randomize để máy tính khởi động cơ chế phát sinh số ngẫu nhiên.
      2. Thủ tục Gen(m)trong chương trình dưới đây sinh ngẫu nhiên msố nguyên trong khoảng từ 0 đến m - 1. Ta có thể cải tiến để viết thủ tục Gen(n,d,c) - sinh ngẫu nhiên nsố nguyên trong khoảng từ d đến c (d < c) như sau.
Để ý rằng random(c–d+1)biến thiên trong khoảng từ 0 đến c–d, do đó d+random(c–d+1)sẽ biến thiên trong khoảng từ d đến d+c–d = c.
 (*  Pascal  *)
program RandomGen;
(*------------------------------------------
Sinh ngau nhien n so nguyen
khong am cho mang a
------------------------------------------- *)
{$B-}
uses crt;
const MN = 500;
var
a: array [1..MN] of integer;
n: integer;
Procedure Gen(m: integer);
var i: integer;
begin
randomize; n := m;
   for i := 1 to n do a[i] := random(m);
end;
procedure Xem: tự viết;
BEGIN
Gen(200); Xem;
END.
 

0 comments:

Post a Comment

Popular Posts