cho mình hỏi lỗi này trong free là như thế nào

1. giới hạn trên của dải ô nhớ nhỏ hơn giới hạn dưới
2.cho mình hỏi thêm luôn là" số lượng phần tử tối đa của mảng đối với các kiểu dữ liệu trong free pascal la bao nhiêu phần tử
VD khi khai báo mang integer thì mảng này sẽ có tối đa là bao nhiêu phần tử
 

tengiday

Happy life
1) Lỗi này xảy ra khi bạn khai báo mảng mà index từ lớn tới nhỏ. Ví dụ khai báo như sau là sai:
Mã:
 var a : array[10..1] of integer;
Bạn nên đảo giới hạn lại.

2) Trong Free Pascal, mảng khai báo đc bao nhiêu phần tử phụ thuộc vào bộ nhớ của máy bạn (và stack size nếu trong function/procedure).
Ví dụ: integer là 2 bytes. Nếu máy bạn còn trống 4 GB thì sức chứa tối đa là: 4 * 2^10 * 2^10 * 2^10 / 2 = 2^31 = 2 147 483 648 phần tử.
Bạn ko nên quá chú ý bộ nhớ lớn cỡ nào mà hãy chú ý số lượng phép tính toán. Bạn thử 1 vòng 'for' từ 1 tới 2 tỷ ko làm gì cả rồi xem máy chạy vô cùng chậm. Tức là bạn có lưu đc dữ liệu cũng xử lý ko đc.
 
Top