Tải bản đầy đủ (.pdf) (227 trang)

Giáo án - Bài giảng: BÀI GIẢNG MÔN CƠ SỞ LẬP TRÌNH (C++)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.18 MB, 227 trang )

ĐẠI HỌC MỞ

TP.HCM
KHOA CÔNG NGHỆ

THÔNG TIN
-

Lý thuyết: 2 tín chỉ
-Thực hành: 2 tín chỉ
CƠ S
CƠ S



L
L


P TRÌNH
P TRÌNH
ThS.GVC Tô Oai Hùng
2
Mục Đích, Yêu Cầu Môn Học
y Môn học này giúp cho sinh viên tiếp cận
cách lập trình trên máy tính. Một trong
những ngôn ngữ lập trình được sử
dụng là C++. Đây là môn học được xem
là nền tảng trong lập trình. Những kiến
thức về lập trình được sử dụng trong
hầu hết các môn học của ngành Công


Nghệ Thông Tin sau này.
y Học xong môn này sinh viên có thể lập
trình được những bài toán cơ bản về
tính toán. Biết cách tạo giải thuật,
chuyển thành chương trình từ bài toán
cụ thể và sử dụng thành thạo ngôn ngữ
C++ trong lập trình cấu trúc.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
3
Tài Liệu Học Tập
y Tài liệu chính:
- Giáo trình Cơ Sở

Lập Trình

- Khoa
CNTT Đại học Mở

Tp. HCM.
y Tài liệu tham khảo:
- Joel Adams & Larry Nyhoff, C++ An
Introduction to Computing, Prentice
Hall 2002, Third Edition.
- H.M. Deitel & P.J. Deitel, C++ How to
Program, Prentice Hall, New Jersey,
2003, Fourth Edition.
- Nicholas A. Solter & Scott J. Kleper,


Professional C++, Wiley Publishing,
2005.
Cơ Sở

Lập Trình
Chương 1
GIỚI THIỆU NGÔN NGỮ

C++
ĐẠI HỌC MỞ

TP.HCM
KHOA CÔNG NGHỆ

THÔNG TIN
ThS.GVC Tô Oai Hùng
5
Mục Tiêu
y Công dụng của máy tính.
y Một số khái niệm.
y Thế nào là một chương trình C++.
y Giải quyết bài toán bằng chương trình
C++.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
6
Công Dụng Của Máy Tính

y Công nghiệp:
- Robot, thiết kế

bằng máy tính, quản
lý dự

án và điều khiển.
y Chính phủ:
- Quốc phòng, vũ

trụ, biên dịch dữ

liệu, thời tiết.
y Y học:
- Hồ sơ y khoa, các hệ

thống hỗ

trợ

khám chữa bệnh, máy chụp cắt lớp.
y Giải trí:
- Hoạt hình, màu sắc, các hiệu ứng.
y Khoa học:
- Giả

lập, phân tích phân tử, kiểm tra
thực phẩm.
y Công nghệ thông tin:
- Công nghệ


số.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
7
Một Số

Khái Niệm
y Chương trình máy tính:
- Một loạt các câu lệnh mà



chỉ

thị

cho máy tính giải quyết vấn đề như
thế

nào.
y Dữ liệu:
- Những thông tin có

thể được lưu trữ




xử

lý bằng máy tính.
y Lập trình:
- Thực hiện thiết kế, viết và

bảo trì
chương trình nhằm điều khiển máy
tính làm việc.
y Người lập trình:
- Người viết ra chương trình.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
8
Một Số

Khái Niệm
y Ngôn ngữ lập trình:
- Hệ

thống các ký hiệu dùng để

tạo
thành chương trình.
y Chương trình dịch:
- Chương trình dùng để

chuyển đổi

chương trình nguồn thành chương
trình ngôn ngữ

máy thực thi được.
y Thời gian dịch:
- Thời gian thực hiện dịch chương
trình nguồn.
y Thời gian thực thi:
- Thời gian chạy chương trình ngôn
ngữ

máy.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
9
Chương Trình C++
y Chương trình ví dụ:
// h01_01.cpp
// Chương trình đầu tiên trong C++
#include <iostream.h>
int main()
{
cout << "Welcome to C++!\n";
return 0; // cho biếtchương trình
// kết thúc thành công
}
Chú


thích
Chỉ

dẫn biên dịch
Phần chính của chương
trình chứa các lệnh C++
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
10
Chương Trình C++
- Các lệnh C++:
int main()
{
cout << "Welcome to C++!\n";
return 0;
}
Xuất chuỗi
thông báo
Trả

trị

0 cho hệ điều
hành -

cho biết
chương trình kết
thúc thành công

Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
11
Các Bước Giải Quyết Bài Toán
Các bước trong phát triển phần mềm gồm:
y Thiết kế:
- Phân tích, đặc tả

giải thuật để

giải
quyết vấn đề.
y Viết mã lệnh:
- Viết đặc tả

giải thuật bằng cú

pháp
của ngôn ngữ

lập trình.
y Kiểm tra, thực thi, phát hiện lỗi :
- Tìm tất cả

những lỗi phát sinh và

chỉnh sửa lại chương trình.
y Bảo trì:

- Cập nhật, sửa đổi theo yêu cầu sử

dụng.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
12
Vấn Đề
y Quả cầu được quấn bằng sợi. Hỏi:
- Quả

cầu nặng bao nhiêu?
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
13
Giải Thuật
1.

Khởi tạo hằng PI.
2.

Xuất thông báo nhắc user nhập bán
kính.
3.

Nhập một giá


trị

thực và

chứa vào
biến radius.
4.

Xuất thông báo nhắc user nhập tỉ

trọng.
5.

Nhập một giá

trị

thực và

chứa vào
biến density.
6.

Tính:
7.

Xuất trọng lượng (weight) ra màn
hình.
Cơ Sở


Lập Trình
ThS.GVC Tô Oai Hùng
14
Viết Mã C++
y Đầu tiên tạo khung chương trình:
- Thêm các chỉ

dẫn biên dịch để

chèn
các thành phần cần thiết trong thư
viện cho chương trình.
- Tạo hàm main() rỗng.
y Chuyển đổi từng bước giải thuật thành
mã lệnh:
- Nếu chương trình có

sử

dụng đối
tượng phần mềm nào chưa được
khai báo, thêm các lệnh khai báo để

chỉ định kiểu và tên cho đối tượng
đó.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
15

Viết Mã C++
/* h01_02.cpp: Tính trọng lượng quả

cầu.
Nhập: Bán kinh (foot) và

tỷ

trọng
(pound/cubic foot) quả

cầu
Xuất: Trọng lượng quả

cầu (pound)

*/
#include <iostream.h> // cin, cout,
// <<, >>
#include <math.h> // pow()
int main() // hàm main() rỗng
{
return 0;
}
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
16
Viết Mã C++

int main()
{
const double PI = 3.14159;
cout << "Nhập

bán kính quả

cầu: ";
double radius;
cin >> radius;
cout << "Nhập tỷ

trọng quả

cầu: ";
double density;
cin >> density;
double weight = density * 4.0 * PI *
pow(radius,3)/3.0;
cout << "\nTrọng lượng quả

cầu xấp xỉ

"
<< weight << " pound.\n";
return 0;
}
Cơ Sở

Lập Trình

ThS.GVC Tô Oai Hùng
17
Kiểm Tra, Thực Thi,
Phát Hiện Lỗi
Nhập bán kính quả

cầu: 6.5
Nhập tỉ

trọng quả

cầu: 14.6
Trọng lượng quả

cầu xấp xỉ

16795 pound.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
18
Kiểm Tra, Thực Thi,
Phát Hiện Lỗi
y Các lỗi thường gặp:
- Lỗi vi phạm các qui tắc văn phạm
của ngôn ngữ

cấp cao (lỗi cú


pháp).
- Lỗi xảy ra lúc thực thi chương trình
(lỗi thời gian thực thi).
- Lỗi do thiết kế

giải thuật (lỗi logic).
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
19
Lỗi Cú

Pháp
y Ví dụ:
double radius
- Mất dấu chấm phẩy.
y Đây là lỗi thường gặp nhất.
y Thông thường trình biên dịch đưa ra
thông báo lỗi để người lập trình xác
định vị trí và sửa lại chương trình
nguồn.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
20
Lỗi Thời Gian Thực Thi
y Không được phát hiện cho đến khi
chương trình thực thi.

y Ví dụ:
- Chia cho 0 sẽ

làm cho chương trình
dừng.
- Tính căn bậc hai của số

âm.
y Chương trình phải được sửa đổi khi có
bất kỳ lỗi nào xảy ra.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
21
Lỗi Logic
y Chương trình được dịch và được thực
thi nhưng cho kết quả không đúng.
y Đây là lỗi khó phát hiện nhất.
y Có thể sử dụng dữ liệu mẫu và tính
bằng tay rồi so sánh với kết quả của
chương trình.
y Chú ý: Kiểm tra lỗi càng khó khi độ
phức tạp của chương trình càng tăng:
- Một số chương trình được chạy
trong nhiều năm mà

không phát hiện
lỗi logic.
Cơ Sở


Lập Trình
ThS.GVC Tô Oai Hùng
22
Bảo Trì
y Các chương trình trong nhà trường
thường chỉ chạy vài lần.
y Các chương trình trong thực tế được
sử dụng nhiều năm:
- Nó



tài nguyên đã được đầu tư vào
đó.
y Những yêu cầu mới phát sinh trong quá
trình sử dụng chương trình .
y Cập nhật lại được gọi là “bảo trì”.
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
23
Bảo Trì
y Ví dụ bảo trì chương trình Hình 1.2 bằng
cách tính trọng lượng quả cầu theo
pound và tấn.
/* h01_03.cpp: Tính trọng lượng quả

cầu

theo pound và

tấn.
Nhập: Bán kính (foot) và

tỷ

trọng (pound/
cubic foot) quả

cầu.
Xuất: Trọng lượng quả

cầu (pound và

tấn)
*/
#include <iostream.h>
#include <math.h>
int main()
{
const double PI = 3.14159;
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
24
Bảo Trì
cout << "Nhập bán kính quả


cầu:

";
double radius;
cin >> radius;
cout << "Nhập tỷ

trọng quả

cầu: ";
double density;
cin >> density;
double weight = density * 4.0 * PI
* pow(radius,3) / 3.0;
cout <<"\nTrọng lượng quả

cầu xấp xỉ

"
<< weight << " pound, hay "
<< weight /2000.0 << " tấn.\n";
return 0;
}
Cơ Sở

Lập Trình
ThS.GVC Tô Oai Hùng
25
Kiểm Tra Lại
Nhập bán kính quả


cầu: 6.5
Nhập tỉ

trọng quả

cầu: 14.6
Trọng lượng quả

cầu xấp xỉ

16795 pounds hay 8.39752 tấn.
Cơ Sở

Lập Trình

×