Tìm kiếm Blog này

Thứ Tư, 7 tháng 10, 2015

Bài thực hành số 3: KHAI BÁO VÀ SỬ DỤNG BIẾN (Tin học 8) Bài 1

SAU ĐÂY LÀ CHƯƠNG TRÌNH TRONG FILE TINHTIEN.PAS:
-------------------------------------------------------------
program Tinh_tien;
uses crt;
var
   soluong: integer; {sua lai soluong: longint; de chay dung}
   dongia, thanhtien: real;
   thongbao: string;
   const phi = 10000;
begin
 clrscr;
 thongbao:= 'Tong so tien phai thanh toan: ';
 {Nhap don gia va so luong hang}
 write('Don gia =  '); readln(dongia);
 write('So luong =  '); readln(soluong);
 thanhtien := soluong * dongia + phi;
 (*In ra so tien phai tra*)
 writeln(thongbao, thanhtien:10:2);
 readln
end.
-------------------------------------------------------------
TRẢ LỜI CÂU HỎI:
c) Chạy chương trình với các bộ dữ liệu (đơn giá và số lượng) như sau (1000, 20), (3000, 200), (18500, 123). Kiểm tra tính đúng của các kết quả in ra?
Trả lời:
- Kết quả với cặp dữ liệu (1000, 20) là: 30000.00
- Kết quả với cặp dữ liệu (3500, 200) là: 710000.00
- Kết quả với cặp dữ liệu (18500, 123) là: 2285500.00
d) Chạy chương trình với bộ dữ liệu (1, 35000). Quan sát kết quả nhận được. Hãy thử đoán lí do tại sao chương trình cho kết quả sai.
Trả lời:
- Kết quả với cặp dữ liệu (1, 35000) là: -20536.00
- Kết quả cho ra sai vì biến soluong có kiểu dữ liệu là integer với tầm giá trị là các số nguyên trong đoạn [-2^15, 2^15-1]. Mà 2^15-1 = 32767 < 35000.
- Để chương trình chạy đúng bạn phải khai báo biến soluong có kiểu dữ liệu là longint hay real

Không có nhận xét nào:

Đăng nhận xét