HomeLập trình Scratch

Tính tổng các chữ số trong Scratch sử dụng mod và div giống pascal

Like Tweet Pin it Share Share Email
Like và share giúp mình phát triển website nhé.
  •  
  •  

Nếu đã học lập trình Pascal hẳn bạn đã quen với bài toán dùng div và mod để tính tổng các chữ số của một số tự nhiên rồi phải không nào, trong Scratch cũng thế thôi, hôm nay onthihsg.com sẽ cùng các bạn thực hiện chương trình này bằng cách kéo thả đơn giản thôi nhé.

Bài toán tính tổng các chữ số trong Scratch

Khi chương trình chạy abby sẽ hỏi “mời bạn nhập vào một số tự nhiên mình sẽ giúp các bạn tính tổng các chữ số của số tự nhiên đó” 

Khi người dùng nhập vào một số tự nhiên và bấm enter abby sẽ trả lời “Tổng các chữ số của số ….. là: ….”

Cách giải quyết bài toán quen thuộc

Ta sẽ sử dụng phép toán Mod và Div để lấy ra từng kí tự của số sau đó cộng các chữ số đó lại thôi.

Để cho dễ hiểu mình lấy ví dụ người dùng nhập vào số n = 245.

Phép toán n div 10 cho kết quả là 24 còn n mod 10 cho kết quả là 5

Như vậy với hai phép toán này ta lần lượt tách ra từng kí tự của số từ phải sang trái và sau đó cộng dồn lại là được.

Trong Scratch có phép toán DIV và MOD không?

Phép toán MOD thì có đó:

Còn phép toán DIV không có sẵn nhưng xây dựng cũng hết sức đơn giản:

Mình tra google thì “floor” có nghĩa là “sàn” lệnh này là làm tròn xuống.  ví dụ Floor(2,4) = 2 hay Floor(2,9) = 2 như vậy lệnh Floor (n/10) chính là lệnh n VID 10 trong pascal.

Code trong Scratch 3.0 tính tổng các chữ số của một số tự nhiên

Code trong Scratch 3.0 tính tổng các chữ số của một số tự nhiên

Bình luận: Việc tính tổng các chữ số như trên mạng nặng tính thuật toán, bạn có thể xem thêm cách khác dưới đây

Tính tổng các chữ số không cần dùng MOD và DIV

Tuy nhiên mình cũng vẫn rất thích cách trên bởi nó rèn luôn cho bạn thuật toán tách lấy từng kí tự của một số, làm cách này tuy phức tạp nhưng nó lại rất tin học.

Sau khi bạn lập trình như trên bạn hãy thử chạy và nhập một số có lẫn cả chữ chẳng hạn “Kenh11” xem sao nha. Ồ chương trình vẫn chạy như thường và cho kết quả là 0, nó chẳng có báo lỗi như Pascal phải không nào, đây có lẽ là ưu điểm và cũng là nhược điểm của Scratch vì quá “dễ tính”.

Đến đây bạn sẽ nảy sinh ra một câu hỏi khác đó là làm thế nào để người dùng nhập vào dữ liệu không phải là một số thì thông báo và yêu cầu nhập lại số khác. Mình để thắc mắc này cho các bạn giải quyết.

Chúc các bạn ngày càng thành thạo lập trình Scratch.

 

Comments (0)

Trả lời

Your email address will not be published. Required fields are marked *