Phép tính MOD dùng để thực hiện phép tính nào sau đây

Các bạn đã biết div là phép toán gì và đặc biệt hơn div là phép toán gì trong pascal chưa vậy hôm nay hãy theo dõi onthihsg để biết thêm chi tiết bên dưới nhé.

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< 2 tỉ). Xuất ra số các chữ số của số nguyên đó và tổng các chữ số của số nguyên đó.

Phép tính MOD dùng để thực hiện phép tính nào sau đây

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 đó đếm cộ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 mod là gì trong pascal dưới đây ngay nhé.

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

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ó liên quan gì đâu đến việc lấy ra các chữ số của một số nguyên nhỉ! Có đấy các bạn, các bạn xem thử nhé: 123456 mod 10 = 6, lấy được số 6 cuối cùng rồi, 123456 div 10 = 12345 bỏ đi chữ số cuối cùng 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 các chữ số của một số nguyên chưa nào. Ta chỉ cần lập trình để đếm và cộng dồn các chữ số đó là OK phải không nào. Vậy ta đã biết được mod là phép toán gì và div là phép toán gì rồi chứ.

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.inp Dữ liệu ra file: Dem_CS.out
Chứa số n

VD: 12456

– Dòng 1: ghi số các chữ số

– Dòng 2: Ghi tổng các chữ số

5

18

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

Mình tự đặt ra câu hỏi này ngay khi nghĩ đến bài toán, 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: Mod

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

Xây dựng Div trong Scratch Div

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 có thể giúp xây dựng được phép toán Div giống như Pascal. OK như vậy là ta đã có đủ hai phép tính vật lý rồi nhé.

Việc còn lại các 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é.

Ngoài ra sau khi học xong về Scratch bạn có thể lập trình được phần mềm nhỏ tăng độ nét cho video online được nha các bạn !

Câu trả lời là được nhé, mình có ý tưởng 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 phần tử 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.

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 đó.

Trong Pascal, phép toán MOD với số nguyên có tác dụng gì ?

A. Chia lấy phần nguyên

B. Chia lấy phần dư

C. Làm tròn số

D. Thực hiện phép chia

Câu trả lời : Trong Pascal, phép toán MOD với số nguyên có tác dụng chia lấy phần dư còn phép toán DIV với số nguyên có tác dụng chia lấy phần nguyên.

Phép toán mod dùng để thực hiện phép tính nào sau đây ?

A. Phép toán số học với số thực

B. Phép toán quan hệ

C. Phép toán số học với số nguyên

D. Phép toán Logic

Câu trả lời : C.Phép toán số học với số nguyên

  • Phép tính MOD dùng để thực hiện phép tính nào sau đây
    Tải app VietJack. Xem lời giải nhanh hơn!

Câu 1: Hãy chọn phương án đúng. Biểu thức: 25 mod 3 + 5 / 2 * 3 có giá trị là :

A. 8.0;

B. 15.5;

C. 15.0;

D. 8.5;

Hiển thị đáp án

Trả lời:

 + Trong  Pascal phép Mod là phép chia lấy phần dư, phép (/) là phép chia, (*) là phép nhân trong toán học.

+ Thứ tự thực hiện: Trong ngoặc trước, nếu không có ngoặc thực hiện nhân, chia, lấy phần nguyên (div), lấy phần dư  (mod) thực hiện trước và cộng, trừ thực hiện sau.

Vậy giá trị của biểu thức là :

25 mod 3 + 5 / 2 * 3 = 1 + 2.5 x 3= 1+ 7.5 = 8.5

Đáp án: D

Câu 2: Những biểu thức nào sau đây có giá trị TRUE ?

A. ( 20 > 19 ) and ( ‘B’ < ‘A’ );

B. ( 4 > 2 ) and not( 4 + 2 < 5 ) or ( 2 >= 4 div 2 );

C. ( 3 < 5 ) or ( 4 + 2 < 5 ) and ( 2 < 4 div 2 );

D. 4 + 2 * ( 3 + 5 ) < 18 div 4 * 4 ;

Hiển thị đáp án

Trả lời:

Trong pascal phép and, or, not có nghĩa là phép và, hoặc, phủ định trong toán học. vì vậy phép toán 4 > 2→ đúng

Phép toán not( 4 + 2 < 5 ) nghĩa là phủ định của 6 <5 là 6 > 5 → đúng.

Phép toán ( 2 >= 4 div 2 ) nghĩa là 2>=2→ đúng

⇒ Biểu thức có giá trị TRUE (đúng) là ( 4 > 2 ) and not( 4 + 2 < 5 ) or ( 2 >= 4 div 2 );

Đáp án: B

Câu 3: Biểu thức nào sau kiểm tra "n là một số nguyên dương chẵn"?

A. (n>0) and (n mod 2 = 0)

B. (n>0) and (n div 2 = 0)

C. (n>0) and (n mod 2 <> 0)

D. (n>0) and (n mod 2 <> 0)

Hiển thị đáp án

Trả lời:

N là một số nguyên dương chẵn → n>0 và n chia hết cho 2 hay số dư bằng 0. Tương đương với phép mod trong Pascal ( n mod 2 = 0).

Đáp án: A

Câu 4: Cho biểu thức sau: (a mod 3 = 0) and (a mod 4 = 0)

Số a nhận giá trị nào sau đây để biểu thức cho kết quả là TRUE?

A. 24

B. 16

C. 20

D. 15

Hiển thị đáp án

Trả lời:

Ta có : a mod 3 = 0→ phần dư bằng 0 → a chia hết cho 3

           a mod 4 = 0 → Phần dư bằng 0 → a chia hết cho 4

⇒ a chia hết cho 12

Đáp án: A

Câu 5: Cho đoạn chương trình:

Begin

a := 100;

b := 30;

x := a div b ;

Write(x);

End.

Cho biết kết quả sau khi thực hiện lệnh :

A. 10

B. 33

C. 3  

D. 1

Hiển thị đáp án

Trả lời:

Ta có a := 100;  gán cho a giá trị là 100

          b := 30 ;  gán cho b giá trị là 30

          x := a div b =100 div 30 =3 ( div là phép lấy nguyên)

Đáp án: C

Câu 6: Trong Pascal, phép toán MOD với số nguyên có tác dụng gì ?

A. Chia lấy phần nguyên

B. Chia lấy phần dư       

C. Làm tròn số

D. Thực hiện phép chia

Hiển thị đáp án

Trả lời: Trong Pascal, phép toán MOD với số nguyên có tác dụng chia lấy phần dư còn phép toán DIV với số nguyên có tác dụng chia lấy phần nguyên.

Đáp án: B

Câu 7: Để thực hiện gán giá trị 10 cho biến X. Phép gán nào sau đây là đúng ?

A. X = 10;            

B. X := 10;

C. X =: 10;

D. X : = 10;

Hiển thị đáp án

Trả lời:

Để thực hiện gán giá trị 10 cho biến X là X := 10;

Cấu trúc câu lệnh gán là:

                             := ;

Đáp án: B

Câu 8: Hàm cho giá trị bằng bình phương của x là :

A. Sqrt(x);

B. Sqr(x);            

C. Abs(x);

D. Exp(x);

Hiển thị đáp án

Trả lời: Trong Pascal :

+ Hàm cho giá trị bằng bình phương của x là Sqr(x).

+ Hàm Sqrt(x) là hàm căn bậc hai

+ Hàm Abs(x) là hàm giá trị tuyệt đối

+ Hàm exp(x) là hàm lũy thừa của số e.

Đáp án: B

Câu 9: Trong ngôn ngữ lập trình Pascal, biểu thức số học nào sau đây là hợp lệ ?

A. 5a + 7b + 8c;

B. 5*a + 7*b + 8*c;         (*)

C. {a + b}*c;

D. X*y(x+y);

Hiển thị đáp án

Trả lời: Trong ngôn ngữ lập trình Pascal, không được bỏ dấu nhân (*) trong tích và chỉ dùng cặp ngoặc tròn để xác định trình tự thực hiện phép toán → loại A. C. D.

Đáp án: B

Câu 10:  Biểu diễn biểu thức 

Phép tính MOD dùng để thực hiện phép tính nào sau đây
trong NNLT Pascal là

A. (a+b) + sqrt(a*a+2*b*c) / ( c – a / (a+b) )

B. (a+b) + sqr(a*a+2*b*c) / c – a / (a+b)

C. (a+b) + sqrt( sqr(a) + 2*b*c / c – a / (a+b)

D. (a+b) + sqr( sqrt(a) + 2*b*c) / (c – a / (a+b) )

Hiển thị đáp án

Trả lời:

Thứ tự thực hiện phép toán:

+ Thực hiện trong ngoặc trước;

+ Trong dãy các phép toán không chứa ngoặc thì thực hiện từ trái sang phải, theo thứ tự nhân, chia, chia nguyên, lấy phần dư thực hiện trước và các phép cộng, trừ thực hiện sau.

Đáp án: A

Xem thêm các bài Câu hỏi trắc nghiệm Tin học 11 chọn lọc, có đáp án khác:

Giới thiệu kênh Youtube VietJack

  • Phép tính MOD dùng để thực hiện phép tính nào sau đây
    Hỏi bài tập trên ứng dụng, thầy cô VietJack trả lời miễn phí!

Phép tính MOD dùng để thực hiện phép tính nào sau đây

Phép tính MOD dùng để thực hiện phép tính nào sau đây

Phép tính MOD dùng để thực hiện phép tính nào sau đây

Phép tính MOD dùng để thực hiện phép tính nào sau đây

Phép tính MOD dùng để thực hiện phép tính nào sau đây

Phép tính MOD dùng để thực hiện phép tính nào sau đây

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Phép tính MOD dùng để thực hiện phép tính nào sau đây

Phép tính MOD dùng để thực hiện phép tính nào sau đây

Nhóm học tập facebook miễn phí cho teen 2k5: fb.com/groups/hoctap2k5/

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.