Hàm TRUNC trong Pascal

http://s1.liketly.com/flash/edoc/jh2i1fkjb33wa7b577g9lou48iyvfkz6-swf-2014-02-25-pascal_kieu_so_thuc.dBafZ9SAHt.swf /tai-lieu/de-tai-ung-dung-tren-liketly-59375/
Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

KIỂU SỐ THỰC
6.3.1 Kiểu Real và các kiểu mở rộng :
Kiểu Real là kiểu số thực thông dụng nhất dùng để biểu diễn các số thực
x có trị tuyệt đối x nằm trong khoảng từ 2.9*10-39 đến 1.7*10+38. Nếu
x > 1.7*10+38 thì không biểu diễn x trong máy được, còn nếu x <
2.9*10-39 thì x được coi là bằng 0.
Có hai cách biểu diễn các số thực:
Cách 1: Viết bình thường, trong đó dấu phẩy thập phân được thay
bằng dấu chấm thập phân.
Ví dụ: 45.0 -256.45 +122.08
Cách 2: Viết số dưới dạng khoa học :
1.257E+01 (có gía trị = 1.257*101 = 12.57 )
1257.0E-02 (có gía trị = 1257*10-2 = 12.57 )
Trong dạng này số gồm có hai phần, phần đứng trước E gọi là phần
định trị, được viết theo cách 1, phần đứng sau E gọi là phần bậc, gồm dấu
cộng hay trừ, tiếp đến là một số nguyên.
Số viết theo cách 1 còn gọi là số có dấu chấm thập phân cố định, số viết
theo cách 2 còn gọi là số có dấu chấm thập phân di động hay số dạng khoa
học (Scientific).
Ví dụ: Muốn khai báo hai biến x, y kiểu real, ta viết:
Var
x, y : Real;
Ngoài kiểu Real ra, các số thực còn có 4 kiểu mở rộng nữa là Single,
Double, Extended va?Comp. Bảng 6.4 nêu chi tiết về phạm vi gía trị và số
byte dùng để lưu trữ trong bộ nhớ của từng kiểu số thực.
Tên kiểu Phạm vi gía trị Số byte
Real 2.9*10-39 .. 1.7*1038 6
Single 1.5*10-45 .. 3.4*1038 4
Double 5.0*10-324 .. 1.7*10308 8
Extended 3.4*10-4932 .. 1.1*104932 10
Comp -9.2*1018 .. 9.2*1018 8
Bảng 6.4
Chú y? : Turbo Pascal thường chỉ làm việc với một kiểu Real. Muốn
dùng 4 kiểu thực còn lại, phải chuyển sang mode 8087 bằ?g cách viết chỉ thị
{$N+} ở ngay đầu chương trình.
6.3.2. Các phép toán trên số thực :
Có 4 phép toán số học là nhân (*), chia (/), cộng (+) và trừ (-). Khi một
trong các số hạng tham gia tính toán là kiểu thực thì kết qủa của phép toán
cũng là một số thực.
Phép toán DIV, MOD không dùng cho các số thực.
Ví dụ: với hai biến x, y kiểu thực thì lệnh sau là bị lỗi vì biểu thức vế
phải không hợp lệ:
y:= x mod 10 ;
Các phép toán so sánh (= , , , >= ) cũng dùng được cho
các số hạng là thực hay nguyên.
6.3.3. Các hàm có đối số nguyên hay thực :
Hàm ABS(x): tính trị tuyệt đối của x : x . Kiểu dữ liệu của kết qủa
cùng kiểu với đối số. Nếu x nguyên thì ABS(x) cũng nguyên, nếu x là số
thực thì ABS(x) cũng là số thực.
Ví dụ: Abs(5 - 8) = 3
Hàm SQR(x): tính bình phương của x: x2 . Kiểu dữ liệu của kết qủa
cùng kiểu với đối số. Ví dụ:
Sqr(4.0) = 16.0
Sqr(7 div 3) = 4
Trong các hàm dưới đây, đối số x có thể là nguyên hay thực, nhưng gía trị
trả về?luôn luôn là kiểu thực:
Hàm SQRT(x): tính , (x 0)
Hàm EXP(x) : tính ex
Hàm LN(x): tính lnx, (x > 0)
Các hàm SIN(x), COS(x), và ARCTAN(x): tính sinx, cosx và arctgx.
Hàm INT(x) : cho số thực bằng phần nguyên của x. Ví dụ :
Int(12.55) = 12.0
Int(1+10/3)=4.0
Hàm FRAC(x) : cho số thực bằng phần lẻ của x. Ví dụ :
Frac(12.55) = 0.55
Hai hàm đặc biệt dưới đây cho kết qủa là số nguyên:
Hàm TRUNC(x): cho số nguyên là phần nguyên của x. Ví dụ :
Trunc(12.55) = 12
Trunc(-2.98) = -2
Hàm ROUND(x): cho số nguyên bằng cách làm tròn x. Ví dụ :
Round(12.45) = 12
Round(-2.98) = -3
Chú ý rằng hàm Int(x) và hàm Trunc(x) cùng cho phần nguyên của x,
chúng chỉ khác nhau về kiểu dữ liệu của gía trị trả về. Int(4.5)= 4.0 còn
Trunc(4.5) = 4 (viết 4 thì hiểu đó là số nguyên, còn viết 4.0 thì hiểu đó là số
thực).
Ví dụ 6.3: Viết chương trình nhập số thực x bất kỳ, tính và in các gía trị
y và z lên màn hình theo công thức:
Trong Pascal không có hàm tính trực tiếp 2x và Log4(x), nên ta phải
chuyển qua hàm ex và Ln(x) như sau:
, và
Chương trình cụ thể như sau:
PROGRAM VIDU63;
Var
x, y, z : Real;
Begin
Write(‘Nhap x: ‘); Readln(x);
y:= ( sqrt (x*x+1) + sin(x)*sin(x) ) / ( 3*exp(2*x) + 1 );
z:= exp( x*Ln(2) ) + Ln(abs(x)+1) / Ln(4);
Writeln(‘y= ‘, y:10:3 );
Writeln(‘z= ‘, z:10:3 );
Readln;
End.
Chạy.
Chép tập tin nguồn
Khi chạy chương trình, nếu nhập x =0 thì kết qủa y=0.250 và z=1.000.
...

 

CÁC THỦ TỤC THÔNG DỤNG
Str(x,S) Ðổi giá trị kiểu số X sang dạng chuỗi S.
Val(S,x,code) Đổi chuỗi S thành sô x.Nêu đổi chuỗi thành công biên Code nhận giá trị 0. Nêu không đổi đc,code là sô nguyên cho biêt vtrí gây lỗi.
INC(x,r) Tăng giá trị của x nên r đơn vị. Tương đương với x:=x+r;
DEC(x,r) Giảm giá trị của x xuống r đơn vị. Tương đương với x:=x-r.
(Thủ tục INC(x), DEC(x) xem như tăng, giảm x một đơn vị)
Insert(S,T,vt); Chèn chuoi S vào chuoi T vtrí vt.
Delete(S,P,L) Xoá L ký tự từ  vtrí P ra khỏi
Break ;kết thúc vòng lặp
                                    CÁC HÀM THÔNG DỤNG
Ord(X)  Lấy thứ tự của ký tự X trong bản mã ASCII.
Chr(X)  Lấy ký tự thứ X trong bảng mã ASCII
PRED(x) Cho phần tử đứng trước x
SUCC(x) Cho ra phần tử đứng sau x
Round(x) Làm tròn x
Trunc(x) Lấy phần nguyên
Int(x)  Lấy phần nguyên
Frac(x) Lấy phần lẻ
ABS(x) Lấy giá trị tuyệt đối
Copy(S,P,L)  Trích chuỗi S một chuỗi con dài L ký tự bắt đầu từ  vtrí  P.
Odd(I:Integer) Cho True khi I là sô lẻ và False khi I là sô chẵn
Pos(X,S):Integer Cho vtrí bắt đầu của chuỗi con X trong S. Nêu X không thuộc S thì hàm POS cho giá trị 0.
                           A Page A Future