✅ BÀI TẬP 1 – List & Map trong Dart

Đề bài:

Cho một danh sách (List) gồm nhiều phần tử dạng Map biểu diễn thông tin sản phẩm trong cửa hàng.
Mỗi Map có cấu trúc:

{ "id": số nguyên, "name": tên sản phẩm, "price": giá sản phẩm }

Yêu cầu:

  1. Khởi tạo danh sách gồm ít nhất 5 sản phẩm.

  2. Viết các chức năng sau:

    • Hiển thị toàn bộ sản phẩm trong danh sách.

    • Thêm một sản phẩm mới vào danh sách.

    • Xóa sản phẩm theo id.

    • Tìm sản phẩm theo tên (cho phép tìm gần đúng, ví dụ nhập "lap" sẽ ra "Laptop").

  3. In kết quả sau mỗi thao tác.


✅ BÀI TẬP 2 – Kiến thức JSON & Chuyển đổi dữ liệu

Đề bài:

Cho chuỗi JSON chứa thông tin 5 bộ phim:

[ {"id": 1, "title": "Inception", "year": 2010}, {"id": 2, "title": "Avatar", "year": 2009}, {"id": 3, "title": "Interstellar", "year": 2014}, {"id": 4, "title": "Matrix", "year": 1999}, {"id": 5, "title": "Joker", "year": 2019} ]

Yêu cầu:

  1. Chuyển chuỗi JSON thành danh sách các Map trong Dart.

  2. Tạo một lớp (class) Movie gồm: id, title, year.

  3. Chuyển danh sách Map thành danh sách đối tượng Movie.

  4. In ra danh sách Movie.

  5. Chuyển ngược danh sách đối tượng Movie thành chuỗi JSON mới.


⭐ BÀI TẬP TỔNG QUÁT – Quản lý sinh viên (List + Map + JSON + Class Object)

Đề bài tổng quát:

Xây dựng chương trình quản lý sinh viên sử dụng các kiến thức:

  • List trong Dart

  • Map trong Dart

  • JSON

  • Class & Object

Yêu cầu:

  1. Tạo lớp Student gồm:

    • id

    • name

    • age

    • major

  2. Chuẩn bị sẵn chuỗi JSON chứa ít nhất 5 sinh viên.

  3. Chuyển JSON thành danh sách các đối tượng Student.

  4. Xây dựng các chức năng:

    • Hiển thị danh sách sinh viên

    • Thêm sinh viên mới

    • Xóa sinh viên theo id

    • Tìm sinh viên theo tên (tìm gần đúng)

    • Xuất toàn bộ danh sách thành chuỗi JSON

  5. Tạo menu văn bản (console) cho người dùng chọn:

    1. Xem danh sách 2. Thêm sinh viên 3. Xóa sinh viên 4. Tìm kiếm sinh viên 5. Xuất ra JSON 6. Thoát