ầ
Ph n 2:
Ậ L P TRÌNH
Ằ Ữ
ậ
ộ
ỹ
ạ ươ
B môn K thu t máy tính – Khoa CNTT
ọ
Tin h c đ i c
ng 2
1
B NG NGÔN NG C++
(...ti p)ế
ệ
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:ặ
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
2
ộ
B môn K thu t máy tính – Khoa
CNTT
ứ ế ể Bi n = Bi uTh c;
Ví d 1ụ :
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
3
ộ
B môn K thu t máy tính – Khoa
CNTT
int a, b;
float c, d;
a = 3;
b = 5;
c = 12.5;
d = c*c (a + b)/2;
Ví d 2:ụ
ị ủ ố ớ Tính giá tr c a hàm s sau (v i x nh p t ậ ừ
bàn phím):
y (cid:0)
x
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
4
ộ
B môn K thu t máy tính – Khoa
CNTT
Cách làm cũ:
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
5
#include
#include
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
ệ
ớ
Cách m i – dùng l nh gán:
ậ
ỹ
#include
#include
using namespace std;
main()
{
double x, y;
cout << "Nhap x = ";
cin >> x;
y = sqrt(x);
cout << "Ham can bac hai = " << y;
}
ạ ươ
ọ
Tin h c đ i c
ng 2
6
ộ
B môn K thu t máy tính – Khoa
CNTT
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):
2
(cid:0) (cid:0) (cid:0)
x
y
x
5
2
.1
3
4
(cid:0)
y
x
.2
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
7
ộ
B môn K thu t máy tính – Khoa
CNTT
ượ ọ
ự
c g i là l nh
ệ
ệ
ề
Bài 4 – Các l nh đi u ki n
ọ hay l nh ệ R ẽ
ệ
(Còn đ
L a ch n
nhánh)
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
8
ộ
B môn K thu t máy tính – Khoa
CNTT
1. L nh ệ
2. L nh ệ if
switch
ệ
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 (cid:0)
x
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
9
ộ
B môn K thu t máy tính – Khoa
CNTT
ỉ ị Chú ý: Hàm trên ch xác đ nh khi x ≥ 0
ế ệ
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);
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
10
ộ
B môn K thu t máy tính – Khoa
CNTT
if (x < 0) cout << "Ham khong xac đinh";
ủ ệ
D ng t ng quát c a l nh if:
ạ
ổ
ạ
D ng 1:
ề
if (Đi uKi n ệ ) HànhĐ ngộ ;
ả Gi :
ự ệ ệ mà đúng thì th c hi n
i thích
ề
+ N u ế Đi uKi 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
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
11
ộ
B môn K thu t máy tính – Khoa
CNTT
ế
ấ
d u ngo c ệ
ặ { ... }
ạ
ụ
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
12
Áp d ng D ng 1:
#include
#include
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
Các phép so sánh:
==
ớ
ớ
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
13
ộ
B môn K thu t máy tính – Khoa
CNTT
ặ ằ
ặ ằ ằ
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à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
(cid:0)
y
.1
(cid:0)
x
2
(cid:0)
y
.2
(cid:0) (cid:0)
x
x
1
)1
(
3
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
14
ộ
B môn K thu t máy tính – Khoa
CNTT
Chú ý:
ề
ệ ầ
ề
ả ượ ố ớ ồ
ả
ở
c n i v i nhau b i:
ế
N u có nhi u đi u ki n c n tho mãn đ ng
ờ
th i thì chúng ph i đ
&&
ụ
Ví d : if ( (x !=1) && (x>3) ) ...
ề ư ỉ ầ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
15
ề
ộ
ượ ố ớ
ệ
ế
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:
đ
ụ
if ( (x ==1) || (x<=3) ) ...
Ví d :
ậ
ộ
B môn K thu t máy tính – Khoa
CNTT
ủ ệ
ạ
D ng t ng quát c a l nh if:
ạ
ổ
D ng 2:
;
ệ ) HànhĐ ng1ộ
ả Gi ề
if (Đi uKi n
ộ
else HànhĐ ng2;
:
ự ệ ệ mà đúng thì th c hi n
ự ệ ệ mà sai thì th c hi n
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
16
ộ
B môn K thu t máy tính – Khoa
CNTT
i thích
ề
+ N u ế Đi uKi n
ộ
“HànhĐ ng1”
ề
+ N u ế Đi uKi n
ộ
“HànhĐ ng2”
ạ
ụ
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
17
Áp d ng d ng 2:
#include
#include
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
Bài t p:ậ
ả ươ ấ ng trình b c nh t ax + b = 0
ậ ừ 1. Gi
i ph
ớ
(v i a, b nh p t ậ
bàn phím)
2 + bx + c = 0
2. Gi
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
18
ộ
B môn K thu t máy tính – Khoa
CNTT
ả
i ph
ớ ậ ừ ươ
(v i a, b, c nh p t ậ
ng trình b c hai ax
bàn phím)
ậ ứ
ụ
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:
ạ ế
< 5: Lo i y u
< 7: Lo i tạ rung bình
< 8 : Lo i ạ Khá
ậ
ạ ươ
ọ
Tin h c đ i c
ng 2
19
ể
ể
≤ Đi m TB
ể
≤ Đi m TB
ể ạ ỏ ≥ 8: Lo i Gi i
ế
ế
+ N u Đi m TB
ế
+ N u 5
ế
+ N u 7
ế
+ N u Đi m TB
ộ
ỹ
B môn K thu t máy tính – Khoa
CNTT
ệ
2. L nh switch
ư ự ả ọ
L nh ệ
if đ a ra 2 kh năng l a ch n (cho
ẽ
phép r 2 nhánh)
ề ơ ẽ
switch cho phép r nhi u nhánh h n
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
20
ộ
B môn K thu t máy tính – Khoa
CNTT
L nh ệ
l nh ệ
if
ổ
ạ
D ng t ng quát c a l nh switch:
ế
:
:
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
21
ủ ệ
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
ả
Gi
i thích:
switch so sánh Bi nNguyên v i ớ
ố ố L nh ệ
ố
S Nguyên1 ế
, ... ,S NguyênN.
, S Nguyên2
ệ
ớ ố
ằ
b ng v i s nào thì l nh
ệ
ự
c th c hi n.
ề
t c các s đó đ u khác
ạ ị
i v trí default s ẽ
ạ ươ
ọ
Tin h c đ i c
ng 2
22
ế
+ N u ế Bi nNguyên
ẽ ượ
ừ ị
t
v trí đó s đ
ố
ế ấ ả
+ N u t
ệ
ế
Bi nNguyên
thì l nh t
ệ
ượ
đ
ự
c th c hi n.
ậ
ỹ
ộ
B môn K thu t máy tính – Khoa
CNTT
ậ
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 đó)
ướ
ố
ẫ
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
23
ộ
B môn K thu t máy tính – Khoa
CNTT
ặ 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
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
24
ệ
Dùng l nh if:
#include
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
25
Dùng l nh switch:
case 4:
#include
case 6:
using namespace std;
case 9:
int main()
case 11:
{int t;
cout << "Thang co 30 ngay! ";
cout << "Nhap thang: "; cin >> t;
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
ả
Gi
i thích:
ỏ ệ ụ break có tác d ng thoát kh i l nh
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
26
ộ
B môn K thu t máy tính – Khoa
CNTT
L nh ệ
switch
ậ ứ
ụ
Bài t p ng d ng:
ị
ứ ọ ổ
Tr
ừ
ừ
ừ
+ H c b ng 100%: SV có đi m TB t
+ H c b ng 120%: SV có đi m TB t
+ H c b ng 140%: SV có đi m TB t
ng ĐHTL quy đ nh có 3 m c h c b ng:
ế
ể
7.00 đ n 7.99
ế
ể
8.00 đ n 8.99
ế
ể
9.00 đ n 10
ộ
ủ
t hàm tính h c b ng c a sinh viên trong m t
ể
ớ
ộ ỳ
s h c phí trong m t k là 850000)
ế ể
ậ ừ
ả ử ọ
ừ
ng v i đi m trung bình nh p t
ọ ổ
t đ tính h c b ng cho SV,
bàn phím
ườ
ọ ổ
ọ ổ
ọ ổ
ọ ổ
ế
Vi
ủ
ố
ọ
h c kì, v i tham s là d (d: đi m TB c a SV)
ứ ọ ổ
HB(d) = M cH cB ng * 850000
(Gi
ụ
ớ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
27
Áp d ng hàm v a vi
ể
ứ
ậ
ộ
B môn K thu t máy tính – Khoa
CNTT
ươ
ng trình:
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
28
ộ
N i dung ch
#include
using namespace std;
double HB(double d)
{ if ( (d>=7) && (d<8) ) return 850000;
if ( (d>=8) && (d<9) ) return 1.2 * 850000;
if ( (d>=9) && (d<=10) ) return 1.4 * 850000;
if ( (d <7) || (d >10) ) return 0;
}
main()
{
double diem;
cout << "Nhap diem trung binh = "; cin >> diem;
cout << "Hoc bong = " << HB(diem);
ộ
B môn K thu t máy tính – Khoa
}
CNTT
EOL
ậ
ỹ
ạ ươ
ọ
Tin h c đ i c
ng 2
29
ộ
B môn K thu t máy tính – Khoa
CNTT