Bài giảng Lập trình hướng đối tượng - Chương 1: Ôn tập - Nguyễn Sơn Hoàng Quốc

Khoa CNTT  
LTHĐT  
Chương 1  
Ôn Tập  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 1  
Khoa CNTT  
LTHĐT  
0. BÀI TẬP  
Bài 1: Viết chương trình nhập  
vào một phân số. Hãy cho biết  
phân số đó là phân số âm hay  
dương hay bằng không.  
Bài 2: Viết chương trình nhập  
vào một ngày. Tìm ngày kế tiếp  
và xuất kết quả.  
Bài 3: Viết chương trình nhập tọa  
độ hai điểm trong không gian.  
Tính khoảng cách giữa chúng và  
xuất kết quả.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 01 - 2  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
0. BÀI TẬP  
Bài 4: Viết chương trình nhập  
vào một ngày. Tìm ngày hôm  
qua và xuất kết quả.  
Bài 5: Viết chương trình nhập  
vào 2 phân số. Tìm phân số lớn  
nhất và kết quả.  
Bài 6: Viết chương trình nhập  
vào 2 số phức. Tính tổng, hiệu,  
tích và xuất kết quả.  
Bài 7: Viết chương trình nhập toạ  
độ 3 đỉnh A,B,C của 1 tam giác  
trong mặt phẳng Oxy. Tính chu  
vi, diện tích và tìm tọa độ trọng  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
tâm.  
Chương 01 - 3  
Khoa CNTT  
LTHĐT  
0. BÀI TẬP  
Bài 8: Viết chương trình nhập tọa  
tâm và bán kính của một đường  
tròn. Tính diện tích và chu vi của  
đường tròn.  
Bài 9: Viết chương trình nhập  
vào hai phân số. Tính tổng, hiệu,  
tích, thương giữa chúng và xuất  
kết quả.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 01 - 4  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
Bài 1: Viết chương trình nhập vào  
một phân số. Hãy cho biết phân số  
đó là phân số âm hay dương hay  
bằng không.  
1. #include <stdio.h>  
2. #include <conio.h>  
3. struct phanso  
4. {  
5.  
int tu;  
6.  
int mau;  
7. };  
8. typedef struct phanso PHANSO;  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 5  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
1. void Nhap(PHANSO&);  
2. void Xuat(PHANSO);  
3. int XetDau(PHANSO);  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 6  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
11.void main()  
12.{  
13.  
14.  
15.  
16.  
17.  
18.  
19.  
20.  
21.  
22.  
23.  
24.  
25.}  
PHANSO a;  
Nhap(a);  
int kq = XetDau(a);  
switch(kq)  
{
case 1: printf(“”);  
break;  
case -1: printf(“”);  
break;  
case 0: printf(“”);  
break;  
}
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 7  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
Định nghĩa hàm nhập phân số  
1. void Nhap(PHANSO &x)  
2. {  
3.  
printf("Nhap tu: ");  
scanf("%d",&x.tu);  
printf("Nhap mau: ");  
scanf("%d",&x.mau);  
4.  
5.  
6.  
7. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 8  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
Định nghĩa hàm xuất phân số  
1. void Xuat(PHANSO x)  
2. {  
3.  
printf("\n Tu: %d",x.tu);  
printf("\n Mau: %d",x.mau);  
4.  
5. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 9  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
1. int XetDau(PHANSO x)  
2. {  
3.  
if(x.tu*x.mau>0)  
return 1;  
4.  
5.  
if(x.tu*x.mau<0)  
return -1;  
6.  
7.  
return 0;  
8. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 10  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Bài 2: Viết chương trình nhập vào  
một ngày. Tìm ngày kế tiếp và xuất  
kết quả.  
1. #include <stdio.h>  
2. #include <conio.h>  
3. struct ngay  
4. {  
5.  
int ng;  
int th;  
int nm;  
6.  
7.  
8. };  
9. typedef struct ngay NGAY;  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 11  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
1. void Nhap(NGAY&);  
2. void Xuat(NGAY);  
3. NGAY KeTiep(NGAY);  
4. int ktNhuan(NGAY);  
5. int sttTrongNam(NGAY);  
6. long SoThuTu(NGAY);  
7. NGAY TimNgay(int,int);  
8. NGAY TimNgay(long);  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 12  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
1. void main()  
2. {  
3.  
NGAY a;  
4.  
Nhap(a);  
5.  
NGAY kq = KeTiep(a);  
printf(“Ngay ban dau:”);  
Xuat(a);  
6.  
7.  
8.  
printf(“\nNgay ke tiep:”);  
Xuat(kq);  
9.  
10.}  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 13  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Định nghĩa hàm  
1. void Nhap(NGAY &x)  
2. {  
3.  
printf("Nhap ngay: ");  
scanf("%d",&x.ng);  
4.  
5.  
printf("Nhap thang: ");  
scanf("%d",&x.th);  
6.  
7.  
printf("Nhap nam: ");  
scanf("%d",&x.nm);  
8.  
9. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 14  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Định nghĩa hàm  
1. void Xuat(NGAY x)  
2. {  
3.  
printf("\nNgay:%d",x.ng);  
printf("\nThang:%d",x.th);  
printf("\nNam:%d",x.nm);  
4.  
5.  
6. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 15  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Một năm được gọi là năm nhuận khi  
thoả một trong hai điều kiện.  
Điều kiện 1: Năm chia hết cho 4  
và không chia hết cho 100.  
Điều kiện 2: Năm chia hết cho  
400.  
Ví dụ 1: 1996 nhuận (điều kiện 1)  
Ví dụ 2: 2000 nhuận (điều kiện 2)  
Ví dụ 3: 1900 ko nhuận.  
Định nghĩa hàm  
1. int ktnhuan(NGAY x)  
2. {  
3.  
if(x.nm%4==0 &&  
x.nm%100!=0)  
return 1;  
if(x.nm%400==0)  
return 1;  
4.  
5.  
6.  
7.  
return 0;  
8. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 16  
Khoa CNTT  
LTHĐT  
11.NGAY KeTiep(NGAY x)  
12.{  
13. int NgayThang[12]={31,28,31,  
30,31,30,31,31,30,31,30,31};  
14. if(ktNhuan(x)==1)  
15.  
NgayThang[1] = 29;  
16. x.ng++;  
17. if(x.ng>NgayThang[x.th-1])  
18. {  
19.  
x.th++;  
if(x.th>12)  
{
20.  
21.  
22.  
x.nm++;  
x.th = 1;  
}
23.  
24.  
25.  
x.ng = 1;  
26. }  
27. return x;  
28.}  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 17  
Khoa CNTT  
LTHĐT  
11.NGAY HomQua(NGAY x)  
12.{  
13. int NgayThang[12]={31,28,31,  
30,31,30,31,31,30,31,30,31};  
14. if(ktNhuan(x)==1)  
15.  
NgayThang[1] = 29;  
16. x.ng--;  
17. if(x.ng==0)  
18. {  
19.  
x.th--;  
20.  
if(x.th==0)  
21.  
{
22.  
x.nm--;  
23.  
x.th = 12;  
24.  
}
25.  
x.ng = NgayThang[x.th-1];  
26. }  
27. return x;  
28.}  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 18  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Định nghĩa hàm  
1. int sttTrongNam(NGAY x)  
2. {  
3.  
int ngaythang[12]={31,28,31,  
30,31,30,31,31,30,31,30,31};  
4.  
if(ktNhuan(x)==1)  
ngaythang[1]=29;  
5.  
6.  
int stt = 0;  
7.  
for(int i=1;i<=x.th-1;i++)  
ngaythang[i-1];  
stt=stt+  
8.  
9.  
return (stt + x.ng);  
10.}  
1/1/2007  
20/10/2007  
30/ 09/ 2007  
1/1/2007  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 19  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
1. long SoThuTu(NGAY x)  
2. {  
3.  
long stt = 0;  
4.  
for(int i=1;i<=x.nm-1;i++)  
{
5.  
6.  
stt = stt + 365;  
NGAY temp = {1,1,i};  
if(ktnhuan(temp)==1)  
stt = stt+1;  
7.  
8.  
9.  
10.  
11.  
12.}  
}
return (stt+sttTrongNam(x));  
1/1/2007  
20/10/2007  
30/ 09/ 2007  
1/1/1  
31/12/2006  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 01 - 20  
Tải về để xem bản đầy đủ
pdf 72 trang myanh 28060 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Chương 1: Ôn tập - Nguyễn Sơn Hoàng Quốc", để 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_giang_lap_trinh_huong_doi_tuong_chuong_1_on_tap_nguyen_s.pdf