• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

[Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy Toán

Các đề tài, cuộc thi, chủ đề chung của diễn đàn

Điều hành viên: Điều hành

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

[Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy Toán

Gửi bàigửi bởi vo_minhdat2007 » T.Bảy 23/10/2010 6:33 pm

Chào các bạn,

Nhằm giúp làm sôi động thêm diễn đàn và góp phần giúp các bạn nâng cao kỹ năng lập trình cho các thành viên Câu lạc bộ VB, đặc biệt là VB.NET, mình quyết định mở một loạt các chủ đề về lập trình để các thành viên có thể thi đấu với nhau.

Mục đích: Giúp thành viên vận dụng kiến thức lập trình của mình để giải quyết những vấn đề thực tế do đề bài đưa ra, từ đó nâng cao kĩ năng.
Đối tượng: Tất cả thành viên diễn đàn, trừ BQT (Admin, SMOD, MOD). Advance Member được quyền tham gia. Tuy nhiên, Admin, SMOD, MOD vẫn có thể gửi đáp án để làm cơ sở nhận xét. Advance Member được tham gia, nhưng nếu có kết quả hòa giữa Advance Member và thành viên thường thì sẽ ưu tiên cho thành viên.
Quy định:
- Các bài giải sẽ được gửi cho MOD vo_minhdat2007 bằng chức năng nhắn tin của diễn đàn hoặc email vo_minhdat2007@yahoo.com.vn . Mục đích là để các bạn tự suy nghĩ ra cách giải tốt nhất đối với mình.
- Sau vài ngày, MOD sẽ đưa các bài giải của các bạn lên và nhận xét, chấm điểm và xếp hạng. Các bạn sẽ tiếp tục thảo luận nếu có giải pháp hay hơn, hoặc đưa ra các nhận xét. Vài ngày sau thì bắt đầu kì mới.
- Chú ý: Trong phần tính điểm có tính cả điểm xử lí tình huống lỗi, kể cả lỗi dữ liệu đầu vào!

Đáp án:
Mỗi đề bài đưa ra sẽ bao gồm yêu cầu, kèm theo 1 form mẫu (ở đây dùng VS2008, các bạn dùng bản cũ hơn thì xem cách downgrade ở box Thắc mắc VB.NET & C#) nếu các bạn không muốn thiết kế lại form. Khi gửi đáp án các bạn có 2 cách:
- Gửi cả project qua email hoặc chức năng nhắn tin (đã ghi ở mục trên).
- Chỉ gửi code bằng chức năng nhắn tin của diễn đàn, code được cho vào thẻ code tương ứng, và phải chạy được khi mình copy vào form mẫu đã post.

Giải thưởng:
Sau vài kì, mình sẽ tổng kết một lần, và có một phần quà nhỏ khuyến khích các bạn tham gia. Ngoài ra, các bạn sẽ được thể hiện và học hỏi kĩ năng thông qua cuộc thi, và BQT sẽ chú ý xem xét đưa các bạn giỏi vào các nhóm như Support, Advanced Member.




KÌ 5: TAM GIÁC CHO THẦY TOÁN


Tình huống:

Thầy chủ nhiệm của mình dạy môn Toán, đặc biệt thầy dạy Hình học rất hay :) Nhưng vì thầy cũng đã lớn tuổi nên việc học Tin học có phần khó khăn. Khi làm giáo án điện tử, thầy cần vẽ rất nhiều tam giác, một số cần đúng chuẩn, vì vậy, các lập trình viên tài giỏi của diễn đàn hãy giúp thầy chủ nhiệm của mình nhé :D

Yêu cầu:

Chương trình có giao diện như hình (các bạn tải project mẫu về hoặc tự thiết kế lại).

Hình ảnh


Người dùng sẽ nhập vào các ô TextBox 3 yếu tố của tam giác, trong đó có ít nhất 1 yếu tố về cạnh (dữ liệu vào bảo đảm là kiểu số tối đa 2 chữ số thập phân, các dữ liệu chưa biết được chừa trống). Sau đó, nhấn nút Tính. Chương trình sẽ đưa ra 3 yếu tố còn lại của tam giác và vẽ tam giác ấy ra.

Hình ảnh


Các ô nhập và nút Tính sẽ bị mờ, khi người dùng nhấn Reset, ô nhập mới sáng trở lại, đồng thời xóa hết dữ liệu 6 ô TextBox.

Hình ảnh


Gợi ý:
Sử dụng định lí cos và sin trong tam giác thường để xác định 3 yếu tố:

Hình ảnh


Lưu ý:
- Dữ liệu cuối cùng làm tròn 2 chữ số thập phân.
- Sử dụng lớp Graphic để vẽ: viewtopic.php?f=23&t=3840 .
- Tam giác cần đúng tỉ lệ các cạnh (tỉ lệ tùy thích, có thể khác nhau cho từng tam giác, miễn các cạnh tam giác đúng tỉ lệ).

Ghi chú:
Có trường hợp nếu cho góc không xen giữa 2 cạnh đã biết là 90 độ (Pi/2) thì khi tính toán sẽ khiến Overflow khi tính hàm Cos và Delta, do đó các test sẽ không có trường hợp này, các bạn không cần tách riêng cho trường hợp này.




ĐÁP ÁN


Không biết do đề lần này khó hay dài mà mình không nhận được bài dự thi nào. Thực ra so với các đề trước, đề này dễ hơn, không yêu cầu cao về thuật toán, chỉ cần dùng hình học phổ thông để giải.

Hi vọng các bạn tham gia tích cực hơn ở kì sau.
Tập tin đính kèm
KNLT5_DapAn.rar
(68.98 KiB) Đã tải 858 lần



Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy T

Gửi bàigửi bởi vo_minhdat2007 » T.Hai 25/10/2010 9:41 am

Không biết đề lần này không hay hay là do khó quá mà đến giờ chưa thấy có bạn nào tham gia hoặc thảo luận? Mấy kì trước đa số nặng về thuật toán, nay bài này mình muốn mọi người cùng ôn lại kĩ năng Toán học xíu thôi mà :D Bài này có thể dùng hàm số sin và cos trong tam giác để giải một cách tổng quát thôi!

Hình đại diện của người dùng
lungocqua
Guru
Guru
Bài viết: 1225
Ngày tham gia: T.Ba 18/08/2009 11:51 am
Đến từ: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy T

Gửi bàigửi bởi lungocqua » T.Hai 25/10/2010 4:20 pm

Cái đề này khó quá! Hồi đó mình học dỡ nhất môn Toán mà! :(
Ta đã trở lại và quên hết tất cả! :D

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy T

Gửi bàigửi bởi vo_minhdat2007 » T.Hai 25/10/2010 5:21 pm

Đành thêm gợi ý vậy, đa số mọi người trên forum đã qua thời "chịu cực hình" với mấy cái này rồi nhỉ :P Thực ra vấn đề vẽ hình mới thực sự khó cơ :D

Hơn nữa cũng nói luôn lần này mình chấm không có test nữa, vì nói chung bài này không có gì để bẫy cả, vì mình đoán ai cũng sẽ làm trường hợp tổng quát mà thôi. Chủ yếu là kĩ năng code và giải được vấn đề ;) Và cuối cùng thì như đúng mục đích của cuộc thi: vui là chính, học hỏi nhau và rèn kĩ năng :D

NovaFooc
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 307
Ngày tham gia: T.Ba 11/08/2009 3:27 pm

Re: [Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy T

Gửi bàigửi bởi NovaFooc » T.Hai 25/10/2010 5:43 pm

vẫn đang ôn thi, nhưng mà thấy đề cũng chẳng quá phức tạp, dành ra mỗi ngày ít thời gian chắc cũng ok :D
hồi trung học thích hình hơn số, nhưng từ khi lên ĐH k0 học hình nữa, h làm cái này cũng vui

Hình đại diện của người dùng
VuVanHoanh
Thành viên danh dự
Thành viên danh dự
Bài viết: 1259
Ngày tham gia: T.Năm 03/06/2010 9:23 pm
Đến từ: Kim Sơn - Đông Triều - Quảng Ninh
Has thanked: 22 time
Been thanked: 137 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy T

Gửi bàigửi bởi VuVanHoanh » T.Ba 26/10/2010 8:21 pm

Có lẽ em không đủ trình làm được. Vì em chưa hiểu kỹ về cos và sin (lớp 8 miễn học)
Since 2008...
One love! :x

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy T

Gửi bàigửi bởi vo_minhdat2007 » T.Bảy 30/10/2010 2:12 pm

Hình như đề lần này vượt tầm các thành viên hay sao vậy :P Chiều mai mình post đáp án nha.

NovaFooc
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 307
Ngày tham gia: T.Ba 11/08/2009 3:27 pm

Re: [Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy T

Gửi bàigửi bởi NovaFooc » CN 31/10/2010 8:52 am

hix kì này lỡ hẹn rồi :">
mình code đc có 2 bữa (xong khoảng 50%) thì k0 làm đc nữa vì bận soạn trả lời mấy câu hỏi đường lối Đảng (mới thi sáng nay xong - lâu rồi k0 chép nhiều nên vừa chậm vừa xấu :( )

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy T

Gửi bàigửi bởi vo_minhdat2007 » T.Ba 02/11/2010 9:48 pm

Đã cập nhật đáp án. Mời các bạn cùng tham gia thảo luận trước khi có đề kì 6.

Hình đại diện của người dùng
NTN
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 472
Ngày tham gia: T.Tư 05/02/2014 3:43 pm
Đến từ: Cao Lãnh, Đồng Tháp,Việt Nam
Has thanked: 19 time
Been thanked: 7 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 5: Tam giác cho thầy Toán

Gửi bàigửi bởi NTN » T.Hai 02/11/2015 5:42 pm

AD mở thêm cuộc thi đi ạ !
Dongthapseo.com - Luutru360.com - Tình yêu của tôi <3


Quay về “Đề tài chung”

Đ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.2 khách