Div mod là gì chính là câu hỏi được nhiều bạn học sinh đặt ra khi học đến lập trình Pascal. Việc không phân biệt được hai phép toán ày sẽ khiến các bạn không làm được bài, dẫn đến sự chán nản không thể học được các phép toán tiếp theo.
Bài viết hôm nay, hocmay.vn sẽ giải đáp chi tiết div mod là gì cũng như hướng dẫn bạn cách giải bài tập div mod để đạt điểm tuyệt đối trong chương trình phổ thông. Bạn cũng có thể tham khảo thêm bài viết: 25 cuốn sách nên đọc về quản trị kinh doanh.
Div mod là gì?
Div là phép toán gì
Div là phép chia lấy phần nguyên, áp dụng đối với tập số nguyên.
Cách thể hiện: A div B = C . Trong đó: A là số bị chia, B là số chia, C là thương của phép chia giữa A và B
Ví dụ: 30 div 7 = 4
Mod là gì?
Trái với div, mod là phép chia lấy phần dư và cũng được áp dụng đối với tập số nguyên.
Cách thể hiện của mod như cách thể hiện của div (đã nêu ở phần trước)
Ví dụ: 35 mod 6 = 5
Tính chất và cách phân biệt giữa div mod là gì
Phép chia hết có mod = 0
giá trị Mod luôn bé hơn số chia vì nếu bằng thì đây không phải phép chia có dư, không áp dụng mod.
giá trị Div luôn lớn hơn giá trị mod, vì nếu bằng thì đây là phép chia hết, không áp dụng mod.
Để phân biệt div mod, ta lấy một ví dụ cụ thể như sau:
32 div 6 = 5 ; 32 mod 6 = 2 . Vì 32 chia 6 được 5 dư 2.
Ứng dụng của div mod
Div mod dùng để tách các chữ số của một số nguyên. Cụ thể: Lấy ví dụ số 123456. Bước đầu lấy 123456 mod 10 = 6, tức là đã tách được số 6 ra khỏi số nguyên ban đầu. Tiếp đến lấy 123456 div 10 = 12345 để thực hiện bước tiếp theo. Lấy 12345 đã có ở bước trước làm phép tính 12345 mod 10 = 5 là lại tách được số 5 ra khỏi số nguyên ban đầu.
Cứ tiếp tục quy trình như vậy đến khi tách được tất cả các số ra khỏi số nguyên ban đầu.
Ứng dụng div mod vào bài toán Pascal cụ thể
Sau khi hiểu được div mod là gì, bạn đọc hãy cùng hocmay.vn theo dõi cách ứng dụng div mod vào một bài toán Pascal cụ thể như thế nào 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 |
Ý nghĩa của bài toán
nếu như n = 0 thì cho biến đếm là 1 còn nếu như không thì cho biến đếm là 0. đây chính là đoạn mã để giải quyết hoàn cảnh đặ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 thuộc theo thuật toán mà thường xuất hiện các hoàn cảnh đáng chú ý, ta cần lập trình để xử lý riêng các hoàn cảnh 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) – sử dụng phép toán mod
- một khi tách được bỏ bớt chữ số đó – dùng phép toán Div
Giải bài toán div mod cụ thể trong pascal
Hướng dẫn dùng mod tính tổng, hiệu, tích, thương của 2 số bất kỳ
Cụ thể đoạn code dùng hàm div mod tính tổng, hiệu, tích, thương của 2 số như sau:
uses crt;
var a,b,tg,i,tong:integer;
function tinh(x,y:integer):integer;
begin
tg:= x mod y;
if tg=0 then tinh:=y else tinh:=tinh(y,tg);
end;
BEGIN
clrscr;
write(‘Nhap a: ‘);readln(a);
write(‘Nhap b: ‘);readln(b);
tong:=1;
for i:=2 to abs(a+b) do
if (abs(a+b) mod i =0) then tong:=tong+i;
writeln(‘Tong 2 so la: ‘,a+b);
writeln(‘Hieu 2 so la: ‘,a-b);
writeln(‘Tich 2 so la: ‘,a*b);
writeln(‘Thuong 2 so la: ‘,a/b:0:4);
writeln(‘UCLN 2 so la: ‘,tinh(a,b));
writeln(‘Tong cac uoc cua ‘,a+b,’ la: ‘,tong);
readln
END.
Tính tổng các chữ số của một số bằng phép div và mod
Dưới đây là cách vận dụng div mod vào bài toán tính tổng các chữ số của một số bất kỳ, cùng theo dõi để củng cố kiến thức phần này nhé.
BEGIN
clrscr;
write(‘Nhap 1 so co 3 chu so: ‘);readln(a);
tong:= a mod 10;
a:=a div 10;
tong:=tong+a mod 10;
a:=a div 10;
tong:=tong+a mod 10;
writeln(‘Tong cac chu so do la: ‘,tong);
readln
END.
Dùng mod kiểm tra số chẵn, số lẻ, số nguyên tố, số hoàn hảo
Đây là cách giúp bạn sử dụng mod để kiểm tra tính chất của số: là số chẵn, số lẻ, số nguyên tố,…
uses crt;
var n,i:integer;ok:boolean;
BEGIN
clrscr;
write(‘Nhap n: ‘);readln(n);
if n mod 2=0 then writeln(‘So ‘,n,’ la so chan’)
else writeln(‘So ‘,n,’ la so le’);
if n<2 then write(‘So ‘,n,’ khong la so nguyen to’)
else
begin
ok:=true;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then ok:=false;
if ok then writeln(‘So ‘,n,’ la so nguyen to’)
else writeln(‘So ‘,n,’ khong la so nguyen to’);
end;
readln
END.
Video giảng về div mod là gì, cách vận dụng div mod trong pascal
Bạn có thể ôn tập kiến thức thông qua video dưới đây nhé.
Tổng kết
Trên đây là bài viết của hocmay.vn hướng dẫn bạn chi tiết cách nhận biết div mod là gì cũng như cách vận dụng div mod vào bài toán một cách thực tế. Tiếp tục theo dõi trang web hocmay để cập nhật, ôn lại những kiến thức bổ ích khác nhé. Cảm ơn và hẹn sớm gặp lại các bạn trong những bài viết khác của hocmay.