Kinh Nghiệm Khi Thi HSG Môn Tin Học Bằng Pascal - Kiến Thức 24h
Có thể bạn quan tâm
1. Về miền giá trị của kiểu dữ liệu
– Khi đi thi bạn có thể cần dùng đến những kiểu dữ liệu mà bạn ít dùng, hoặc bạn ít quan tâm đến miền giá trị của nó. Rất may là trong pascal có hỗ trợ 2 hàm cho bạn biết miền giá trị của kiểu dữ liệu
Bạn có thể viết như sau:
- high(tên_kiểu_dữ_liệu) -> miền giá trị lớn nhất của kiểu dữ liệu
- low(tên_kiểu_dữ_liệu) -> miền giá trị nhỏ nhất của kiểu dữ liệu
Ví dụ:
writeln(high(longint)); // mien gia tri lon nhat cua kieu du lieu longint writeln(low(longint)); // mien gia tri nho nhat cua kieu du lieu longintTừ hàm trên có thể giúp ích cho bạn rất nhiều trong việc chọn dữ liệu phù hợp hoặc khởi tạo giá trị ban đầu (được nói đến ở mục 2)
2. Khởi tạo giá trị ban đầu
Đề bài minh họa: cho N số nguyên, hãy tìm giá trị nhỏ nhất trong N số nguyên dương trên.
VD N=5; gồm các số 100 20 -900 80 2
Như bạn cũng biết, thông thường bạn sẽ tạo biến min = phần tử đầu tiên của dãy. tức là min = 100. Đối với bài này gán vậy là ổn, nhưng đôi khi 1 số bài 1 số trường hợp khiến bạn phải lăn tăn không biết gán min là giá trị nào.
thì cách tốt nhất là bạn gán min=high(longint) // ở bài này mình giả sử là kiểu dữ liệu longint nhé, đại khái là gán giá trị dương vô cùng của kiểu dữ liệu á
3. Lưu ý về vấn đề khai báo kiểu dữ liệu
Ngày xưa học, các thầy thường yêu cầu bạn khai báo kiểu dữ liệu tối ưu nhất, là byte, interger, hay word… nhưng thật sự lúc đi thi thì điều đó không giúp ích cho bạn quá nhiều.
Theo mình các bạn phải khai báo 100% là longint hết thì tốt nhất, nếu biến nào cần cao hơn thì các bạn có thể cân nhắc dùng đến int64 hay qword, ý mình nói ở đây là khi đề cho dữ liệu dưới longint thì bạn hãy cứ đặt longint, vì bộ nhớ cấp phép cho bạn trong các cuộc thi khá nhiều. khi khai báo int64 mà kiểu mảng thì bạn mới cần cân nhắc.
Đối với loại mảng đánh dấu 2 giá trị 0/1, true/false thì bạn hãy đặt byte hoặc boolean
4. Không khai báo mảng trong hàm và thủ tục
Bạn lưu ý là không khai báo mảng trong thủ tục, vì một số lúc sẽ bị lỗi mà bạn không tìm được nguyên nhân, tất cả mảng bạn phải khai báo ở biến toàn cục.
5. Vấn đề debug trong pascal
Nếu không quen chức năng debug trong pascal, hãy thử write ra màn hình giá trị của biến để theo dõi từng bước, cái này mình chỉ gợi ý cho các bạn thôi, chứ để dùng thành thạo, linh hoạt thì có lẽ mình sẽ hướng dẫn ở những bài sau, thật ra ngày xưa đi thi mình không bao giờ dùng debug chỉ toàn write ra giá trị nếu cần theo dõi biến thôi
Nếu dịch ko lỗi mà chạy bị lỗi thì bạn hãy dùng F7 (chạy từng lệnh) hoặc F8(chạy qua cả 1 hàm, thủ tục) thường mình dùng F8, nếu bị lỗi sẽ biết lỗi tại hàm/thủ tục nào, rồi mình tiếp tục theo dõi giá trị biến trong hàm đó
6. Linh hoạt trong việc vô hiệu hóa code ( chú thích code)
Khi bạn chạy chương trình bị lỗi, mà ko biết lỗi tại đâu, hãy vô hiệu hóa code bằng câu lệnh chú thích { …………. } hoặc // …………… , bạn vô hiệu hóa rồi chạy thử, nếu ko lỗi thì giảm bớt phạm vi chú thích, đến lúc nào đó khi phạm vi chú thích được thu hẹp bạn sẽ biết code bạn lỗi chỗ nào. cái này cũng khá hay, nên các bạn thử dùng. Nói chung các bạn phải có những thủ thuật riêng để chủ động tìm lỗi, chứ ngồi đợi F7 từng bước chạy debug thì rất lâu 🙁
7. Dùng các lệnh continue, halt, break, exit
- Lệnh continue thường được dùng trong vòng lặp, cụ thể như sau:
Khi bạn cần bỏ qua các lệnh phía sau và thực hiện vòng lặp tiếp theo thì hãy dùng continue;
VD:
for i:=1 to 10 do begin if (i=2) or (i=5) then continue; write(i,' '); end;đoạn code trên khi i là 2 và 5 thì nó sẽ bỏ qua lệnh phía dưới, và thực hiện vòng lặp tiếp theo
kết quả xuất ra cụ thể là 1 3 4 6 7 8 9 10
- Lệnh break thì thường cũng được dùng trong vòng lặp: chủ yếu để bạn dừng vòng lặp hiện tại.
- Lệnh exit để bạn thoát khỏi hàm hoặc thủ tục. đối với hàm exit(giá_trị) sẽ trả về giá_trị cho hàm đó.
- Lệnh halt để bạn dừng cả chương trình.
Nhưng lưu ý, khi bạn dùng các lệnh dừng Halt, hãy đảm bảo bạn đã đóng file (nếu có đọc/ghi file) tránh gặp lỗi.
Từ khóa » Câu Lệnh Exit Trong Pascal
-
Một Số Câu Lệnh Kết Thúc Sớm Vòng Lặp Hoặc Chương Trình
-
Các Lệnh Goto, Break, Exit Và Halt - Lập Trình Passcal Pdf
-
[Pascal – TUT] Posts 3: The Command Structure
-
Lập Trình Pascal - Câu Lạc Bộ Tin Học
-
Lệnh Break Trong Pascal
-
Thủ Tục Exit Trong Pascal
-
Câu Lệnh điều Khiển Vòng Lặp Break, Continue, Goto - Shop Kiến Thức
-
Bài 3. Câu Lệnh Có Cấu Trúc - Tự Học Tin
-
[Q] Halt & Stop (pascal) [Archive] - Diễn Đàn Tin Học
-
Lệnh Exit Trong Visual Basic - VB Căn Bản
-
Câu Lệnh BREAK , COTINUE , GO TO , SWITCH , HÀM EXIT
-
Nếu Cấu Trúc Câu Lệnh Lặp Trong Pascal - Hàng Hiệu
-
Bài 9: Câu Lệnh Break, Continue Goto Và Hàm Exit() Trong C - VnCoder