Nhóm: 13 I. Danh sách thành viên: Thành viên 1 Lạc Phương Bình 2052 1116 Thành viên 2 Đặng Anh Khoa 2052 0217
II. Bảng phân công công việc:
2052 1116: 3a (code) 2052 0217: 3a (flowchart) + 3b III. Nội dung Bài thu hoạch Bài tập 3: a) -Đọc và lưu số phần tử N của mảng. Nếu N <= 0 hoặc N > 50, báo lỗi và yêu cầu nhập lại. -Đọc và lưu giá trị của phần tử đầu tiên trong mảng N. -Gán giá trị của MAX, MIN, SUM bằng giá trị của N và counter bằng 1 (Vì đã nhập phần tử đầu tiên) -Bắt đầu vòng lặp với counter = 2, counter tăng 1 mỗi vòng lặp và dừng lại khi counter > N: +Kiểm tra điều kiện vòng lặp, nếu không thỏa mãn thì kết thúc vùng lặp +Nhập giá trị array[i] +SUM += array[i] +Nếu array[i] < MIN thì gán MIN bằng array[i], chuyển sang vòng lặp tiếp theo (Không xét MAX vì nếu array[i] là MIN thì không thể lớn hơn bất kỳ phần tử nào khác) +Nếu array[i] > MAX thì gán MAX bằng array[i] +Chuyển sang vòng lặp tiếp theo -Xuất giá trị MAX, MIN, SUM -Đọc và lưu chỉ số i của mảng. Nếu i < 0 hoặc >= N, báo lỗi và yêu cầu nhập lại. -Tìm địa chỉ của phần tử array[i] bằng cách cộng địa chỉ cơ bản của mảng array với 4(i-1) . -Xuất giá trị của phần tử array[i] với địa chỉ vừa tìm được Flowchart: b) la $t1, $s1 sll $t1, 2 add $t1, $t1, $s3 #$t1: address A[i] slt $t0, $s0, $s1 beq $t0, $zero, __else #if (i<j) sw $s0, ($t1) #A[i] = i __else: #else sw $s1, ($t1) #A[i] = j