Bỏ qua để đến nội dung

Xử lý danh sách (List)

Thay vì chỉ lưu một giá trị trong một biến, ta dùng danh sách (list) để lưu nhiều giá trị cùng lúc, rồi áp dụng lại các kỹ thuật đã học (vòng lặp, điều kiện) để xử lý toàn bộ dữ liệu đó. Gồm 2 phần: ôn lý thuyết danh sách, sau đó thực hành 25 bài - tính tổng/trung bình, tìm lớn nhất/nhỏ nhất, đếm, tìm kiếm, loại bỏ trùng lặp…

Vào nhóm Các biến số (màu đỏ cam) → bấm Tạo một danh sách → đặt tên (ví dụ (danh sách :: list)) → chọn phạm vi, tương tự tạo biến. Xem thêm ở bài Danh sách.

thêm phần tử [10] vào trong [danh sách v]
xóa phần tử thứ (1) của [danh sách v]
Xóa hết tất cả trong liệt kê [danh sách v]
thêm phần tử [5] tại vị trí (1) của [danh sách v]
thay thế phần tử thứ (1) của danh sách [danh sách v] bằng [99]
(phần tử thứ (1) của [danh sách v])
(kích thước của [danh sách v])
<[danh sách v] chứa phần tử [10]?>
(số thứ tự của [10] trong [danh sách v])

(kích thước của [danh sách v]) trả về số phần tử hiện có trong danh sách - luôn dùng làm điều kiện dừng khi duyệt qua toàn bộ danh sách. (số thứ tự của () trong [danh sách v]) trả về 0 nếu giá trị đó không có trong danh sách.

khi bấm vào @greenFlag
đặt [i v] thành (1)
lặp lại cho đến khi <(i) > (kích thước của [danh sách v])>
nói (phần tử thứ (i) của [danh sách v]) trong (0.3) giây
thay đổi [i v] một lượng (1)

Kết hợp biến đếm (i) với lặp lại cho đến khi <(i) > (kích thước của [danh sách v])> để đi qua từng phần tử - cách làm này lặp lại ở hầu hết các bài dưới đây.

Nhập nhiều phần tử vào danh sách (mẫu dùng lại nhiều lần)

Phần tiêu đề “Nhập nhiều phần tử vào danh sách (mẫu dùng lại nhiều lần)”
khi bấm vào @greenFlag
Xóa hết tất cả trong liệt kê [danh sách v]
hỏi [Nhập số lượng phần tử:] và đợi
đặt [n v] thành (trả lời)
đặt [i v] thành (1)
lặp lại cho đến khi <(i) > (n)>
hỏi [Nhập phần tử tiếp theo:] và đợi
thêm phần tử (trả lời) vào trong [danh sách v]
thay đổi [i v] một lượng (1)

Hỏi trước số lượng phần tử N, rồi lặp lại N lần việc hỏi và thêm vào danh sách - đây là bước nhập liệu đầu tiên của gần như mọi bài thực hành bên dưới, nên chỉ giải thích một lần ở đây.

Phần 2 - Thực hành: 25 bài xử lý danh sách

Phần tiêu đề “Phần 2 - Thực hành: 25 bài xử lý danh sách”

Nhập N số bất kỳ vào danh sách, sau đó hiện danh sách lên sân khấu.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhập danh sách, sau đó xoá phần tử tại vị trí do người dùng nhập.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 3: Chèn phần tử vào vị trí cho trước

Phần tiêu đề “Bài 3: Chèn phần tử vào vị trí cho trước”

Nhập danh sách, sau đó chèn thêm một giá trị vào vị trí do người dùng chọn (không ghi đè phần tử cũ).

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhập danh sách, sau đó thay giá trị tại một vị trí do người dùng chọn bằng giá trị mới.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhập danh sách, hiện số phần tử hiện có, rồi xoá sạch toàn bộ và hiện lại số phần tử (bằng 0).

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhập danh sách các số, tính tổng tất cả phần tử.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhập danh sách các số, tính trung bình cộng.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhập danh sách các số, đếm xem có bao nhiêu phần tử là số chẵn.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 9: Đếm số phần tử lớn hơn một giá trị cho trước

Phần tiêu đề “Bài 9: Đếm số phần tử lớn hơn một giá trị cho trước”

Nhập danh sách và một ngưỡng, đếm xem có bao nhiêu phần tử lớn hơn ngưỡng đó.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 10: Tính tổng các số chẵn trong danh sách

Phần tiêu đề “Bài 10: Tính tổng các số chẵn trong danh sách”

Nhập danh sách các số, chỉ cộng dồn những phần tử là số chẵn.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 11: Đếm số lượng số nguyên tố trong danh sách

Phần tiêu đề “Bài 11: Đếm số lượng số nguyên tố trong danh sách”

Nhập danh sách các số nguyên (lớn hơn 1), đếm xem có bao nhiêu số là số nguyên tố.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhóm 3: Tìm lớn nhất/nhỏ nhất & tìm kiếm

Phần tiêu đề “Nhóm 3: Tìm lớn nhất/nhỏ nhất & tìm kiếm”

Nhập danh sách các số, tìm giá trị lớn nhất.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhập danh sách các số, tìm giá trị nhỏ nhất.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 14: Tìm vị trí của giá trị lớn nhất

Phần tiêu đề “Bài 14: Tìm vị trí của giá trị lớn nhất”

Nhập danh sách các số, tìm vị trí (không phải giá trị) của phần tử lớn nhất.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 15: Kiểm tra một giá trị có trong danh sách không

Phần tiêu đề “Bài 15: Kiểm tra một giá trị có trong danh sách không”

Nhập danh sách, sau đó kiểm tra một giá trị do người dùng nhập có xuất hiện trong danh sách hay không.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 16: Tìm vị trí xuất hiện đầu tiên của một giá trị

Phần tiêu đề “Bài 16: Tìm vị trí xuất hiện đầu tiên của một giá trị”

Nhập danh sách, sau đó tìm vị trí xuất hiện đầu tiên của một giá trị do người dùng nhập.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 17: Đếm số lần xuất hiện của một giá trị

Phần tiêu đề “Bài 17: Đếm số lần xuất hiện của một giá trị”

Nhập danh sách, sau đó đếm xem một giá trị do người dùng nhập xuất hiện bao nhiêu lần.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 18: Cộng thêm một lượng vào tất cả các phần tử

Phần tiêu đề “Bài 18: Cộng thêm một lượng vào tất cả các phần tử”

Nhập danh sách điểm số, cộng thêm một lượng điểm thưởng do người dùng nhập vào tất cả các phần tử, rồi hiện lại danh sách.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 19: Nhân đôi giá trị tất cả các phần tử

Phần tiêu đề “Bài 19: Nhân đôi giá trị tất cả các phần tử”

Nhập danh sách các số, nhân đôi giá trị của mỗi phần tử.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 20: Kiểm tra danh sách đã sắp xếp tăng dần chưa

Phần tiêu đề “Bài 20: Kiểm tra danh sách đã sắp xếp tăng dần chưa”

Nhập danh sách, kiểm tra xem các phần tử đã theo thứ tự tăng dần chưa (không cần sắp xếp lại).

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 21: Loại bỏ các phần tử trùng lặp

Phần tiêu đề “Bài 21: Loại bỏ các phần tử trùng lặp”

Nhập danh sách, tạo ra một danh sách mới chỉ giữ lại mỗi giá trị một lần (loại bỏ trùng lặp).

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhập danh sách, tạo ra một danh sách mới có thứ tự các phần tử đảo ngược lại.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Nhập 2 danh sách riêng biệt, gộp lại thành 1 danh sách chung (nối tiếp nhau).

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 24: Quản lý tên và điểm số song song

Phần tiêu đề “Bài 24: Quản lý tên và điểm số song song”

Nhập tên và điểm số của N học sinh vào 2 danh sách riêng ((tên :: list) và (điểm :: list)) - phần tử thứ (i) của 2 danh sách luôn tương ứng cùng một học sinh.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

Bài 25: Tìm học sinh có điểm cao nhất (danh sách song song)

Phần tiêu đề “Bài 25: Tìm học sinh có điểm cao nhất (danh sách song song)”

Nhập tên và điểm số của N học sinh, tìm và cho nhân vật nói ra tên + điểm của học sinh có điểm cao nhất.

Xem lời giải

Vui lòng liên hệ tác giả (thông tin ở cuối trang) để mua bộ bài giải và code. Xin cảm ơn.

  • Thử áp dụng bài “Tìm học sinh điểm cao nhất” (Bài 25) để tìm luôn top 3 học sinh điểm cao nhất, bằng cách lặp lại 3 lần: tìm vị trí lớn nhất, nói ra, rồi tạm thời gán điểm đó thành một số rất nhỏ để lần tìm tiếp theo bỏ qua nó.
  • Viết bài kiểm tra danh sách có phải một dãy đối xứng (palindrome) hay không (phần tử đầu = phần tử cuối, phần tử thứ 2 = phần tử áp cuối…).
  • Gói các đoạn lặp lại nhiều lần (tìm max, tính tổng, đếm điều kiện) thành khối tự tạo nhận tham số là tên danh sách, để gọi lại nhiều lần không cần chép code.
  • Khi đã vững vòng lặp lồng nhau, có thể tìm hiểu thêm cách sắp xếp cả danh sách (ví dụ thuật toán sắp xếp nổi bọt/bubble sort) - đây là kiến thức nâng cao hơn, phù hợp học sau khi đã thành thạo mọi bài ở chuyên đề này.

Thầy cô và các em muốn mua bộ bài giải và code của các bài tập trong chuyên đề này vui lòng liên hệ tác giả qua Zalo 0972465159 hoặc Facebook. Xin cảm ơn.