งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p"— ใบสำเนางานนำเสนอ:

1 บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p.2-26) ตอนที่ 2 Standard Windows Forms Controls (27-74)

2 คำสั่งเงื่อนไขและการตัดสินใจ
ในการทำงานของโปรแกรมทั่วๆไปจะมีการทำงาน3 ประเภทหลัก การทำงานเป็นลำดับ (sequence) ก่อนและหลัง การตัดสินใจ(decision) มีเงื่อนไขให้ตรวจสอบการทำงาน การทำงานที่ต้องทำซ้ำ ๆ หลายครั้งหรือการวนลูป(loop)

3 คำสั่งเงื่อนไขและการตัดสินใจ
คำสั่งที่ใช้ในการตัดสินใจเลือก ถือเป็นคำสั่งควบคุมชนิดหนึ่ง ภาษาโปรแกรมโดยทั่วไปจะมี 2 คำสั่ง คือ if – statement case หรือ switch

4 คำสั่ง IF if เป็นการเปรียบเทียบเงื่อนไขว่าตรงตามที่เราต้องการหรือไม่ หากตรงก็จะทำตามคำสั่งที่กำหนด แต่หากไม่ตรงก็จะข้ามคำสั่งส่วนนั้นไป กรณี การเขียนเงื่อนไขเดียว และกระทำกรณีเป็นจริง รูปแบบคำสั่ง ตรวจสอบเงื่อนไข ถ้าเป็นจริงจะทำงานตาม statement if ( condition ) { statement (s) }

5 ตัวอย่าง การเขียนเงื่อนไขเดียว
if (x==y) { Console.Write("x equals to y"); } if ((x>0)&& (y<>0)) Z=x/y;

6 คำสั่ง IF หากหลัง if มีเพียง statement เดียวไม่จำเป็นต้องเขียน {} ครอบคำสั่งก็ได้เช่น if (x<0) str strText = "It’s Negative“; if (x>=0) str strText = "It’s Positive” ;

7 if-else statement if (expression ที่ทดสอบเงื่อนไข) {
// ชุดคำสั่งเมื่อเงื่อนไขเป็นจริง } else // ชุดคำสั่งเมื่อเงื่อนไขเป็นเท็จ

8 การใช้ if-else แบบซ้อนกัน
if (expression ที่ทดสอบเงื่อนไขที่ 1) { If (expression ที่ทดสอบเงื่อนไขที่ 2) (ชุดคำสั่งเมื่อเงื่อนไขที่ 2 เป็นจริง) } else (ชุดคำสั่งเมื่อเงื่อนไขที่ 2 เป็นเท็จ) (expression ที่ทดสอบเงื่อนไขที่ 1)

9 else if & Nested if statement
if (condition1) { } else if (condition2) { else { ตัวอย่าง char Result; if (Score > 80) Result = ‘A’; else if (Score > 50) Result = ‘B’; else Result = ‘F’;

10 else if & Nested if statement
if (condition1) { if (condition2) { if (condition3) { } x=10; y=20 if (x>5) { if (y>30) z=x*y; } else z=x+y;

11 โปรแกรมสำหรับคำนวณเกรด
if (score >= 90) { grade = 'A'; } else if (score >= 80) grade = 'B'; else if (score >= 70) grade = 'C'; else if (score >= 60) grade = 'D'; else grade = 'F';

12 คำสั่ง switch..case ใช้ในการตัดสินใจเลือกมากกว่า 2 ทางเลือก
จะทำการตรวจสอบเงื่อนไขในการเลือกก่อนว่าจะตรงกับตัวเลือกใด แล้วจึงทำงานตามคำสั่งที่ต่อท้ายตัวเลือกนั้น

13 คำสั่ง switch..case switch (variable)
statement1; // ทำงานตามเงื่อนไขแรก case ค่าที่2 ของตัวแปร: // เงื่อนไขที่สอง statement2; // ทำงานตามเงื่อนไขที่สอง case สุดท้าย: // เงื่อนไขที่สอง statement; // ทำงานตามเงื่อนไขสุดท้าย default : statementN; // เมื่อไม่ตรงกับเงื่อนไขใดๆ เลย }

14 ภาพแสดงลักษณะการตรวจสอบเงื่อนไข ของ switch-case

15 switch statement switch (expression) { case value1 : // เงื่อนไขแรก
string str, color; Console.Write("Enter day of week:"); str = Console.ReadLine(); switch (str) { case "Sunday" : color = "red"; break; case “monday" : case "Monday" : color="yellow"; ... default : color="invalid"; } //แสดงผลบน lblResult string str, color; Console.Write("Enter day of week:"); str = Console.ReadLine(); switch (str) { case "Sunday" : color = "red"; break; case "Monday" : color="yellow"; ... default : color="invalid"; } Console.WriteLine("color of " + str.ToUpper() + " is " + color.ToUpper()); Console.Read (); switch (expression) { case value1 : // เงื่อนไขแรก statement1; // คำสั่ง break; case value2 : statement2; case valueN : statementN; default : statement; } expression: ตัวเลข or string

16 switch statement class DateDemo { public static void Main () char d;
Console.Write(“ Input number date 1 – 7 : “); d = (char) Console.Read(); Console.Write(“ Input value : “ + d+” = Date of week = “); Switch (d) { case ‘1’ : Console.WriteLine(“Sunday.”); break; case ‘2’ : Console.WriteLine(“Monday.”); case ‘3’ : Console.WriteLine(“Tuesday.”); case ‘4’ : Console.WriteLine(“Wednesday.”); case ‘5’ : Console.WriteLine(“Thursday.”); case ‘6’ : Console.WriteLine(“Friday.”); case ‘7’ : Console.WriteLine(“Saturday.”); default : Console.WriteLine(“Invalid number”); } }}

17 ข้อควรระวังในการใช้ switch คือ
ค่าของตัวแปรหรือนิพจน์ต้องเป็นเลขจำนวนเต็มหรือ char, byte เท่านั้น ไม่สามารถใช้แบบเป็นช่วง ชนิดข้อมูลของตัวแปร จะต้องเป็นประเภทเดียวกับค่าข้อมูลที่กำหนดหลัง case คำสั่ง switch จะประกอบด้วยคำสั่ง break หลังการทำงาน เพื่อควบคุมการทำงานของโปรแกรม ให้ทำงานเฉพาะกรณีผลการตรวจสอบเป็นจริง เพื่อลดเวลาในการประมวลผล แต่สามารถไม่ใส่คำสั่งนี้ได้ หากต้องการให้ทำงานต่อเนื่องทุก case

18 ในทางปฏิบัติจะเห็นว่าคำสั่ง switch และคำสั่ง if ให้ผลการทำงานเกือบเหมือนกัน
ผู้ใช้สามารถเลือกเขียนด้วยชุดคำสั่งใดก็ได้ โดยทั่วไปคำสั่ง if จะครอบคลุมเงื่อนไขในการทดสอบได้มากกว่า เช่นสามารถทดสอบเป็นช่วงได้ สามารถทดสอบจำนวนจริงได้ แต่คำสั่ง switch จะช่วยให้โปรแกรมดูง่ายและสะดวกในการเขียนหรือแก้ไขโปรแกรม

19 Iteration Statement

20 for statement รูปแบบคำสั่ง
เป็นการทำงานซ้ำตามจำนวนครั้งที่กำหนด โดยเริ่มจากค่าแรกไปจนถึงค่าสุดท้าย รูปแบบคำสั่ง for (counter = first value; counter condition; adjust counter value) { } เช่น for (i=0;i<=10;i++) { … หมายถึง ให้วนลูปเริ่มตั้งแต่ค่า i=0 ไปเรื่อยๆ ตราบใดที่ค่า i ยังไม่เกิน 10 และให้เพิ่มค่า i ทีละ 1

21 Nest for…Loop สามารถใช้การวนลูปซ้อนกันกี่ชั้นก็ได้ for (…) { }}}

22 ตัวอย่าง for statement (2)
int num; string s; Console.Write ("Please Enter number : "); s=Console.ReadLine( ); num=int.Parse(s); for (int i=1; i<=num; i++){ for (int j=1;j<=i;j++){ Console.Write(j+" "); } // end for j Console.WriteLine(" "); } // end for i Console.Read( );

23 While ในการใช้งาน for Loop จำเป็นต้องระบุค่าเริ่มต้นและค่าสุดท้ายของลูป แต่ในกรณีที่ไม่ทราบค่าดังกล่าว แต่ทราบเงื่อนไขบางอย่าง สามารถใช้ลูป while แทนได้

24 while statement โครงสร้างของลูป while
while (condition) { ….statement…. } ตัวอย่าง int Result = 0; int i = 0; while (i < 2) { i += 1; Result += i; } // end while Console.Write (Result + " " + i); // Result=____ i=____

25 do-while statement do { … } while (condition); while (condition) { … }
ตัวอย่าง int Result = 0; int i = 0; do { i += 1; Result += i; } while (i < 2); Console.Write (Result + " " + i); // Result=____ i=____ while (condition) { }

26 แบบฝึกหัด for & while statement (4)
พี่มอสมีแฟนคลับ 2,857 คน โดยแต่ละปีจะมีแฟนคลับเพิ่มขึ้นปีละ 8% จงเขียนโปรแกรมคำนวณว่าจะใช้เวลากี่ปี พี่มอสจึงจะมีแฟนคลับมากกว่า 5,000 คน

27 องค์ประกอบของ IDE ใน c#.net

28

29 เมื่อเราเพิ่ม control(object)

30 สังเกตุฟังก์ชั่น

31 การสร้าง Event-Driven Programming
แนวคิดของการเขียนโปรแกรม คือต้องสามารถตอบสนองต่อเหตุการณ์(Event-handling) ที่เกิดขึ้น เช่น การคลิก(Click) การดับเบิ้ลคลิก(DoubleClick) การกดแป้นพิมพ์(KeyDown, KeyPress, KeyUp) การเคลื่อนที่ของเมาส์(MouseMove, MouseUp, MouseDown) และเหตุการณ์อื่นๆ

32 รูปแบบของ Event-Driven Programming
private void ObjName_Event(object sender, EventArgs e) { . . . } ObjName : ชื่อของวัตถุที่เราต้องการควบคุมเหตุการณ์ Event : เหตุการณ์ที่เกิดขึ้นกับวัตถุ sender: ตัวแปรที่ส่งไปแทนวัตถุที่เกิดเหตุการณ์ขึ้น e: ตัวแปรที่ส่งไปแทนเหตุที่เกิดขึ้นกับวัตถุ private void textBox1_TextChanged(object sender, EventArgs e) { }

33 Form อยู่ภายใต้ namespace : System.Windows.Forms.Form
ใช้เป็น container สำหรับนำ controls อื่นๆ มาวาง เพื่อสร้าง GUI (Graphic User Interface)

34 Form Properties Text Font Opacity TopMost AcceptButton CancelButton
AutoScroll Icon BackColor Enabled WindowState StartPosition Location Size MaximumSize MinimumSize

35 Form Events Activated and Deactivate Load Closing Closed Resize Move
etc.

36 Form Event : Closing() private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if(MessageBox.Show(“Close Application?", "Closing Event", MessageBoxButtons.YesNo) == DialogResult.Yes) this.Dispose(); // ปิด form ตัวเอง // Application.Exit(); // จบการทำงานของ application } else // Cancel the Closing event from closing the form. e.Cancel = true;

37 การกำหนด Control Tab Order
เลือก View menu -> Tab Order กำหนดลำดับ tab ให้กับ control ต่างๆ เลือก View menu -> Tab Order อีกครั้ง

38 Windows Forms Inheritance
เลือก Add -> Add Inherited Form… กำหนดชื่อ form ใหม่ เลือก form ต้นแบบ การปรับปรุงที่ form ต้นแบบ ส่งผลถึง form ใหม่ที่ inherit มา

39 TextBox อยู่ภายใต้ namespace : System.Windows.Forms.TextBox
สำหรับแสดงผลข้อความ หรือรับข้อความจากคีย์บอร์ด ขณะรันโปรแกรม

40 TextBox Properties Text TextAlign Visible Font BackColor ForeColor
MultiLine ScrollBar BorderStyle Enable ReadOnly PasswordChar MaxLength Anchor AutoSize SelectionStart SelectionLength TextLength

41 TextBox Method Focus () กำหนด cursor ให้อยู่ที่ TextBox
SelectAll () เลือกข้อความทั้งหมดภายใน TextBox Clear () ลบข้อความใน TextBox Hide () ซ่อน TextBox Show () แสดง TextBox

42 TextBox Events TextChanged KeyPress etc.
เกิดขึ้นเมื่อผู้ใช้กดตัวอักษรบนคีย์บอร์ด etc.

43 การจัดการข้อความผ่าน TextBox
textBox1.Text = "ข้อความ"; string str = textBox1.Text;

44 การ coding เพื่อกำหนด Properties
void myMethod() { textBox1.Text = "123"; textBox1.BackColor = Color.Red; textBox1.Font=new Font("Tahoma",16,FontStyle.Bold); }

45 Label อยู่ภายใต้ namespace : System.Windows.Forms.Label
สำหรับแสดงข้อความ คล้าย TextBox แต่ผู้ใช้ไม่สามารถแก้ไข หรือคัดลอกข้อความได้ (read only)

46 Button อยู่ภายใต้ namespace : System.Windows.Forms.Button
เป็น control พื้นฐานที่มีใช้งาน สำหรับกดเพื่อทำงานบางอย่าง

47 Button Properties Text ข้อความที่แสดงบน Button
Image รูปภาพที่แสดงบน Button Anchor กำหนดตำแหน่ง Button ตรึงบน Form

48 Button Events Click MouseHover เกิดขึ้นเมื่อ click ที่ปุ่ม
เกิดขึ้นเมื่อนำเมาส์มาวางเหนือปุ่ม

49 แบบฝึกหัด (1) จงเขียนโปรแกรมสำหรับคำนวณเกรด โดยรับคะแนนจากผู้ใช้ โดยกำหนดว่า Grade Score A 81 – 100 B 70 – 80 C 60 – 69 D 50 – 59 F 0 – 49

50 แบบฝึกหัด (2) จงเขียนโปรแกรมสำหรับสร้างเครื่องคิดเลข ให้สามารถ +, -, *, / ได้ โดยรับค่าจากผู้ใช้ และแสดงค่าผ่าน textBox

51 GroupBox & Panel GroupBox Panel อยู่ภายใต้ namespace : System.Windows.Forms.GroupBox และ System.Windows.Forms.Panel ตามลำดับ สำหรับรวม control ต่างๆ เข้าไว้ด้วยกัน

52 RadioButton อยู่ภายใต้ namespace : System.Windows.Forms.RadioButton
สำหรับเลือกรายการที่มีอยู่ โดยเลือกได้เพียง 1 รายการในแต่ละกลุ่มเท่านั้น (สามารถนำ GroupBox มาช่วย เพื่อทำให้มีหลายกลุ่ม)

53 RadioButton Properties
Text ข้อความที่แสดงบน RadioButton Checked บ่งบอกสถานะ (true = คอนโทรลถูกเลือก) Appearance (Normal or Button) CheckAlign กำหนดตำแหน่งของ radiobutton

54 ตรวจสอบการเลือก RadioButton
private void button1_Click(object sender, System.EventArgs e) { if (radioButton1.Checked == true) textBox1.Text=radioButton1.Text; else if (radioButton2.Checked == true) textBox1.Text=radioButton2.Text; }

55 RadioButton Event : CheckChanged
private void radioButton1_CheckedChanged (object sender, System.EventArgs e) { if (radioButton1.Checked == true) textBox1.Text=radioButton1.Text; } private void radioButton2_CheckedChanged (object sender, System.EventArgs e) if (radioButton2.Checked == true) textBox1.Text=radioButton2.Text;

56 แบบฝึกหัด Radiobutton (1)
จงเขียนโปรแกรมเพื่อคำนวณค่าผ่านประตู ตามเงื่อนไขดังตาราง

57 CheckBox อยู่ภายใต้ namespace : System.Windows.Forms.CheckBox
สำหรับเลือกรายการที่มีอยู่ โดยสามารถเลือกได้หลาย รายการ

58 CheckBox Properties Text Checked ThreeState CheckState
ข้อความที่แสดงบน RadioButton Checked บ่งบอกสถานะ (true = คอนโทรลถูกเลือก) ThreeState กำหนดการแสดงสถานะของการเลือกรายการ (ถ้ากำหนดเป็น true มี 3 สถานะ : สีเข้ม สีเทา สีขาว) CheckState เป็นการตรวจสอบสถานะเมื่อกำหนด ThreeState=true โดยคืนค่า : Checked, Unchecked, Indeterminate

59 ตรวจสอบการเลือก CheckBox
private void button1_Click(object sender, System.EventArgs e) { if (checkBox1.Checked == true) textBox1.Text += checkBox1.Text; if (checkBox2.Checked == true) textBox1.Text += checkBox2.Text; }

60 CheckBox Event : CheckChanged
private void checkBox1_CheckedChanged (object sender, System.EventArgs e) { if (checkBox1.Checked == true) textBox1.Text += checkBox1.Text; } private void checkBox2_CheckedChanged (object sender, System.EventArgs e) if (checkBox2.Checked == true) textBox1.Text += checkBox2.Text;

61 ListBox อยู่ภายใต้ namespace : System.Windows.Forms.ListBox
สำหรับจัดเก็บรายการ สามารถเลือกรายการพร้อมกันได้มากกว่า 1 รายการ

62 ListBox Properties Items บรรจุรายการลง ListBox
MultiColumn กำหนดความสามารถให้ ListBox แสดงรายการได้มากกว่า 1 column SelectionMode กำหนดจำนวนรายการที่เลือกได้ None, One, MultiSimple and MultiExtended SelectedItem แสดงข้อความที่เลือก (1 รายการ) SelectedItems แสดงข้อความที่เลือก (>1 รายการ) SelectedIndex แสดง index ของรายการที่เลือก (1 index) SelectedIndices แสดง index ของรายการที่เลือก (>1 index) Sorted เรียงลำดับรายการใน ListBox

63 การแสดงข้อความรายการที่เลือก
SelectedItem SelectedItems label1.Text=listBox1.SelectedItem.ToString(); for( int i = 0; i< listBox1.SelectedItems.Count;i++) { MessageBox.Show (listBox1.SelectedItems[i].ToString()) ; }

64 การแสดง index ของรายการที่เลือก
SelectedItem SelectedItems label1.Text=listBox1.SelectedIndex.ToString(); for( int i = 0; i< listBox1. SelectedIndices.Count;i++) { MessageBox.Show (listBox1.SelectedIndices[i].ToString()); }

65 ListBox Methods Items.Add() เพิ่มรายการเข้า ListBox
Items.Insert() แทรกรายการเข้า ListBox Items.Remove() ลบรายการที่ระบุออกจาก ListBox Items.RemoveAt() ลบรายการที่เลือกออกจาก ListBox Items.Clear() ลบรายการทั้งหมดออกจาก ListBox Items.Count() นับจำนวนรายการใน ListBox

66 ListBox Methods : เพิ่มรายการ
Items.Add() Items.Insert() listBox1.Items.Add("ข้อความ"); listBox1.Items.Insert(indexที่ต้องการแทรก,"ข้อความ");

67 ListBox Methods : ลบรายการ
Items.Remove() Items.RemoveAt() Items.Clear() listBox1.Items.Remove("ข้อความ"); listBox1.Items.RemoveAt(indexที่ต้องการลบ); listBox1.Items.Clear();

68 ListBox Events SelectedIndexChanged
private void listBox1_SelectedIndexChanged (object sender, System.EventArgs e) { // Add code here }

69 แบบฝึกหัด Listbox (1) จงเขียนโปรแกรมเพื่อคำนวณราคาหนังสือตามรายการที่เลือก

70 ComboBox อยู่ภายใต้ namespace : System.Windows.Forms.ComboBox
สำหรับจัดเก็บรายการ สามารถแสดงรายการที่เลือกได้ 1 รายการเท่านั้น

71 label1.Text=comboBox1.SelectedItem.ToString () ;
ComboBox Properties SelectedItem SelectedIndex label1.Text=comboBox1.SelectedItem.ToString () ; MessageBox.Show(comboBox1.SelectedIndex.ToString ());

72 ComboBox Methods : เพิ่มรายการ
Items.Add() Items.Insert() comboBox1.Items.Add("ข้อความ"); comboBox1.Items.Insert(indexที่ต้องการแทรก,"ข้อความ");

73 ComboBox Methods : ลบรายการ
Items.Remove() Items.RemoveAt() Items.Clear() comboBox1.Items.Remove("ข้อความ"); comboBox1.Items.RemoveAt(indexที่ต้องการลบ); comboBox1.Items.Clear();

74 ComboBox Events SelectedIndexChanged
private void comboBox1_SelectedIndexChanged (object sender, System.EventArgs e) { // Add code here }


ดาวน์โหลด ppt บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p

งานนำเสนอที่คล้ายกัน


Ads by Google