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
pdf 7 trang myanh 23580 Free
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:

  • pdfbai_tap_thuc_hanh_mon_nhap_mon_lap_trinh_tuan_3_thuc_thi_tun.pdf