Bài tập thực hành môn Nhập môn lập trình - Tuần 3: Thực thi từng dòng lệnh mã nguồn
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 3
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
1 Hướng dẫn
1.1 Nhập và xuất
Sử dụng Visual Studio viết chương trình như sau:
#include <stdio.h>
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 được biên dịch, có tác dụng chú thích cho mã nguồn.
2
{dhhai, dnkha}@fit.hcmus.edu.vn
Để khảo sát quá trình thực thi của chương trình bằng cách chạy từng dòng lệnh:
Bước 1: Chọn những điểm dừng (breakpoint) bằng cách nhấp chuột trái vào những
vị trí bên trái khung soạn thảo hoặc nhấn F9. Để hủy chọn nhấn trái một lần
nữa (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 quá trình thực thi sẽ bắt đầu như
bình thường nhưng với sự kiểm soát của Visual Studio. Ngay trước khi 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 sẽ dừng lại cho phép lập trình viên khảo sát trạng thái của
chương trình ngay tại thời điểm đó.
3
{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 sắp được thực thi
• Khung xem giá trị các biến (Locals/Auto/Watch): Cho phép xem giá trị các biến
khi thực thi
• Khung hàm: Cho phép xem thứ tự các hàm được gọi (sẽ đi chi tiết khi học về hàm)
Bước 4: Sử dụng lệnh Step Over (F10 hoặc trong menu Debug) để thực thi tiếp tục
dòng lệnh hiện tại và xem sự thay đổi giá trị các biến trong khung biến. Quá
trình này gọi là quá trình debug.
Bước 5: Lặp lại bước 4 cho đến khi kết thúc chương trình
4
{dhhai, dnkha}@fit.hcmus.edu.vn
Khi sử dụng lệnh Step Over chương trình sẽ thực thi và dừng theo từng dòng cho đến khi
chương trình kết thúc. Nếu muốn thực thi bình thường cho khi gặp các breakpoint khác
thì sử dụng lệnh Continue (dấu tam giác màu xanh lá hoặc F5).
Để dừng quá trình debug khi chương trình chưa kết thúc sử dụng lệnh Stop (dấu hình
vuông màu xanh dương hoặc Shift + F5).
Không sửa mã nguồn trong quá trình debug hoặc chạy bình thường vì những sửa chữa đó
không có tác dụng khi 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 sẽ thực thi Set as StartUp Projects
5
{dhhai, dnkha}@fit.hcmus.edu.vn
Nhập mã nguồn giải phương trình bậc 1
#include <stdio.h>
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");
6
{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 ngay tại dòng khai báo biến (dòng đầu tiên sau hàm main), thực thi từng
dòng (debug) chương trình với các giá trị a và b khác nhau và theo dõi sự thay đổi giá trị
trong bảng biến.
2 Bài tập về nhà
Bài tập 1: Hoàn thiện bài tập nhập hai số nguyên và thực hiện xuất ra màn hình:
• So sánh hai số (lớn hơn, bé hơn hoặc 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 một số nguyên là một năm tính từ Công Nguyên
(lịch tiêu chuẩn Gregory được sử dụng hiện nay). Nếu năm nhập vào là năm nhuận thì
xuất ra màn hình “Nam %d la nam nhuan” ngược lại xuất ra màn hình “Nam %
KHONG la nam nhuan”.
Gợi ý: Năm x là năm nhuận nếu x chia hết cho 4 nhưng không chia hết cho 100 hoặc 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 1 viết chương trình giải phương
trình bậc 2. In ra kết quả và nghiệm của phương trình (nếu có).
Chú ý: Trường hợp suy biến thành phương trình bậc 1.
7
Bạn đang xem tài liệu "Bài tập thực hành môn Nhập môn lập trình - Tuần 3: Thực thi từng dòng lệnh mã nguồn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_tap_thuc_hanh_mon_nhap_mon_lap_trinh_tuan_3_thuc_thi_tun.pdf

