• 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

Moderator: Điều hành

User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

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

Postby vo_minhdat2007 » Sat 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).

Image


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.

Image


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.

Image


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

Image


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.
Attachments
KNLT5_DapAn.rar
(68.98 KiB) Downloaded 949 times



User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

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

Postby vo_minhdat2007 » Mon 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!

User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

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

Postby lungocqua » Mon 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

User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

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

Postby vo_minhdat2007 » Mon 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
Posts: 307
Joined: Tue 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

Postby NovaFooc » Mon 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

User avatar
VuVanHoanh
Thành viên danh dự
Thành viên danh dự
Posts: 1259
Joined: Thu 03/06/2010 9:23 pm
Location: Kim Sơn - Đông Triều - Quảng Ninh
Has thanked: 22 times
Been thanked: 138 times
Contact:

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

Postby VuVanHoanh » Tue 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

User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

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

Postby vo_minhdat2007 » Sat 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
Posts: 307
Joined: Tue 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

Postby NovaFooc » Sun 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 :( )

User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

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

Postby vo_minhdat2007 » Tue 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.

User avatar
NTN
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 482
Joined: Wed 05/02/2014 3:43 pm
Location: Đồng Tháp,Việt Nam
Has thanked: 19 times
Been thanked: 7 times
Contact:

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

Postby NTN » Mon 02/11/2015 5:42 pm

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


Return to “Đề tài chung”

Who is online

Users browsing this forum: No registered users and 1 guest