Phần 2:
LẬP TRÌNH
BẰNG NGÔN NGỮ C++
(...tiếp)
Bộ môn Kỹ thuật máy tính – Khoa CNTT
Tin học đại cương 2 1
Bài 3 Lệnh gán
Lệnh gán dùng để thiết lập giá trị cho một
biến
Dạng tổng quát:
Biến = GiáTrị;
hoặc:
Biến = BiểuThức;
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 2
Ví dụ 1:
int a, b;
float c, d;
a = 3;
b = 5;
c = 12.5;
d = c*c (a + b)/2;
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 3
Ví dụ 2:
Tính giá trị của hàm số sau (với x nhập từ
bàn phím):
y
x
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 4
Cách làm cũ:
#include <iostream>
#include <cmath>
using namespace std;
main()
{
double x;
cout << "Nhap x = ";
cin >> x;
cout << "Ham can bac 2 = " << sqrt(x);
Bộ môn K
} ỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 5
Cách mới – dùng lệnh gán:
#include <iostream>
#include <cmath>
using namespace std;
main()
{
double x, y;
cout << "Nhap x = ";
cin >> x;
y = sqrt(x);
cout << "Ham can bac hai = " << y;
} ỹ thuật máy tính – Khoa
Bộ môn K
CNTT
Tin học đại cương 2 6
Bài tập:
Tính giá trị các hàm sau đây, với x nhập từ bàn
phím (có sử dụng lệnh gán):
1. y
3x
2. y
4
2
5x 2
x
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 7
Bài 4 – Các lệnh điều kiện
(Còn được gọi là lệnh Lựa chọn hay lệnh Rẽ
nhánh)
1. Lệnh if
2. Lệnh switch
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 8
1. Lệnh if
Dẫn nhập:
Tính giá trị của hàm số sau (với x
nhập từ bàn phím):
y
x
Chú ý: Hàm trên chỉ xác định khi x ≥ 0
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 9
Cách viết lệnh:
Nếu x ≥ 0 thì y = sqrt(x);
Nếu x < 0 thì Hàm không xác định;
Viết bằng C++:
if (x >= 0) y = sqrt(x);
if (x < 0) cout << "Ham khong xac đinh";
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 10
Dạng tổng quát của lệnh if:
Dạng 1:
if (ĐiềuKiện) HànhĐộng;
Giải thích:
+ Nếu ĐiềuKiện mà đúng thì thực hiện
“HànhĐộng”.
+ HànhĐộng: là 1 hoặc một nhóm lệnh.
Nếu là nhóm lệnh thì phải đặt các lệnh trong
dấu ngoặc { ... }
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 11
Áp dụng Dạng 1:
#include <iostream>
#include <cmath>
using namespace std;
main()
{
double x, y;
cout << "Nhap x = "; cin >> x;
if (x >= 0)
{y = sqrt(x);
cout << "Ham can bac hai = " << y;}
if (x < 0) cout << "Ham khong xac đinh";
Bộ môn Kỹ thuật máy tính – Khoa
}
CNTT
Tin học đại cương 2 12
Các phép so sánh:
So sánh bằng: ==
Lớn hơn: >
Nhỏ hơn: <
Khác nhau: !=
Lớn hơn hoặc bằng: >=
Nhỏ hơn hoặc bằng: <=
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 13
Bài tập:
Tính giá trị của các hàm số sau (với x nhập từ bàn
phím):
1. y
2. y
1
x 2
1
( x 1) x 3
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 14
Chú ý:
Nếu có nhiều điều kiện cần thoả mãn đồng
thời thì chúng phải được nối với nhau bởi:
&&
Ví dụ: if ( (x !=1) && (x>3) ) ...
Nếu có nhiều điều kiện, nhưng chỉ cần
thoả mãn một trong số đó, thì chúng phải
được nối với nhau bởi: ||
Ví dụ: if ( (x ==1) || (x<=3) ) ...
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 15
Dạng tổng quát của lệnh if:
Dạng 2:
if (ĐiềuKiện) HànhĐộng1;
else HànhĐộng2;
Giải thích:
+ Nếu ĐiềuKiện mà đúng thì thực hiện
“HànhĐộng1”
+ Nếu ĐiềuKiện mà sai thì thực hiện
“HànhĐộng2”
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 16
Áp dụng dạng 2:
#include <iostream>
#include <cmath>
using namespace std;
main()
{
double x, y;
cout << "Nhap x = "; cin >> x;
if (x >= 0)
{y = sqrt(x);
cout << "Ham can bac hai = " << y;}
else cout << "Ham khong xac đinh";
Bộ môn Kỹ thuật máy tính – Khoa
}
CNTT
Tin học đại cương 2 17
Bài tập:
1. Giải phương trình bậc nhất ax + b = 0
(với a, b nhập từ bàn phím)
2. Giải phương trình bậc hai ax2 + bx + c = 0
(với a, b, c nhập từ bàn phím)
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 18
Bài tập ứng dụng:
Nhập điểm ba môn học Toán, Lý, Hoá từ
bàn phím. Tính điểm trung bình. In ra màn
hình kết quả học tập:
+ Nếu Điểm TB < 5: Loại yếu
+ Nếu 5 ≤ Điểm TB < 7: Loại trung bình
+ Nếu 7 ≤ Điểm TB < 8 : Loại Khá
+ Nếu Điểm TB ≥ 8: Loại Giỏi
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 19
2. Lệnh switch
Lệnh if đưa ra 2 khả năng lựa chọn (cho
phép rẽ 2 nhánh)
Lệnh switch cho phép rẽ nhiều nhánh hơn
lệnh if
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 20
Dạng tổng quát của lệnh switch:
switch (BiếnNguyên)
{
case SốNguyên1:
...
case SốNguyên2:
...
case SốNguyênN:
...
default:
...
Bộ môn Kỹ thu }ật máy tính – Khoa
CNTT
Tin học đại cương 2 21
Giải thích:
Lệnh switch so sánh BiếnNguyên với
SốNguyên1, SốNguyên2, ... ,SốNguyênN.
+ Nếu BiếnNguyên bằng với số nào thì lệnh
từ vị trí đó sẽ được thực hiện.
+ Nếu tất cả các số đó đều khác
BiếnNguyên thì lệnh tại vị trí default sẽ
được thực hiện.
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 22
Ví dụ 2:
Lập trình tính số ngày trong tháng.
(nhập Tháng từ bàn phím rồi hiện ra màn
hình số ngày của tháng đó)
Hướng dẫn:
+ Tháng 1, 3, 5, 7, 8, 10, 12 có 31 ngày
+ Tháng 4, 6, 9, 11 có 30 ngày
+ Tháng 2 có 28 hoặc 29 ngày
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 23
Dùng lệnh if:
#include <iostream>
using namespace std;
int main()
{
int t;
cout << "Nhap thang: "; cin >> t;
if ((t==1) || (t==3) || (t==5) || (t== 7) || (t ==8) || (t ==10) || (t ==12))
cout << "Thang co 31 ngay! ";
if ((t == 4) || (t == 6) || (t == 9) || (t == 11))
cout << "Thang co 30 ngay! ";
if (t == 2) cout << "Thang co 28 hoac 29 ngay! ";
return 0;
}
Bộ môn Kỹ thuật máy tính – Khoa
CNTT
Tin học đại cương 2 24
Dùng lệnh switch:
case 4:
#include <iostream>
case 6:
using namespace std;
case 9:
int main()
case 11:
{int t;
cout << "Nhap thang: "; cin >> t; cout << "Thang co 30 ngay! ";
break;
switch ( t )
case 2:
{case 1:
cout << "Co 28 hoac 29 ngay ";
case 3:
break;
case 5:
default:
case 7:
cout << "Du lieu khong hop le";
case 8:
}
case 10:
return 0;
case 12:
}
cout << "Thang co 31 ngay! ";
Bộ môn Kỹ thuật máy tính – Khoa
break;
CNTT
Tin học đại cương 2 25