ầ  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