DẠNG BÀI ỨNG DỤNG LIST – DANH SÁCH (PHẦN 1)

Bài viết này sẽ tổng hợp và hướng dẫn giải dạng bài danh sách (chuỗi) trong kỳ thi tin học trẻ bằng Scratch 3.0 ví dụ như tính tổng, đếm số phần tử, tìm số lớn nhất, sắp xếp…

Trước khi bắt tay làm các dạng bài liên quan đến danh sách, các bạn hãy chắc chắn rằng mình đã nắm được các kiến thức cơ bản về danh sách. Các bạn có thể xem lại bài viết tại sao phải dùng danh sách, cách tạo và giải thích các câu lệnh ở các bài viết trước.

Dạng 1: Cho dãy số đơn giản (liên tiếp dạng 1, 2, 3, 4, 5… ). Thực hiện các thao tác cơ bản trong dãy số.

Bài 1: Duyệt từng phần tử trong dãy

Duyệt từng phần tử trong dãy là một kỹ thuật vô cùng quan trọng, hầu hết sử dụng trong tất cả các bài. Kỹ thuật này có thể hiểu đơn giản là chúng ta sẽ xem xét giá trị của từng phần tử trong dãy, lần lượt từ phần tử đầu tiên cho đến hết.

Để duyệt từng phần tử, chúng ta cần một biến. Biến này sẽ đại điện cho số thứ tự của từng phần tử. Ban đầu, biến này sẽ được đặt bằng 1 để chúng ta bắt đầu duyệt từ phần tử đầu tiên trong dãy. Sau khi duyệt xong phần tử đó, chúng ta tăng biến lên 1 để duyệt sang phần tử tiếp theo. Khi nào biến này lớn hơn độ dài của dãy thì có nghĩa là chúng ta đã duyệt hết toàn bộ dãy.

Ví dụ: Cho chú mèo nói ra từng phần tử có trong dãy số

Duyệt từng phần tử trong dãy

Link project mẫu: https://scratch.mit.edu/projects/405388359/

Bài 2: Đếm số phần tử có trong dãy.

Đếm số phần tử của dãy số

Câu lệnh/biến “kích thước của …” giúp trả về số lượng phần tử có trong dãy.

Gọi “kích thước của ….” (length of …) là câu lệnh/biến vì câu lệnh này không giúp nhân vật thực hiện gì cả. Nó chỉ trả về kết quả là một số và số này cần được nối vào câu lệnh khác để tạo thành một hành động hoàn thiện cho nhân vật. Các bạn có thể đọc thêm về phân loại các dạng câu lệnh tại đây.

Link project mẫu: https://scratch.mit.edu/projects/405388359/

Bài 3: Đếm số phần tử là số chẵn, số lẻ hoặc chia hết cho một số nào đó trong dãy

Để kiểm tra xem một số (một phần tử) là sỗ chẵn (chia hết cho 2) hoặc số lẻ (số chia 2 dư 1) hoặc chia hết cho một số nào đó ta cần sử dụng phép toán mod

Phép mod có thể hiểu đơn giản là phép chia lấy dư. Ví dụ, 5 chia 2 bằng 2 dư 1. Khi đó ta sẽ viết là 5 mod 2 = 1. Phép toán này có nghĩa là 5 chia 2 dư 1. Trong phép toán mod, ta không quan tâm đến kết quả của phép chia mà chỉ quan tâm đến phần dư.

Như vậy:

  • Nếu số a chia hết cho 2 (số chẵn) thì a mod 2 = 0
  • Nếu a là số lẻ, thì a mod 2 = 1
  • Nếu a là một số chia hết cho 3 thì a mod 3 = 0

Dựa vào phép mod, ta có thể tìm được các số chẵn, số lẻ hoặc số chia hết cho một số nào đó trong dãy. Khi đó, ta có thể đếm trực tiếp các số thỏa mãn yêu cầu hoặc thêm các số thỏa mãn yêu cầu sang một dãy khác và đếm số phần tử của dãy mới.

Đếm số số chẵn, số số lẻ có trong dãy số
Đếm số số chia hết cho 3 có trong dãy số

Link project mẫu: https://scratch.mit.edu/projects/405388359/

Bài 4: Tính tổng các số trong dãy

Chúng ta cần tạo một biến để lưu giá trị tổng của các số trong dãy. Ban đầu, hãy đặt tổng = 0. Sau đó tạo vòng lặp duyệt từng phần tử trong dãy. Đi đến phẩn tử nào của dãy thì cộng giá trị của phần tử đó vào biến tổng. Khi duyệt xong toàn bộ dãy, giá tr

Tính tổng tất cả các phần tử trong dãy

Bài 5: Tính tổng các số chẵn trong dãy

Bài tập này là sự kết hợp giữa bài 3 và bài 4 đã trình bày ở trên. Thay vì đi đến phẩn tử nào của dãy thì cộng giá trị của phần tử đó vào biến tổng, ta cần thêm một câu lệnh điều kiện để chỉ cộng những phần tử hợp lệ.

Tính tổng tất cả các số chẵn trong dãy

Ngoài ra, chúng ta có thể tạo một danh sách mới, chỉ gồm các số hợp lệ rồi tính tổng của tất cả các phần tử có trong danh sách mới.

Link project mẫu: https://scratch.mit.edu/projects/405388359/

Xem thêm các dạng bài về danh sách (phần 2) tại link sau: https://laptrinhscratch.com/dang-bai-thi-lien-quan-den-danh-sach-day-so-phan-2/

Share

4 Pings & Trackbacks

  1. Pingback: Sắp xếp dãy số, tìm min, max | Tin học trẻ | Lập trình Scratch 3.0

  2. Pingback: Đếm phần tử, Tính tổng dãy số tạo bởi quy luật | Lập trình Scratch 3.0

  3. Pingback: Giải đề thi tin học trẻ tỉnh Hà Nam - 2019 | Dạy & Học: Lập trình Scratch

  4. Pingback: Bài tập luyện tập dãy số | Thi tin học trẻ - Dạy & Học: Lập trình cho trẻ em

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *