Rèn luyện sử dụng Mod, Div trong Pascal và scratch – Ôn Thi HSG

[ad_1]

Like và share giúp mình tăng trưởng website nhé .

Bạn đang đọc: Rèn luyện sử dụng Mod, Div trong Pascal và scratch – Ôn Thi HSG

Mod, div là hai phép toán cho số nguyên được ứng dụng rất nhiều trong lập trình, trong bài viết này mình sẽ cùng học tập chia sẻ cách sử dụng Mod, Div trong Pascal và scratch qua một ví dụ cụ thể như sau:

Bài toán: Viết chương trình nhập vào một số nguyên dương n (n

Ví dụ: Nếu người dùng nhập vào số: 123456 thì kết quả xuất ra: Số các chữ số là: 6. Tổng các chữ số cảu số nguyên vừa nhập là: 21

Gợi ý: Để giải quyết bài toán này ta cần tìm cách để tách ra các chữ số của số nguyên nhập vào sau đó đếmcộng dồn để tính tổng các chữ số của số đó, vậy vấn đề quan trong nhất là làm sao để tách lấy được từng chữ số của số nguyên đó! ta hãy cũng tím hiểu

Giới thiệu hai phép toán Mod và Div

Mod: Là phép toán chia lấy phần dư.

Div: Là phép toán chia lấy phần nguyên.

Ví dụ : 13 div 5 = 2 và 13 mod 5 = 3 ( vì 13 chia cho 5 được 2 dư 3 )
Ủa nó có tương quan gì đâu đến việc lấy ra những chữ số của 1 số ít nguyên nhỉ ! Có đấy những bạn, những bạn xem thử nhé : 123456 mod 10 = 6, lấy được số 6 sau cuối rồi, 123456 div 10 = 12345 bỏ đi chữ số sau cuối rồi, 12345 mod 10 = 5 lại lấy được chữ số 5 ra rồi nhé, … vậy là bạn đã hiểu cách dùng hai phép toán Mod, Div để tách lấy được những chữ số của một số ít nguyên chưa nào. Ta chỉ cần lập trình để đếm và cộng dồn những chữ số đó là OK phải không nào .

Ứng dụng mod, div trong Pascal cho bài toán trên

Ta hãy cùng code bài toán trên bằng Pascal theo cách sử dụng mod, div nhé .

Dữ liệu vào file: Dem _CS.inpDữ liệu ra file: Dem_CS.out
Chứa số n

VD: 12456

Xem thêm: Outdoor là gì? Những Điều Cần Biết Về Outdoor?

– Dòng 1: ghi số các chữ số
– Dòng 2 : Ghi tổng những chữ số
5
18

Ý nghĩa của chương trình như sau:

Nếu n = 0 thì cho biến đếm là 1 còn nếu không thì cho biến đếm là 0. Đây là đoạn mã để xử lý trường hợp đặc biệt n = 0, nếu trường hợp này xảy ra thì chương trình sẽ không thực hiện vòng lặp phía sau và kết luận ngay số có 1 chữ số và tổng các chữ số bằng 0. Tùy theo thuật toán mà thường xuất hiện các trường hợp đặc biệt, ta cần lập trình để xử lý riêng các trường hợp này

Vòng lặp While: Có nhiệm vụ lặp lại việc

  • Tách từng chữ số của số nguyên ra (từ phải sang trái) – Dùng phép toán mod
  • Sau khi tách được bỏ bớt chữ số đó – Dùng phép toán Div

Liệu trong Scratch có hai hàm Mod và Div không?

Mình tự đặt ra câu hỏi này ngay khi nghĩ đến bài toán, tất cả chúng ta thử lục tìm trong “ Các phép toán ” của Scratch xem nào .

Thấy rồi hàm Mod đây rồi:

Không thấy Div những bạn ơi, làm thế nào đây ! Ta không thấy trong Scratch có phép toán Div nhưng đã là ngôn từ lập trình thì chắc như đinh phải có cách kiến thiết xây dựng phép toán DIV mình tâm lý như vậy và sau cuối tìm ra cách kiến thiết xây dựng phép toán này trong Scratch như sau :

Xây dựng Div trong Scratch

Tôi lần tìm thì phát hiện ra phép toán “ Làm tròn xuống ” và nghĩ ngay phép toán này hoàn toàn có thể giúp thiết kế xây dựng được phép toán Div giống như Pascal. OK như vậy là ta đã có đủ hai phép rồi nhé .
Việc còn lại những bạn chỉ cần lập trình Scratch bằng cách kéo thả theo thuật toán như trong Pascal mà thôi. Các bạn tự code nhé .

Không cần Mod và Div liệu có giải quyết được bài toán này?

Câu vấn đáp là được nhé, mình có ý tưởng sáng tạo thế này trong Pascal ta hãy chuyển số nhập vào sang dạng chuỗi sau đó can thiệp vào từng thành phần của chuỗi vậy là OK rồi .

Còn trong Scratch thì còn đơn giản hơn nữa vì biến trong Scratch chung cả số và chuỗi vì vậy chẳng cần chuyển gì nữa cứ vậy mà tách từng chữ số ra mà đếm và công dồn thôi.

Xem thêm: OUR là gì? -định nghĩa OUR

Cách này có vẻ đơn giản hơn rất nhiều tuy nhiên mình không khuyến khích các bạn làm bằng cách này mà hãy làm bằng cách sử dụng Div và Mod nó “toán học” hơn phải không các bạn.

Xin chào các bạn, hẹn gặp lại trong bài tiếp theo, Các bạn nhớ xem phần 3: 50 bài tập scratch nhé, có rất nhiều bài toán hay đó.

[ad_2]

Related Posts

Trò chơi xây nhà Lego

[ad_1] ContentsGiới thiệu hai phép toán Mod và DivỨng dụng mod, div trong Pascal cho bài toán trênÝ nghĩa của chương trình như sau:Liệu trong Scratch có…

Game bói tình yêu hiện đại: Valentine’s Love Test

[ad_1]  ContentsGiới thiệu hai phép toán Mod và DivỨng dụng mod, div trong Pascal cho bài toán trênÝ nghĩa của chương trình như sau:Liệu trong Scratch…

Game xếp kẹo ngọt Online 4: Candy Rush Saga

[ad_1] ContentsGiới thiệu hai phép toán Mod và DivỨng dụng mod, div trong Pascal cho bài toán trênÝ nghĩa của chương trình như sau:Liệu trong Scratch có…

Game dấu ấn rồng thiêng: Super Hard Boss Fighter

[ad_1] ContentsGiới thiệu hai phép toán Mod và DivỨng dụng mod, div trong Pascal cho bài toán trênÝ nghĩa của chương trình như sau:Liệu trong Scratch có…

Trò chơi Ben 10 diệt Alien

[ad_1] ContentsGiới thiệu hai phép toán Mod và DivỨng dụng mod, div trong Pascal cho bài toán trênÝ nghĩa của chương trình như sau:Liệu trong Scratch có…

Game phá hủy tháp Minecraft 3D: Minecraft 3D Online

[ad_1] ContentsGiới thiệu hai phép toán Mod và DivỨng dụng mod, div trong Pascal cho bài toán trênÝ nghĩa của chương trình như sau:Liệu trong Scratch có…

Leave a Reply