TIN ĐẠI CƯƠNG Bài 3: NHẬP XUẤT DỮ LIỆU & CÁC HÀM TOÁN HỌC

1

(cid:73) Cấu trúc một chương trình C++ : khai báo các

Nội dung bài trước

(cid:73) Kiểu dữ liệu : kí tự (char), nguyên (int), thực

thư viện, các biến, các hàm (main,...)

(cid:73) Khái niệm biến, quy cách đặt tên (cid:73) Biểu thức, phép gán và các phép toán (cid:73) Bài tập

2

(float, double), logic (bool)

Nội dung chính

3

1. Nhập và xuất dữ liệu 2. Các hàm toán học 3. Hàm (function) 4. Bài tập

(cid:73) Thư viện iostream chứa các đối tượng cin, cout làm

1. Nhập và xuất dữ liệu

nhiệm vụ nhập và xuất dữ liệu

(cid:73) Chúng được khai báo trong không gian tên std, do vậy phải tham chiếu đến chúng bằng tên đầy đủ (ví dụ std::cin), hoặc viết lệnh using namespace std;

4

(cid:73) Cách dùng

(cid:73) cout << bieuthuc_1 ; (cid:73) cout << bieuthuc_1 << bieuthuc_2 ;

(cid:73) Ví dụ :

(cid:73) in chuỗi kí tự, hằng, biến ra màn hình

cout << "Xin chao !" int a = 8 ; cout << a++ ; cout << ++a ;

//in ra 8, tăng a lên 1 //tăng a lên 1, in ra 10

(cid:73) có thể sử dụng toán tử << nhiều lần trên cùng một dòng

cout << "Chieu dai canh la " << a ;

(cid:73) kết hợp in xâu kí tự và biểu thức

cout << "Chu vi la " << 4*a << " dien tich la " << a*a ;

5

Xuất dữ liệu với cout

(cid:73) Sau khi in, cout không làm con trỏ xuống dòng

Xuất dữ liệu với cout

cout << "Câu thứ nhất." ; cout << "Câu thứ hai." ; → Câu thứ nhất.Câu thứ hai.

(cid:73) Để xuống dòng, ta dùng kí tự \n hoặc endl

Thay câu lệnh đầu tiên bằng cout << "Câu thứ nhất.\n" ; hoặc cout << "Câu thứ nhất." << endl ;

6

(cid:73) Cách dùng

(cid:73) Cách 1 : nhập lần lượt

cin >> bien_1 ;

(cid:73) Cách 2 : nhập cùng lúc

cin >> bien_1 >> bien_2 ;

(cid:73) Bấm Enter để kết thúc việc nhập dữ liệu (cid:73) Nên nhập đúng giá trị cho kiểu của biến, nếu

Nhập dữ liệu với cin

(cid:73) Rất cẩn thận khi nhập cùng lúc dữ liệu cho

không có thể có lỗi phát sinh

7

nhiều biến. Khi đó phải phân tách chúng bằng khoảng trống : dấu cách, tab, xuống dòng

(cid:73) Trong thư viện , C++ cung cấp rất

2. Các hàm toán học

(cid:73) Tham khảo : http:

nhiều hàm toán học hữu ích

8

//www.cplusplus.com/reference/cmath/

(cid:73) exp(a) : ea (cid:73) log(a) : ln(a) (cid:73) log10(a) : log10(a) (cid:73) pow(a,b) : ab (cid:73) sqrt(a) : căn bậc 2 của a (cid:73) cbrt(a) : căn bậc 3 của a (cid:73) hypot(a,b) : sqrt(a*a + b*b)

9

Các hàm mũ, lũy thừa

(cid:73) sin(a) (chú ý : a theo đơn vị radian) (cid:73) cos(a) (cid:73) tan(a) (cid:73) asin(a) (a phải nằm trong khoảng [-1,1]) (cid:73) acos(a) (a phải nằm trong khoảng [-1,1]) (cid:73) atan(a)

10

Các hàm lượng giác

(cid:73) abs(a) : giá trị tuyệt đối của a (cid:73) floor(a) : trả về số nguyên lớn nhất mà vẫn còn

Một số hàm khác

(cid:73) ceil(a) : trả về số nguyên nhỏ nhất mà vẫn còn

nhỏ hơn hoặc bằng a (làm tròn xuống)

(cid:73) fmax(a,b) : trả về giá trị lớn nhất giữa a và b (cid:73) fmin(a,b) : trả về giá trị nhỏ nhất giữa a và b (cid:73) fmod(a,b) : tính phần dư của phép chia a cho b

11

lớn hơn hoặc bằng a (làm tròn lên)

Ví dụ

12

1. Nhập hai số thực x và y (x dương). Tính và in ra màn hình giá trị x y .

Ví dụ

13

2. Cho hai điểm A, B với toạ độ (1.,-2.), (3.,4.). Tính độ dài đoạn thẳng AB.

(cid:73) Các hàm toán học có sẵn trong C++ nói trên là hàm do các lập trình viên khác viết ra, chúng ta chỉ sử dụng lại (cid:73) Ta có thể viết các hàm mới để dùng theo mục đích riêng (cid:73) Ví dụ 1 : Nhập hai số thực x và y. Tính và in ra màn hình

Nhận xét

diện tích của các hình chữ nhật có cạnh là : b) x+5 và y*2 a) x và y

c) x/2 và x+y

→ viết một hàm tính diện tích hình chữ nhật, sử dụng được

ở nhiều nơi

(cid:73) Ví dụ 2 : Biết toạ độ ba đỉnh của tam giác ABC. Tính

diện tích tam giác đó.

→ chia thành các bài toán nhỏ hơn :

(cid:73) tính độ dài đoạn thẳng (cid:73) tính diện tích tam giác theo công thức Heron

14

(cid:73) Hàm : đoạn chương trình máy tính thực hiện

3. Hàm (function)

(cid:73) Cú pháp :

một nhiệm vụ nào đó và trả về kết quả

() {

//nội dung thuật toán

(cid:73) Ví dụ :

}

float dientich(float canh1, float canh2) {

return canh1 * canh2 ;

15

}

(cid:73) Gọi hàm : gọi theo tên hàm và tham số (cid:73) Ví dụ :

Hàm

(cid:73) Lợi ích của việc sử dụng hàm

(cid:73) ý tưởng phân rã bài toán thành các bài toán con (cid:73) có thể sử dụng ở nhiều nơi trong cùng chương trình (cid:73) nếu cần chỉnh sửa thì chỉ làm ở một chỗ

(cid:73) Khai báo (interface) và triển khai (implement)

(cid:73) khai báo hàm trước khi sử dụng

() ;

(cid:73) nội dung hàm có thể triển khai ở sau

16

float DienTich = dientich (5.2, 7.8) ;

Ví dụ

17

Cho hai điểm A, B với toạ độ (1.,-2.), (3.,4.). Tính độ dài đoạn thẳng AB.

4. Bài tập

Bài 1 Nhập toạ độ hai điểm M1(x1, y1), M2(x2, y2). Tính độ dài đoạn thẳng M1M2.

Bài 2 Nhập tọa độ (x,y) cho 3 điểm A, B, C. Tính chu vi và diện tích tam giác ABC.

Bài 3 Nhập giá trị cho 3 số thực dương x, y, z. Tính giá trị các biểu thức sau

x

x 4 + |y − z| 1

sin2 x + sin x + 1 (cos2 y + cos y + 1)3 Gợi ý : sử dụng hàm f (t) = t 2 + t + 1.

18