Bài giảng Hàm và kỹ thuật tổ chức chương trình - Các ví dụ trong lập trình đã trình bày một số ví dụ về tổ chức hàm SolveEq1 trong lập trình. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.
Nhập mơn lập trình Trình bày: Nguyễn Sơn Hồng Quốc Email: nshquoc@fit.hcmus.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ 1: Hàm giải PT bậc • Viết chương trình giải phương trình bậc 1: 𝑎𝑥 + 𝑏 = 𝑎, 𝑏 ∈ ℝ – Cách 1: Viết trực tiếp hàm main() (nhập a, b xét trường hợp để in kết quả) Cách dùng lại sau cần để giải phương trình bậc – Cách 2: Viết hàm nhiệm vụ giải phương trình bậc 1, hàm sử dụng lại chương trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Khai báo hàm SolveEq1() 𝑎, 𝑏 → hàm 𝑆𝑜𝑙𝑣𝑒𝐸𝑞1 → 𝑥, 𝑛𝑆𝑜𝑙 • Khai báo hàm: int SolveEq1(float a, float b, float &x); • Lưu ý: số nghiệm nSol không thấy khai báo hàm tính tốn ghi vào biến tạm trả lệnh return • Định nghĩa số đặc biệt: #define VODINH -1 CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa hàm SolveEq1() int SolveEq1(float a, float b, float &x) { int nSol = 0; if (a != 0) { x = -b/a; nSol = 1; } else if (b == 0) nSol = VODINH; 10 return nSol; 11.} CuuDuongThanCong.com https://fb.com/tailieudientucntt Sử dụng hàm SolveEq1() void main() { float a, b, x; // inputs a, b here… int nSol = SolveEq1(a, b, x); switch (nSol) { // checks nSol here… } 10.} CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ 2: Hàm giải PT bậc • Viết hàm giải phương trình bậc 2: 𝑎𝑥 + 𝑏𝑥 + 𝑐 = 𝑎, 𝑏, 𝑐 → hàm 𝑆𝑜𝑙𝑣𝑒𝐸𝑞2 → 𝑥1 , 𝑥2 , 𝑛𝑆𝑜𝑙 • Khai báo hàm: int SolveEq2(float a, float b, float c, float &x1, float &x2); CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa hàm SolveEq2() int SolveEq2( 10 float a, float b, float c, float &x1, float &x2) { int nSol = 0; float delta; if (a == 0) return SolveEq1(a,b,x1);//reuses SolveEq1() delta = b*b – 4*a*c; if (delta < 0) return 0; CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa hàm SolveEq2() 11 12 13 14 15 16 17 18 19 20 21.} if (delta == 0) { x1 = x2 = -b/(2*a); nSol = 1; } else { // delta > x1 = (-b – sqrt(delta))/(2*a); x2 = (-b + sqrt(delta))/(2*a); nSol = 2; } return nSol; CuuDuongThanCong.com https://fb.com/tailieudientucntt Sử dụng hàm SolveEq2() void main() { float a, b, c, x1, x2; // inputs a, b, c here… int nSol = SolveEq2(a, b, c, x1, x2); switch (nSol) { // checks nSol here… } 10.} CuuDuongThanCong.com https://fb.com/tailieudientucntt ... 13 14 15 16 17 18 19 20 21.} if (delta == 0) { x1 = x2 = -b/(2*a); nSol = 1; } else { // delta > x1 = (-b – sqrt(delta))/(2*a); x2 = (-b + sqrt(delta))/(2*a); nSol = 2; } return nSol; CuuDuongThanCong.com... biệt: #define VODINH -1 CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa hàm SolveEq1() int SolveEq1(float a, float b, float &x) { int nSol = 0; if (a != 0) { x = -b/a; nSol = 1; }...Ví dụ 1: Hàm giải PT bậc • Viết chương trình giải phương trình bậc 1: