Bài 2: Trên ngôn ngữ MC, dựa theo các số liệu thống kê, người thiết kế ngôn ngữ đã quyết định lưu trữ một đối tượng dữ liệu thuộc kiểu dãy một chiều (vector) như sau: Nếu số phần tử của dãy nhỏ hơn 10, các phần tử của dãy sẽ được lưu trữ theo chỉ số tăng dần, ngược lại sẽ được lưu trữ theo chỉ số giảm dần (do số liệu thống kê cho thấy khi số phần tử của một dãy lớn hơn 10, chương trình thường có khuynh hướng truy xuất các phần tử cuối của dãy nhiều hơn các phần tử đầu tiên)
a. Vẽ khối lưu trữ 5 phần tử đầu của các dãy sau (các câu vẽ phải bao gồm đủ các thành phần)
a1: Array [-2..4] of real; a2: Array [-6..6] of integer;
b. Tính địa chỉ truy xuất phần tử A[I] của dãy sau:
A: Array[LB..UB] of integer.
Bài 3: Vẽ khối lưu trữ với năm phần tử đầu tiên và tính địa chỉ truy xuất phần tử A[I,J] của các dãy sau trong các trường hợp sử dụng phương pháp đánh thứ tự i)
column- major; ii)
row-major
a. A: Array [-2..1,3..5] of real
b. A: Array [-1..1,-2..0] of integer;
Bài 4: Cho khai báo một đối tượng dãy hai chiều như sau
A: Array1 [LB1..UB1] of Array2 [LB2..UB2] of integer
Array1 và
Array2 đều là cú pháp mô tả dãy một chiều, tuy nhiên
Array1 đánh số các phần tử theo chỉ số tăng dần còn
Array2 giảm dần.
Tính công thức tính địa chỉ của phần tử A[I,J].
Bài 5: Tính công thức tính địa chỉ tổng quát của một dãy ba chiều trong các trường hợp i) column- major; ii) row-major
Bài 6: Tính công thức tính địa chỉ tổng quát của một dãy n chiều trong các trường hợp i) column- major; ii) row-major
Bài 7: Generate the result tables for
the corresponding programs
a)
Bài 7:
-
Giả sử kích thước của một đối tượng kiểu integer là 2, real là 4, boolean là 1 (theo đơn vị byte). Kiểu tập hợp lưu trữ dưới dạng chuỗi bit. Cho biết kích thước phần mô tả bằng 0, hãy tính (và giải thích) kích thước của một đối tượng dữ liệu có kiểu được định nghĩa như sau:
Record
A: set of 0..15;
B: boolean;
Case b of
True: (c:interger);
False: (e :real; f:integer; g: boolean);
End
-
Vẽ khối lưu trữ với năm phần tử đầu tiên và tính địa chỉ truy xuất phần tử A[I, J, K] của dãy sau (cho biết công thức tổng quát và sau đó thay số cụ thể). Giả sử dãy được lưu trữ dùng phương pháp đánh thứ tự theo row-major.
A: array [2..4, -1..2, 4..6] of real;