TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THƠNG TIN HỆ CHÍNH QUI – LỚP CỬ NHÂN TÀI NĂNG 2014 MƠN: NHẬP MƠN LẬP TRÌNH BÀI TẬP THỰC HÀNH Tuần THỰC THI TỪNG DÒNG LỆNH MÃ NGUỒN ĐẶNG HOÀNG HẢI ĐỖ NGUYÊN KHA TP.HCM, ngày 27 tháng 10 năm 2014 {dhhai, dnkha}@fit.hcmus.edu.vn Hướng dẫn 1.1 Nhập xuất Sử dụng Visual Studio viết chương trình sau: #include int main(int argc, char *argv[]) { // Khai báo các biến số nguyên int a, b, tong; // Khơng sử dụng tiếng Việt có dấu trong mã nguồn (trừ comment) printf("Nhap so a: "); // Sử dụng %d và hàm scanf để nhập một số nguyên từ bàn phím // Chú ý có ký hiệu & trước a scanf("%d", &a); // Tương tự với b printf("Nhap so b: "); scanf("%d", &b); tong = a + b; // Sử dụng %d và printf để xuất số nguyên // \n là ký tự xuống dòng printf("Tong hai so %d va %d là: %d\n", a, b, tong); return 0; } Những dịng nằm sau // khơng biên dịch, có tác dụng thích cho mã nguồn {dhhai, dnkha}@fit.hcmus.edu.vn Để khảo sát trình thực thi chương trình cách chạy dịng lệnh: Bước 1: Chọn điểm dừng (breakpoint) cách nhấp chuột trái vào vị trí bên trái khung soạn thảo nhấn F9 Để hủy chọn nhấn trái lần (F9) Bước 2: Chọn từ menu Debug > Start Debugging (F5) Bước 3: Nếu chương trình khơng có lỗi biên dịch trình thực thi bắt đầu bình thường với kiểm soát Visual Studio Ngay trước máy tính thực thi đến lệnh tương ứng với (những) dịng lệnh có breakpoint, chương trình dừng lại cho phép lập trình viên khảo sát trạng thái chương trình thời điểm {dhhai, dnkha}@fit.hcmus.edu.vn • Khung soạn thảo mã nguồn: Mũi tên đánh dấu vị trí dịng lệnh thực thi • Khung xem giá trị biến (Locals/Auto/Watch): Cho phép xem giá trị biến thực thi • Khung hàm: Cho phép xem thứ tự hàm gọi (sẽ chi tiết học hàm) Bước 4: Sử dụng lệnh Step Over (F10 menu Debug) để thực thi tiếp tục dòng lệnh xem thay đổi giá trị biến khung biến Quá trình gọi trình debug Bước 5: Lặp lại bước kết thúc chương trình {dhhai, dnkha}@fit.hcmus.edu.vn Khi sử dụng lệnh Step Over chương trình thực thi dừng theo dịng chương trình kết thúc Nếu muốn thực thi bình thường cho gặp breakpoint khác sử dụng lệnh Continue (dấu tam giác màu xanh F5) Để dừng trình debug chương trình chưa kết thúc sử dụng lệnh Stop (dấu hình vng màu xanh dương Shift + F5) Không sửa mã nguồn trình debug chạy bình thường sửa chữa khơng có tác dụng chưa biên dịch lại 1.2 Điều kiện if-else Nhập chuột phải vào solution Add > New Project để tạo thêm project khác Nhấp chuột phải vào project để chọn project thực thi Set as StartUp Projects {dhhai, dnkha}@fit.hcmus.edu.vn Nhập mã nguồn giải phương trình bậc #include int main(int argc, char *argv[]) { // Khai báo biến kiểu số thực float a, b, x; // Nhập giá trị a và b printf("Nhap so a: "); scanf("%f", &a); printf("Nhap so b: "); scanf("%f", &b); printf("Giai phuong trinh %f*x + %f = 0\n", a, b); // Giải phương trình if (a == 0) { // Nếu a bằng 0 // Chú ý 2 dấu = if (b == 0) { // Nếu a bằng 0, b bằng 0 thì phương trình có vơ số nghiệm printf("Phuong trinh co vo so nghiem"); } else { // Nếu a bằng 0, b khác không thì phương trình vơ nghiệm printf("Phuong trinh vo nghiem"); {dhhai, dnkha}@fit.hcmus.edu.vn } } } else { // Nếu a khác 0, phương trình có 1 nghiệm -‐b/a x = -‐b / a; printf("Phuong trinh co nghiem duy nhat x = %f", x); } printf("\n"); return 0; Đặt breakpoint dòng khai báo biến (dòng sau hàm main), thực thi dịng (debug) chương trình với giá trị a b khác theo dõi thay đổi giá trị bảng biến Bài tập nhà Bài tập 1: Hoàn thiện tập nhập hai số ngun thực xuất hình: • • • • • So sánh hai số (lớn hơn, bé bằng) Tổng hai số Hiệu hai số Tích hai số Thương hai số (chú ý kiểm tra số bị chia) Bài tập 2: Viết chương trình nhập vào số ngun năm tính từ Cơng Nguyên (lịch tiêu chuẩn Gregory sử dụng nay) Nếu năm nhập vào năm nhuận xuất hình “Nam %d la nam nhuan” ngược lại xuất hình “Nam % KHONG la nam nhuan” Gợi ý: Năm x năm nhuận x chia hết cho không chia hết cho 100 x chia hết cho 400 Bài tập 3: Dựa vào chương trình giải phương trình bậc viết chương trình giải phương trình bậc In kết nghiệm phương trình (nếu có) Chú ý: Trường hợp suy biến thành phương trình bậc