Div Mod – Hai phép toán quan trọng trong Pascal
Trường Trung Cấp Việt Hàn (VKI) xin giới thiệu đến các bạn hai phép toán quan trọng trong Pascal – Div và Mod. Trên thực tế, hai phép toán này thường xuyên xuất hiện trong đề thi, do đó, việc nắm rõ khái niệm, tính chất và quy tắc áp dụng của chúng là điều cần thiết.
Div Mod là gì?
Div và Mod là hai phép toán quan trọng trong Pascal. Đầu tiên, hãy tìm hiểu về khái niệm của chúng.
- 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ụ, 21 div 5 = 4 và 21 mod 5 = 1 (vì 21 chia cho 5 được 4 dư 1).
Hai phép toán này cũng có thể được áp dụng để lấy từng chữ số của một số nguyên. Ví dụ: 123456 mod 10 = 6 và 123456 div 10 = 12345. Điều này cho phép bạn tách thu thập từng chữ số của một số nguyên. Đồng thời, lập trình để đếm và cộng dồn các chữ số là đủ để giải quyết bài toán.
Ứng dụng Div Mod trong Pascal
Chúng ta hãy xem cách áp dụng hai phép toán Div và Mod trong Pascal thông qua một ví dụ cụ thể.
{ Ý nghĩa của chương trình như sau: }
{ - Nếu n = 0, thì đặt biến đếm là 1. }
{ - Nếu không, đặt biến đếm là 0. }
{ Đoạn mã này giúp xử lý trường hợp đặc biệt n = 0. }
{ Khi đó, 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 vào thuật toán, sẽ có các trường hợp đặc biệt xảy ra và cần xử lý riêng. }
var
n, count: integer;
begin
writeln('Nhap n: ');
readln(n);
if n = 0 then
count := 1
else
count := 0;
// Vòng lặp While - 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 để tách chữ số
// Một khi đã tách được chữ số, sử dụng phép toán Div để bỏ bớt chữ số đó
while n > 0 do
begin
count := count + 1;
n := n div 10;
end;
writeln('So co ', count, ' chu so');
end.
Dùng Div và Mod để tính các phép toán số học
Bạn cũng có thể sử dụng Div và Mod để thực hiện các phép toán số học như tổng, hiệu, tích và thương của hai số.
uses crt;
var
a, b, temp, i, sum: integer;
function calculate(x, y: integer): integer;
begin
temp := x mod y;
if temp = 0 then
calculate := y
else
calculate := calculate(y, temp);
end;
begin
clrscr;
write('Nhap a: ');
readln(a);
write('Nhap b: ');
readln(b);
sum := 1;
for i := 2 to abs(a + b) do
begin
if (abs(a + b) mod i = 0) then
sum := sum + i;
end;
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: ', calculate(a, b));
writeln('Tong cac uoc cua ', a + b, ' la: ', sum);
readln;
end.
Kiểm tra tính chẵn, lẻ, nguyên tố và hoàn hảo
Dưới đây là đoạn mã giúp bạn sử dụng Div và Mod để kiểm tra tính chất của số, bao gồm số chẵn, số lẻ, số nguyên tố và số hoàn hảo.
uses crt;
var
n, i: integer;
isEven, isPrime, isPerfect: 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
isPrime := true;
for i := 2 to trunc(sqrt(n)) do
begin
if n mod i = 0 then
isPrime := false;
end;
if isPrime then
writeln('So ', n, ' la so nguyen to')
else
writeln('So ', n, ' khong la so nguyen to');
end;
readln;
end.
Tính tổng các chữ số của một số bằng Div và Mod
Sau khi hiểu rõ về Div và Mod, bạn có thể áp dụng chúng vào bài toán tính tổng các chữ số của một số một cách dễ dàng.
BEGIN
clrscr;
write('Nhap 1 so co 3 chu so: ');
readln(a);
sum := a mod 10;
a := a div 10;
sum := sum + a mod 10;
a := a div 10;
sum := sum + a mod 10;
writeln('Tong cac chu so do la: ', sum);
readln;
END.
Tổng kết
Hy vọng thông qua bài viết này, bạn đã hiểu rõ về hai phép toán quan trọng trong Pascal – Div và Mod. Bạn cũng đã biết cách áp dụng chúng để giải quyết các bài tập liên quan. Hãy tiếp tục theo dõi Trường Trung Cấp Việt Hàn (VKI) để đọc thêm những bài viết thú vị khác nhé!


