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!
Wednesday, December 25, 2013



Gia sư tin học và bài toán Sinh ngẫu nhiên theo khoảng

        Sinh ngẫu nhiên cho mảng nguyên a n phần tử  trong khoảng -M..M; M > 0.
Đặc tả
Ta viết thủ tục tổng quát Gen(n,d,c) - sinh ngẫu nhiên n số nguyên trong khoảng từ d đến c (d < c) (xem bài giải 1.4). Để giải bài 2.1 ta chỉ cần gọi
Gen(n,-M,M).
Để ý 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.
(*-----------------------------------------
 sinh ngau nhien n so nguyen trong khoang
        d den c va ghi vao mang a
----------------------------------------- *)
Procedure Gen(n,d,c: integer);
var i,len: integer;
begin
randomize;
len := c-d+1;
   for i:=1 to n do a[i]:= d+random(len);
end;
(*  Pascal  *)
(*------------------------------------------
      Sinh ngau nhien cho mang nguyen a
      n phan tu trong khoang -M..M; M > 0.
-------------------------------------------*)
program RGen;
uses crt;
const MN = 1000;
var a: array[1..MN] of integer;
(*--------------------------------------------
      sinh ngau nhien n so nguyen trong khoang
      d den c va ghi vao mang a
------------------------------------------ *)
Procedure Gen(n,d,c: integer); tự viết
procedure Xem(n: integer); Hiển thị mảng a, tự viết
procedure Test;
var n: integer;
begin
n := 20;
{ sinh ngau nhien 20 so trong khoang -8..8 }
Gen(n,-8,8);
Xem(n);
readln;
end;
BEGIN
   Test;
END.

0 comments:

Post a Comment

Popular Posts