Giáo trình Lập trình hướng đối tượng - Chương 1: Ôn tập

Ôn lại các khái niệm, các kiến thức lập

trình cơ bản

 Biến toàn cục

 Biến cục bộ

 Hàm và biến toàn cục

 Tham số và hàm

 Trừu tượng hóa dữ liệu

pdf34 trang | Chuyên mục: Lập Trình Hướng Đối Tượng | Chia sẻ: dkS00TYs | Lượt xem: 1641 | Lượt tải: 2download
Tóm tắt nội dung Giáo trình Lập trình hướng đối tượng - Chương 1: Ôn tập, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ục là biến
được khai báo bên ngoài tất cả
các hàm và được hiểu bên trong
tất cả các hàm.
 Thông thường biến toàn cục
được khai báo ở đầu chương
trình.
 Lưu ý: Biến khai báo bên trong
thân hàm main không là biến
toàn cục mà là biến cục bộ của
hàm main.
Chương 01 - 5
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
11.#include 
12.#include 
13.char hoten[30];
14.int toan;
15.int van;
16.float dtb;
17.void main()
18.{
19. printf(“Nhap ho ten:”);
20. gets(hoten);
21. printf(“Nhap toan:”);
22. scanf(“%d”,&toan);
23. printf(“Nhap van:”);
24. scanf(“%d”,&van);
25. dtb=(float)(toan+van)/2;
26. printf(“\n Ho ten: %s” ,
hoten);
27. printf(“\n Toan: %d” ,
toan);
28. printf(“\n Van: %d” , van);
29. printf(“\n Trung binh:%f”,
dtb);
30.}
Chương 01 - 6
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
4. BIẾN CỤC BỘ
 Khái niệm: Biến cục bộ là
biến đƣợc khai báo và đƣợc
hiểu bên trong một phạm vi
nào đó của chtrình, ra khỏi
phạm vi này biến không còn
đƣợc biết đến nữa vì không
gian bộ nhớ cấp phát cho
biến đƣợc tự động thu hồi.
 Thông thường biến cục bộ được 
khai báo bên trong thân của một 
hàm hay một khối lệnh. 
 Lưu ý: Một biến được khai báo
bên trong thân hàm main là biến
cục bộ của hàm main.
Chương 01 - 7
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
11.#include 
12.#include 
13.void main()
14.{
15. char hoten[30];
16. int toan;
17. int van;
18. float dtb;
19. printf(“Nhap ho ten:”);
20. gets(hoten);
21. printf(“Nhap toan:”);
22. scanf(“%d”,&toan);
23. printf(“Nhap van:”);
24. scanf(“%d”,&van);
25. dtb=(float)(toan+van)/2;
26. printf(“\nHo ten:%s”, 
hoten);
27. printf(“\n Toan: %d” , 
toan);
28. printf(“\n Van: %d” , van);
29. printf(“\n Trung binh:%f” ,
dtb);
30.}
Chương 01 - 8
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
5. HÀM VÀ BIẾN TOÀN CỤC 
 Kiến trúc chương trình C.
 Khối khai báo
 Khối hàm main
 Khối định nghĩa hàm.
Chương 01 - 9
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
5.1 KIẾN TRÚC MỘT CHƢƠNG 
TRÌNH C ĐƠN GIẢN 
 Kiến trúc của một
chương trình C cơ bản
bao gồm 3 khối lệnh
chính như sau: khối
khai báo, khối hàm
main và khối định
nghĩa hàm. Ba khối
lệnh này được trình
bày theo thứ tự của
hình vẽ bên dưới.
Chương 01 - 10
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
5.1 KIẾN TRÚC MỘT CHƢƠNG 
TRÌNH C ĐƠN GIẢN 
Khối
khai
báo
Khối
hàm 
main
Khối
định
nghĩa
hàm
1
2
3
Chương 01 - 11
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
5.1 KIẾN TRÚC MỘT CHƢƠNG 
TRÌNH C ĐƠN GIẢN 
 Khối khai báo: chứa các khai
báo hàm, khai báo biến toàn cục,
khai báo sử dụng thư viện, khai
báo hằng, khai báo kiểu dữ
liệu…
 Khối hàm main: chứa duy nhất
hàm main và thân hàm của nó.
Trong thân hàm main chứa các
lời gọi hàm cần thiết cho chương
trình.
 Khối định nghĩa hàm: chứa các
định nghĩa hàm đã được khai
báo trong khối khai báo.
Chương 01 - 12
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
Bài toán: Viết
chương trình nhập
họ tên, điểm toán,
điểm văn của một
học sinh. Tính
điểm trung bình và
xuất kết quả.
5.2 CHƢƠNG TRÌNH
Chương 01 - 13
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
5.2 CHƢƠNG TRÌNH
1. #include 
2. #include 
3. char hoten[30];
4. int toan;
5. int van;
6. float dtb;
7. void Nhap();
8. void XuLy();
9. void Xuat();
Chương 01 - 14
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
5.2 CHƢƠNG TRÌNH
1. void main()
2. {
3. Nhap();
4. XuLy();
5. Xuat();
6. }
Chương 01 - 15
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
5.2 CHƢƠNG TRÌNH
11.void Xuat()
12.{
13. printf(“Ho ten:%s”, hoten);
14. printf(“Toan: %d”, toan);
15. printf(“Van: %d:“, van);
16. printf(“DTB: %f”, dtb);
17.} 
18.void XuLy()
19.{
20. dtb=(float)(toan + van)/2;
21.}
Chương 01 - 16
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
5.2 CHƢƠNG TRÌNH
1. void Nhap()
2. {
3. printf(“Nhap ho ten:”);
4. gets(hoten);
5. printf(“Nhap toan:”);
6. scanf(“%d”,&toan);
7. printf(“Nhap van:”);
8. scanf(“%d”,&van);
9. } 
Chương 01 - 17
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
6. THAM SỐ VÀ HÀM
 Khái niệm: Các thông số đầu
vào của một hàm đƣợc gọi là
tham số của hàm.
 Phân loại tham số: có 2 loại
tham số là tham trị và tham
biến.
 Tham trị: Không đổi.
 Tham biến: Thay đổi.
 Cấp phát bộ nhớ:
 Tham trị: Cấp phát.
 Tham biến: Không cấp phát bộ
nhớ khi hàm được gọi thực hiện
mà sử dụng bộ nhớ của đối số
tương ứng.
Chương 01 - 18
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
6. THAM SỐ VÀ HÀM
1. #include 
2. #include 
3. void Nhap(char [],int&,int &);
4. void XuLy(int, int, float &);
5. void Xuat(char[],int,int,float);
Chương 01 - 19
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
6. THAM SỐ VÀ HÀM
1. void main()
2. {
3. char ht[30];
4. int t,v;
5. float tb;
6. Nhap(ht,t,v);
7. Xuly(t,v,tb);
8. Xuat(ht,t,v,tb);
9. } 
Chương 01 - 20
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
6. THAM SỐ VÀ HÀM (tiếp)
11.void Xuat(char hoten[],int 
toan,int van,float dtb)
12.{
13. printf(“Ho ten:%s”,hoten);
14. printf(“Toan: %d”,toan);
15. printf(“Van: %d”,van);
16. printf(“DTB: %f”,dtb);
17.}
18.void XuLy(int toan, int van,
float&dtb)
19.{
20. dtb=(float)(toan + van)/2;
21.}
Chương 01 - 21
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
6. THAM SỐ VÀ HÀM (tiếp)
1. void Nhap(char hoten[30], 
int &toan, int &van)
2. {
3. printf(“Nhap ho ten:”);
4. gets(hoten);
5. printf(“Nhap toan:”);
6. scanf(“%d”,&toan);
7. printf(“Nhap van:”);
8. scanf(“%d”,&van);
9. } 
Chương 01 - 22
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
7. TRỪU TƢỢNG HÓA
DỮ LIỆU
 Khái niệm: Trừu tượng hóa dữ liệu là
một phương pháp tích hợp các kiểu
dữ liệu đơn, các kiểu dữ liệu có sẵn
nhằm mô tả, biểu diễn một khái niệm
hay một đối tượng trong thế giới thực.
 Cú pháp:
1. struct KieuDuLieu
2. {
3. Thành phần 1;
4. Thành phần 2;
5. …
6. };
7. typedef struct KieuDuLieu
KIEUDULIEU;
Chương 01 - 23
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
7. TRỪU TƢỢNG HÓA
DỮ LIỆU (tiếp)
11.#include 
12.#include 
13.struct HocSinh
14.{
15. char hoten[31];
16. int toan;
17. int van;
18. float dtb;
19.};
20.typedef struct HocSinh HOCSINH;
21.void Nhap(HOCSINH &);
22.void Xuat(HOCSINH);
23.void XuLy(HOCSINH&);
Chương 01 - 24
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
7. TRỪU TƢỢNG HÓA
DỮ LIỆU (tiếp)
1. void Nhap(HOCSINH &);
2. void Xuat(HOCSINH);
3. void XuLy(HOCSINH&);
4. void main()
5. {
6. HOCSINH hs;
7. Nhap(hs);
8. XuLy(hs);
9. Xuat(hs); 
10.}
Chương 01 - 25
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
7. TRỪU TƢỢNG HÓA
DỮ LIỆU (tiếp)
1. void Xuat(HOCSINH x)
2. {
3. printf(“Ho ten:%s”,x.hoten);
4. printf(“Toan: %d”,x.toan);
5. printf(“Van: %d”,x.van);
6. printf(“DTB: %f”,x.dtb);
7. }
8. void XuLy(HOCSINH &x)
9. {
10. x.dtb=(float)(x.toan+x.van)/2;
11.}
Chương 01 - 26
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
7. TRỪU TƢỢNG HÓA
DỮ LIỆU (tiếp)
1. void Nhap(HOCSINH&x)
2. {
3. printf(“Nhap ho ten:”);
4. gets(x.hoten);
5. printf(“Nhap toan:”);
6. scanf(“%d”,&x.toan);
7. printf(“Nhap van:”);
8. scanf(“%d”,&x.van);
9. } 
Chương 01 - 27
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
8. ỨNG DỤNG
 8.1 Ứng dụng 1:
Viết chƣơng trình
nhập vào một phân
số. Rút gọn phân
số đó và xuất kết
quả.
Chương 01 - 28
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
8. ỨNG DỤNG
 8.2 Ứng dụng 2:
Viết chƣơng trình
nhập vào tọa độ 2
điểm trong mặt
phẳng Oxy. Tính
khoảng cách giữa
chúng và xuất kết
quả
Chương 01 - 29
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
9. 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 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ả.
Chương 01 - 30
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
9. BÀI TẬP
 Bài 3: Viết chương trình
nhập vào 2 phân số. Tìm
phân số lớn nhất và xuất
kết quả.
 Bài 4: 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ả.
Chương 01 - 31
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
9. BÀI TẬP
 Bài 5: 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 6: 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ả.
Chương 01 - 32
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
9. BÀI TẬP
 Bài 7: 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 8: 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 tâm.
Chương 01 - 33
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
9. BÀI TẬP
 Bài 9: 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.
Chương 01 - 34
LTHĐTKhoa CNTT
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
9. BÀI TẬP
 Yêu cầu chung:
 Làm tất cả các bài tập trong
một workspace có tên là
MSSV_BT01.
 Trong workspace có 9 project
tương ứng với từng bài tập.
 Nộp bài tập lên hệ thống
Moodle theo qui định.

File đính kèm:

  • pdfGiáo trình Lập trình hướng đối tượng - Chương 1 Ôn tập.pdf