1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ thống máy tính và Ngôn ngữ lập trình: Chương 11 - PGS.TS. Đặng Thành Tín

60 83 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 445,87 KB

Nội dung

Bài giảng Hệ thống máy tính và Ngôn ngữ lập trình - Chương 11: Lớp lưu trữ của biến, sự chuyển kiểu cung cấp cho người học các kiến thức: Khái niệm, biến cụ bộ và biến toàn cục, biến tĩnh, khởi động trị cho biến ở các lớp,... Mời các bạn cùng tham khảo.

CHƯƠNG 11 MẢNG CHƯƠNG 11 MẢNG 11.1 Khái niệm 11.2 Khai báo mảng 11.3 Khởi động trò mảng 11.4 Mảng đối số hàm mảng biến toàn cục 11.5 Các ứng dụng Bài tập cuối chương CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.1 KHÁI NIỆM Mảng biến cấu trúc có nhiều phần tử kiểu, phần tử biến thành phần mảng Mỗi biến thành phần biến bình thường có cước số (subscript) để phân biệt phần tử phần tử Như vậy, để truy xuất phần tử mảng, ta cần biết cước số Trong nhớ, phần tử mảng cấp phát ô nhớ có đòa liên tiếp CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.1 KHÁI NIỆM C cho phép lập trình viên khai báo làm việc mảng chiều (singledimensional array) mảng nhiều chiều (multidimensional array) Số phần tử chiều gọi kích thước chiều CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.2 KHAI BÁO MẢNG 1- Mảng chiều Cú pháp khai báo mảng chiều sau: kiểu tên_mảng [kích_thước]; Với kích_thước số nguyên cụ thể, cho biết số phần tử chiều xét Trong C, cước số phần tử mảng từ trở đi, nên mảng chiều có n phần tử cước số phần tử mảng 0, , n-1 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.2 KHAI BÁO MẢNG 1- Mảng chiều Ví dụ: Cho khai báo sau: int a[10], x; Như mảng a có 10 phần tử int, phần tử a[0], a[1], …, a[9] Các phần tử cấp phát vị trí nhớ hình 12.1 sau CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.2 KHAI BÁO MẢNG 1- Mảng chiều Lệnh a[5] = a[3] + 1; có mã LC-3 sau: ADD R0, R5, #-9 LDR R1, R0, #3 ADD R1, R1, #1 STR R1, R0, #5 CuuDuongThanCong.com ; R0 = &a[0]: địa a[0] ; R1 = a[3] ; tăng ; a[5] = R1, tức a[5] = a[3] + https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.2 KHAI BÁO MẢNG 1- Mảng chiều Lệnh a[5] = 7; có mã LC-3 sau: AND R0, R0, #0 ADD R0, R0, #7 ; R0 = ADD R1, R5, #-9 ; R1 = &a[0]: địa phần tử a[0] STR R0, R1, #5 ; a[5] = R0 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.2 KHAI BÁO MẢNG 1- Mảng chiều Còn lệnh a[x+1] = a[x] + 2; với x biến chứa trị số cần làm việc, có mã LC-3 sau: LDR R0, R5, #-10 ; R0 = x ADD R1, R5, #-9 ; R1 = &a[0] ADD R1, R0, R1 ; R1 = &a[x] LDR R2, R1, #0 ; R2 = a[x] ADD R2, R2, #2 ; cộng thêm CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.2 KHAI BÁO MẢNG 1- Mảng chiều LDR ADD ADD ADD STR R0, R5, #-10 ; R0 = x R0, R0, #1 ; R0 = x+1 R1, R5, #-9 ; R1 = &a[0] R1, R0, R1 ; R1 = &a[x+1] R2, R1, #0 ; a[x+1] = R2 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.2 KHAI BÁO MẢNG 1- Mảng chiều Ví dụ : Viết chương trình nhập dãy số nguyên, tìm số lớn dãy số ñoù #include #include main() { int i, n, max, vtmax; int a[100]; clrscr(); CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.1 Sắp xếp mảng 2- Quick sort Giá trò tầm tính trung bình cộng hai phần tử sau phần mảng xếp Giải thuật chuyển tất phần tử có giá trò nhỏ giá trò tầm sang phần có số thấp mảng, chuyển tất phần tử có giá trò lớn giá trò tầm sang phần có số cao mảng CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 86 Trò tầm 10 23 12 67 Vò trí mảng 59 47 31 24 Bước 1: 55 86 10 23 12 67 59 47 31 24 Bước 2: 35 24 10 23 12 31 47 59 67 86 Bước 3: 27 24 10 23 12 31 47 59 67 86 Bước 4: 18 24 10 23 12 31 47 59 67 86 Bước 5: 11 12 10 23 24 31 47 59 67 86 Bước 6: 10 12 23 24 31 47 59 67 86 Bước 7: 23 10 12 23 24 31 47 59 67 86 Bước 8: 72 10 12 23 24 31 47 59 67 86 Bước 9: 63 10 12 23 24 31 47 59 67 86 10 12 23 24 31 47 59 67 86 Bước 10: 63 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.1 Sắp xếp mảng 3- Select sort Giải thuật tìm giá trò lớn đưa vò trí có cước số thấp nhất, sau tìm giá trò lớn thứ nhì đưa vò trí có cước số thấp nhì, trình diễn tương tự hết Ví dụ 8.14 (SGT) CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.2 Stack Stack (tạm dòch ngăn xếp) kiểu cấu trúc liệu lập trình viên tự lập ra, cần, lập trình viên thêm phần tử vào stack, xóa phần tử khỏi stack Đặc điểm cấu trúc liệu liệu ghi vào lấy khỏi stack theo trật tự vào trước sau (last-in first-out) CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.2 Stack Các thao tác cần có để làm việc stack: - Khởi động stack, tương ứng với hàm init_stack() cần thiết kế - Các hàm để xem stack rỗng, đầy, hay xem trò đỉnh stack - Đẩy phần tử vào stack, tương ứng hàm push() cần thiết kế - Lấy phần tử từ đỉnh stack ra, tương ứng với hàm pop() cần thiết kế CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.2 Stack Ví dụ: CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.2 Stack Chương trình ứng dụng stack (SGT) CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.3 Queue Queue cấu trúc liệu, việc thêm liệu vào thực đầu, việc lấy phần tử khỏi queue thực đầu Dữ liệu vào queue theo trật tự vào (first-in first-out) CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.3 Queue Cũng tương tự stack, thao tác cần có để làm việc queue: - Khởi động queue, tương ứng với hàm init_queue() cần thiết kế - Các hàm để xem queue rỗng, đầy - Thêm phần tử vào queue, tương ứng hàm addqueue() cần thiết kế - Lấy phần tử khỏi queue, tương ứng với hàm deletequeue() cần thiết kế CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.3 Queue Ví dụ: CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11.5 CÁC ỨNG DỤNG 11.5.3 Queue Ví du (SGT) CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG BÀI TẬP CUỐI CHƯƠNG Nhập ma trận n x n bất kỳ, xếp lại ma trận cho trò lớn hàng, nằm đường chéo ma trận Viết chương trình tạo in hình ma trận có dạng sau: a b c d b c d a c d a b n : tham soá nhập d a b c n CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG BÀI TẬP CUỐI CHƯƠNG Nhập chuỗi từ bàn phím, xóa tất ký tự khoảng trắng thừa chuỗi in hình chuỗi Nhập dãy số từ bàn phím Viết hai hàm để in hình biểu đồ ngang biểu đồ dọc dấu * tương ứng với số nhập dãy số Ví dụ: Nhaäp 3; *** ** *** **** ** *** * CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG BÀI TẬP CUỐI CHƯƠNG Viết chương trình tạo in hình tam giác PASCAL cấp n, với n nhập từ bàn phím Viết chương trình tạo ma trận nghòch đảo n x n Viết chương trình giải hệ phương trình tuyến tính phương pháp Gauss CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG BÀI TẬP CUỐI CHƯƠNG Nhập ma trận vuông bất kỳ, tính tổng hàng, cột, đường chéo Nhập ma trận In hình trò vò trí số nguyên tố có mảng 10 Viết hàm đổi từ số sang chuỗi, từ chuỗi sang soá CuuDuongThanCong.com https://fb.com/tailieudientucntt ... https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11. 2 KHAI BÁO MẢNG 2- Mảng nhiều chiều Ví dụ: Viết chương trình tạo sau: 0 0 0 CuuDuongThanCong.com in hình ma trận có dạng 0 https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11. 2... https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11. 2 KHAI BÁO MẢNG 2- Mảng nhiều chiều Giả sử trị nhập vào là: 10 11 Mảng a[3][3], phần ma trận a[MAX][MAX] CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG... https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11. 2 KHAI BÁO MẢNG 2- Mảng nhiều chiều Ví dụ : Chương trình truy xuất chuỗi dùng hàm chuẩn C CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 11 MẢNG 11. 2 KHAI

Ngày đăng: 11/01/2020, 18:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN