Viết mũ trong pascal như thế nào ạ ?
ví dụ : 10 mũ 8
giải thích cho em kí hiệ…
ví dụ : 10 mũ 8
giải thích cho em kí hiệu đó luôn ạ
em cảm ơn
Trong Pascal, chúng ta không có kí hiệu đặc biệt như \(^\) hay \(**\) để viết “mũ” (lũy thừa) một cách trực tiếp như em viết trong toán học (\(10^8\)). Thay vào đó, chúng ta sẽ sử dụng các cách khác nhau, tùy thuộc vào số mũ là bao nhiêu và em đang học đến phần kiến thức nào.
Với chương trình Tin học lớp 8, chúng ta sẽ có hai cách chính sau đây nhé:
I. TRƯỜNG HỢP ĐẶC BIỆT: MŨ 2 (BÌNH PHƯƠNG)
Nếu em muốn tính một số “mũ 2” (hay còn gọi là bình phương), ví dụ \(10^2\) (10 mũ 2), Pascal có một hàm chuẩn rất tiện lợi là SQR.
1. Kí hiệu trong Pascal:
Để tính \(X^2\), em sẽ viết là: SQR(X)
2. Giải thích kí hiệu:
- SQR là viết tắt của từ SQuaRe trong tiếng Anh, có nghĩa là “bình phương”.
- Hàm SQR(X) sẽ trả về kết quả là \(X \times X\).
3. Ví dụ minh họa:
Giả sử em muốn tính \(10^2\):
PROGRAM ViDuMu2;
VAR
SoCanTinh: Integer;
KetQua: LongInt; {Dùng LongInt để kết quả lớn hơn Integer}
BEGIN
SoCanTinh := 10;
KetQua := SQR(SoCanTinh);
WriteLn('Ket qua cua ', SoCanTinh, ' mu 2 la: ', KetQua); {Kết quả sẽ là 100}
SoCanTinh := 5;
KetQua := SQR(SoCanTinh);
WriteLn('Ket qua cua ', SoCanTinh, ' mu 2 la: ', KetQua); {Kết quả sẽ là 25}
ReadLn;
END.
II. TRƯỜNG HỢP TỔNG QUÁT: MŨ BẤT KỲ (SỐ MŨ LÀ SỐ NGUYÊN DƯƠNG)
Đây là cách phổ biến nhất và rất phù hợp với kiến thức em đã học về vòng lặp (FOR…DO) trong lớp 8. Khi muốn tính \(a^n\) (a mũ n) với \(n\) là một số nguyên dương bất kỳ (không phải chỉ riêng mũ 2), chúng ta sẽ dùng vòng lặp để thực hiện phép nhân lặp đi lặp lại.
1. Khái niệm toán học:
Em nhớ lại, \(a^n\) có nghĩa là nhân số \(a\) với chính nó \(n\) lần:
\[a^n = a \times a \times \dots \times a \text{ (n lần)}\]
2. Cách làm trong Pascal (sử dụng vòng lặp FOR…DO):
Chúng ta sẽ dùng một biến để lưu kết quả, khởi tạo nó bằng 1. Sau đó, chúng ta sẽ lặp lại phép nhân cơ số vào kết quả đúng bằng số mũ lần.
3. Kí hiệu trong Pascal:
Không có một kí hiệu duy nhất. Thay vào đó, chúng ta sẽ viết một đoạn chương trình sử dụng các câu lệnh sau:
PROGRAM TinhLuyThua;
VAR
CoSo: Integer; {Cơ số (ví dụ: 10)}
SoMu: Integer; {Số mũ (ví dụ: 8)}
KetQua: LongInt; {Kết quả, dùng LongInt vì 10^8 là số rất lớn}
i: Integer; {Biến đếm của vòng lặp}
BEGIN
Write('Nhap co so: ');
ReadLn(CoSo);
Write('Nhap so mu (la so nguyen duong): ');
ReadLn(SoMu);
KetQua := 1; {Khởi tạo kết quả bằng 1. Vì bất cứ số nào mũ 0 cũng bằng 1, và nó là số trung hòa cho phép nhân}
{Vòng lặp để nhân CoSo với chính nó SoMu lần}
FOR i := 1 TO SoMu DO
BEGIN
KetQua := KetQua * CoSo;
END;
WriteLn(CoSo, ' mu ', SoMu, ' la: ', KetQua);
ReadLn;
END.
4. Giải thích chi tiết cho ví dụ “10 mũ 8”:
Với ví dụ của em là \(10^8\), chúng ta sẽ có:
- CoSo (cơ số) là 10.
- SoMu (số mũ) là 8.
Chương trình sẽ hoạt động như sau:
- Khởi tạo
KetQua := 1;(Lúc này KetQua = 1) - Vòng lặp
FOR i := 1 TO 8 DOsẽ chạy 8 lần:- Lần 1 (i=1):
KetQua := KetQua CoSo;=>KetQua := 1 10;(KetQua = 10) - Lần 2 (i=2):
KetQua := KetQua CoSo;=>KetQua := 10 10;(KetQua = 100) - Lần 3 (i=3):
KetQua := KetQua CoSo;=>KetQua := 100 10;(KetQua = 1000) - … Cứ như vậy cho đến hết…
- Lần 8 (i=8):
KetQua := KetQua CoSo;=>KetQua := 10000000 10;(KetQua = 100000000)
- Lần 1 (i=1):
- Sau khi vòng lặp kết thúc, biến
KetQuasẽ chứa giá trị \(100,000,000\) (một trăm triệu), đây chính là kết quả của \(10^8\).
LƯU Ý QUAN TRỌNG:
- Đối với phép tính lũy thừa, kết quả có thể rất lớn rất nhanh. Ví dụ \(10^8\) đã là \(100,000,000\). Kiểu dữ liệu Integer trong Pascal chỉ lưu được số đến khoảng 32,767 thôi. Do đó, em cần dùng kiểu dữ liệu LongInt (lưu được đến khoảng 2 tỷ) hoặc Real (số thực, lưu được số rất lớn nhưng có thể không chính xác tuyệt đối với số nguyên) cho biến
KetQuanhé. - Cách dùng vòng lặp này chỉ áp dụng khi số mũ là một số nguyên dương. Nếu số mũ là 0, thì kết quả là 1 (chương trình vẫn đúng nếu khởi tạo
KetQua := 1và vòng lặp không chạy). Nếu số mũ là số âm hoặc số thực thì cần cách khác phức tạp hơn, thường dùng hàm toán học nâng cao mà em sẽ học sau này.
Chúc em học tốt và luôn giữ được niềm đam mê với môn Tin học nhé! Nếu có bất kỳ câu hỏi nào khác, đừng ngần ngại hỏi thầy!
Đáp án và giải thích:
Trong \(Pascal\) bạn muốn viết mũ thì sử dụng kí hiệu ^
Ví dụ như \(10^{8}\) bạn có thể viết là 10 ^ 8
Kí hiệu này giống kiểu cái mũ nón mình đội í, sau ^ là bao nhiêu thì đấy là số mũ, đơn giản vậy thôi \(:)))))\)
\(***\)Dùng hàm Exp :
Exp(10*ln(8))
\(***\) Dùng For … do :
P := 1 ;
For i :=1 to 8 do
P := P * 10 ;