Kỹ thuật lập trình - Tinh chỉnh mã nguồn

7 4 0
Kỹ thuật lập trình - Tinh chỉnh mã nguồn

Đang tải... (xem toàn văn)

Thông tin tài liệu

[r]

(1)

1

TINH CH NH MÃ NGU NỈ Ồ

K thu t l p trình Nâng caoỹ ậ ậ

(2)

N i dungộ

Ôn t p.ậ

Khái ni m v tinh ch nh mã ngu n.ệ ề ỉ

(3)

3

Khái ni m tinh ch nh mã ngu nệ ỉ ồ

M t chộ ương trình hi u q aệ

 Biên d ch nhanh (cơng s c l p trình)ị ứ ậ

 Y u t th i gian: ế ố NHANH (góc nhìn c a user)ủ  Y u t l u tr : ế ố ữ NH Ỏ (y u t không gian)ế ố

Khó đ t đạ ược c baả

Ngày nay: Y u t th i gian đế ược xem tr ngọ

Mu n biên d ch nhanhố  B Optimizer biên ỏ

d ch ( ph thu c vào compiler )ị ụ ộ

Dùng c u trúc d li u h p lýấ ữ ệ , c i ti n gi i ả ế ả

thu t, s d ng phat bi u h p lý giúp ậ ụ ể ợ

làm tăng đáng k v hi u su t th i gian ch y ể ề ệ ấ

(4)

Khái ni m tinh ch nh mã ngu n (tt)ệ ỉ ồ

Hai y u t th i gian không gian mâu ế ố

thu n ẫ  Mu n ố ch y nhanhạ

ch p nh n ấ ậ kích thước chương trình l n.ớ

( thí d : ụ b b t l i g i hàm ỏ ọ )

Ngày nay, v i s ti n b c a k thu t, ự ế ộ ủ ỹ ậ

CPU t c đ cao, b nh l n, khuynh ố ộ ộ ớ

hướng hi n ch p nh n d th a d ệ ấ ậ ữ

(5)

5

Thí dụ

Thí d : Có khai báo c u trúc v đo n th ngụ struct Line

{ int x1,y1; // m đ uể ầ int x2,y2; // m cu iể ố };

double getLen (Line L) // hàm tính đ dàiộ { return sqrt( (L.y2-L.y1)*(L.y2-L.y1) +

(L.x2-L.x1)*(L.x2-L.x1)); }

 M i l n truy xu t đ dài đo n th ng, l n truy xu t d ỗ ầ ấ ộ ẳ ầ ấ ữ

li u (bi n), phép tr , phép nhân, m t phép c ng ệ ế ộ ộ

(6)

Binary Search

int BSearch(int A[],int n,int T){

int L = 0, R = n-1;int m ;

while(1){

if (L>R) return –1;m = (L+R)/2;

if (A[m]==T) return m ; else if (A[m]<T) L = m+1;

else if (A[m]>T) R = m-1; }

(7)

35

Bài t p

Tinh ch nh code sau :ỉ

if (strcmp(s1,s2)==0) printf(“equal”);

else if (strcmp(s1,s2) >0) printf(“greater than”); else printf(“less than”);

Gi i h phả ệ ương trình :

X + Y + Z = M

Ngày đăng: 10/03/2021, 14:48

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan