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

Hướng dẫn thực hành tuần 2 - Nhập môn lập trình

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

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

Tham khảo tài liệu 'hướng dẫn thực hành tuần 2 - nhập môn lập trình', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Hướng dẫn thực hành tuần 2 - Nhập môn lập trình

  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ó) • Ctrl+F5: chạy chương trình trực tiếp (không Debug) GVHDTH: Nguyễn Hải Minh 7
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
7=>1