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 đủ
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:
bai_giang_lap_trinh_huong_doi_tuong_chuong_1_on_tap_nguyen_s.pdf

