Diễn Đàn Pascal
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Hỏi???????

+2
bí mật cuộc sống
sptinhoc
6 posters

Go down

Hỏi??????? Empty Hỏi???????

Bài gửi by sptinhoc 10/12/2010, 9:34 pm

Cho chương trình
VAR a,b:byte;
c:real;
Begin
a:=100;
b:=100;
C:=a*b;
write('Ket qua: ',C:0:4);
End.

Tưởng chừng như chương trình trên rất đơn giản nhưng các bạn hãy thử gõ vào Pascal (không dùng Free Pascal) để xem kết quả có bằng 10000 ko? Quan trọng hơn là giải thích vì sao lại như thế.
sptinhoc
sptinhoc
Thành viên mới
Thành viên mới

Nam Ngày sinh : 12/10/1988
Tuổi : 35
Ngày đăng ký : 11/01/2010

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by bí mật cuộc sống 11/12/2010, 10:30 am

Mình cũng chưa thử nhưng chắc chắn kết quả sẽ không ra 10000 vì: byte x byte -> byte. Ở đây, do vượt quá bộ nhớ của byte nên sẽ gặp hiện tượng quay vòng. Very Happy

Để khắc phục hiện tượng này bạn viết: c:= a*1.0*b; thì hoàn toàn OK
bí mật cuộc sống
bí mật cuộc sống
Moderator
Moderator

Nam Ngày sinh : 12/08/1989
Tuổi : 34
Ngày đăng ký : 05/12/2010

http://tosonnguyenxyz.summerhost.info/web/

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by sptinhoc 11/12/2010, 11:10 am

Trong Pascal không tự động chuyển kiểu dữ liệu được nên kết quả của phép nhân sẽ vượt quá giới hạn của kiểu Byte -> kq sai. Sưa lại như bạn là đúng rồi. Thanks!!!!!!!!
sptinhoc
sptinhoc
Thành viên mới
Thành viên mới

Nam Ngày sinh : 12/10/1988
Tuổi : 35
Ngày đăng ký : 11/01/2010

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by yeupascal 14/12/2010, 7:52 pm

free pascal vô đối. Ai còn dùng turbo nữa. => Lạc hậu quá
yeupascal
yeupascal
Thành viên mới
Thành viên mới

Nam Ngày sinh : 04/03/1995
Tuổi : 29
Ngày đăng ký : 13/12/2010

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by sptinhoc 14/12/2010, 8:53 pm

Bạn nói vậy là sai rồi, turbo hay Free thì đâu có khác nhau nhiều, nếu dùng để dạy học thì vẫn dùng turbo, mình đảm bảo đến 99% trường học đều dùng turbo. Bạn đã bao giờ đi thi olympic chưa, lập trình trên Free nhưng lại dùng cả Free và Turbo để chấm bài đó. Hy vọng bạn sẽ có đống góp tích cực cho diễn đàn
sptinhoc
sptinhoc
Thành viên mới
Thành viên mới

Nam Ngày sinh : 12/10/1988
Tuổi : 35
Ngày đăng ký : 11/01/2010

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by Admin 17/12/2010, 4:26 pm

trường hợp như bạn nói mình đã từng gặp rồi. kể ra cũng hơi ức chế. khi làm bài thì cho làm trên free pascal, nhưng chấm thì lại xài turbo, kết quả là chạy không hết test.
Admin
Admin
Quản trị viên
Quản trị viên

Nam Ngày sinh : 18/01/1992
Tuổi : 32
Ngày đăng ký : 25/04/2008

https://diendanpascal.forumvi.com

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by bí mật cuộc sống 19/12/2010, 5:38 am

Ừ đúng thật. Học thì nên dùng Turbo Pascal, còn khi đi thi thì nên dùng Free Pascal. Nguyên nhân thì ai cũng biết rồi đó. Nhưng mình thích Free Pascal vì:

1. Hỗ trợ lập trình hướng đối tượng
2. Hỗ trợ chồng toán tử, không rõ có hỗ trợ chồng hàm như C++ nữa không
3. Giúp mọi người chuyển sang học C++ dễ dàng hơn

À, xin hỏi mọi người một chút:

Mọi người có biết công cụ: Add Watch trong Turbo/Free Pascal không. Người ta sử dụng cái này để kiểm tra xem thuật toán thực hiện có như mong muốn hay không hoặc tìm ra lỗi về thuật toán ở đâu.

Mình thì dùng Dev-C++, nhiều khi cũng phải thay đổi chút cho hợp thời thế Very Happy. Nhưng mình không biết công cụ này trong Dev-C++ ở đâu và dùng như thế nào.

Mong mọi người giúp đỡ.
bí mật cuộc sống
bí mật cuộc sống
Moderator
Moderator

Nam Ngày sinh : 12/08/1989
Tuổi : 34
Ngày đăng ký : 05/12/2010

http://tosonnguyenxyz.summerhost.info/web/

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by haihaihai 25/12/2010, 9:18 pm

Laughing Laughing Laughing em mới tham gia đây. Em cung co bai muốn hỏi.
Viết CT tính tích 2 so A và B bất kì biết 0Mấy anh làm hộ em cái.
.. santa ..Giáng Sinh an lành.. santa . .
haihaihai
haihaihai
Thành viên mới
Thành viên mới

Nam Ngày sinh : 11/11/1995
Tuổi : 28
Ngày đăng ký : 25/12/2010

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by bí mật cuộc sống 27/12/2010, 4:21 pm

Bạn sử dụng kiểu xâu/mảng để lưu trữ hai số A và B theo: hàng đơn vị, hàng chục, hàng trăm...

Sau đó, mô phỏng cách nhân của các em học sinh Tiểu học bạn ạ Very Happy
bí mật cuộc sống
bí mật cuộc sống
Moderator
Moderator

Nam Ngày sinh : 12/08/1989
Tuổi : 34
Ngày đăng ký : 05/12/2010

http://tosonnguyenxyz.summerhost.info/web/

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by haihaihai 29/12/2010, 10:01 pm

anh thu viet CT ho em cai chu em cung co y tuong nhu the nhung ma lam mai chang ra gi ca
haihaihai
haihaihai
Thành viên mới
Thành viên mới

Nam Ngày sinh : 11/11/1995
Tuổi : 28
Ngày đăng ký : 25/12/2010

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by tranhoangnam 1/1/2011, 8:47 am

toi khong hieu cac ban co' the giai thich' lai cho toi dc khong.
tranhoangnam
tranhoangnam
Thành viên mới
Thành viên mới

Nam Ngày sinh : 27/11/1996
Tuổi : 27
Đến từ : hai phong
Ngày đăng ký : 01/01/2011

Về Đầu Trang Go down

Hỏi??????? Empty Re: Hỏi???????

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết