Bài giảng Programming technique - Chương 2: Mộ số vấn đề trong kỹ thuật lập trình trình bày các nội dung: Tổ chức chương trình, biến cục bộ/Biến toàn cụ, cấu trúc dữ liệu động, cấp phát tĩnh và cấp phát động. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin và những ai quan tâm đến lĩnh vực này dùng làm tài liệu học tập và nghiên cứu.
Chương II Một số vấn đề KTLT (6LT – 2BT) Last update 8-2010 SE-SoICT KTLT-2.1 Chương II Tổ chức chương trình Biến cục bộ/Biến tồn cục Cấu trúc liệu động Cấp phát tĩnh cấp phát động Last update 8-2010 SE-SoICT KTLT-2.2 2.1 Tổ chức CT • Khi giải BT, theo phương pháp tiếp cận cấu trúc, BT phân chia thành BT CT đảm nhiệm Quá trình phân rã tiếp tục đến mức đủ chi tiết • Mọi NNLT cung cấp phương tiện để tổ chức chương trình • Gọi CT để phân biệt với CT mức (main) gọi thực ND • CT có cấu trúc giống main song gọi gọi CT khác Last update 8-2010 SE-SoICT KTLT-2.3 CT (tiếp) • CT thường gồm loại tùy theo cách sử dụng: – CT Hàm – CT Thủ tục • CT Hàm CT dùng để thực tính tốn trả giá trị kiểu DL hợp lệ qui định NNLT • CT thủ tục thực nhiệm vụ phức tạp (không thiết tính tốn) khơng trả kết • Trong C khơng phân biệt khái niệm Tuy nhiên dùng theo phong cách chung Last update 8-2010 SE-SoICT KTLT-2.4 Thí dụ CT (tiếp) • CT Hàm C int GT(int n) { if ( n==0) return 1; else return n * GT(n-1); } • CT thủ tục C void nhapmang(Mang V, int n) {int i; for (i=0;i Cú pháp, ngữ nghĩa Th/số thực!!! • TD: Minh họa số ví dụ • Truyền theo tên (macro) • Trong NN C có kiểu truyền theo trị Tuy nhiên LTV dùng thủ thuật để truyền theo địa (xem phần sau) Last update 8-2010 SE-SoICT KTLT-2.9 Tham số truyền trị #include #include swap (int a, int b); { int temp = a; a = b; b= temp); } main() { int c = 5; int d = 7; clrscr(); swap (c,d); printf("\n c= %d d=%d",c,d); getch(); } Last update 8-2010 Kết in c=5 SE-SoICT d=7 KTLT-2.10 //Cộng hai ma trận void AddMatrix(int *A,int *B,int*C,int M,int N) { for(int I=0;I