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.

Để lại một bình luận

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 *