1. Trang chủ
  2. » Công Nghệ Thông Tin

Slide bai giang mon nhap mon lap trinh cua thay dang binh phuong

388 337 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 388
Dung lượng 8,88 MB

Nội dung

TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thông tin Bộ mơn Cơng nghệ phần mềm NHẬP MƠN LẬP TRÌNH ThS Đặng Bình Phương dbphuong@fit.hcmus.edu.vn GIỚI THIỆU MƠN HỌC TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Giới thiệu chung Đối tượng: Sinh viên năm Thời gian: 45 tiết LT + 30 tiết TH Môn học tiên quyết: Khơng có Hình thức kiểm tra:  Lý thuyết: điểm  Thực hành: điểm  Đồ án: điểm Giảng viên lý thuyết  Đặng Bình Phương dbphuong@fit.hcmus.edu.vn Giới thiệu mơn học TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Nội dung môn học Chương Giới thiệu tổng quan lập trình  Khái niệm chương trình máy tính  Các ngơn ngữ lập trình  Các khái niệm lập trình  Tìm hiểu mở rộng kiến thức nghề nghiệp  Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Nội dung môn học Chương Sử dụng kiểu liệu sở chương trình  Cấu trúc chương trình máy tính  Chương trình đơn giản  Các kiểu liệu sở phép toán  Những vấn đề liên quan đến ký tự chuỗi  Các hàm thơng dụng có sẵn thư viện  Tìm hiểu mở rộng kiến thức nghề nghiệp  Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Nội dung mơn học Chương Kiểu liệu sở lớp dựng sẵn  Khối lệnh lập trình  Dùng cấu trúc rẽ nhánh lập trình  Tìm hiểu mở rộng kiến thức nghề nghiệp  Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Nội dung môn học Chương Hàm kỹ thuật tổ chức chương trình  Giới thiệu  Truyền tham số cho hàm  Biến toàn cục biến cục  Các ví dụ ứng dụng hàm lập trình  Hàm chương trình nhiều tập tin mã nguồn  Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Nội dung mơn học Chương Giới thiệu thuật toán  Khái niệm thuật tốn  Chương trình cài đặt thuật tốn  Độ phức tạp thuật tốn  Tìm hiểu mở rộng kiến thức nghề nghiệp  Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Nội dung môn học Chương Kỹ thuật cài đặt thuật toán  Thuật toán rẽ nhánh kỹ thuật cài đặt  Tính tốn lặp kỹ thuật cài đặt  Tìm hiểu mở rộng kiến thức nghề nghiệp  Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Nội dung mơn học Chương Dữ liệu dạng mảng liệu có cấu trúc  Dữ liệu có cấu trúc  Dữ liệu mảng với kích thước cố định  Ứng dụng mảng lập trình  Tìm hiểu mở rộng kiến thức nghề nghiệp  Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Nội dung mơn học Chương Lập trình với tập tin văn thô  Giới thiệu dạng tập tin  Hệ thống nhập xuất lập trình  Lập trình thao tác tập tin văn thơ  Sử dụng tập tin văn thô để lưu trữ liệu chương trình  Tìm hiểu mở rộng kiến thức nghề nghiệp  Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học 10 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & Hàm trả tham chiếu BB dụ Hàm trả giá trị Ví dụ, x = f(); Vậy, g() = x hợp lệ hay không?  Hợp lệ g(x) trả tham chiếu đến biến (C++) Cú pháp Ví    &([]) { return ; } Hàm nâng cao (phần 1) 20 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Hàm trả tham chiếu Ví dụ #include int x; int &getx() { return x; } void main() { getx() = 5; } //  x = Hàm nâng cao (phần 1) 21 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Hàm trả tham chiếu Ứng dụng  Chỉ số mảng C/C++ bắt từ Không quen thuộc  Viết hàm để muốn truy cập đến phần tử thứ i mảng a ta sử dụng V(i) thay a[i-1] int a[100]; int &V(int i) { return a[i-1]; } … V(1) = 2912; //  a[0] = 2912; Hàm nâng cao (phần 1) 22 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Hàm trả tham chiếu Chú ý  Trong trường hợp sau, biến x phải biến tồn cục  khơng nên sử dụng! int x; // biến toàn cục int &getx() { return x; } void main() { getx() = 2912; } Hàm nâng cao (phần 1) 23 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Hàm trả tham chiếu Chú ý  Nếu không muốn sử dụng biến toàn cục, phải truyền x dạng tham chiếu int &getx(int x) { // SAI! x tham trị  return x; } int &getx() { int x; return x; } // SAI! x biến cục int &getx(int &x) { // ĐÚNG! x tham chiếu return x; } Hàm nâng cao (phần 1) 24 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí VC & BB Hàm trả tham chiếu Ví dụ #include int &V(int a[], int i) { return a[i-1]; } void main() { int a[100]; for (int i = 1; i Thiếu dấu ‘;’ trước câu lệnh return dịng Rà sốt lại trước dòng 9, phát thiếu dấu ‘;’ sau câu lệnh printf(“Hello World!”) C1010: unexpected end of file while looking for precompiled header directive ª Lỗi xuất bạn không tạo Empty project mà tạo project có sẵn (Hello World) với file tạo sẵn StdAfx.h StdAfx.cpp Với loại project này, bạn phải #include StdAfx.h đầu file cpp chứa hàm main bạn Nếu khơng trình biên dịch báo lỗi Cách giải quyết: ¾ Cách 1: Thêm dịng #include “StdAfx.h” vào đầu file cpp chứa code chương trình bạn Trang TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Hướng dẫn thực hành: Nhập mơn lập trình Lp 07DB_A/B ắ Cỏch 2: Vo Project ặ Settings ặ chuyển sang tab C/C++, chọn Precompiled Headers Category, check vào ô Not Using Precompile Header C2001: newline in constant ª Lỗi thường gặp chuỗi hay ký tự khai báo mà quên đóng ngoặc kép ’ hay ” ª Ví dụ: chuỗi đưa vào lệnh printf (dịng thứ 8) thiếu dấu đóng ngoặc kép ” Trang TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Hướng dẫn thực hành: Nhập mơn lập trình Lớp 07DB_A/B C2065: '' : undeclared identifier ª Lỗi bạn sử dụng biến hay hàm mà chưa khai báo biến/hàm phạm vi sử dụng ª Ví dụ: Dịng sử dụng biến giatri chưa khai báo Dòng sử dụng hàm abs chưa khai báo Dòng 10 sử dụng hàm Xuat chưa khai báo ª Cách giải quyết: thêm vào khai báo thích hợp (khai báo hàm abs đặt math.h) Trang TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Hướng dẫn thực hành: Nhập mơn lập trình Lớp 07DB_A/B C2447: missing function header (old-style formal list?) ª Lỗi thường gặp sử dụng dấu ; trước dấu { thân hàm ª Ví dụ: void Function(int a, int b); { a = a + b; } C2556: '' : overloaded functions only differs only by return type C2371: '' : redefinition; different basic types ª Hai lỗi thường gặp có khơng khớp kiểu hàm khai báo hàm định nghĩa hàm ª Ví dụ: Khai báo hàm: int Function(int a, int b); Cài đặt: void Function(int a, int b) { a = b * 2.3; return a; } Trang TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Hướng dẫn thực hành: Nhập mơn lập trình Lớp 07DB_A/B C2601: '' : local function definitions are illegal ª Lỗi xảy bạn định nghĩa hàm bên thân hàm khác, thường gặp bạn quên đóng dấu ngoặc nhọn } để kết thúc hàm bên Lỗi thường kèm với lỗi C1004: unexpected end of file found ª Ví dụ: hàm main hiểu hàm bên hàm Xuat điều khơng phép (illegal) Từ dẫn đến file source code không kết thúc hợp lệ Trường hợp cần thêm dấu ngoặc nhọn đóng hàm Xuat (hàm phía hàm báo lỗi – main) lại LNK1168: cannot open Debug\.exe for writing ª Lỗi xảy bạn mở file thực thi biên dịch lại project Lúc này, trình kết nối (link editor) cố gắng ghi thông tin lên file exe sử dụng không File exe file thực thi gán thuộc tính chống ghi chương trình mà thực thi kết thúc ª Cách giải quyết: Nhìn xuống trạng thái hình tìm xem chương trình bạn có chạy hay khơng, có tắt biên dịch lại Trang TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Hướng dẫn thực hành: Nhập mơn lập trình Lớp 07DB_A/B LNK2001: unresolved external symbol _main ª Lỗi xảy project bạn khơng có hàm main() ª Cách giải quyết: viết hàm main() cho project (C ln tìm kiếm hàm main() thực thi hàm main() mà thơi) Ư Đối với lỗi khơng liệt kê đây, bạn vào MSDN để tra cứu cách sửa Cách tra: gõ số hiệu lỗi (ví dụ C2556) vào ô Search Enter III BÀI TẬP ÁP DỤNG Thống kê tổng số lỗi chi tiết lỗi biên dịch project MyErrors, cho biết ý nghĩa cách sửa lỗi (Lưu ý: có số lỗi không liệt kê trên, bạn tự tìm hiểu) Sửa lại lỗi (sau sửa phát sinh lỗi mới, cần thống kê biên dịch khơng cịn lỗi) Ví dụ: STT Lỗi error C2628: ‘SINHVIEN’ followed by ‘void’ is illegal (did you forget a ‘;’?) Ý nghĩa void sau SINHVIEN khơng hợp lệ, bạn quên dấu ‘;’ sau SINHVIEN … Sửa Thêm dấu ‘;’ vào cuối khai báo struct sau: struct SINHVIEN { char ten[20]; char mssv[7]; float diem; }; … Sau chương trình hết lỗi, chạy thử chương trình với thơng số sau ghi lại kết chạy hàm TimSVTrungTen TimSVTrungDiem ¾ Số lượng sinh viên: ¾ Sinh viên 1: Nguyen Van An – 07DB999 – 10 ¾ Sinh viên 2: Nguyen Thanh Son – 07DB998 – ¾ Sinh viên 3: Nguyen Van An – 07DB997 – 4.5 ¾ Sinh viên 4: Nguyen Van An – 07DB996 – Hãy debug chương trình liệt kê tham số quan sát bước Debug hàm TimSVTrungTen TimSVTrungDiem Trang TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Hướng dẫn thực hành: Nhập mơn lập trình Lớp 07DB_A/B Cụ thể: Debug hàm TimSVTrungTen flag 0 … i 0 … j … sv_array[i].ten 0x0012ff1c ”a” … … … sv_array[j].ten 0x0012ff3c “a” … … … Tương tự cho hàm TimSVTrungDiem Từ bảng liệt kê câu 3, cho biết hàm TimSVTrungTen TimSVTrungDiem làm gì? (tham số đầu vào gì? Kết đầu gì? Các biến flag, i, j có nghĩa gì?) Câu cho kết hay sai? Nếu sai, cho biết lỗi sai nằm đâu? Đề xuất cách sửa Theo bạn, chương trình cịn tiềm ẩn lỗi hay khơng? Nếu có nêu cụ thể lý cách sửa # Nộp bài: Bài làm file Word, đặt tên file MSSV.doc (Ví dụ: 07DB333.doc); ghi rõ họ tên, MSSV, lớp, ca học vào đầu làm (Ví dụ ca học: sáng thú 5, PM2), trả lời câu hỏi Nộp lên Moodle (chung link cho ca) # Thời hạn: tuần [từ ngày 22/02/2008 đến 23h55’ ngày 29/02/2008] # Điểm cộng: không bắt buộc nộp, nộp tính tập cộng điểm (phải làm câu) # Điểm trừ: làm giống (>70%) trừ điểm vào thi cuối kỳ Trang ... Các tên hợp lệ: GiaiPhuongTrinh, Bai_ Tap1  Các tên không hợp lệ: 1A, Giai Phuong Trinh  Phân biệt chữ hoa chữ thường, tên sau khác nhau: • A, a • BaiTap, baitap, BAITAP, bAItaP, … Giới thiệu... VC & BB Bài tập Tên (định danh) sau đặt không hợp lệ, sao?  Tin hoc co SO A, 1BaiTapKHO  THucHaNH, NhapMon_L@pTrinH Câu ghi dùng để làm gì? Cách sử dụng sao? Cho ví dụ minh họa Trình bày cấu... int a, b; printf(? ?Nhap hai so nguyen: ”); scanf(“%d%d”, &a, &b); Tong = a + b; Hieu = a – b; Tich = a * b; Thuong = a / b; printf(“Tong cua a va b: %d”, Tong); printf(“Hieu cua a va b: %d”, Hieu);

Ngày đăng: 03/10/2017, 00:46

TỪ KHÓA LIÊN QUAN