BT cơ bản ứng dụng hàm random pascal

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/

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:=1 to n do
		begin
			a[i]:=random(1001);
			if a[i] mod 2=0 then
				begin
					write(a[i],' ');
					if a[i]>max then
						max:=a[i];
				end;
		end;
	writeln;
	if max=-1 then
		writeln('Khong co so chan nao')
	else
		writeln('So chan lon nhat la ',max);
	readln;
end.

7 thoughts on “BT cơ bản ứng dụng hàm random pascal

    • Em để ý đề nha, các phần tử có giá trị từ [0..1000], như vậy ban đầu mình khởi tạo 1 số không có trong đoạn đó và nhỏ nhất, thì khi xét 1 số, miễn nó chia hết cho 2 thì em cứ cập nhật max. như vậy khi sau 1 lượt xét mà vẫn là -1 thì rõ ràng không có số nào hợp lệ rồi.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *