กิจกรรมที่2 โครงสร างภาษา visual c#...

54
เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี 51 กิจกรรมที2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ 1. วัตถุประสงค เพื่อใหผูเรียนสามารถ 1.1 เขาใจโครงสรางสวนตางๆ ในการเขียนโปรแกรม 1.2 ประกาศและใชงานตัวแปรได 1.3 เขียนคําสั่งรับเขา ประมวลผล และแสดงผลขอมูล 1.4 วิเคราะหหลักการทํางานของโปรแกรมและเขียนผังงานโปรแกรมแบบลําดับ 1.5 ใชงานฟงกชันทางคณิตศาสตร ฟงกชันเกี่ยวกับ string และฟงกชันเกี่ยวกับเวลา 2. แนวคิด การเขียนโปรแกรม ควรเริ่มตนจากการเขาใจหลักการทํางานของคอมพิวเตอร ซึ ่งมีคําสั่ง พื้นฐาน เชน คําสั่งในการรับขอมูล คําสั่งในการประมวลผลขอมูล และคําสั่งในการแสดงผลขอมูล การวิเคราะหโจทยปญหา จึงควรมีขั้นตอนที่ชัดเจน และถายทอดความคิด มาสูการเขียนผังงาน โปรแกรมจะทําใหเขาใจงาย ตรวจสอบและแกไขไดสะดวกขึ้น 3. สื่ออุปกรณ 3.1 ใบงาน ใบงานทีเรื่อง เวลา (นาที ) 2.1 โครงสรางภาษา Visual C# 15 2.2 รูจักอีเวนต (event) 15 2.3 ประกาศตัวแปร 20 2.4 โปรแกรมทักทายกันหนอย 30 2.5 โปรแกรมคํานวณพื้นที่รูปสี่เหลี่ยมผืนผา 20 2.6 โปรแกรมคํานวณพื้นที่วงกลม 20 2.7 โปรแกรมตัวอยางการใชฟงกชันทางคณิตศาสตร 20 2.8 ฟงกชันเกี่ยวกับ string 20 2.9 Timer 20

Upload: trinhngoc

Post on 08-Feb-2017

239 views

Category:

Documents


0 download

TRANSCRIPT

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

51

กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

1. วัตถุประสงค เพื่อใหผูเรียนสามารถ

1.1 เขาใจโครงสรางสวนตางๆ ในการเขยีนโปรแกรม 1.2 ประกาศและใชงานตัวแปรได 1.3 เขียนคําสั่งรับเขา ประมวลผล และแสดงผลขอมูล 1.4 วิเคราะหหลักการทํางานของโปรแกรมและเขียนผังงานโปรแกรมแบบลําดับ 1.5 ใชงานฟงกชันทางคณิตศาสตร ฟงกชันเกี่ยวกับ string และฟงกชันเกี่ยวกับเวลา

2. แนวคิด การเขียนโปรแกรม ควรเริม่ตนจากการเขาใจหลักการทํางานของคอมพิวเตอร ซ่ึงมีคําสั่ง

พื้นฐาน เชน คําสั่งในการรับขอมูล คําสั่งในการประมวลผลขอมูล และคําสั่งในการแสดงผลขอมูล การวิเคราะหโจทยปญหา จงึควรมีขั้นตอนที่ชัดเจน และถายทอดความคิด มาสูการเขียนผังงานโปรแกรมจะทาํใหเขาใจงาย ตรวจสอบและแกไขไดสะดวกขึ้น

3. สื่ออุปกรณ

3.1 ใบงาน ใบงานที่ เร่ือง เวลา (นาท)ี

2.1 โครงสรางภาษา Visual C# 15 2.2 รูจักอีเวนต (event) 15 2.3 ประกาศตวัแปร 20 2.4 โปรแกรมทักทายกันหนอย 30 2.5 โปรแกรมคํานวณพืน้ที่รูปสี่เหล่ียมผืนผา 20 2.6 โปรแกรมคํานวณพืน้ที่วงกลม 20 2.7 โปรแกรมตัวอยางการใชฟงกชันทางคณิตศาสตร 20 2.8 ฟงกชันเกี่ยวกบั string 20 2.9 Timer 20

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

52

3.2 ใบความรู 3.2.1 ใบความรูที่ 2.1 โครงสรางภาษา Visual C# 3.2.2 ใบความรูที่ 2.2 รูจักอีเวนต 3.2.3 ใบความรูที่ 2.3 ชนิดของขอมูล ตัวแปร และตัวดําเนนิการ 3.2.4 ใบความรูที่ 2.4 การทํางานและคําสั่งพื้นฐาน 3.2.5 ใบความรูที่ 2.5 การแปลงชนิดขอมูลและการเขียนโปรแกรมแบบลําดับ 3.2.6 ใบความรูที่ 2.6 ฟงกชัน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

53

ใบงานที่ 2.1 โครงสรางภาษา Visual C#

สมาชิกในกลุมที่……………… …………………….........................……………………………………………………………………….. …………………….........................……………………………………………………………………….. …………………….........................………………………………………………………………………..

ศึกษาใบความรูที่ 2.1 แลวปฏิบัติกิจกรรมตอไปนี ้1. ใหเขยีนหมายเลข - ลงในชองวางหลังขอความตอไปนี้ (บางขอความอาจมีมากกวา 1 หมายเลข)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { this.Close(); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show(TextBox1.text); } } }

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

54

1.1 namespace คือ หมายเลข…………………………………………………… 1.2 header คือ หมายเลข………………………………………………….... 1.3 method คือ หมายเลข….….…………………………………..……….… 1.4 statement คือ หมายเลข………………………………………..…….….… 1.5 class คือ หมายเลข………..………………………………………..… 1.6 constructor คือ หมายเลข……………………………………………………

2. ตอบคําถามตอไปนี ้2.1 หมายเลข คือ……….……. ช่ือ…………………………………..……..... 2.2 หมายเลข คือ……….……. ช่ือ…………………………………..………..

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

55

ใบงานที่ 2.2 รูจักอีเวนต (event)

สมาชิกในกลุมที่……………… …………………….........................……………………………………………………………………….. …………………….........................……………………………………………………………………….. …………………….........................………………………………………………………………………..

ศึกษาใบความรูที่ 2.2 แลวปฏิบัติกิจกรรมตอไปนี ้1. เปดโปรแกรม Microsoft Visual C# 2008 2. ศึกษาอีเวนตของ RadioButton จากตัวอยางนี้

2.1 สราง Form ดังรูป โดยใช Label, RadioButton

2.2 คลิกปุม events แลวเลือกอีเวนต ของ radioButton1 เปน MouseHover แลวดับเบลิคลิกเพื่อเขียนโปรแกรม และเลือกอีเวนตของ radioButton2 เปน MouseHover เชนกนั

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

56

Click

2.3 เขียนโปรแกรมใน radioButton1 และ radioButton2 โดยเลือกอีเวนต ช่ือ MouseHover ดังนี ้

2.4 รันโปรแกรม โดยคลิกปุม (Start Debugging) 2.5 จะไดผลลัพธของโปรแกรม ใหนําเมาสเล่ือนไปที่ radioButton1 ขอความ คณิตศาสตร จะปรากฏหนาตางไดอะล็อกแสดงขอความวา ชอบวิชาคณิตศาสตร ดังรูป

3. จับคูคําตอบที่ถูกตองของชื่อและหนาที่ของอีเวนตโดยนาํอักษรภาษาองักฤษเขียนลงใน หนาสถานะอีเวนต

Events ที่สําคัญของ Form หนาที่ของ event

A. เมื่อคลิกเมาสลงไปบนพื้นฟอรม

Unload B. เมื่อยกเลิกใชงานฟอรม

C. เมื่อฟอรม Activate

D. เมื่อฟอรมถูกเรียกขึน้มาใชงาน

Activate

Load

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

57

Events ของ TextBox หนาที่ของ event

Event ของ ComboBox

Event ของ ListBox

HelpRequested

TextChanged

E. เมื่อ TextBox มีการเปลี่ยนตัวอักษร KeyPress

F. เมื่อ TextBox คลิกปุมใดๆ

DropDown G. เมื่อ ComboBox ถูกคลิก

H. เมื่อ ComboBox ถูกเขาถึงครั้งแรกเทานั้น Enter

KeyDown I. เมื่อ ListBox ถูกคลิกแปนพิมพใดๆ

MouseDoubleClick

J. เมื่อ ListBox ถูกดับเบิ้ลคลิก

K. เมื่อ ListBox ถูกคลิกปุม <F1>

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

58

ใบงานที่ 2.3 ประกาศตัวแปร

สมาชิกในกลุมที่……………… …………………… ......................... ……………………………………………………………………….. …………………….........................……………………………………………………………………….. …………………….........................………………………………………………………………………..

ศึกษาใบความรูที่ 2.3 แลวตอบคําถามตอไปนี้

1. พิจารณาชื่อตวัแปรตอไปนีว้าถูกตองตามกฎเกณฑการตั้งชื่อหรือไม พรอมทั้งอธิบายเหตุผลหากชื่อนั้นถูกตั้งไมถูกกฎเกณฑ

ชื่อตัวระบ ุ ใชไดหรือไม เหตุผล XXX ได - $$$ ไมได ประกอบดวยอักขระพิเศษ _Y string i_j Student ID HelloWorld! first-time null 123Class Section3 w*h do

2. เขียนคําสั่งประกาศตวัแปรชือ่ x ที่มีชนิดขอมูลเปน float โดยไมมีการกาํหนดคาเริ่มตน ………………………………………………………………….………………………………….

3. เขียนคําสั่งประกาศตวัแปรชือ่ myName ที่มีชนิดขอมูลเปน string โดยไมมีการกําหนดคาเริ่มตน ………………………………………………………………….………………………………….

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

59

4. เขียนคําสั่งเพื่อประกาศคาคงที่ช่ือ PI ที่มีชนิดขอมูลเปน double เพื่อใชแทนคา 3.1415926535 ………………………………………………………………….………………………………….

5. เขียนคําสั่งเพื่อประกาศตวัแปรหรือคาคงที่ตามที่กําหนดให โดยเลือกใชชนิดของขอมูลที่เหมาะสม

5.1 คาคงที่ช่ือ MY_AGE เพื่อใชแทนอายุปจจุบันของนักเรียน

…………………………………………………………………

5.2 ตัวแปรชื่อ saving เพื่อใชเกบ็เงินสะสมของพอลลา

…………………………………………………………………

5.3 ตัวแปรชื่อ temp_c เพื่อเก็บคาอุณหภูมิบริเวณขัว้โลกเหนอืเปนองศาเซลเซียส

…………………………………………………………………

5.4 คาคงที่ช่ือ NAME เพื่อใชแทนชื่อเต็มของนกัเรียนเอง

…………………………………………………………………

6. หาผลลัพธจากการใชตัวดําเนนิการแบบตางๆ โดยกําหนดคาเริ่มตนให a = 3 x = “3”

b = 2 y = “2”

6.1 a%b ผลลัพธ คือ…..……............... 6.2 a>=b ผลลัพธ คือ…..…………….. 6.3 a+=b ผลลัพธของ a คือ…..………. 6.4 a/=b ผลลัพธของ a คือ…..….……

6.5 a++ ผลลัพธของ a คือ…..…….... 6.6 b-- ผลลัพธของ b คือ…..…….... 6.7 x+y ผลลัพธของ string คือ ….......

7. เขียนโปรแกรมตามขั้นตอนตอไปนี้ จากนัน้ใหสังเกตการทํางานของโปรแกรมและตอบคําถาม

7.1 เปดโปรแกรม Microsoft Visual C# 2008 7.2 เลือกเมนู File -> New Project… ดังรูป

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

60

7.3 ปรากฏกรอบโตตอบ New Project โดย

เลือก Windows Forms A… ตั้งชื่อ Project ในชอง Name: โดยตั้งชื่อวา work23 คลิกปุม OK

7.4 ปรากฏหนาจอหลักของ Microsoft Visual C# 2008 ดังรูป

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

61

7.5 ใหทําการสรางปุมที่ Form1 มีขั้นตอนดังนี ้ เลือกคอนโทรล Button ลากคอนโทรล Button มาวางที่ Form1 จนเกดิเปน button1 มาที่ Properties ของ butoon1 ในสวนของ Text ที่ Text เปลี่ยน botton1 เปน click

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

62

7.6 ดับเบิลคลิกที่ปุม click ที่ Form1

7.7 จะปรากฏสวนของ Form1.cs* ซ่ึงเปนสวนที่ใหเขยีนโปรแกรม 7.8 ใหพิมพโปรแกรมในสวนของ private void button1_Click ดังรูป

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

63

7.9 ทดลองรันโปรแกรมโดยการคลิกปุม <F5> หรือ ปุม บนแถบเมน ู 7.10 เมื่อคลิกปุม click ผลลัพธที่ไดจะปรากฏ

MessageBox ที่ 1 มีขอความวา …………………………………… ตัวแปรที่ใชในการแสดงผลใน MessageBox นี้ คือ………………...โดยมีชนดิของขอมูลเปน ………………….และมีการกําหนดคาใหตัวแปรนี้มีคาเทากับ……………………… MessageBox ที่ 2 มีขอความวา …………………………………… ตัวแปรที่ใชในการแสดงผลใน MessageBox นี้ คือ………………...โดยมีชนดิของขอมูลเปน ………………….และมีการกําหนดคาใหตัวแปรนี้มีคาเทากับ……………………… MessageBox ที่ 3 มีขอความวา …………………………………… ตัวแปรที่ใชในการแสดงผลใน MessageBox นี้ คือ………………...โดยมีชนดิของขอมูลเปน ………………….และมีการกําหนดคาใหตัวแปรนี้มีคาเทากับ……………………… MessageBox ที่ 4 มีขอความวา …………………………………… ตัวแปรที่ใชในการแสดงผลใน MessageBox นี้ คือ………………...โดยมีชนดิของขอมูลเปน ………………….และมีการกําหนดคาใหตัวแปรนี้มีคาเทากับ………………………

7.11 บันทึกไฟลโดยคลิกปุม Save All บนแถบเมนูจะปรากฏกรอบโตตอบ Save Project 7.12 ตั้งชื่อโปรเจ็กต แลวคลิกปุม Save

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

64

ใบงานที่ 2.4 โปรแกรมทักทายกันหนอย

สมาชิกในกลุมที่……………… …………………….........................……………………………………………………………………….. …………………….........................……………………………………………………………………….. …………………… ......................... ………………………………………………………………………..

ศึกษาใบความรูที่ 2.4 แลวตอบคําถามตอไปนี้ 1. เปดโปรแกรม Microsoft Visual C# 2008 2. สรางโปรเจ็กต ใหม ช่ือ work241 และใหออกแบบหนาจอดังรูป

3. คลิกที่ปุม จะปรากฏหนาตางใหม ที่ช่ือไฟล Form1.cs มีขอความดงันี้

namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } } }

4. เขียนโปรแกรมในการรับเขาขอมูลที่เปนชื่อของตนเอง เมื่อคลิกปุม ใหแสดงผลขอมูลวา “สวัสดีคุณ” แลวตอดวยช่ือที่รับเขามา โดยใชคําสั่งออบเจ็กต MessageBox.Show() ใหพิมพคาํสั่งดังนี ้

label1

label2

button1

textBox1

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

65

MessageBox.Show("สวัสดีคุณ " + textBox1.Text); namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } } }

5. บันทึกไฟลโปรเจ็กตโดยคลิกที่ปุม Ctrl+Shift+S ในโฟลเดอรที่ผูเรียนสรางขึ้น ช่ือไฟล work241 6. ส่ังรันเพื่อทดสอบการทํางานของโปรแกรม แลวพิมพช่ือของตนเอง และคลิกปุม

ส่ิงที่ปรากฏขึ้นคือ……………………………………………………………………………… 7. ใหปรับปรุง Form โดยเพิ่ม label3 เพื่อแสดงขอความวา “พิมพสกุลของคุณ” และเพิม่ชองรับนามสกุล

อีก 1 ชอง แลวใหเขียนโปรแกรมเพิ่มเตมิ โดยเมื่อคลิกปุม จะใหแสดงผลขอมูลวา “สวัสดีคุณ” แลวตอดวย ชื่อ เวนวรรคตอดวย นามสกุล และใหแสดงผลทาง label4 โดยลบคําสั่งที่พิมพในขอ 4 ออกแลวพิมพคําสั่งใหม ดังนี้

label4.Text = "สวัสดีคุณ " + textBox1.Text + " " + textBox2.Text;

8. ทดลองรันใหม แลวพิมพช่ือ และ สกุล ของตนเอง และคลิกปุม ส่ิงที่ปรากฏขึ้นคือ…………………………………………………………………………………………………

9. การทํางานของโปรแกรมขางตนมีขั้นตอนการทํางานที่เปนคําสั่ง ดังนี ้ สวนของการรับขอมูล คือ ……………………………………………………………………... สวนของการประมวลผล คือ …………………………………………………………………... สวนของการแสดงผลขอมูล คือ ……………………………………………………………...

พิมพคําสั่งท่ีนี่

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

66

10. เขียนใหอยูในรูปแบบของผังงานได ดังนี ้

เร่ิมตน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

67

ใบงานที่ 2.5 โปรแกรมคํานวณพื้นที่รูปสี่เหลี่ยมผืนผา

สมาชิกในกลุมที่……………… …………………….........................……………………………………………………………………….. …………………….........................……………………………………………………………………….. …………………….........................………………………………………………………………………..

ศึกษาใบความรูที่ 2.5 แลวปฏิบัติกิจกรรมตอไปนี ้1. เปดโปรแกรม Microsoft Visual C# 2008 2. สรางโปรเจ็กตใหมช่ือ work25 และใหออกแบบหนาจอ ดังรูป

3. คลิกที่ปุม จะปรากฏหนาตางใหม ที่ช่ือไฟล Form1.cs มีขอความดังนี ้namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } } }

textBox1 textBox2

textBox3

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

68

4. เขียนโปรแกรมในการรับเขาขอมูลที่เปน ความยาวของดานกวาง และ ความยาวของดานยาว เมื่อคลิกปุม ใหโปรแกรมประมวลผลหาพื้นที่รูปสี่เหล่ียมผืนผา แลวใหแสดงผลลัพธ ที่ textBox3 โดยใหพิมพคําสัง่ ตรงที่ระบุขางลาง ดังนี้ private void button1_Click(object sender, EventArgs e)

{

int width,length,area; width = int.Parse(textBox1.Text); length = int.Parse(textBox2.Text); area = width * length ; textBox3.Text = area.ToString("##,###.##"); }

5. บันทึกไฟลโปรเจ็กต โดยคลิกปุม Ctrl+Shift+S ในโฟลเดอรที่ผูเรียนสรางขึ้น ช่ือไฟล work25 6. ส่ังรัน เพื่อทดสอบโปรแกรม โดยคลิกเลือกรายการ Debug / Start Debugging หรือ คลิกปุม <F5> 7. หลังจากการรนั แลวใหปอนคาความกวางเปน 10 คาความยาวเปน 15 และคลิกปุม

ผลลัพธที่เกิดขึ้นคือ พื้นที่เทากับ ……………….……ตรวจสอบจากการคํานวณเองวาผลลัพธที่ได ถูกตองหรือไม …………..……………………….…

8. ทดลองปอนคาความกวางและคาความยาวเปนคาอื่นทีเ่ปนเลขจํานวนเต็ม แลวคลิกที่ปุม สังเกตผลลัพธที่แสดงไวที่ textBox3 วาถูกตองทุกครั้งหรือไม ………………….

9. จากโปรแกรมที่พิมพในขอ 4 ใหเขียนเตมิคําตอบดังนี ้9.1 ขอความที่เปนการประกาศตวัแปรคือ………………………………………………..………

มีความหมายวา…………………………………………………………………….………… 9.2 คําสั่ง width = int.Parse(textBox1.Text); หมายถึง……………………….…..………..……

………………………………………………………………………………………….…… 9.3 คําสั่ง textBox3.Text = area.ToString("##,###.##"); หมายถึง………………..……..….…..

…………………………………………………………………………………..…………… 10. ใหปดโปรแกรมจากการรัน โดยคลิกที่ ปุมกากบาทที่มุมขวาบน 11. ทดลองรัน อีกครั้ง แลวใหปอนคาความกวางเปน 5.5 คาความยาวเปน 12.25 และคลิกปุม

ผลลัพธที่เกิดขึ้น โปรแกรมทาํงานไดเหมือนเดิมหรือไม………………………….. ขอความที่ปรากฏขึ้นเปนหนาตางใหม (มีเครื่องหมาย อยูขางหนา) คอื……………………… ……………………………………………………………………………………….…………….. บรรทัดแรกในหนาตางนี้แสดงขอความวา………………….……………………………………… นักเรียนคิดวาโปรแกรมไมทํางานเพราะเหตุใด ……………………………………………………………………………………….……………..

พิมพคําสั่ง ภายใตเหตกุารณ button1_Click

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

69

……………………………………………………………………………………….…………….. ……………………………………………………………………………………….…………….. ควรแกไขโปรแกรมอยางไรเพื่อใหสามารถปอนคาเลขทศนิยมได ……………………………………………………………………………………….…………….. ……………………………………………………………………………………….……………..

12. ปดหนาตางโปรแกรมที่กําลังรัน โดยคลิกปุม Shift + <F5> หรือ คลิกที่ปุม Stop Debugging

13. ใหแกไขโปรแกรม โดยประกาศตัวแปรเปลี่ยนจาก int เปน double ดงันี้ double width,length,area; width = double.Parse(textBox1.Text); length = double.Parse(textBox2.Text);

14. บันทึกโปรเจ็กต ลงในชื่อเดิม โดยคลิกเลือกรายการ File / Save All 15. ทดลองรัน อีกครั้ง แลวใหปอนคาความกวางเปน 5.5 คาความยาวเปน 12.25 และ คลิกปุม

ผลลัพธที่เกิดขึ้น โปรแกรมทํางานไดเหมอืนเดิมหรือไม………………………… มีพื้นที่เทากับ………………… ถูกตองตรงกับการคํานวณจากสูตรหรือไม………………..……

16. ทดลองปอนคาความกวางและคาความยาวเปนคาอื่นทีเ่ปนเลขทศนิยม แลวคลิกที่ปุม สังเกตผลลัพธที่แสดงไวที่ textBox3 วาถูกตองทุกครั้งหรือไม ………………………….…….

17. ปดโปรแกรมที่กําลังรัน โดยคลิกที่ปุมกากบาทที่มุมขวาบน 18. ใหสรุปองคความรูที่ไดจากการเขียนโปรแกรม ดังนี ้

18.1 การประกาศตวัแปร w, l, a ใหรับขอมูลชนิดเลขจํานวนเต็ม ทําไดดังนี ้………………………………………………………………………………………………… 18.2 การประกาศตวัแปร w, l, a ใหรับขอมูลชนิดเลขทศนิยม ทําไดดังนี ้………………………………………………………………………………………………… 18.3 การเปลี่ยนขอมูลที่รับจาก textBox1 ใหเปน เลขจํานวนเต็ม แลวเกบ็ไวที่ตัวแปร a ทําได

ดังนี…้…………………………………………………………………………………… 18.4 การเปลี่ยนขอมูลที่รับจาก textBox2 ใหเปน เลขทศนิยม แลวเก็บไวที่ตวัแปร b ทําไดดังนี ้

….…………………………………………………………………………………………

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

70

18.5 การเปลี่ยนขอมูลที่คํานวณไดชนิดเลขจํานวนเต็มและเกบ็ไวที่ตวัแปรชื่อ cat ใหเปน string แลวแสดงผลลัพธที่ textBox3 ในรูปแบบเปนเลขจํานวนเต็ม 6 หลัก ทศนิยม 3 ตําแหนง ทําไดดังนี ้ ………………………………………………………………………………………

19. การทํางานของโปรแกรมขางตนมีขั้นตอนการทํางานที่เปนคําสั่ง ดังนี ้สวนของการรับขอมูล คือ ……………………………………………………………………...

……………………………………………………………………... สวนของการประมวลผล คือ ………………...………………………………………………... สวนของการแสดงผลขอมูล คือ ……………………………………………………………...... 20. เขียนในรปูแบบของผังงานได ดังนี ้

เร่ิมตน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

71

ใบงานที่ 2.6 โปรแกรมคํานวณพื้นที่วงกลม

สมาชิกในกลุมที่……………… …………………….........................……………………………………………………………………….. …………………….........................……………………………………………………………………….. …………………….........................………………………………………………………………………..

ศึกษาใบความรูที่ 2.6 หัวขอฟงกชันทางคณิตศาสตร แลวปฏิบัติกิจกรรมตอไปนี้

1. เขียนผังงานแสดงขั้นตอนการทํางานของโปรแกรมคํานวณพืน้ที่วงกลม

2. ออกแบบหนาจอของโปรแกรมคํานวณพื้นที่วงกลม ออกแบบหนาจอดังนี ้

textBox1

label1

label2

textBox2

button1

button2

button3

เร่ิมตน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

72

3. สรางโปรเจ็กตใหมช่ือ work26 จากนั้นสรางฟอรมหนาจอตามที่ออกแบบเอาไว และเขียนโปรแกรมเพื่อคํานวณพื้นทีว่งกลม ทดสอบโปรแกรม และตรวจสอบความถูกตองของผลลัพธ โดยปฏิบัติดังนี ้3.1 ดับเบิลคลิกที่ปุม botton1 และเขียนโปรแกรมดังนี ้

3.2 ดับเบิลคลิกที่ปุม botton2 และเขียนโปรแกรมดังนี ้

3.3 ดับเบิลคลิกที่ปุม botton3 และเขียนโปรแกรมดังนี ้

4. บันทึกรายละเอียดของการเขยีนโปรแกรมลงในกรอบดานลาง

double radius = 0, area = 0; radius = double.Parse(textBox1.Text); area = Math.PI * radius * radius; textBox2.Text = area.ToString("#,###.##");

textBox1.Clear(); //เคลียรคาในปุม textBox1 textBox2.Clear(); //เคลียรคาในปุม textBox2

this.Close(); //ปดโปรแกรม

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

73

5. ตอบคําถามตอไปนี ้

5.1 การแปลงขอมูลชนิดขอความใหเปนตวัเลข ตองใชคาํสั่งอยางไร 5.2 การคํานวณหาพืน้ที่วงกลม ตองใชคําสั่งอยางไร 5.3 การแสดงผลขอมูลเปนเลขทศนิยม 2 ตําแหนง ตองใชคําสั่งอยางไร

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

74

ใบงานที่ 2.7 โปรแกรมตัวอยางการใชฟงกชันทางคณิตศาสตร

สมาชิกในกลุมที่……………… …………………….........................……………………………………………………………………….. …………………….........................……………………………………………………………………….. …………………… ......................... ………………………………………………………………………..

ศึกษาใบความรูที่ 2.6 หัวขอฟงกชันทางคณิตศาสตร แลวปฏิบัติกิจกรรมตอไปนี้ 1. โปรแกรมคํานวณคาสัมบูรณ

1.1 เขียนผังงานแสดงขั้นตอนการทํางานของโปรแกรมคํานวณคาสัมบูรณ 1.2 ออกแบบหนาจอของโปรแกรมคํานวณคาสัมบูรณ 1.3 สรางโปรเจ็กตใหม ช่ือ work271 จากนั้นสรางฟอรมหนาจอตามที่ออกแบบเอาไว เขียนโปรแกรม

เพื่อคํานวณคาสัมบูรณ ทดสอบโปรแกรม และตรวจสอบความถูกตองของผลลัพธ 1.4 บันทึกรายละเอียดของการเขยีนโปรแกรมลงในกรอบดานลาง

เขียนเปนผังงานไดดังนี ้

เร่ิมตน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

75

ออกแบบหนาจอดังนี ้

เขียนโปรแกรมดังนี ้

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

76

2. โปรแกรมคํานวณคารากที่สอง 2.1 เขียนผังงานแสดงขั้นตอนการทํางานของโปรแกรมคํานวณคารากที่สอง 2.2 ออกแบบหนาจอของโปรแกรมคํานวณคารากที่สอง 2.3 สรางโปรเจ็กตใหม ช่ือ work272 จากนั้นสรางฟอรมหนาจอตามที่ออกแบบเอาไว เขียนโปรแกรม

เพื่อคํานวณคารากที่สอง ทดสอบโปรแกรม และตรวจสอบความถูกตองของผลลัพธ 2.4 บันทึกรายละเอียดของการเขยีนโปรแกรมลงในกรอบดานลาง

เขียนเปนผังงานไดดังนี ้

ออกแบบหนาจอดังนี ้

เร่ิมตน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

77

เขียนโปรแกรมดังนี ้

3. โปรแกรมคํานวณคายกกาํลัง 3.1 เขียนผังงานแสดงขั้นตอนการทํางานของโปรแกรมคํานวณคายกกาํลัง 3.2 ออกแบบหนาจอของโปรแกรมคํานวณคายกกําลัง 3.3 สรางโปรเจ็กตใหม ช่ือ work273 จากนั้นสรางฟอรมหนาจอตามที่ออกแบบเอาไว เขียนโปรแกรม

เพื่อคํานวณคายกกําลัง ทดสอบโปรแกรม และตรวจสอบความถูกตองของผลลัพธ 3.4 บันทึกรายละเอียดของการเขยีนโปรแกรมลงในกรอบดานลาง

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

78

เขียนเปนผังงานไดดังนี ้

ออกแบบหนาจอดังนี ้

เร่ิมตน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

79

เขียนโปรแกรมดังนี ้

4. ตอบคําถามตอไปนี ้4. 1 การหาคาสัมบูรณ ตองใชคําสั่งอยางไร 4.2 การหาคารากที่สอง ตองใชคําสั่งอยางไร 4.3 การหาคายกกําลัง ตองใชคําสั่งอยางไร

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

80

ใบงานที่ 2.8 ฟงกชันเกี่ยวกับ string

สมาชิกในกลุมที่……………… …………………….........................……………………………………………………………………….. …………………… ......................... ……………………………………………………………………….. …………………….........................………………………………………………………………………..

ศึกษาใบความรูที่ 2.6 หัวขอฟงกชันเกี่ยวกบั string แลวปฏิบัติกิจกรรมตอไปนี ้1. สรางฟอรมดังภาพ บันทกึแฟมโปรเจ็กตช่ือ work281 ในโฟลเดอรที่ผูเรียนสรางขึ้น เพื่อรับขอมูลจาก

textBox1 แลวทดลองใชฟงกชันเกีย่วกับ string ดังนี ้

2. ใหพิมพโปรแกรมที่ปุม button1 โดยรับขอความจาก textBox1 แลวใหโปรแกรมแสดงผลความยาวของขอความที่รับมาใน textBox2 โดยเขียนโคดดังนี ้

private void button1_Click(object sender, EventArgs e)

{

string str1;

int len1;

str1 = textBox1.Text;

len1 = str1.Length;

textBox2.Text = len1.ToString();

}

เมื่อเสร็จแลวใหทดสอบโปรแกรมดวยการพิมพขอความวา computer จะไดผลลัพธ......................................................................................................................................

textBox1

textBox2

button1

label1

label2

label3

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

81

3. ปรับโปรแกรมจากขอ 2 โดยใหรับขอความจาก textBox1 แลวใหแปลงอักษรภาษาอังกฤษตวัเล็ก ใหเปนตัวใหญทั้งหมด นําผลลัพธที่ไดแสดงผลใน textBox2 เมื่อเสร็จแลวใหทดสอบโปรแกรมดวยการพิมพขอความวา computer จะไดผลลัพธ......................................................................................................................................

4. ปรับโปรแกรมจากขอ 3 โดยใหรับขอความจาก textBox1 แลวใหแปลงอักษรภาษาอังกฤษตวัใหญ ใหเปนตัวเล็กทั้งหมด นําผลลัพธที่ไดแสดงผลใน textBox2 เมื่อเสร็จแลวใหทดสอบโปรแกรมดวย การพิมพขอความวา COMPUTER จะไดผลลัพธ......................................................................................................................................

5. ปรับโปรแกรมจากขอ 4 โดยใหรับขอความจาก textBox1 แลวใหตรวจสอบวาขอความที่รับเขามานั้น ขึ้นตนดวย Co หรือไม หากเปนจริงใหแสดงผลเปน true ใน textBox2 และหากเปนเท็จใหแสดงผลเปน false ใน textBox2 เมื่อเสร็จแลวใหทดสอบโปรแกรมดวยการพิมพขอความดังนี ้- Computer จะไดผลลัพธ................................................................................................................ - Software จะไดผลลัพธ.................................................................................................................

6. ปรับโปรแกรมจากขอ 5 โดยใหรับขอความจาก textBox1 แลวใหโปรแกรมเปลี่ยนขอความสวนทีม่ีคําวา co ใหเปน ji นําผลลัพธที่ไดแสดงผลขอมูลใน textBox2 เมื่อเสร็จแลวใหทดสอบโปรแกรมดวยการพิมพขอความวา coffee จะไดผลลัพธ......................................................................................................................................

7. ปรับโปรแกรมจากขอ 6 โดยใหรับขอความจาก textBox1 แลวใหโปรแกรมตัดขอความในตําแหนงที่ 5, 6, 7, 8 ออกไป นําผลลัพธที่ไดแสดงผลขอมูลใน textBox2 เมื่อเสร็จแลวใหทดสอบโปรแกรมดวยการพิมพขอความวา computer จะไดผลลัพธ......................................................................................................................................

8. ปรับโปรแกรมจากขอ 7 โดยใหรับขอความจาก textBox1 แลวใหโปรแกรมแสดงผลขอความเฉพาะตําแหนงที่ 3, 4, 5 เทานั้น นําผลลัพธที่ไดแสดงผลขอมูลใน textBox2 เมื่อเสร็จแลวใหทดสอบโปรแกรมดวยการพิมพขอความวา computer จะไดผลลัพธ......................................................................................................................................

9. ปรับโปรแกรมจากขอ 8 โดยใหรับขอความจาก textBox1 แลวใหโปรแกรมแสดงผลโดยตัดชองวางหนาขอความออก นําผลลัพธที่ไดแสดงผลขอความใน textBox2 เมื่อเสร็จแลวใหทดสอบโปรแกรมดวยการพิมพขอความวา computer โดยใหมีชองวางดานหนาขอความดวย จะไดผลลัพธ......................................................................................................................................

10. ใหทําการบนัทึกโปรเจ็กต

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

82

11. สรางฟอรมดังภาพ บันทกึแฟมโปรเจ็กตช่ือ work282 ในโฟลเดอรที่ผูเรียนสรางขึ้น เพื่อรับขอมูลจาก textBox1 และ textBox2 แลวทดลองใชฟงกชันเกีย่วกับ string ดังนี ้

12. เขียนโปรแกรมใหรับขอความจาก textBox1 และ textBox2 แลวนาํขอมูลทั้งสองมาเปรียบเทียบกัน แลวแสดงผลดังนี ้ - ขอความที่เหมอืนกันทุกตัวอักษรแตขอความที่ 1 เปนตัวอักษรใหญ และขอความที่ 2 เปนตัวอักษร

เล็ก จะแสดงผลเปน 1 ใน textBox3 - หากเปนขอความที่เหมือนกนัทุกตัวอักษรจะแสดงผลเปน 0 ใน textBox3 - หากเปนขอความที่ไมเหมือนกันจะแสดงผลเปน -1 ใน textBox3 เมื่อเสร็จแลวใหทดสอบโปรแกรมดวยการพิมพขอความที่ตองการเปรียบเทียบแลวบนัทึกผลการทํางานของโปรแกรม.............................................................................................................................................................. .............................................................................................................................................................. .............................................................................................................................................................. .............................................................................................................................................................. ..............................................................................................................................................................

textBox1

textBox2

label2

button1

label1

label4

label3

textBox3

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

83

ใบงานที่ 2.9 Timer

สมาชิกในกลุมที่……………… …………………….........................……………………………………………………………………….. …………………….........................……………………………………………………………………….. …………………….........................………………………………………………………………………..

1. สรางฟอรม ดงัรูป

2. บันทึกแฟมโปรเจ็กตช่ือ work29 ในโฟลเดอรที่ผูเรียนสรางขึ้น 3. บอกวิธีกําหนดคา progressBar1

Maximum............................................................................................................................. Minimum.............................................................................................................................. Step....................................................................................................................................... Value....................................................................................................................................

4. การกําหนดคา hScrollBar1 Maximum............................................................................................................................. Minimum.............................................................................................................................. Value....................................................................................................................................

label1

label2

button1

progressBar1

hScrollBar1

Timer1

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

84

5. ผูเรียนคิดวาจะนําคอมโพเนนท progressBar และ hScrollBar ไปใชงานดานใดบาง progressBar ใชสําหรับ........................................................................................................ ScrollBar ใชสําหรับ............................................................................................................

6. กําหนดคา Properties Value ของ progressBar1 และ hScrollBar1 ใหกลับคาเริ่มตนเปน 0 7. กําหนดคา Properties Enabled ของ timer1 ใหเปน false กอน หลังจากนั้นเพิ่มโปรแกรมดังตอไปนี้

8. จากนั้นใหผูเรียนลองกําหนด Proterties Interval ของ timer1 เปนคาตางๆ ตามที่ผูเรียนตองการ แลว

อธิบายวา timer1 มีลักษณะการใชงานอยางไร

............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ...............................................................................................................................................

private void button1_Click(object sender, EventArgs e) {

timer1.Enabled = true; สวนที่เพิ่มเติม }

private void timer1_Tick(object sender, EventArgs e) { label2.Text = (timer1.Interval).ToString(); progressBar1.Value += 1; hScrollBar1.Value += 1; if (progressBar1.Value == progressBar1.Maximum) { timer1.Enabled = false; button1.Enabled = false; } }

สวนที่เพิ่มเติม

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

85

ใบความรูท่ี 2.1 โครงสรางภาษา Visual C#

การใชงานในสวนของ WindowsFormsApplication จะเพิ่มความงายในการเขียนโปรแกรม

เนื่องจากมีสวนของ Code ที่โปรแกรมสรางขึ้นมาใหแบบอัตโนมัติ ซ่ึงมีรูปแบบดังรูปที่ 2.1.1 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("สวัสดี"); } } }

รูปที่ 2.1.1 โครงสรางภาษา Visual C#

หมายเลข เปนสวน header ใชในการประกาศคําสั่งตาง ๆ หมายเลข เปนสวนประกาศ namespace ช่ือ WindowsFormsApplication1 หมายเลข เปนสวนประกาศ class ช่ือ Form1 หมายเลข เปนสวนประกาศ constructor หรือ Function ตางๆ หมายเลข เปนสวนประกาศ method หมายเลข เปนสวนพิมพคําสั่ง statement หมายเลข เปนสวนประกาศ namespace ช่ือ System หมายเลข เปนสวนประกาศ class ช่ือ Collections, ComponentModel, Data, Drawing, Linq, Text, Windows หมายเลข เปนสวนประกาศ class ช่ือ Generic, Forms

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

86

การกําหนดขอบเขตของสวนตางๆ จะใช เครื่องหมายปกกาเปด { เพื่อเปนจุดเริ่มตน และใชเครื่องหมายปกกาปด } เพือ่เปนจุดสิ้นสดุของสวนนัน้ๆ เสมอ จะสังเกตวาสวนของ namespace จะมีปกกาเปดและปกกาปดคูกัน { } และจะเปนสวนที่คลุม code ทั้งหมดไว สังเกตวา ตําแหนงของปกกาเปดและ ปกกาปดจะตรงกัน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

87

ใบความรูท่ี 2.2 รูจักอีเวนต(event)

โปรแกรม Microsoft Visual C# จะมกีารทํางานในลักษณะที่เรียกวา Event Driven คือ มีการทํางานที่ตอบสนองตอเหตุการณตางๆ และมีลักษณะเปน Visual คือ การมองเห็นได เชน ปุม(button) ที่วางอยูบน Form จะมเีหตกุารณ คือ คลิกปุมเพื่อเขียนโปรแกรมในสวนของ method ที่ช่ือวา button1_click เปนตน และมองวา Form คือ วัตถุ 1 ช้ิน ปุม คือ วัตถุ 1 ช้ิน วัตถุแตละชิ้นจะมีคุณสมบัติเฉพาะของตัวเอง เชน ช่ือ สีพื้น สีตัวอักษร เปนตน

รูปที่ 2.2.1 หนาตางแสดง อีเวนต ตางๆ

จากรูปที่ 2.2.1 จะแสดง อีเวนตตางๆ ของปุม button1 ซ่ึงสามารถเขาไปดูอีเวนตตางๆ ได หมายเลข ปุมอีเวนตของวัตถุนั้นๆ แตละชนิดจะมอีีเวนตตางๆ กันไป หมายเลข อีเวนต ช่ือ Click หมายเลข คือ คําอธิบายอีเวนตที่เลือก ขอความ

ตัวอยางการใชอีเวนต ช่ือ Click ของ button1 ทําไดดังนี ้

รูปที่ 2.2.2 หนาตาง Form1

1. สราง Form ตามรูปที่ 2.2.2 และคลิกที่ปุมทักทาย ดังหมายเลข เพื่อเลือกปุม button1 ใชในการเขียนโปรแกรมในอีเวนต

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

88

รูปที่ 2.2.3 การสรางอีเวนต

2. เลือกอีเวนตดงัรูปที่ 2.2.3 หมายเลข แลวดับเบิลคลิกที่อีเวนต ช่ือ Click ดังหมายเลข แลวพมิพ

คําสั่งใน Event ช่ือ Click ดังหมายเลข namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("สวัสดี " + textBox1.Text); } } } 3. แลวรันโปรแกรม โดยคลิกปุม (Start Debugging)

รูปที่ 2.2.4 การปอนชื่อ และคลิกปุมทักทาย

4. จะได Form1 ดังรูป 2.2.4 แลวปอนชื่อในที่นี้พิมพขอความวา สสวท. ดังหมายเลข แลวคลิกปุมทกัทาย หมายเลข

5. จะปรากฏหนาตางไดอะล็อก แสดงขอความวา สวัสดี สสวท. ดังรูปที่ 2.2.5

รูปที่ 2.2.5 หนาตางแสดงขอความวา สวสัดี สสวท.

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

89

ใบความรูท่ี 2.3 ชนิดของขอมูล ตัวแปร และตัวดําเนินการ

ในการเขียนโปรแกรมตองมีการใชงานขอมูล ซ่ึงอยูในรูปแบบตางๆ เชน ภาพ ขอความ ตัวเลข วันเวลา โดยขอมูลจะถูกนํามาใชในการคํานวณ หรือประมวลผลในรูปแบบตางๆ โดยการใชตัวแปรเพื่อเก็บคาของขอมูลเหลานั้น

ชนิดขอมูล (Data Types) ในภาษาซีชารป (C#) ในภาษาซีชารป กําหนดชนิดของขอมูลไวหลากหลายชนิดเพื่อรองรับการจัดเก็บขอมูลหลายๆ

ประเภท ดังตาราง

ชนิดขอมูล คําอธิบาย ขอบเขตขอมูล sbyte จํานวนเต็มทั้งบวกและลบ ขนาด 8 บิต -128 ถึง 127 short จํานวนเต็มทั้งบวกและลบ ขนาด 16 บิต -32,768 ถึง 32,767 int จํานวนเต็มทั้งบวกและลบ ขนาด 32 บิต -2,147,483,648 ถึง 2,147,483,647

long จํานวนเต็มทั้งบวกและลบ ขนาด 64 บิต -263 ถึง 263-1 byte จํานวนเต็มบวก ขนาด 8 บิต 0 - 255

ushort จํานวนเต็มบวก ขนาด 16 บติ 0 - 65,535 uint จํานวนเต็มบวก ขนาด 32 บติ 0 - 4,294,967,295

ulong จํานวนเต็มบวก ขนาด 64 บติ 0 ถึง 264 - 1

float จํานวนทศนยิม ขนาด 32 บติ คาลบ -3.4 x 1038 ถึง -1.4 x 10-45 คาบวก 1.4 x 10-45 ถึง 3.4 x 1038

double จํานวนทศนยิม ขนาด 64 บติ คาลบ -1.8 x 10308 ถึง -4.9 x 10-324 คาบวก 4.9 x 10-324 ถึง 1.8 x 10308

bool ขอมูลชนิดตรรกะ มี 2 คาคือ คาจริง (true) และคาเท็จ (false) char ขอมูลชนิดตัวอักษรตัวเดียว เชน ‘A’ , ‘1’

string ขอมูลที่ประกอบดวยตัวอักษรหลายตวั เชน “Hello”

ตัวแปร (Variables) ตัวแปร เปนการอางถึงขอมูล โดยคาของตัวแปร สามารถเปลี่ยนแปลงไดตลอดเวลาที่โปรแกรม

กําลังทํางานอยู ในภาษาซีชารป ตัวแปรทุกตัวตองถูกประกาศ กอนที่จะถูกนํามาใชงาน โดยมีการระบุชนิดขอมูลที่จะใชกับตัวแปรนั้นๆ ไว

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

90

ภาษาซีชารป มีกฎเกณฑการตั้งชื่อใหตัวแปร ดังนี้

• ตัวอักษรตวัแรกของชื่อตองเปนตัวอักษรภาษาอังกฤษ หรือตัวขีดเสนใต(_) • ช่ือตัวระบุตองประกอบดวยตัวอักษรภาษาอังกฤษ (A-Z, a-z) ตัวเลข (0-9) หรือเครื่องหมาย

ขีดเสนใต (_) เทานั้น • ช่ือตัวระบุตองไมซํ้ากับคําสงวน (reserved word)

คําสงวน มีดังตอไปนี ้

abstract as base bool break byte case catch char checked class const continue decimal

default delegate do double else enum event explicit extern false finally fixed float for foreach get goto if implicit in int interface internal is lock long namespace new

null object operator out override params partial private protected public readonly ref return sbyte sealed set short sizeof stackalloc static string struct switch this throw true try typeof unit ulong unchecked unsafe ushort using value

virtual void volatile where while yield

รูปแบบการประกาศตัวแปร ตัวอยางการประกาศตัวแปรมีดังนี้

ชนิดของขอมูล ช่ือตัวแปร;

ตัวอยางการประกาศตัวแปรมีดังนี้ double x, y;

x และ y เปนชื่อของตัวแปร ที่มีชนิดขอมลูเปนจํานวนทศนิยม

นอกจากการประกาศตัวแปรตามแบบขางตนแลว เรายังสามารถกําหนดคาเริ่มตนใหกับตัวแปรนั้นๆ ไดอีกดวย โดยมีรูปแบบดังนี้

ชนิดของขอมูล ช่ือตัวแปร = คาเริ่มตน;

int i = 100;

i เปนชื่อของตัวแปร ที่มีชนดิขอมูลเปนจํานวนเต็มและมกีารกําหนดคาเริ่มตนเปน 100

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

91

การเขียนคําอธิบายโปรแกรม ในการเขียนโปรแกรมควรมีการเขียนขอความที่อธิบายการทํางานของโปรแกรมไวดวย เพื่อใหผูเขียนโปรแกรมสามารถกลับมาอานได ในกรณีที่เขียนโปรแกรมขนาดใหญ การเขียนคําอธิบายโปรแกรมนั้นทําได 2 วิธี ดังนี้ 1. ใชเครื่องหมาย /* เพื่อเปด และปดดวยเครื่องหมาย */ 2. ใชเครื่องหมาย // นําหนาขอความที่อธิบาย ไปจนถึงสิ้นสุดบรรทัดนั้น

คาคงที่ (Constants) คาคงที่เปนการอางถึงขอมูลเชนเดียวกับตัวแปร ส่ิงที่แตกตางจากตวัแปร คือ คาของมันไมสามารถ

เปลี่ยนแปลงไดอีกหลังจากการประกาศ

ในภาษาซีชารป คาคงที่ตองถูกประกาศโดยระบุชนิดขอมูลและคาตั้งตนกอนถูกนํามาใชงานเสมอ การประกาศคาคงที่จะคลายคลึงกับการประกาศตัวแปร แตกตางกันตรงที่ตองมีการระบุดวยคียเวิรด const มีรูปแบบคําสั่งดังนี้

const ชนิดของขอมูล ช่ือคาคงที่ = คาที่คาคงที่ถูกใชเปนตัวแทน;

const int a = 1;

/* a เปนชื่อของคาคงที่ ที่มีคาเทากับ 1 มีชนิดขอมูลเปนจํานวนเต็ม */

ตัวดําเนินการทางคณิตศาสตร ในภาษาซีชารป มีตัวอยางตัวดําเนินการทางคณิตศาสตร ดังนี้

ตัวดําเนนิการทางคณติศาสตร คําอธิบาย ตัวอยาง + บวก z = x + y; // z คือคา x บวก y - ลบ z = x - y; // z คือคา x ลบ y * คูณ z = x * y; // z คือคา x คูณ y / หาร z = x / y; // z คือคา x หาร y

% เศษจากการหาร z = x % y; // z คือเศษที่เหลือจาก x หาร y

ถามีการใชตัวดําเนินการมากกวาหนึ่งตัว ภาษาซีชารปจะคํานวณคาเรียงตามลําดับกอนหลังดังนี้

• ( )

• * , / และ % • + และ - • หากตวัดําเนินการมีลําดับเทาเทียมกนั คํานวณจากซายไปขวา

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

92

ตัวดําเนนิการเปรียบเทียบ ตัวดําเนินการเปรียบเทียบ ใชในการเปรยีบเทียบขอมูลสองขางของตัวดําเนินการ ซ่ึงผล การเปรียบเทยีบจะไดผลลัพธเปนจริง (True) หรือเท็จ (False) เทานั้น ตวัดําเนินการเปรียบเทียบมดีังนี้

ตัวดําเนนิการเปรียบเทียบ คําอธิบาย ตัวอยาง

= = เทากับ x = = y เปนจริงเมื่อ x = y และเปนเท็จเมื่อ x ≠ y

!= ไมเทากับ x != y เปนจริงเมื่อ x ≠y และเปนเท็จเมื่อ x = y

< นอยกวา x < y เปนจริงเมื่อ x < y และเปนเท็จเมื่อ x ≥ y

> มากกวา x > y เปนจริงเมื่อ x > y และเปนเท็จเมื่อ x ≤y

<= นอยกวาหรือเทากับ x <= y เปนจริงเมื่อ x ≤ y และเปนเท็จเมื่อ x > y

>= มากกวาหรือเทากับ x >= y เปนจริงเมื่อ x ≥ y และเปนเท็จเมื่อ x < y

ตัวดําเนนิการทางตรรกศาสตร ตัวดําเนินการทางตรรกศาสตรใชเปรียบเทียบขอมูลดานตรรกศาสตร ซ่ึงผลลัพธที่ไดจะเปนจริง (True) หรือเท็จ (False) เทานั้น มีดังนี้

ตัวดําเนนิการตรรกศาสตร คําอธิบาย ตัวอยาง

! นิเสธ (NOT) !p เปนจริง เมื่อคา p เปนเทจ็ และเปนเท็จเมื่อคา p เปนจริง

&& และ (AND) p && q เปนจริงเมื่อ p และ q เปนจริง || หรือ (OR) p || q เปนจริงเมื่อ p และ q เปนเท็จ ^ Exclusive OR p ^ q เปนจริงเมื่อ p และ q มีคาตางกัน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

93

ตัวดําเนนิการในการกําหนดคา ตัวดําเนินงานในการกําหนดคา สามารถใชในการกําหนดคาใหกับตวัแปร ตัวดําเนนิการใน การกําหนดคาดังตาราง

ตัวดําเนนิการ ในการกําหนดคา คําอธิบาย ตัวอยาง

= กําหนดคา x = y; หมายถึง นําคา y ใหกับ x += เพิ่มคาแลวกําหนดคา x += y; มีคาเทากับ x = x + y; -= ลดคาแลวกําหนดคา x -= y; มีคาเทากับ x = x - y; *= คูณแลวกําหนดคา x *= y; มีคาเทากับ x = x * y; /= หารแลวกําหนดคา x /= y; มีคาเทากับ x = x / y; %= หาเศษจากการหารแลวกําหนดคา x %= y; มีคาเทากับ x = x % y;

ตัวดําเนนิการอื่นๆ นอกจากตัวดําเนินการทีก่ลาวมาแลว ภาษาซีชารป ยังมีตัวดําเนินการอืน่ๆ อีก เชน

• + สําหรับ string คือ การนาํ string 2 คามาตอกัน (concatenate) • ++ เปนตวัดําเนินการเพิ่มคา โดยที่ x++ เทียบเทากับ x=x+1 • - เปนตวัดําเนินการลดคา โดยที่ x-- เทียบเทากับ x=x-1

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

94

ใบความรูท่ี 2.4 การทํางานและคําสั่งพื้นฐาน

หลักการทํางานของคอมพิวเตอร คอมพิวเตอรจะทํางานตามคาํสั่งที่เขียนไว โดยหลักการทํางานจะมีขัน้ตอนดังนี้

1. รับขอมูลเขา 2. ประมวลผลขอมูล 3. แสดงผลขอมูล หลักการทํางานของคอมพิวเตอรแสดงดังรูปที่ 2.4.1

รูปที่ 2.4.1 หลักการทํางานของคอมพิวเตอร ตัวอยางการคํานวณพื้นที่ส่ีเหล่ียม เขียนเปนรูปแบบตามหลักการทํางานของคอมพิวเตอรไดดังนี ้

รูปที่ 2.4.2 การคํานวณพื้นที่ส่ีเหล่ียม

การรับขอมูลเขา การทํางานของคอมพิวเตอรมีการรับขอมูลเขามาเพื่อรอการประมวลผล โดยสามารถใช Control ตางๆ ในการรับขอมูล ไดแก TextBox, RichTextBox, ListBox, ComboBox การประมวลผลขอมูล เมื่อรับขอมูลเขามาแลว คอมพิวเตอรจะทาํงานตามคําสั่งที่ไดกําหนดไว เชน คําสั่งในการกําหนดคา คําสั่งในการคาํนวณ คําสั่งในการเปรียบเทียบ

รับขอมูลเขา (Input)

ประมวลผลขอมูล (Process)

แสดงผลขอมูล (Output)

รับคาความกวาง และความยาว

คํานวณพื้นทีส่ี่เหล่ียม = ความกวาง x ความยาว

แสดงคาพื้นที่ส่ีเหล่ียม

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

95

ผลลัพธที่ได

การแสดงผลขอมูล หลังจากประมวลผลขอมูลเสร็จ แลวอาจจะมีการนําขอมูลมาแสดงผล โดยสามารถใช Control ตางๆ ในการแสดงผลขอมูล เชน Label, TextBox, ComboBox และ ListBox นอกจากนี้ยังมอีอบเจ็กต MessageBox เพื่อใชในการแสดงผลขอมูลไดเชนกัน ตัวอยางการใชคําสั่งออบเจ็กต MessageBox

ถาตองการนําขอมูลจาก textBox1 ซ่ึงเก็บขอความ “จิตรกร” มาแสดงที่ MessageBox โดยขึ้นตนประโยควา “สวัสดีคุณ ” แลวตอดวยขอความดังกลาว จะเขียนคําสั่งดงันี้ ในที่นี้เครื่องหมาย + หมายถงึการเชื่อมตอระหวาง string กับ string รูปแบบคําสั่ง

ขอความ : ขอความที่ปรากฏบนหนาตางใน MessageBox หัวขอเร่ือง : ขอความที่ปรากฏบนแถบดานบนของ MessageBox ปุม : เปนปุมที่จะใหผูใชงานเลือกกระทําหลังจากอานขอความแลว สัญรูป : เปนภาพแสดงประกอบกบัขอความ (ภาพแสดงอารมณของขอความ) DefaultButton : ใหเคอรเซอรไปรออยู ณ ตําแหนงของปุมที่ตองการ

ปุมท่ีแสดงผล

การเรียกใชงาน ปุมท่ีปรากฏ

MessageBoxButtons.AbortRetryIgnore

MessageBoxButtons.OK

MessageBoxButtons.OKCancel

MessageBoxButtons.RetryCancel

MessageBoxButtons.YesNo

MessageBoxButtons.YesNoCancel

MessageBox.Show(“สวัสดีคุณ ” + textBox1.Text);

MessageBox.Show(ขอความ [,หัวขอเรื่อง] [,ปุม] [,สัญรูป] [,DefaultButton] );

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

96

สัญรูปท่ีแสดงผล การเรียกใชงาน สัญรูปท่ีปรากฏ

MessageBoxIcon.Asterisk

MessageBoxIcon.Error

MessageBoxIcon.Exclamation

MessageBoxIcon.Hand

MessageBoxIcon.Information

MessageBoxIcon.None ไมแสดงสัญรูปใดๆ

MessageBoxIcon.Question

MessageBoxIcon.Stop

MessageBoxIcon.Warning

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

97

ใบความรูท่ี 2.5

การแปลงชนิดขอมูลและการเขียนโปรแกรมแบบลําดับ

เนื่องจากภาษาซีชารปนั้นเขมงวดเรื่องชนดิขอมูลมาก เราไมสามารถนําขอมูลตางชนิดกันมา ใชงานรวมกันได แตจะตองนํามาทําการแปลงใหเปนขอมูลชนิดเดยีวกนักอนจึงจะสามารถนํามาใชงานรวมกันได การแปลงชนิดขอมูล

เมท็อด ความหมาย ตัวอยาง int.Parse(ขอความ); แปลงขอมูลชนิดตัวอักษร

(string) ใหเปนขอมูลชนิดตัวเลขจํานวนเต็ม (int)

i = int.Parse(textBox1.Text); หมายถึงแปลงขอมูลที่รับจาก textBox1 ซ่ึงเปนขอมูลชนิด string ใหเปนขอมูลชนิดจํานวนเต็ม แลวเก็บคาในตวัแปร i หรือ i = int.Parse(“22”); หมายถึงแปลงขอมูล “22” ซ่ึงเปนขอมูลชนิด string ใหเปนตัวเลข22 แลวเก็บคาในตวัแปร i

double.Parse(ขอความ); แปลงขอมูลชนิดตัวอักษร (string) ใหเปนขอมูลชนิดตัวเลขทศนิยม (double)

i = Double.Parse(textBox1.Text); หมายถึงแปลงขอมูลที่รับจาก textBox1 ซ่ึงเปนขอมูลชนิด string ใหเปนขอมูลชนิดตัวเลขทศนิยม แลวเก็บคาในตัวแปร i หรือ i = Double.Parse(“22.45”); หมายถึงแปลงขอมูล “22.45” ซ่ึงเปนขอมูลชนิด string ใหเปนคาตัวเลข 22.45 แลวเก็บคาในตัวแปร i

ToString(); แปลงขอมูลประเภทใด ๆ ใหเปนขอมูลชนิดตัวอักษร (string)

int a = 20; textBox1.Text = a.ToString(); หมายถึง แปลงตัวเลข 20 ซ่ึงเปนขอมูลชนิดจํานวนเตม็ (int) ใหเปนขอมูลชนิดตัวอักษร แลวแสดงผลใน textbox1 (textBox จะแสดงผลไดเฉพาะขอมูลชนิด string)

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

98

เมท็อด ความหมาย ตัวอยาง DateTime.Now.Tostring(); แปลงขอมูลชนิดวนัเวลา

(DateTime) ใหเปนขอมูลชนิดตัวอักษร (string)

str1 = DateTime.Now.Tostring(); หมายถึง แปลงขอมูลวันเวลาปจจุบัน (DateTime.Now) ใหเปนขอมูลชนิดตัวอักษร แลวเก็บคาในตวัแปร str1

การเขียนโปรแกรมแบบลําดบั การเขียนโปรแกรมแบบโครงสรางเปนการเขียนโปรแกรมที่มีรูปแบบชัดเจน ไมซํ้าซอน แบงออกเปน 3 รูปแบบ คือ แบบลําดับ แบบเลือก และแบบวนซ้ํา ในที่นีจ้ะกลาวถึงการเขียนโปรแกรมแบบลําดับ การเขียนโปรแกรมแบบลําดับมีลักษณะการทํางานตามลําดับกอนหลังของคําสั่งที่เขียนไว ตัวอยางสัญลักษณผังงานที่ใชในการเขียนผังงานแบบลําดับ ตัวอยางการเขยีนผงังานโปรแกรมแบบลําดับ

เขียนโปรแกรมในการคํานวณคาพื้นที่ส่ีเหล่ียม โดยรับคาความกวาง และความยาวจากคียบอรดเขียนเปนผังงานไดดังนี ้

กําหนดคา เชน คําสั่ง BackColor = Color.Yellow;

รับเขา หรือ แสดงผล เชน MessageBox.Show(“Hello”); เปนคําสั่งแสดงผล

เร่ิมตน หรือ จบการทํางาน

แสดงทิศทางการเชื่อมโยงของผังงาน

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

99

รับคาความกวาง

รับคาความยาว

คํานวณคา พื้นที่ส่ีเหล่ียม = ความกวาง x ความยาว

จบ

เร่ิมตน

แสดงคาพื้นทีส่ี่เหล่ียม

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

100

ใบความรูท่ี 2.6 ฟงกชัน

ฟงกชัน (Function) คือ กลุมของคําสั่งที่นํามาเรียงตอกนั เพื่อการทํางานอยางใดอยางหนึ่งสามารถเรียกใชซํ้าๆ กนัไดไมจํากัดจาํนวนครั้ง ฟงกชันจะชวยใหเราแบงงานออกเปนงานยอย ๆ ในที่นี้เราจะกลาวถึงฟงกชันสําเร็จรูปในโปรแกรม Visual C# ที่มีใหเราเลือกใชไดทันที และ ตอไปนี้เราจะเรียกวา เมท็อด (method)

ฟงกชชันทางคณิตศาสตร ฟงกชันทางคณิตศาสตร คือ ฟงกชันที่ใชในการคํานวณคาทางคณิตศาสตรอยางใดอยางหนึ่ง โดย มีเมท็อดที่ใชดงันี้

เมท็อด ความหมาย ตัวอยาง Math.Pow(ฐาน, เลขชี้กําลัง) หาคายกกําลัง (Power) Math.Pow(x,2) หมายถึงหาคา x2 Math.Sqrt(ตัวเลข) หาคารากที่สอง

(Square Root) Math.Sqrt(x) หมายถึงหาคารากที่สองของ x

Math.Abs(ตัวเลขทศนิยม) หาคา Absolute Math.Abs(x) หมายถึง หาคา |x| Math.PI หาคา ¶ Math.PI มีคา 22 ÷ 7 นั่นเอง Math.Sin(มุมที่มีคาเปนเรเดยีน) หาคา sine Math.Sin(x) หมายถึง หาคา sin(x) Math.Cos(มุมที่มีคาเปนเรเดยีน) หาคา cosine Math.Cos(x) หมายถึง หาคา cos(x) Math.Tan(มุมที่มีคาเปนเรเดยีน) หาคา tangent Math.Tan(x) หมายถึง หาคา tan(x) Math.BigMul(จํานวนเต็มตวัที่ 1, จํานวนเต็มตวัที่ 2)

หาคาผลคูณของตัวเลข 2 ตัว Math.BigMul(x,y) หมายถึง หาคาผลคูณของ x กับ y (x x y)

Math.Ceiling(ตัวเลขที่มีทศนิยม) หาคาจํานวนเต็มที่ถูกปดขึ้นมาจากการมีทศนิยม

Math.Ceiling(10.02) จะไดผลลัพธคือ 11 จะปดขึ้นทั้งหมดโดยไมสนใจทศนิยม

Math.Floor(ตวัเลขที่มีทศนิยม)

หาคาจํานวนเต็มที่ถูกปดลงจากการมีทศนยิม

Math.Floor(10.99) จะไดผลลัพธ คือ 10 จะปดลงทัง้หมดโดยไมสนใจทศนิยม

Math.Truncate(ตัวเลขที่มีทศนิยม)

หาคาจํานวนเต็มที่ถูกปดลงจากการมีทศนยิม

Math.Truncate(10.99) จะไดผลลัพธคือ 10 เชนเดยีวกับ Math.Floor(10.99) จะปดทศนิยมทิ้งไปเหลือแตจาํนวนเต็ม

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

101

เมท็อด ความหมาย ตัวอยาง Math.Round(ตัวเลขที่มีทศนิยม) หาคาจํานวนเต็ม โดยจะปด

ขึ้นเมื่อมีคา >0.5 แตถาเลขที่เปนจุดทศนิยมมีคา 0.5 พอดี จะขึ้นกับตัวเลขจํานวนเต็มวาเปนเลขคูหรือเลขคี่ หากเปนเลขคูจะปด .5 ทิ้งไป แตถาเปนเลขคี่ จะปด .5 ขึ้น

Math.Round(10.4) ผลลัพธคือ 10 Math.Round(10.7) ผลลัพธคือ 10 Math.Round(10.5) ผลลัพธคือ 10 Math.Round(11.3) ผลลัพธคือ 11 Math.Round(11.5) ผลลัพธคือ 12 Math.Round(11.6) ผลลัพธคือ 12

Math.Round(ตัวเลขที่มีทศนิยม, จํานวนตําแหนงทศนิยมที่ตองการ)

หาคาจํานวนทศนิยมที่มีตําแหนงทศนยิมตามตองการ

Math.Round(23.1243565, 2) จะไดผลลัพธคือ 23.12 Math.Round(62.57879821, 4) จะได ผลลัพธคือ 62.5788 Math.Round(11.555, 2) จะไดผลลัพธคือ 11.56 (เนือ่งจากตัวกอนหนาเปนเลขคี่จึงปดไปหาเลขคู) Math.Round(11.565, 2) จะไดผลลัพธ คือ 11.56 (เนือ่งจากตัวกอนหนาเปนเลขคูจึงปดทิ้ง)

ฟงกชนัเกี่ยวกับ string

ฟงกชันเกี่ยวกบั string คือ ฟงกชันที่ใชในการจัดการเกีย่วกับขอความอยางใดอยางหนึ่ง โดยมี เมท็อดที่ใชดังนี้

เมท็อด ความหมาย ตัวอยาง Length นับจํานวนอักขระภายใน string len1 = str1.Length;

len1 คือจํานวนตัวอักขระทัง้หมดของ str1

ToLower เปลี่ยนตัวอักษรใหเปนตวัอักษรเล็กทั้งหมด

str2 = str1.ToLower(); str2 คือผลลัพธที่เปนอักษรตัวเล็กทั้งหมด

ToUpper เปลี่ยนตัวอักษรใหเปนตวัอักษรใหญทั้งหมด

str2 = str1.ToUpper(); str2 คือผลลัพธที่เปนอักษรตัวใหญ

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

102

เมท็อด ความหมาย ตัวอยาง ทั้งหมด

StartsWith ตรวจสอบวาเริ่มตนดวยขอความที่กําหนดหรือไม

result1 = str1.StartsWith(str2); result1 คือผลลัพธที่ 1. ใหผลเปน true หาก str1 ขึ้นตนดวย str2 2. ใหผลเปน false หาก str1 ไมขึ้นตนดวย str2

Compare ตรวจสอบ string 2 คา วาเหมือนกันหรือไม

result1 = String.Compare(str1,str2); result1 คือผลลัพธที่ 1. ใหผลลัพธเปน 1 เมื่อ str1 มีคารหัสแอสกีมากกวา str2 2. ใหผลลัพธ เปน 0 เมื่อ str1 มีคารหัสแอสกีเทากับ str2 (เปนขอความที่เหมือนกนัทุกตัวอักษร) 3. ใหผลลัพธ เปน -1 เมื่อ str1 มีคารหัสแอสกีนอยกวา str2

Replace แทนที่ string ดวย string อีกตัว ใน string ที่ระบุ

str4 = str1.Replace(str2,str3); Str4 คือผลลัพธที่เปลี่ยนขอความใน str1 ในจุดที่มขีอความตรงกบั str2 ใหเปลี่ยนเปน str3 หรือ str2 = str1.Replace("in","me"); str2 คือผลลัพธที่เปลี่ยนขอความใน str1 ในจุดทีม่ีขอความวา in ใหเปลี่ยนเปน me

Remove ตัด string ในตําแหนงที่ตองการทิ้ง str2 = str1.Remove(3); str2 คือผลลัพธที่ตัดขอความตั้งแตตําแหนงที่ 4 ทิ้งไป str2 = str1.Remove(4,2); str2 คือผลลัพธที่ตัดขอความตําแหนงที่ 5 และ 6 ออกไป

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

103

เมท็อด ความหมาย ตัวอยาง Insert แทรก string ในตําแหนงที่ตองการเขาไป str3 = str1.Insert(3,str2) ;

str3 คือผลลัพธที่แทรก str2 ในตําแหนงที่ 4 ของ str1 หรือ str2 = str1.Insert(3,”im”) ; str2 คือผลลัพธที่แทรกขอความวา im ลงในตําแหนงที่ 4 ของ str1

SubString บางสวนของ string str2 = str1.SubString(4,3); str2 คือผลลัพธที่เปลี่ยนขอความ str1 ใหเหลือแตตัวอักษรตําแหนงที่ 5 นับไป 3 ตัว

Trim ตัดขอความที่เปน space สวนหัวและสวนทายออก

str2 = str1.Trim(); str2 คือผลลัพธที่ตัด space ทั้งสวนหนาและสวนหลังของ str1 ทิ้งไป

TrimStart ตัดขอความที่เปน space สวนหัวออก str2 = str1.TrimStart(); str2 คือผลลัพธที่ตัด space สวนหนา str1 ทิ้งไป

TrimEnd ตัดขอความที่เปน space สวนทายออก str2 = str1.TrimEnd(); str2 คือผลลัพธที่ตัด space สวนหลัง str1 ทิ้งไป

เอกสารคายยุวคอมพิวเตอร การเขียนโปรแกรม C# ฉบับผูเรียน กิจกรรมที่ 2 โครงสรางภาษา Visual C# และโปรแกรมแบบลําดับ

สาขาคอมพิวเตอร สถาบันสงเสริมการสอนวิทยาศาสตรและเทคโนโลยี

104

ฟงกชนัเกี่ยวกับเวลา ฟงกชันเกี่ยวกบัเวลา คือ ฟงกชันที่ใชในการจัดการเกีย่วกับเวลา โดยมีเมท็อดที่ใชดังนี้

เมท็อด ความหมาย ตัวอยาง

DateTime.Now ใหคาทั้งวนัเดอืนป และเวลา ปจจุบัน ตามนาฬิกาของเครื่อง

DateTime dt; dt=DateTime.Now; หมายถงึใหนําคาวันเดอืนปและเวลาปจจุบันมาเก็บไวในตัวแปร dt เชน 16/10/2552 16:38:10

DateTime.Now.ToShortDateString() เปนการหาวันเดือนปปจจุบนัตามนาฬกิาของเครื่องแบบ ShortDate

ถาวันเดือนปและเวลาปจจุบนั คือ16/10/2552 16:38:10 จะได 16/10/2552

DateTime.Now.ToLongDateString() เปนการหาวันเดือนปปจจุบนัตามนาฬกิาของเครื่องแบบ LongDate

ถาวันเดือนปและเวลาปจจุบนั คือ16/10/2552 16:38:10 จะได 16 พฤศจิกายน 2552

DateTime.Now.ToShortTimeString() เปนการหาเวลาปจจุบันตามนาฬิกาของเครื่องแบบ ShortTime

ถาวันเดือนปและเวลาปจจุบนั คือ16/10/2552 16:38:10 จะได 16:38

DateTime.Now.ToLongTimeString() เปนการหาเวลาปจจุบันตามนาฬิกาของเครื่องแบบ LongTime

ถาวันเดือนปและเวลาปจจุบนั คือ16/10/2552 16:38:10 จะได 16:38:10

DateTime.Now.ToShortDateString() เปนการหาวันเดือนปปจจุบนัตามนาฬกิาของเครื่องแบบ ShortDate

ถาวันเดือนปและเวลาปจจุบนั คือ16/10/2552 16:38:10 จะได 16/10/2552

DateTime.Now.ToLongDateString() เปนการหาวันเดือนปปจจุบนัตามนาฬกิาของเครื่องแบบ LongDate

ถาวันเดือนปและเวลาปจจุบนั คือ16/10/2552 16:38:10 จะได 16 พฤศจิกายน 2552