Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Lỗi String trong Turbo Pascal
Nội dung xem thử
Mô tả chi tiết
Lỗi số lớn và kiểu String trong Turbo Pascal
Trần Hữu Anh
I. Giới thiệu
Trong mỗi ngôn ngữ lập trình thường có một số kiểu dữ liệu chuẩn cho biết phạm vi giá trị
có thể lưu trữ, dung lượng bộ nhớ cần thiết để lưu trữ và xác định các phép toán có thể tác
động lên dữ liệu.
Và trong TP, một số kiểu dữ liệu dạng số như kiểu số nguyên (bao gồm kiểu: byte, integer,
word, login) trong đó kiểu logint (có phạm vi lớn nhất): mỗi giá trị lưu giữ trong 4 byte, giá
trị biến kiểu này nằm trong phạm vi từ - 2¬31 đến 231-1 tức là từ (-2147483648 đến
2147483647) nên chỉ cho phép biến lưu giữ số tối đa có 10 chữ số.
Chính vì vậy khi có sự tác động của các toán tử (+,-, *, /)lên 2 hay nhiều biến kiểu nguyên
có giá trị lớn thì kết quả của phép toán là không chính xác do lỗi tràn số (lỗi do số quá lớn).
Để khắc phục điều này, thay vì dùng các biến kiểu nguyên, ta dùng các biến kiểu String.
Chẳng hạn để thực hiện phép nhân 2 số, (mỗi số có nhiều hơn 10 chữ số) ta dùng 2 biến S1
và S2 kiểu String dùng để lưu 2 xâu số nhập vào (mỗi chữ số trong xâu là một kí tự) và
dùng biến S để lưu kết quả phép nhân.
Việc nhân 2 xâu số có thể minhhoạ như sau (như phép nhân trong SGK môn Toán tiểu
học)
Nên theo ý đó, ta chia bài này toán thành các modul sau: Modul 1: Function Tích1 (S1,
S2:String) : String, có giá trị trả về là tích 2 xâu S1, S2 (trong đó xâu số S2 chỉ có 1 chữ số)
Modul 2: Function Tong (S1, S2:String) :String, có giá trị trả về là tổng 2 xâu S1, S2.
Modul 3: Function Tích (S1, S2:String) : String, có giá trị trả về là tích 2 xâu S1, S2 (trong
đó S1, S2 là 2 xâu số nguyên độ dài tối đa 255 kí tự).Để chi tiết hơn, ta minh họa Modul 2
theo sơ đồ sau: