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

Bài giảng Lập trình cơ sở: Bài 3 - ThS. Võ Hà Quang Định

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 (1.56 MB, 45 trang )

BUỔI 3 :
CÁC CẤU TRÚC
ĐIỀU KHIỂN CỦA C#


Các cấu trúc
điều khiển
trong C#
05/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/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/08/21


Cấu trúc lặp
Nhất quán : Đúng thì lặp, Sai thì thốt
Dạng for
for (<bthức khởi động>;<bthức điểu kiện >;lặp> ) <lệnh>;
Mơ tả
B1 : Thi hành biểu thức khởi động
B2 : Nếu biểu thức điều kiện Sai thì sang B6
B3 : Thi hành lệnh
B4 : Thi hành biểu thức lặp
B5 : Quay về B2

B6 : Thốt vịng lặp
05/08/21


Cấu trúc lặp
5

Thể hiện sơ đồ :
2
1

for (<btkđ>;<btđk >;<btlặp> )
<lệnh>;


4
6 (S)

05/08/21

3 (Đ)


Cấu trúc lặp
Lưu ý:

for : chữ thường
Các thành phần cách nhau bằng ;
Có thể bỏ bớt bất kỳ thành phần
nào


Ví dụ : Tính tổng N số ngun
đầu tiên
Chương trình ViDu1_11.cs
05/08/21


Cấu trúc lặp
int S= 0;
for (int i=1; i<= N; i ++)

S = S+ i ;
+Khơng có biểu thức khởi động
int S= 0 , i=1 ;
for ( ; i<= N; i ++)

S = S+ i ;
05/08/21


×