Tải bản đầy đủ (.ppt) (20 trang)

Bài giảng Cơ sở lập trình Csharp: Bài 3 - Cấu trúc chọn lựa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (750.38 KB, 20 trang )

CẤU TRÚC CHỌN
LỰA

05/20/21


Cấu trúc chọn lựa
 Cú pháp

Dạng 1 :
if (điều kiện) <lệnh> ;
Dạng 2 :
if (điều kiện)
< lệnh 1> ;
else
< lệnh 2 > ;

05/20/21


Cấu trúc chọn lựa (tt)
 Lưu ý

-Từ khóa if và else phải viết ở dạng chữ
thường
(thường hay mắc sai sót khi viết IF, iF, If,
Else, ELSE,...)
- Dấu chấm phẩy phải có để kết thúc 1
phát biểu lệnh
Thường hay mắc lỗi!!!


05/20/21


Cấu trúc chọn lựa (tt)
using System;
class Test
{
static public void Main(String[] s)
{
int a=0, b=1,c=2;
If (a==b)
Console.WriteLine(a+b+c);
}
}

05/20/21


Cấu trúc chọn lựa (tt)
using System;
class Test
{
static public void Main(String[] s)
{
int a=0, b=1,c=2;
if (a==b)
Console.WriteLine(a+b+c) ///////
}
}


05/20/21


Cấu trúc chọn lựa (tt)
 Lưu ý:

Toàn bộ điều kiện phải đặt trong cặp dấu
ngoặc trịn
Ví dụ
if (a>=b) Console.WriteLine(a);
if ( ( a+ b < c ) && ( a>=10 ) ) ……..
Thường hay mắc lỗi!!!
05/20/21


Cấu trúc chọn lựa (tt)
using System;
class Test {
static public void Main(String[] s)
{ int a=0, b=1;
if a>b a=a+b;
}}

05/20/21


Cấu trúc chọn lựa (tt)
using System;
class Test {
static public void Main(String[] s)

{
int a=0, b=1,c=2;
if (a>b) && (a>c) Console.WriteLine(a+b+c);
}}

05/20/21


Cấu trúc chọn lựa (tt)
 Lưu ý

Trong C# (và cả C, C++, Java ) thì phép
tốn so sánh bằng nhau là ==
Ví dụ
if ( a = b ) a += 2* b ;
Trong C,C++ : hiệu ứng phụ
Trong Java, C# : thông báo lỗi
Thường hay mắc lỗi!!!
05/20/21


Cấu trúc chọn lựa (tt)
using System;
class Test {
static public void Main(String[] s)
{
int a=0, b=1,c=2;
if (a=b)
Console.WriteLine(a+b+c);
}}


05/20/21


Cấu trúc chọn lựa (tt)
 Lưu ý

Tương tự như Pascal, C/C++,Java : nếu
có hơn 1 lệnh cần thực hiện → sử
dụng cặp dấu { và }
Ví dụ
if (a > b )
{
c = a+ (b++);
Console.WriteLine( c ) ;
}
05/20/21


Cấu trúc chọn lựa (tt)
Ví dụ
if (a ==0 )
{
if (b==0) Console.WriteLine(“VSN”);
else Console.WriteLine(“VN”);
}
else
{
c=-b/a;
Console.WriteLine( c ) ;

}

05/20/21


Cấu trúc chọn lựa (tt)
if (a ==0)
if (b == 0)
if (c ==0)
Console.WriteLine(“VSN”);
else Console.WriteLine(“VN”);
else Console.WriteLine(“ x = {0} “, -c/b);
else
{
delta = b*b - 4*a*c;
if (delta<0) Console.WriteLine(“VN”);
if (delta == 0) Console.WriteLine(“x1=x2=” + (-b/2/a) ) ;
if (delta > 0 ) {
x1 = (-b + Math.Sqrt(delta) ) / 2 / a ;
x2 = (-b - Math.Sqrt(delta) ) / 2 / a ;
Console.WriteLine(“ x1 = {0 } , x2 = {1} “, x1,x2);
}
}

05/20/21


Cấu trúc chọn lựa (tt)
 Ví dụ các cấu trúc if .. else lồng nhau
 Một số cách sử dụng phương thức Console.WriteLine


Phối hợp trong 1 biểu thức dạng chuỗi
Sử dụng tham số
 Sử dụng các hàm toán học với lớp Math (tra cứu trong System)

05/20/21


Cấu trúc chọn lựa (tt)
Cú pháp
switch (biểu thức)
{
case <giá trị 1> : lệnh ;
break;
case <giá trị 2> : lệnh ;
break;
…...
default : lệnh ;
break;
}

05/20/21


Cấu trúc chọn lựa (tt)
 Các từ khóa switch, case, default, break phải viết ở dạng chữ
thường
 Ý nghĩa của default cũng tương tự như ý nghĩa else trong cấu
trúc Case của ngơn ngữ Pascal
 Với các giá trị có câu lệnh cần thực hiện → kết thúc bằng phát

biểu break
 Không cần cặp dấu { và }

05/20/21


Cấu trúc chọn lựa (tt)
switch (a%10)
{
case 1 : b = a>10 ? a+1 : a-1;
break;
case 2 :
case 3 :
case 4 : b= a + b;
c=a-b;
if ((a + b ) > 20 ) {
c++;
a = a + 2;
}
break;
default : Console.WriteLine(a+b-c);
break;
}

05/20/21

- Liệt kê giá trị
- Không cần dấu { và }
- Cơ chế fall through



Cấu trúc chọn lựa (tt)
 Lưu ý

Trong Pascal
<giá trị 1>, <giá trị 2> ,…, <giá trị N> :
Trong C#
case <giá trị 1> :
case <giá trị 2> :
………………
case <giá trị N> :

05/20/21


Cấu trúc chọn lựa (tt)
case 4 : b= a + b;
c=a-b;
if ((a + b ) > 20 ) {
c++;
a = a + 2;
}
// break;
default : Console.WriteLine(a+b-c);
break;

Thường mắc sai sót nhưng sẽ có thơng báo lỗi!!!!
05/20/21



Cấu trúc chọn lựa (tt)
 Lưu ý : Cho phép sử dụng kiểu chuỗi (String) trong switch
(ngoài các kiểu liệt kê, nguyên, ký tự, bool( Điễm mạnh!!!)
using System;
class Test
{
public static void Main()
{
String s = Console.ReadLine();
switch (s)
{
case "Thu Hai" : Console.WriteLine("Monday"); break;
case "Thu Ba" : Console.WriteLine("Tuesday"); break;
}
}
}

05/20/21



×