Hỏi???????

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Hỏi???????

Bài gửi by sptinhoc on 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ế.
avatar
sptinhoc
Thành viên mới
Thành viên mới

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

Về Đầu Trang Go down

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

Bài gửi by bí mật cuộc sống on 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
avatar
bí mật cuộc sống
Moderator
Moderator

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

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

Về Đầu Trang Go down

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

Bài gửi by sptinhoc on 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!!!!!!!!
avatar
sptinhoc
Thành viên mới
Thành viên mới

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

Về Đầu Trang Go down

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

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

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

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

Về Đầu Trang Go down

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

Bài gửi by sptinhoc on 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
avatar
sptinhoc
Thành viên mới
Thành viên mới

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

Về Đầu Trang Go down

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

Bài gửi by Admin on 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.
avatar
Admin
Quản trị viên
Quản trị viên

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

http://diendanpascal.forumotion.com

Về Đầu Trang Go down

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

Bài gửi by bí mật cuộc sống on 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 đỡ.

________________________

avatar
bí mật cuộc sống
Moderator
Moderator

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

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

Về Đầu Trang Go down

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

Bài gửi by haihaihai on 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 . .
avatar
haihaihai
Thành viên mới
Thành viên mới

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

Về Đầu Trang Go down

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

Bài gửi by bí mật cuộc sống on 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

________________________

avatar
bí mật cuộc sống
Moderator
Moderator

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

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

Về Đầu Trang Go down

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

Bài gửi by haihaihai on 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
avatar
haihaihai
Thành viên mới
Thành viên mới

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

Về Đầu Trang Go down

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

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

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

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

Về Đầu Trang Go down

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

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


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