KINH NGHIỆM THI CỬ
Các
cuộc thi là nơi để bạn chửng tỏ
trình độ và khả năng cuả mình. Công sức học tập
bấy lâu chỉ quyết định trong 3 tiếng làm
bài thi. Do đó, kinh nghiệm là thứ không thể thiếu nếu muốn đạt kết quả tốt.
1. Kiến thức
Cuộc
thi nào cũng đòi hỏi kiến thức
trong một miền giới hạn nhất định, và hãy
đảm
bảo rằng bạn đã chuẩn
bị tốt những kiến thức đó. Các cuộc thi lớn thường có lượng kiến thức giới hạn không hề nhỏ. Do đó trước khi thi bạn
phải tạo cho mình một cái nhìn
tổng quát về lượng
kiến thức đã có.
Cần
chú ý rằng việc bổ sung ,tìm hiểu kiến thức trong quá trình học tập khác
với trong quá trình chuẩn bị cho
kì thi. Việc vùi đầu bổ sung
kiến thức mới ngay trước kì thi là
hoàn toàn không nên. Vì như thế chúng ta sẽ bị ảnh hưởng bởi lượng kiến thức đó và làm lu mờ đi một lượng
lớn kiến thức đã
thu thập được bấy lâu.
2. Tâm lí
Nhiều người thường nói nào là
trước ngày thi không nên xem nhiều phim, không được chơi game, nghe nhạc …
Nhưng những hạn chế này chỉ làm
cho bạn cảm thấy thêm sức ép mà thôi. Trước ngày thi khỏang 2
ngày, bạn cứ làm những gì bạn thích
và đôi lúc cần phải
quên đi việc đối mặt với kì thi
trước mắt. Cố gắng tạo
một tâm lí thoải mái nhất.
Bạn
cũng đừng quá lo về lượng kiến thức hao hụt khi bạn giải trí.
đối với môn Tin học, chúng ta không học theo kiểu “học thuộc lòng”, vì thế kiến thức không thể mất đi trong ngày một
ngày hai được.
3. Cách
làm bài
đối
với môn Tin, sẽ có 180 phút để làm 3 bài
thi. Khi cầm một tờ đề, những phút đầu
tiên, bất cứ ai cũng sẽ thấy hồi hộp. Hãy đọc
bài đầu tiên (vì đây thường là bài dễ,
cho học sinh kiếm điểm). Nếu vẫn chưa lấy lại được bình tĩnh cần thiết
thì có thể code cấu trúc form cho chương
trình, rồi tạo trước file input.
Thực hiện làm
từng bài theo chiến thuật: “bài dễ
làm trước, khó làm sau”; nguyên tắc “làm bài nào chắc chắn bài đó”.
Việc
phân bố thời gian để giải quyết 3 bài trong 180 phút cũng cực kì quan
trọng. Bài 1 thường là bài cho điểm nên cố gắng hoàn thành trong thời
gian càng ngắn càng tốt. Hai bài còn lại
mỗi bài thường dành 10 - 15 phút
suy nghĩ để tìm ra
thuật tóan tốt. Nếu không được tìm thì chuyển sang hướng
cài đặt Duyệt ăn 60% số điểm (đối với
môn tin học thì mỗi bài có giới
hạn 60% số test với dữ liệu nhỏ và các bạn có thể ăn được số test này với thuật toán Duyệt nếu
cài đặt khéo). Sau đó nếu còn dư thời gian có thể quay lại cải tiến tiếp, phải
luôn luôn cải tiến chương trình cho đến khi nào hết thời gian, cố gắng ăn càng
nhiều test, đúng càng nhiều trường hợp càng tốt. Chưa cần biết các test hay trường hợp đó
có mang lại nhiều điểm hay không.
đặc
biệt chú ý đến việc đặt tên file
chương trình và file INPUT, OUTPUT. Nên làm những
việc này trước khi tiến hành lập trình. Nên lập trình trực tiếp bằng
Free Pascal và để chế độ báo
các lỗi như
tràn mảng hay tràn bộ nhớ. Chú ý các giới hạn
của đề bài để khai báo
mảng hay biến số.
Và
khi thời gian thi còn lại 10 phút,
nên kiểm tra lại mọi thứ để đảm bảo không có sai sót đáng tiếc nào về những file sắp ghi lên đĩa.
Các
bạn
nên luyện tập cách làm trên với các đề
thi thử để tránh lúng túng
trong các kì thi quan trọng.
Kinh nghiệm thi cử
Làm bài thật nhanh
Suy
nghĩ thì phải cẩn thận, nhưng khi đặt tay xuống làm bài thì phải làm bài thật
nhanh, không chần chừ do dự. Nên nhớ đây là một yếu tố rất quan trọng, nếu
không nhiều khả năng sẽ bị thiếu thời gian! Luyện tập làm bài nhanh mỗi khi có thể để đến khi đi thi sẽ quen.
đọc kỹ và suy nghĩ tất cả các bài
trước khi làm
Nên
dành một khoảng thời gian để suy nghĩ tất cả các bài toán, sau đó mới quyết
định sẽ làm bài nào trước. Có rất nhiều trường hợp, một bài toán tưởng chừng
đơn giản nhưng đến khi làm gần xong mới phát hiện là bài khó. Vì vậy cần tỉnh
táo tránh lãng phí thời gian.
Làm bài dễ trước
Hoàn
thành bài dễ trước để đảm bảo một số điểm cho mình và tạo cảm giác yên tâm khi
làm những bài còn lại.
Kiểm tra mỗi bài sau khi làm xong
Sau khi làm xong mỗi bài, cần phải kiểm tra lại chương
trình trước khi chuyển sang bài khác.
để
kiểm tra chương trình, cách tốt nhất là test thật nhiều. Có thêm một test đúng,
xác suất đúng đắn của chương trình sẽ tăng lên đáng kể.
Dùng các test kích thước nhỏ, tự sinh ra để kiểm tra tính
đúng đắn của thuật toán; các test lớn, nhận giá trị lớn nhất và giá trị ngẫu
nhiên để kiểm tra thời gian thực hiện của thuật toán, phát hiện các lỗi như
range check, stack overflow, arithmetic overflow.
Có
những bài toán mà có thể kiểm tra kết quả một cách đơn giản (ví dụ bài Dò mìn).
Khi đó đừng ngại viết chương trình tạo test hoặc chương trình kiểm tra kết quả
nếu cần thiết.
Với
những bài toán mà có thuật toán đúng đắn rất đơn giản (tuy nhiên thời gian thực
hiện lớn hơn), hãy viết một chương trình như vậy dùng để kiểm tra kết quả.
Chẳng hạn, bài toán cặp điểm gần nhất: cho N điểm trên mặt phẳng, tìm hai điểm
có khoảng cách gần nhất. Dùng chương trình O(N2) để so sánh với chương trình
O(NlogN), nếu hai chương trình cho kết quả như nhau ở các bộ test thì xác suất
đúng đắn của chương trình O(NlogN) là rất cao. Tương tự, nếu có hai phương pháp
khác nhau nhiều để giải bài toán mà cùng cho kết
quả như nhau thì xác suất đúng của chương trình là tương đối cao.
đọc kỹ đề bài
đọc
lại một đề bài nhiều lần, đọc cả trước khi làm, sau khi làm xong, phát hiện xem
mình có nhầm lẫn, thiếu sót chi tiết gì không!
Sửa lỗi chương trình
Khi
chương trình chạy cho ra kết quả sai, cần sửa lỗi (debug) chương trình. Cần tận
dụng hiệu quả các công cụ debug của Free Pascal như watches, break point, sử
dụng tốt các phím tắt F4, F7, F8. Thông thường chương trình sẽ bị một vài lỗi
nhỏ như viết sai tên biến trong một biểu thức, thiếu một đoạn xử lý,…
Có
thể xảy ra trường hợp phát hiện cả thuật toán sai, nhất là đối với những bài có
thuật toán đúng đắn thì điều này là hoàn toàn có thể. Khi đó đừng hốt hoảng!
Cần bình tĩnh tính toán xem xác suất đúng đắn của chương trình có cao không, có
nên làm tiếp bài toán đó hay không? đừng bao giờ để bị vướng vào một bài toán
quá lâu, nếu thấy lo lắng vì đã dành
nhiều thời gian cho một bài mà vẫn cho kết quả sai, hãy tạm thời chuyển sang
bài khác.
Trong
trường hợp cần thay đổi toàn bộ chương trình, nhớ backup chương trình cũ vào
một bản khác, phòng khi cần sử dụng lại.
Phong cách viết chương trình
Phong
cách viết chương trình là điều rất quan trọng khi đi thi. Với phong cách viết
chương trình tốt sẽ có lợi thế hơn. Nhưng điều này lại chỉ có thể có khi luyện
tập nhiều. Phong cách viết chương trình tốt không có nghĩa là những cách viết
để cho chương trình chạy nhanh, mà là đảm bảo để làm bài nhanh, sửa lỗi nhanh,
giảm xác suất sai của chương trình và giảm xác suất nhầm lẫn cho người viết.
đừng đòi hỏi perfect
Trong
trường hợp không thể nghĩ ra thuật toán đúng đắn cho một bài toán (hoặc bản
thân bài toán cũng không có thuật toán đúng đắn, điều này rất có thể xảy ra
trong kỳ thi quốc gia), cố gắng tìm
cách đạt được một số điểm nhất định. Một chương trình đạt 80 hay 90 điểm hầu
như không khác gì nhiều so với một chương trình perfect. đôi khi không đáng để
viết thêm một đoạn chương trình rất dài chỉ để đạt thêm 10-20 điểm, nhưng đôi
khi chỉ cần thêm một hai dòng cận hay điều kiện thì thậm chí có thể đạt thêm
một số điểm rất lớn. điều quan trọng là cần bình tĩnh để đánh giá những gì nên
làm và không nên làm.
đạt được 50% số điểm
Các
bài toán thường đưa ra 50% (hoặc 30-40%) số test có giới hạn nhỏ, có thể dùng
những thuật toán đơn giản hoặc duyệt. Tốt nhất nên thêm một điều kiện để kiểm
tra nếu dữ liệu thuộc giới hạn này thì dùng chương trình đơn giản hoặc duyệt để chạy.
Sao lưu bài làm
Thỉnh
thoảng hãy sao lưu bài làm vào nhiều thư mục, nhiều ổ đĩa khác nhau phòng khi
có sự cố kỹ thuật. Hãy tạo 3 thư mục cho 3 bài làm. Lưu các bài sẽ nộp vào một
nơi riêng, tránh nộp nhầm bài.
đánh giá, quyết định thông minh
Có
nhiều thứ cần đánh giá: mức độ khó của mỗi bài, xác suất đúng đắn của thuật
toán nghĩ ra, thời gian cần thiết để làm một bài, kiểm tra kết quả và tạo test
có khó không? Từ đó quyết định làm bài nào trước, có nên tiếp tục cải tiến một
bài không, cải tiến như thế nào sẽ hiệu quả hơn, kiểm tra chương trình như thế
nào để chắc chắn nhất. Hãy linh hoạt
Khi lập trình
Khi đi thi thường sẽ sử dụng
compiler và IDE Free Pascal hoặc C++
đặt chỉ dẫn bộ nhớ
Trong
trường hợp chương trình lặp vào thủ tục đệ quy nhiều lần, cần tăng kích thước
stack bằng cách đặt chỉ dẫn bộ nhớ:
{$M 2000000,0,2000000}
Phong cách viết chương trình
Nếu
chương trình sử dụng ít biến, có thể đặt tên các biến, mảng ngắn gọn đơn giản
để tăng tốc độ làm bài, ví dụ a, b, x, y,… mảng quy động là f. Tuy nhiên nếu
chương trình sử dụng nhiều biến, các biến mang ý nghĩa khác nhau thì hãy đặt
tên các biến dài và mang ý nghĩa của chúng để tránh nhầm lẫn. Nên nhớ việc nhầm
lẫn giữa các biến là vấn đề rất khó chịu. Nên đặt tên các biến bằng tiếng Việt và
viết chương trình bằng chữ in thường để tăng tốc độ làm bài.
Giữa
các câu lệnh, nên xuống dòng để tận dụng các công cụ debug của Free Pascal như
các phím F4, F7, F8.
Sử dụng chuỗi
Nếu cần sử dụng chuỗi có độ dài vượt
quá 255 ký tự cần đặt chỉ dẫn {H+} ở đầu chương trình.
Cắt
dán
để
sử dụng các phím tắt Ctrl-C,X,V cho cắt dán chữ như Windows, chọn Options –
Keyboard & mouse – đánh dấu Microsoft convention.
Chúc các bạn thành công!
Không có nhận xét nào:
Đăng nhận xét