intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Cách hướng dẫn thực hành tuần 2 - Nhập môn lập trình - Chủ đề DEBUG trên VC++ 6.0

Chia sẻ: Huongdanhoctot_4 Huongdanhoctot_4 | Ngày: | Loại File: PDF | Số trang:8

96
lượt xem
14
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu giảng dạy về lập trình đã được giảng dạy với mục đích cung cấp cho sinh viên những kiến thức cơ bản nhất, có tính hệ thống liên quan tới lập trình. Thông qua cuốn tài liệu này, chúng tôi muốn giới thiệu với các bạn đọc về kỹ năng lập trình cơ bản.Mời các bạn cùng tham khảo

Chủ đề:
Lưu

Nội dung Text: Cách hướng dẫn thực hành tuần 2 - Nhập môn lập trình - Chủ đề DEBUG trên VC++ 6.0

  1. Hướng dẫn thực hành tuần 2 - Nhập môn lập trình Lớp 07DB_A/B Người soạn: Nguyễn Hải Minh Email: nhminh@fit.hcmuns.edu.vn CHỦ ĐỀ: DEBUG TRÊN VC++ 6.0 ---oOo--- I. GIỚI THIỆU Một chương trình được biên dịch thành công không chắc chạy đúng theo logic. Ví dụ chương trình giải phương trình bậc nhất như sau: Bấm F7 để dịch chương trình, trình biên dịch thông báo không có lỗi: Nhưng khi chạy với a = 2, b = 1, chương trình cho kết quả sai !!! GVHDTH: Nguyễn Hải Minh 1
  2. Hướng dẫn thực hành tuần 2 - Nhập môn lập trình Lớp 07DB_A/B Tệ hơn, chương trình bị dừng đột ngột khi ta nhập a = 0, b = 1 ?!! Giải pháp: theo dõi từng dòng code để tìm ra dòng chứa lỗi sai (lỗi logic) => Phương pháp này gọi là DEBUG II. CÁC THAO TÁC ĐỂ DEBUG MỘT CHƯƠNG TRÌNH 1. Debug từ dòng code thứ 1 đến dòng code cuối cùng Bước 1: Bấm F7 để dịch chương trình Bước 2: Nếu chương trình biên dịch thành công (không có lỗi), bấm F10 để bắt đầu Debug. Mũi tên màu vàng xuất hiện trước dòng code đang theo dõi GVHDTH: Nguyễn Hải Minh 2
  3. Hướng dẫn thực hành tuần 2 - Nhập môn lập trình Lớp 07DB_A/B Bước 3: Bấm tiếp F10 để chuyển sang dòng code tiếp theo (bỏ qua dòng khai báo biến), mũi tên màu vàng di chuyển xuống tương ứng. * Lưu ý: ở cửa sổ Context đã xuất hiện 3 biến a, b, x và giá trị hiện thời của chúng. GVHDTH: Nguyễn Hải Minh 3
  4. Hướng dẫn thực hành tuần 2 - Nhập môn lập trình Lớp 07DB_A/B Bước 4: Bấm tiếp F10, câu lệnh printf thực hiện xong, mũi tên vàng di chuyển xuống hàm scanf, màn hình xuất ra chuỗi tương ứng: Bước 5: Bấm tiếp F10, câu lệnh scanf thực hiện xong, chương trình dừng lại chờ người dùng nhập vào 2 số a, b mới chuyển sang dòng code tiếp theo * Lưu ý: Sau khi nhập xong a, b, giá trị 2 biến này trong cửa sổ Context thay đổi theo. GVHDTH: Nguyễn Hải Minh 4
  5. Hướng dẫn thực hành tuần 2 - Nhập môn lập trình Lớp 07DB_A/B Bước 6: Bấm tiếp F10, dòng x = (-b)/a thực hiện xong, kết quả biến x thay đổi trong cửa sổ Context: Rõ ràng chính câu lệnh x = (-b)/a đã làm chương trình chạy sai logic. Tìm hiểu kỹ dòng code này, ta sẽ phát hiện được nguyên nhân chính là phép chia (-b)/a đã được làm tròn thành số nguyên: (-1)/2 = -0.5 làm tròn thành 0 Cách giải quyết: ép kiểu a hoặc b thành số thực và thay khai báo x thành khai báo kiểu số thực, đồng thời sửa đặc tả biến x trong câu lệnh printf cuối cùng float x; x = (float)(-b)/a; //Hoặc x = (-b)/float(a); printf("Nghiem cua phuong trinh %ix + %i = 0 la: %f\n",a,b,x); Dịch lại chương trình (F7) và chạy (Ctrl+F5), chương trình đã cho kết quả đúng: GVHDTH: Nguyễn Hải Minh 5
  6. Hướng dẫn thực hành tuần 2 - Nhập môn lập trình Lớp 07DB_A/B Tương tự, nếu Debug chương trình trên (trước khi sửa) và nhập vào a=0, b=1, ta sẽ gặp thông báo lỗi tại dòng code x=(-b)/a như sau: Lỗi chia một số nguyên cho 0 Gặp lỗi này, chương trình không thể chạy tiếp được, bấm Shift+F5 để thoát khỏi chế độ Debug. 2. Debug một dòng code định trước Giả sử bạn đã biết hoặc nghi ngờ lỗi logic nằm ở dòng code thứ i nào đó trong chương trình và chỉ muốn chạy ngay đến dòng code ấy để kiểm tra: Bước 1: Biên dịch chương trình (F7) Bước 2: Đặt Breakpoint (bấm phím F9) tại dòng code bạn muốn chạy đến, lưu ý dấu chấm tròn màu đỏ xuất hiện ngay tại dòng code đó GVHDTH: Nguyễn Hải Minh 6
  7. Hướng dẫn thực hành tuần 2 - Nhập môn lập trình Lớp 07DB_A/B Bước 3: Bấm F5 để chạy Debug, chương trình sẽ dừng lại ngay dòng code đã đặt breakpoint. Bước 4: Bấm F10 để chuyển đến dòng tiếp theo (dòng i+1) hay bấm F5 để chuyển đến dòng breakpoint tiếp theo. 3. Một số phím tắt trong VC++ 6.0 • F7: Biên dịch (build) chương trình • F4: Phân tích lỗi nếu quá trình biên dịch có lỗi • F9: Đặt breakpoint (chỉ có hiệu lực nếu chạy Debug) • F5: Chạy Debug, dừng tại dòng đặt Breakpoint (nếu không có breakpoint, chương trình sẽ chạy cho đến hết và tự động đóng) • F10: Chạy Debug từng dòng code • Ctrl+F10: Đặt con trỏ chuột đến 1 dòng code rồi bấm Ctr+F10, chương trình sẽ chạy thẳng đến dòng code đó • F11: Chạy Debug vào hàm con (nếu có) • Shift+F5: Thoát khỏi chế độ Debug GVHDTH: Nguyễn Hải Minh 7
  8. Hướng dẫn thực hành tuần 2 - Nhập môn lập trình Lớp 07DB_A/B • Ctrl+F5: chạy chương trình trực tiếp (không Debug) III. BÀI TẬP ÁP DỤNG 1. Debug thử project Vidu2 trong thư mục Vidu2_VC6 (làm từng bước như hướng dẫn trên) 2. Debug thử các bài tập đã làm trong tuần 1 GVHDTH: Nguyễn Hải Minh 8
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0