Bảng Biến

Chuyên mục này được tạo nhằm mục đích để mọi người trao đổi về cách xây dựng cũng như là chia sẻ tệp mẫu mặt cắt với đồng nghiệp
Trả lời
Rybub
Bài viết: 35
Ngày tham gia: T.Hai 28/01/13 8:36
Liên hệ:

Bảng Biến

Gửi bài gửi bởi Rybub »

- Trong phần bảng biến, giá trị của biến không có phần Y của các điểm trong mặt cắt để chọn. Phải ghi tay vào hoặc ghi tạm bên phần khác rồi copy qua để đảm bảo ghi đúng.
- Điều kiện khai báo trong bảng biến lúc hiểu lúc không. Ví dụ, khi khai báo B=B1.dk1 + B2.dk2, trong đó: B1=4, B2=5, dk1: điều kiện thứ nhất, dk2: điều kiện thứ 2. dk1: Y_dinhlongtrongcong - Y_daylongtrongcong==0.6, dk1: Y_dinhlongtrongcong - Y_daylongtrongcong==1. Mục đích là xác định giá trị thực của bề rộng móng cóng B tại mặt cắt thực tế. Khi nhấn qua lại giữa tab mặt cắt thiết kế và bảng biến thì giá trị biến B lúc hiểu lúc không, đa số là không hiểu (=0) hoặc màu đỏ báo lỗi , mặc dù dk1=1. Như khi dk1 =1, dk2=0 thì B=4 mà theo AND B=0. Em đã kiểm tra điều kiện có xảy ra không khi thay đổi giá trị Y_dinhlongtrongcong thì bằng cách chèn khối móng cống 60cm hoặc móng cống 100cm thì bên phần ghi chú và khối vẫn chèn đươc bình thường trong từng trường hợp nhưng bên phần bảng biến giá trị B luôn bằng không hoặc hiện màu đỏ máu lỗi, đôi khi thì giá trị đúng.
Hoặc thay điều kiện 1 như sau: Y_dinhlongtrongcong - Y_daylongtrongcong>0.5&&Y_dinhlongtrongcong - Y_daylongtrongcong<0.7 để xác định đường kính cống nằm trong khoảng 0.5-0.7 thì xảy ra điều kiện nhưng vẫn xảy ra trường hợp lúc được lúc không. Mong anh kiểm tra dùm
Viet Hai
Số bài viết
Bài viết: 3401
Ngày tham gia: T.Bảy 14/08/10 20:34
Đến từ: Học viện KTQS
Liên hệ:

Re: Bảng Biến

Gửi bài gửi bởi Viet Hai »

1. Các biểu thức anh phải sử dụng đóng mở ngoặc đơn () nếu không các phép toán có thể bị hiểu sai
Ví dụ Y_dinhlongtrongcong - Y_daylongtrongcong>0.5&&Y_dinhlongtrongcong - Y_daylongtrongcong<0.7 cần phải
(Y_dinhlongtrongcong - Y_daylongtrongcong)>0.5&&(Y_dinhlongtrongcong - Y_daylongtrongcong)<0.7
2. Các biểu thức Y_dinhlongtrongcong - Y_daylongtrongcong==0.6, dk1: Y_dinhlongtrongcong - Y_daylongtrongcong==1
chương trình sẽ không bao giờ so đường phép == của các số thực nên
Y_dinhlongtrongcong - Y_daylongtrongcong==0.6 cần phải đổi lại abs((Y_dinhlongtrongcong - Y_daylongtrongcong)-0.6)<0.00001 thì chương trình mới hiểu
Rybub
Bài viết: 35
Ngày tham gia: T.Hai 28/01/13 8:36
Liên hệ:

Re: Bảng Biến

Gửi bài gửi bởi Rybub »

1. có a ơi, tại e diễn giải nên ko có ghi vô
2. Y_dinhlongtrongcong - Y_daylongtrongcong==0.6, điều kiện này e thử bên phần ghi chú và khối thì nó áp dụng được nên e áp dụng sang bảng biến thì không được. Do nghi ngờ có thể không đúng bằng 0.6 nên e đã có điều kiện nằm từ 0.5 đến 0.7 theo kiểu khai báo như trên a nói nhưng ko được.

Em vẫn ko hiểu tại sao bên bảng biến lại lúc trúng lúc không. Do e tách riêng phần điều kiện ra để kiểm tra, sau khi nhấn qua lại giữa mặt cắt thiết kế và bảng biến vài lần, thì điều kiện lúc =0, lúc =1, mặc dù không điều chỉnh gì hết, chỉ nhấn qua lại sẽ có kết quả khác
Viet Hai
Số bài viết
Bài viết: 3401
Ngày tham gia: T.Bảy 14/08/10 20:34
Đến từ: Học viện KTQS
Liên hệ:

Re: Bảng Biến

Gửi bài gửi bởi Viet Hai »

Y_dinhlongtrongcong - Y_daylongtrongcong là một số thực.
Số thực là số có giá trị sau chấm thập phân hầu như dài vô tận phụ thuộc vào các phép tính trước nó nên không thể so được (Y_dinhlongtrongcong - Y_daylongtrongcong)==0.6, mà phải so với 1 số nhỏ delta ví dụ abs( (Y_dinhlongtrongcong - Y_daylongtrongcong)-0.6)<0.000001 thì mới đúng
Trả lời

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.14 khách