Thông Báo:

Mọi thắc mắc xin liên hệ facebook: Bá Sơn
fb.com/sonden2000
Posted by : Unknown Tuesday, March 14, 2017

                            CHƯƠ NG II. KỸ THUẬT CƠ BẢN KHI LẬP TRÌNH
I, Các chú ý:
·         Hiện nay trong các kì thi học sinh giỏi tỉnh và quốc gia người ta không sử dụng chương trình turbo pascal mà thay vào đó là trình biên dịch free pascal. Đây là mã nguồn mở , vì vậy các bạn có thể tải miễn phí trên mạng ( link có trong blog của minh). Đây cũng là công cụ mạnh hơn nhiều với tubor pascal nó chạy được trên win xp, vista, 7, 8, 8.1,10 hầu hết tương thích với mọi hệ điều hành. Nó cũng tương tự với như trên tubor pascal nhưng có các đặc điểm sau:
-          Với kiểu dữ liệu số nguyên ngoài kiểu byte, integer, word, longint, longword. Thì nó còn có thêm kiểu int64 và qword đều là kiểu số nguyên 64 bit.
+in64: độ lớn của nó thuộc phạm vi [-264 , 263  - 1]
+qword: độ lớn của nó thuộc phạm vi [0,264 – 1]
-          Vì kiểu dữ liệu xâu ngoài kiểu string ra nó còn có kiểu ansistring có độ lớn lên khoảng  2GB kí tự. Nên ta chỉ làm việc với xâu có độ dài lớn hơn 255 kí tự thì ta không được khải báo bằng string. Nếu khai báo bằng string và them hướng dẫn biên dịch {&H+} vào đầu chương trình thì nó cũng như anisstring. Ví dụ đây là cách khai báo cũng guống như khai báo bằng anisstring
      {&H+} // chúng ta có thể để nó ở đầu chương trình
Var st: string;
-Đối với hàm Upcase() và Lowercase():  trong freepascal nó là 2 hàm chuyển xâu kí tự thành in hoa hay in thường. Còn trong tubor pascal thì đây 2 2 hàm chuyển kí tự thành in hoa hay in thường:
   +Ví dụ: st:= ‘abca’ ; st:= upcase(st); // Lúc này xâu st sẽ thành in hoa
     Còn trong tubor pascal thì phải làm như thế này thì nó mới chuyển thành xâu in hoa:
For i:- 1 to length(st) do st[i]:= upcase(st[i]);
·         Khi lập trình không được khải báo phần tử của mảng quá 5.108 phần tử. Ví dụ:
Var a: array[<chỉ số đầu>..<chỉ số cuối>] of <kiểu phần tử>;
       Số phần tử của mảng = <chỉ số cuối>-<chỉ số đâu>+1 <5.108
-          Phải biết đánh giá được độ phức tạp và độ lớn của các kiểu dữ liệu. Chú ý: các đề thi thông thường cho giới hạn 1s/test. Trong 1s giây máy tính chấm bài bài của chúng ra chạy được khoảng  5.10-8 phép tính. VÍ dụ nếu bạn làm bài với thuật toán O(n) mà n=109 thì không thể ăn được 100% số test, nếu có ăn được 100% số test hì người ta gọi là test quá yếu.
-          Khi làm việc với số thực ta không được so sánh bằng nếu muốn kiểm tra X=R thì ta phải so sách abs(X-R) <- delta( trong đó delta là sai số).
-          Trong các kì thi học sinh giỏi , thì dữ liệu đều làm việc với tệp. Trong cách dùng tệp thì có 2 cách: dùng biến tệp hoặc không dùng biến tệp ( thay vào đó người ta dùng input và output). Cách dùng chi tiết như các code ở phần sau.

-          Khi lập trình phải biết phong cách lập trình, vú dụ như: tên biến phải đặt phù hợp với ý nghĩa của nó, các câu lệnh tương đương nhau thì phải thẳng cột,…
.


- Copyright © Luyện thi HSG pascal - blog hướng dẫn tin 11 nâng cao - Powered by Blogger - Designed by Bá Sơn -