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

pdf30 trang | Chia sẻ: thucuc2301 | Lượt xem: 730 | Lượt tải: 0download
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:

  • pdfts_le_nguyen_khoibaigiang02_kieudulieucoban_5044_2032113.pdf