Viết chương trình tạo mảng ngẫu nhiên pascal

Trong quá trình viết chương trình mà yêu cầu nhập xuất từ file và các bài toán liên quan đến mảng tôi rất hay tạo dãy số ngẫu nhiên trong Pascal để làm bộ test cho chương trình của mình, việc viết cho mình một code sinh test giúp chúng ta tiết kiệm rất nhiều thời gian để kiểm tra một chương trình. Xin giới thiệu với các bạn một bài toán có sử dụng kĩ thuật sinh dãy số ngẫu nhiên trong Pascal hay hàm random trong pascal . Hãy tham khảo bên dưới với onthihsgnhé.

Video hàm random trong pascal

Random trong pascal là gì

Để sinh số ngẫu nhiên trong pascal đầu tiên bạn phải đặt câu lệnh ” randomize; ” ở đầu chương trình. câu lệnh này có chức năng sinh ra số khác với lần sinh trước đó. nếu không có nó bạn sẽ thường xuyên thấy nó giống với lần chạy trước đó.

Viết chương trình tạo mảng ngẫu nhiên pascal

Cách sử dụng hàm random trong pascal

sử dụng sử dụng random:

Random(N);  { kết quả sẽ trả về là 1 số nguyên trong đoạn từ [0..N-1] }.

Như vậy VD nếu bạn muốn sinh ra số ngẫu nhiên trong khoảng [0..25] chẳng hạn thì phải viết như sau:

begin

     randomize;

     writeln(random(26));

     readln;

end.

và tùy theo bạn muốn ngẫu nhiên trong đoạn nào. thì bạn có thể dùng repeat until để chặn điều kiện hoặc có thể dùng phép cộng trừ các bạn cứ comment phía dưới. mình sẽ viết code cho.

Hướng dẫn bài tập lệnh random trong pascal

Bài toán: Viết chương trình để máy tính tự động tạo mảng n (n<1000) số nguyên (các số nguyên đều dương và nhỏ hơn 10).

Dữ liệu vào file: Random.inp Dữ liệu ra file: Random.out
Chứa số n Chứa n số được tạo ra ngẫu nhiên

Trước hết giới thiệu với các bạn một số hàm tạo số ngẫu nhiên trong Pascal:

– Random(n): Cho số tự nhiên lớn hơn hoặc bằng 0 và nhỏ hơn n

Random: Cho giá trị số thực nằm trong khoảng 0 và 1

Khi sử dụng hàm để sinh số ngẫu nhiên ta nên để lệnh Randomize; ở đầu chương trình để khởi động chế độ phát sinh số ngẫu nhiên nếu không lần chạy nào các số cũng sinh ra giống nhau.

Các bạn hãy vận dụng kĩ thuật sinh số ngẫu nhiên để sinh test cho những bài toán sau:

  • Cắt mảng theo một tỉ lệ
  • Tỉa mảng một chiều

Sẽ đỡ mất thời gian rất nhiều đó.

Code về hàm random trong pascal

Back to top button

Contact for work: 096.1014.106 (Mr. Tiến)

1. Đề bài về hàm random pascal

Em hãy khai báo một mảng có 1000 phần tử, có giá trị từ [0..1000]. Tạo mảng ngẫu nhiên gồm N (N<=1000) phần tử.

2. Yêu cầu

  • Xuất ra các số chẳn trên 1 dòng
  • Đưa ra số chẳn lớn nhất

3. Code mẫu tham khảo

Lưu ý đây chỉ là bài tập vận dụng, để xem lại lý thuyết vui lòng xem tại đây https://kienthuc24h.com/ham-random-sinh-ngau-nhien-trong-pascal/

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

program bai1;

var

A:array[1..1000]of word;

i,n:word;

max:integer;

begin

randomize;

writeln('So phan tu N = ');read(n);

max:=-1;// neu sau khi chay dong for ma max van la -1 thi trong mang ko co so nao la so chan

for i:=1tondo

begin

a[i]:=random(1001);

ifa[i] mod2=0then

begin

write(a[i],' ');

ifa[i]>max then

max:=a[i];

end;

end;

writeln;

ifmax=-1then

writeln('Khong co so chan nao')

else

writeln('So chan lon nhat la ',max);

readln;

end.

Bài viết liên quan

  • Phân tích một số bài tập Nhập môn lập trình C++
  • [C++] Đọc số thành chữ – hàng triệu
  • [C++] Bài 110: Chia 200000 bằng các loại giấy 1000đ, 2000đ, 5000đ
  • [C++] Chữ số chính giữa là lớn nhất
  • P167PROE spoj PTIT – ROUND 7E – Phương trình
  • PTIT016E spoj PTIT – ACM PTIT 2016 E – Kỳ thi ACM/ICPC
  • PTIT016D spoj PTIT- ACM PTIT 2016 D – Biểu thức
  • Spoj PTIT PTIT016C – ACM PTIT 2016 C – Chẵn lẻ
  • [C++] Viết chương trình tính tổng các số nguyên tố nhỏ hơn N
  • [C++] Viết chương trình tìm UCLN, BCNN của 2 số a, b

Post navigation