CHUẨN VÀ QUI ƯỚC LẬP TRÌNH
Quy ước đặt tên (Naming Convention)
Quy tắc vàng: tên phải thể hiện ý nghĩa.
x, y, f, g, ?!
dientich, laisuat !!
Quy tắc đặt tên theo kiểu “lạc đà” (Camel Case)
Dùng để viết các từ dính liền nhau.
Viết hoa chữ cái đầu mỗi từ.
LopHoc, TruongHocCHUẨN VÀ QUI ƯỚC LẬP TRÌNH
Quy ước viết câu lệnh:
Quy tắc vàng: viết câu lệnh rộng rãi, rõ ràng.
x=a+b-c*d; for(int i=0;i
31 trang |
Chia sẻ: thanhle95 | Lượt xem: 638 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 1: Giới thiệu môn học - Phạm Tú San, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TUẦN 01
GIỚI THIỆU MÔN HỌC
Phương pháp lập trình hướng đối tượng
Phạm Tú San
Lớp TH2012/02
THÔNG TIN GIẢNG VIÊN
Phạm Tú San
Email: ptsan@fit.hcmus.edu.vn
Mọi trao đổi thực hiện qua
Email: tiêu đề email [HDT-TH12/02][MSSV-họ
tên] [Nội dung chính]
Diễn đàn môn học – moodle
d=2084
THANG ĐIỂM – QUI ĐỊNH
Thang điểm (dự kiến)
Lý thuyết: 60%
Thực hành: 40%
Qui định nộp bài
ĐÚNG GiỜ (nên nộp sớm hơn deadline).
Chỉ chấp nhận nộp trên trang web môn học.
Nộp bài theo qui định
Bị phát hiện sao chép: 0 điểm môn học
Có vở bài tập – sẽ được chấm điểm
ĐỀ CƯƠNG
Môn tiên quyết
Nhập môn lập trình – kỹ thuật lập trình
Kỹ thuật lập trình cơ bản với C++ - hướng thủ
tục
Mục tiêu môn PPLTHĐT
Có khả năng hiểu và giải quyết vấn đề bằng
cách tiếp cận hướng đối tượng (HĐT)
Lập trình HĐT bằng ngôn ngữ C++
Môi trường thực hành
Microsoft Visual Studio 2005 -> 2012
TÀI LIỆU THAM KHẢO
Phương pháp lập trình hướng đối tượng
Trần Đan Thư, Đinh Bá Tiến, Nguyễn Tấn Trần Minh
Khang, NXB Thống Kê
C++ và Lập trình hướng đối tượng
Phạm Văn Ất, NXB Khoa Học Kỹ Thuật.
Lập trình hướng đối tượng C++
Trần Văn Lăng, NXB Thống Kê.
C++ Primer Plus 5th Edition
Stephen Prata, SAMS.
google.com – “fstream site:cplusplus.com”
google.com – “fstream example site:cplusplus.com”
CHUẨN VÀ QUY ƯỚC LẬP TRÌNH
Vì sao phải có chuẩn và quy ước?
Làm việc một mình:
Tự làm tự hiểu.
Mình luôn hiểu mình?
Làm việc nhóm:
Mỗi người một việc.
Ráp nối công việc.
Mọi người luôn hiểu nhau?
Phối hợp công việc hiệu quả Áp đặt kỷ luật!!
CHUẨN VÀ QUI ƯỚC LẬP TRÌNH
Quy ước đặt tên (Naming Convention)
Quy tắc vàng: tên phải thể hiện ý nghĩa.
x, y, f, g, ?!
dientich, laisuat !!
Quy tắc đặt tên theo kiểu “lạc đà” (Camel Case)
Dùng để viết các từ dính liền nhau.
Viết hoa chữ cái đầu mỗi từ.
LopHoc, TruongHoc
CHUẨN VÀ QUI ƯỚC LẬP TRÌNH
Quy ước viết câu lệnh:
Quy tắc vàng: viết câu lệnh rộng rãi, rõ ràng.
x=a+b-c*d; for(int i=0;i<n;i++);
x = a + b – c * d;
for (int i = 0; i < n; i++);
Viết mỗi câu lệnh một dòng.
Viết cách khoảng giữa hai đoạn lệnh.
Quy ước viết chú thích:
Quy tắc vàng: viết chú thích đầy đủ, dễ hiểu.
Viết chú thích cho từng hàm.
THAM KHẢO
Bài giảng môn PPLTHĐT của
Thầy Nguyễn Minh Huy
(nmhuy@fit.hcmus.edu.vn)
TUẦN 01
ÔN TẬP KỸ THUẬT LẬP
TRÌNH VỚI C++
Phương pháp lập trình hướng đối tượng
Phạm Tú San
Lớp TH2012/02
NỘI DUNG
Ôn tập kỹ thuật lập trình với C++
Bài tập
ÔN TẬP KỸ THUẬT LẬP TRÌNH
Hàm là gì? Có mấy cách truyền tham số?
Cấu trúc là gì? Cách sử dụng?
Nhập xuất trong C++?
Hãy viết chương trình cho phép nhập
hai phân số, nhân hai phân số đó lại với
nhau và xuất ra kết quả?
TRUYỀN THAM SỐ VÀ TẦM VỰC
Các cách truyền tham số vào hàm?
Truyền tham trị (pass by value)
Truyền tham biến (pass by reference)
Tầm vực (phạm vi hoạt động) của biến và
hàm?
CON TRỎ
Con trỏ là gì?
Các cách khởi tạo con trỏ?
Toán tử &, toán tử *?
int x = 5;
int *p = &x;
int k = *p;
printf(“%d\n”, p);
printf(“%d\n”, *p);
printf(“%d\n”, &p);
CON TRỎ (TT)
Truyền tham số kiểu con trỏ?
CON TRỎ (TT)
Con trỏ cấu trúc?
Cấp phát và thu hồi bộ nhớ cho con trỏ?
Mảng và con trỏ?
CON TRỎ VÀ HÀM
Giải thích sự khác nhau giữa 3 hàm sau
CON TRỎ HÀM
Địa chỉ hàm:
Hàm được lưu trong bộ nhớ như biến
Mỗi hàm có 1 địa chỉ
Con trỏ hàm là biến giữ kiểu địa chỉ hàm
Các hàm có cùng kiểu địa chỉ khi
Cùng kiểu trả về
Cùng danh sách tham số
VÍ DỤ CON TRỎ HÀM
typedef int (*PhepTinh)(int a, int b);
int cong(int u, int v)
{
return u + v;
}
int nhan(int u, int v)
{
return u * v;
}
int tinhToan(int u, int v, PhepTinh p)
{
return p(u, v);
}
void main()
{
int x = 5;
int y = 6;
PhepTinh p = cong;
int kq1 = p(x, y);
int kq2 = tinhToan(x, y,
cong);
}
BÀI TẬP CON TRỎ HÀM
Hãy khai báo địa chỉ cho những hàm dưới
đây (dùng typedef)
void xuly();
int luythua(int x, int n);
int* nhapmang(int &n);
void xuatMang(int a[], int n);
PhanSo cong(PhanSo p1, PhanSo p2);
NỘI DUNG
Ôn tập kỹ thuật lập trình với C++
Bài tập
BÀI TẬP
Bài tập 1.1:
Viết chương trình cho phép thực hiện các thao tác
trên kiểu phân số:
Nhập, xuất phân số.
Nghịch đảo, rút gọn phân số.
Cộng, trừ, nhân, chia hai phân số.
BÀI TẬP 1.1
BÀI TẬP 1.2
Viết chương trình cho phép thực hiện các thao tác
trên kiểu dữ liệu điểm:
Nhập, xuất điểm.
Tính khoảng cách giữa hai điểm.
Viết chương trình cho phép thực hiện các thao tác
trên kiểu tam giác:
Nhập, xuất tam giác.
Tính chu vi, diện tích tam giác.
BÀI TẬP 1.3
Thông tin một học sinh bao gồm:
Họ tên.
Điểm văn, toán.
Viết chương trình cho phép thực hiện các thao tác
trên kiểu học sinh:
Nhập, xuất thông tin học sinh.
Tính điểm trung bình.
Xếp loại theo tiêu chí
Giỏi (>= 8.0), Khá (>= 7.0).
Trung bình (>= 5.0), Yếu (< 5).
BÀI TẬP 1.4
Viết chương trình cho phép thực hiện các thao tác
trên kiểu mảng:
Nhập, xuất mảng.
Lấy phần tử tại vị trí nào đó.
Tìm phần tử nào đó trong mảng.
Sắp xếp tăng, giảm.
BÀI TẬP VỀ NHÀ
Code các bài tập: 1.1, 1.2, 1.3, 1.4 và nộp
Mỗi bài trong 1 project, tất cả các project nằm
trong solution tên
Khi nộp bài nộp nguyên project, xóa tất cả các
folder Debug