Bài giảng Giới thiệu lập trình - Bài 2: Kiểu dữ liệu cơ bản - Lê Nguyên Khôi
Bài giảng Giới thiệu lập trình - Bài 2: Kiểu dữ liệu cơ bản - Lê Nguyên Khôi
Hàm Số Toán Học Tự Định Nghĩa
24
Trong toán học có thể tự định nghĩa hàm số
f(a, b) = a3 + 2a2 b + 3ab2 + 4b3
Từ định nghĩa của hàm và giá trị của biến số,
có thể tính được giá trị của hàm
f(a = 2,Z) = 1) = a3 + 2a2 b + 3ab2 + 4b3 = 26
Chuyển sang ngôn ngữ lập trình, cần có
Tên hàm, danh sách biến số
Kiểu dữ liệu của hàm và biến số
Định nghĩa của hàm dựa trên danh sách biến số
Sử dụng câu lệnh return để trả về giá trị của hàm
sau khi tính
Giới Thiệu Lập TrìnhHàm Tự Định Nghĩa Trong C++
25
f(a, b) = a3 + 2a3b + 3ab2 4- 4b3
Tên hàm: f
Danh sách biến số: a, b
Kiểu dữ liệu: int
Định nghĩa của hàm:
Sử dụng câu lệnh return để trả về giá trị của
hàm sau khi tính
30 trang |
Chia sẻ: thucuc2301 | Lượt xem: 730 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Giới thiệu lập trình - Bài 2: Kiểu dữ liệu cơ bản - Lê Nguyên Khôi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Giới Thiệu Lập Trình
Kiểu Dữ Liệu Cơ Bản
TS. Lê Nguyên Khôi
Trường Đại học Công nghệ, ĐHQGHN
Nội Dung
1
Kiểu dữ liệu cơ bản
Phép toán
Biến số
Hằng số
Hàm số toán học
Giới Thiệu Lập Trình
Kiểu Số Nguyên Trong C++
2
Khi sử dụng kiểu dữ liệu, ví dụ int, cần biết
miền giá trị biểu diễn được
Kiểu dữ liệu int biểu diễn số nguyên
từ -2.147.483.648 đến +2.147.483.647
Có ảnh hưởng gì không?
Giới Thiệu Lập Trình
Tên Lửa Đẩy Ariane 5
3
Cơ quan Vũ trụ châu Âu phóng tên lửa đẩy
ngày 04/06/1996, trị giá 7 tỷ đô la Mỹ
Ariane 5 dùng lại mã của hệ thống điều khiển
đẩy của Ariane 4
Tốc độ A5 lớn hơn A4, nhưng khi thiết kế
không kiểm tra miền dữ liệu biểu diễn
Khi A5 đạt tới tốc độ nhất định, xảy ra lỗi tràn
bộ nhớ, bộ xử lý tắt
A5 bị mất điều khiển, sau đó gây nổ
Giới Thiệu Lập Trình
Hệ Thống Số
4
Số nguyên dương
Số nguyên âm: sử dụng bit trái ngoài cùng để biểu diễn
Giới Thiệu Lập Trình
Cơ số 10 (3 chữ số)
= ∗ + ∗ + ( ∗ )
Cơ số 2 (3 chữ số)
= ∗ + ∗ + ( ∗ )
= ∗ − + ∗ + ( ∗ ) = −
= ∗ − + ∗ + ( ∗ ) = −
Kiểu Số Nguyên char
5
Trong C++ kiểu dữ liệu char là kiểu nhỏ nhất
Sử dụng 1 byte bộ nhớ
1 byte trong máy tính gồm 8 bit
Như vậy, khoảng biểu diễn từ -128 đến +127
10000000 = −128 và 01111111 = 127
Khoảng biểu diễn từ −2 đến +2 − 1
Giới Thiệu Lập Trình
−2 2 2 2 2 2 2 2
−128 64 32 16 8 4 2 1
Kiểu Cơ Bản Trong C++ - Số Nguyên
6
Kiểu Độ Lớn Miền Giá Trị
char 1 byte -128 đến
+127
(−2, +2 − 1)
short 2 byte -32.768 đến
+32.767
(−2, +2 − 1)
int 4 byte -2.147.483.648 đến
+2.147.483.647
(−2, +2 − 1)
Giới Thiệu Lập Trình
Kiểu Cơ Bản Trong C++ - Số Thực
7
Kiểu Độ Lớn Miền Giá Trị
float 4 byte (−10 , +10 )
double 8 byte (−10 , +10 )
long
double
10 byte (−10!, +10!)
Giới Thiệu Lập Trình
Phép Toán Số Học Trong C++
kiểu của toán hạng, xác định phép toán tương ứng
8
Phép Toán Toán Tử Ví Dụ Áp Dụng
Cộng +
a + b
1 + 2
1.1 + 2.2
số nguyên &
số thực
Trừ -
a - b
1 – 2
1.1 – 2.2
số nguyên &
số thực
Nhân *
a * b
1 * 2
1.1 * 2.2
số nguyên &
số thực
Chia /
a / b
1 / 2
1.1 / 2.2
số nguyên &
số thực
Phần dư % a % b1 % 2 chỉ số nguyên
Giới Thiệu Lập Trình
Phép Chia Số Học Trong C++
9
Chia nguyên: cả hai toán hạng là số nguyên
Chia thực: một trong hai toán hạng là số thực
1 int main()
2 {
3 int i = 1, j = 2, k;
4 double f = 1.0, g = 2.0, h;
5 k = i / j; // chia nguyên k = 0
6 k = j / i; // chia nguyên k = 2
7 h = f / g; // chia thực h = 0.5
8 h = i / g; // chia thực h = 0.5
9 h = f / j; // chia thực h = 0.5
10 return 0;
11 }
Giới Thiệu Lập Trình
Biến Số - Đặc Tính
10
Để sử dụng hiệu quả kết quả của các phép
toán, cần lưu kết quả sau khi tính toán vào các
biến số
Biến số dùng để lưu giá trị thuộc một kiểu dữ
liệu nhất định, ví dụ: int, double
Mỗi biến số có 03 thuộc tính: tên, kiểu, giá trị
Để sử dụng biến số, phải đặt tên hợp lệ bằng
cách khai báo biến số
Phải khai báo biến số trước khi sử dụng
Nếu không trình biên dịch sẽ báo lỗi chưa khai báo
error: was not declared in this scope
Giới Thiệu Lập Trình
Biến Số - Khai Báo
11
Cú pháp: kiểuDL tênBiến;
Ý nghĩa: tạo một biến số có tên là tênBiến để
lưu dữ liệu kiểu kiểuDL
Ví dụ: int x;
Ý nghĩa : khai báo biến số nguyên x kiểu int
Chú ý: ngay sau khai báo, biến số đã có giá trị!
sử dụng mệnh lệnh cout << in ra giá trị biến
Lưu ý: khi nào sử dụng biến số mới khai báo
Giới Thiệu Lập Trình
Biến Số - Phép Gán
12
Cú pháp: tênBiến = giáTrị;
tênBiến = biểuThức;
Ý nghĩa: lưu giáTrị hoặc kết quả của biểuThức
vào biến số có tên là tênBiến
Ví dụ: x = 24;
x = (x * 24) / y;
Chú ý: bên trái của phép gán (dấu =) là giá trị
trái (gt-T), bên phải là giá trị phải (gt-P)
x có thể vừa là gt-T và gt-P trong cùng một phép gán
Giới Thiệu Lập Trình
Biến Số - Khởi Tạo (Khai Báo & Gán)
13
Cú pháp: kiểuDL tênBiến = giáTrị;
kiểuDL tênBiến = biểuThức;
Ý nghĩa: tạo một biến số có tên là tênBiến để
lưu dữ liệu kiểu kiểuDL, sau đó lưu giáTrị hoặc
kết quả của biểuThức vào biến số đó
Ví dụ: int x = 24;
int x = (x * 24) / y;
Chú ý: đây là phong cách lập trình tốt, do khi
chỉ khai báo, biến vẫn có một giá trị nào đó
int x; int x;
x = x + 1; cout << x;
Giới Thiệu Lập Trình
Biến Số - Quy Tắc Đặt Tên
14
Tên biến số dùng để định danh
Bắt đầu bằng chữ cái hoặc dấu gạch chân “_”
Tiếp đến là chữ cái, chữ số, dấu gạch chân
Không có dấu cách “ “ trong tên biến số
C++ phân biệt chữ hoa và chữ thường
Tên biến số không được trùng với từ khóa C++
Ví dụ: i, k62, X, x, soPT, soThu1, soThu2 ,
tong, hieu
Chú ý: tên biến số nên gợi nghĩa và ngắn gọn
Giới Thiệu Lập Trình
Hằng Số
15
Biến số: giá trị có thể thay đổi trong quá trình
chạy chương trình
Hằng số: giá trị không được phép thay đổi như
biến số, nếu thay đổi, dịch báo lỗi
Ví dụ: số ngày trong một tuần, số năm trong
một tháng, tốc độ ánh sáng, số pi, số e
Hằng số phải có giá trị ngay khi khai báo và sử
dụng từ khóa const
const double PI = 3.14159;
const double SOL = 1.079e+9;
Giới Thiệu Lập Trình
Phép Gán Trong C++
16
Cú pháp: tênBiến = giáTrị;
tênBiến = biểuThức;
Ví dụ: x = 24;
x = (x * 24) / y;
Thực hiện xác định gt-P của phép gán (tính
toán giá trị của biểuThức) sau đó gán giá trị đó
cho gt-T của phép gán
Chú ý:
gt-T của phép gán phải là một biến số
Kiểu dữ liệu của gt-P phải giống kiểu dữ liệu gt-T
Giới Thiệu Lập Trình
Chuyển Đổi Kiểu Dữ Liệu Trong C++
17
Giá trị thuộc một kiểu dữ liệu có thể được
chuyển sang giá trị thuộc một kiểu dữ liệu khác
Ví dụ: 1 → 1.0 hoặc 1.0 → 1
2 cách:
Tự động bởi C++
int x = 1.0; double y = 1.0;
double y = 1; int x = y;
Chủ động bởi lập trình viên
int x = (int)1.0; double y = 1.0;
double y = (double)1; int x = (int)y;
Lưu ý: chuyển đổi kiểu làm thay đổi độ chính
xác của giá trị. Sử dụng cẩn thận
Giới Thiệu Lập Trình
Kiểu Cơ Bản Trong C++ - Lô-gic
18
Các phép toán so sánh và các phép toán lô-gic
trả về giá trị kiểu lô-gic.
Giới Thiệu Lập Trình
Kiểu Độ Lớn Miền Giá Trị
bool 1 byte đúng hoặc sai
(true, false)
Phép Toán So Sánh Trong C++
19
Phép Toán Toán Tử Ví Dụ Kết quả
Nhỏ hơn < a < b1 < 2 true
Nhỏ hơn
hoặc bằng <=
a <= b
1 <= 2 true
Lớn hơn > a > b1 > 2 false
Lớn hơn
hoặc bằng >=
a >= b
1 >= 2 false
Bằng == a == b1 == 2 false
Không bằng
(khác) !=
a != b
1 != 2 true
Giới Thiệu Lập Trình
Phép Toán Lô-gic Trong C++
20
Phép Toán Toán Tử Ví Dụ Kết quả
Và && a && btrue && true true
Hoặc || a || bfalse || false false
Phủ định ! !a!true false
Giới Thiệu Lập Trình
Bảng Lô-gic (Toán Tử Lười)
21
int a = 0; bool b;
b = (false) && (1/a); cout << b;
b = (true) || (1/a); cout << b;
Giới Thiệu Lập Trình
a b a && b
false false false
false true false
true false false
true true true
a b a || b
false false false
false true true
true false true
true true true
Độ Ưu Tiên Các Phép Toán
22
Xác định thứ tự để tính giá trị biểu thức
Sử dụng cặp dấu ngoặc () để dễ đọc
Giới Thiệu Lập Trình
Độ Ưu Tiên Toán Tử
Cao nhất ++, --, !
*, /, %
+, -
, >=
==, !=
&&
||
Thấp nhất =, +=, -=, *=, /=, %=
Hàm Số Toán Học Trong C++
23
Nhiều hàm số toán học được định nghĩa sẵn
Ví dụ: khai căn (sqrt), số mũ (pow), trị tuyệt
đối (abs)
Để sử dụng các hàm toán học cần tải các thư
viện tương ứng
#include
#include
double x = sqrt(9); // x = 3.0
double y = pow(3, 2); // y = 9.0
int z = rand();
Giới Thiệu Lập Trình
Hàm Số Toán Học Tự Định Nghĩa
24
Trong toán học có thể tự định nghĩa hàm số
, -, . = - + 2-. + 3-. + 4.
Từ định nghĩa của hàm và giá trị của biến số,
có thể tính được giá trị của hàm
, - = 2, . = 1 = - + 2-. + 3-. + 4. = 26
Chuyển sang ngôn ngữ lập trình, cần có
Tên hàm, danh sách biến số
Kiểu dữ liệu của hàm và biến số
Định nghĩa của hàm dựa trên danh sách biến số
Sử dụng câu lệnh return để trả về giá trị của hàm
sau khi tính
Giới Thiệu Lập Trình
Hàm Tự Định Nghĩa Trong C++
25
, -, . = - + 2-. + 3-. + 4.
Tên hàm: f
Danh sách biến số: a, b
Kiểu dữ liệu: int
Định nghĩa của hàm:
Sử dụng câu lệnh return để trả về giá trị của
hàm sau khi tính
Giới Thiệu Lập Trình
int f(int a, int b)
{
return a^3 + 2*a^2*b + 3*a*b^2 + 4*b^3;
}
Hàm Tự Định Nghĩa Trong C++
26
Lập trình viên có thể tự định nghĩa các hàm
hữu ích, phục vụ mục đích cụ thể dựa trên yêu
cầu bài toán
Các hàm tự định nghĩa nằm ở:
Ngoài và trước int main()
Giới Thiệu Lập Trình
1 #include
2
3 int hieu(int a, int b)
4 {
5 return a – b;
6 }
7 int main() { }
Hàm Tự Định Nghĩa
27Giới Thiệu Lập Trình
1 #include
2
3 int hieu(int a, int b) { return a – b; }
4
5 int main()
6 {
7 int a, b;
8 std::cin >> a; std::cin >> b;
9 while (a != b)
10 {
11 if (a > b) a = hieu(a, b);
12 else b = hieu(b, a);
13 }
14 std::cout << "UCLN: " << a << std::endl;
15 return 0;
16 }
Tự Đọc
28
Sử dụng cout >, cerr <<
In dữ liệu ở các định dạng khác nhau
Sử dụng kiểu số nguyên char để quản lý các
ký tự (xem bảng mã ASCII)
Số nguyên trong các hệ cơ số khác (8, 16)
Các toán tử gán phức hợp +=, -=, *=, /=, %=
Các toán tử tăng/giảm một đơn vị ++, --
Các hàm toán học trong cmath, cstdlib
Tự định nghĩa một số hàm đơn giản
Giới Thiệu Lập Trình
Tham Khảo
29
Làm quen với CodeBlock và các chức năng hỗ
biên soạn của CodeBlock
Làm các bài tập trên codehub.now-ip.org
Đọc sách:
Chương 2, Lập Trình Cơ Bản C++
Giới Thiệu Lập Trình
Các file đính kèm theo tài liệu này:
- ts_le_nguyen_khoibaigiang02_kieudulieucoban_5044_2032113.pdf