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.