Cấu trỳc rẽ nhỏnh cú điều kiện

Một phần của tài liệu Giáo trình lập trình windowns form với c net tập 1 TS lê trung hiếu, ths nguyễn thị minh thi (Trang 75 - 80)

2.4.3.1. Cấu trỳc if

if là cõu lệnh lựa chọn cho phộp chương trỡnh rẻ nhỏnh thực

hiện lệnh theo hai hướng khỏc nhau căn cứ trờn giỏ trị true, false của

biểu thức điều kiện kiểu logic.

Cỳ phỏp: Dạng 1: if (BiểuThứcĐiềuKiện) Lệnh; Dạng 2: if (BiểuThứcĐiềuKiện) Lệnh1; else Lệnh2;

 Biểu thức điều kiện (Conditional expression) cú kiểu logic bool.

 Lệnh (Statement) cú thể là lệnh đơn, khối lệnh, hay cấu trỳc

điều khiển

í nghĩa: Nếu biểu thức điều kiện thoả món (cú giỏ trị true) thỡ lệnh 1 thực hiện, ngược lại nếu biểu thức điều kiện khụng thoả món (cú giỏ trị false) thỡ khụng làm gỡ cả (với dạng 1) hay thực hiện lệnh 2

Sơ đồ khối: Dạng 1: Dạng 2: Vớ dụ: Giải phương trỡnh bậc 2 : ax2 + bx + c = 0 using System; class PTB2 {

static void Main(string[] args) {

Console.Write("Nhap he so a:");

string s=Console.ReadLine(); double a=double.Parse(s); Console.Write("Nhap he so b:");

s = Console.ReadLine(); double b=double.Parse(s); Console.Write("Nhap he so c:");

s = Console.ReadLine(); double c=double.Parse(s); if (a == 0)

Biểu thức điều kiện

Lệnh2

false true

Lệnh1

Biểu thức điều kiện

Lệnh

false

if (b == 0)

if (c == 0) s="co vo so nghiem"; else s = "vo nghiem";

else s = "co mot nghiem la "+(-c/b); else

{

double delta=b*b-4*a*c; if (delta<0) s = "vo nghiem"; else if (delta==0)

s = "co nghiem kep la "+(-b/(2*a)); else s= "co 2 nghiem

x1= " + ((-b+ Math.Sqrt(delta))/(2*a)) + " va x2= "+((- b-Math.Sqrt(delta))/(2*a)); } Console.WriteLine("Phuong trinh " + s); } } 2.4.3.2. Cấu trỳc switch

switch là cõu lệnh lựa chọn, cho phộp rẻ nhỏnh thực hiện lệnh

theo nhiều hướng khỏc nhau căn cứ trờn giỏ trị của một biểu thức.

Cỳ phỏp:

switch (BiểuThứcĐiềuKiện)

{ case Biểu thức 1: Lệnh 1; break; … case Biểu thức n: Lệnh n; break; default: Lệnh n + 1; break; }

 Biểu thức điều kiện (Conditional expression): Cú kiểu

nguyờn hay chuỗi

 Lệnh1,… Lệnh n+1: Cú thể là nhiều lệnh đơn, hay cấu trỳc

điều khiển

 Biểu thức 1,… Biểu thức n: Cỏc biểu thức hằng (toỏn hạng là cỏc giỏ trị hay hằng)

í nghĩa: Thực hiện lệnh 1, lệnh 2, … lệnh n khi biểu thức cú giỏ

trị bằng biểu thức 1, biểu thức 2, … biểu thức n tương ứng, nếu biểu

thức khụng bằng cỏc giỏ trị đú thỡ lệnh n+1 theo sau default được thực

hiện (nếu cú default). Cõu lệnh break làm cho chương trỡnh cú thể

thoỏt khỏi lệnh switch, nếu khụng cú break, C# sẽ thụng bỏo lỗi, nhưng đặc biệt C# cho phộp case rỗng.

Sơ đồ khối: . . case Biểu thức 1 case Biểu thức 2 Lệnh 1 Lệnh 2 Lệnh n case Biểu thức n break break break true true true false false false Lệnh n+1 break

Vớ dụ: Nhập thỏng, năm và in ra số ngày trong thỏng, biết rằng

thỏng 1, 3, 5, 7, 8, 10, 12: số ngày trong thỏng là 31, thỏng 4, 6, 9, 11: số ngày trong thỏng là 30, thỏng 2: năm nhuận: số ngày là 29, năm

khụng nhuận: số ngày là 28. Năm nhuận là năm chia hết cho 400, hay

năm chia hết cho 4 và khụng chia hết cho 100. using System;

class NumberDay {

static void Main(string[] args) {

int month = 7, year = 2004, numDays = 0; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10:

case 12: numDays = 31; break; case 4:

case 6: case 9:

case 11: numDays = 30; break;

case 2: if (year % 4==0 && year % 100 != 0 || year % 400==0) numDays = 29; else numDays = 28; break; } if (numDays >0)

Console.WriteLine("So ngay trong thang la {0}", numDays);

else Console.WriteLine("Thang khong hop le"); }

Một phần của tài liệu Giáo trình lập trình windowns form với c net tập 1 TS lê trung hiếu, ths nguyễn thị minh thi (Trang 75 - 80)