Power Point เรื่อง โครงสร้างภาษา Visual C# และโปรแกรมแบบ - UN-KM

Download Report

Transcript Power Point เรื่อง โครงสร้างภาษา Visual C# และโปรแกรมแบบ - UN-KM

โครงสรางภาษา
้
Visual C#
และโปรแกรมแบบลาดับ
L/O/G/O
วัตถุประสงคการ
์
เรียนรู้
1. เข้าใจโครงสร้างส่วนต่าง
การเขียนโปรแกรม
ๆ ใน
2. ประกาศและใช้งานตัวแปรได้
3. เขี ย นค าสั่ งรับ เข้ า ประมวลผล
และแสดงผลข้อมูล
4. วิ เ ค ร า ะ ห ์ ห ลั ก ก า ร ท า ง า น ข อ ง
โปรแกรมและเขีย น
ผัง งาน
โปรแกรมแบบลาดับ
5. ใช้ งานฟั ง ก ์ชั น ทางคณิ ต ศาสตร ์
ฟัง ก ชั
และ
์ น เกี่ย วกับ string
ฟังกชั
่ วกับเวลา
์ นเกีย
มารู้จักกับ
โครงสราง
้
ภาษา Visual
C#
กันเถอะครับ
เพือ
่ น ๆ
โครงสรางภาษา
Visual
C#
้
L/O/G/O
โครงสรางภาษา
้
Visual C#
 class
 Header
 class
namespace 
class 
 class namespace

constructor 
method 
 statement
โครงสรางภาษา
้
Visual C#
 class
 Header
 class
namespace 
class 
 class namespace

constructor 
method 
 statement
เฉลยใบงานที่ 2.1
12 class
1 header
11 class
namespace
2
10 class
9 namespace
class 3
constructor 4
method 5
method 6
8 statement
7 statement
เฉลยใบงานที่ 2.1
1. ให้เขียนหมายเลข 1 – 12 ลงในช่องวางหลั
งขอความ
่
้
ตอไปนี
้ (บางขอความอาจมี
มากกวา่ 1 หมายเลข)
่
้
ตอบถูกกัน
1.1 header คือหมายเลข 1
รึเปล่าเอ่ย?
1.2 namespace คือหมายเลข 2, 9
1.3 class คือหมายเลข 3, 10, 11, 12
1.4 constructor คือหมายเลข 4
1.5 method คือหมายเลข 5, 6
1.6 statement
คือหมายเลข 7, 8
2. ตอบคาถามตอไปนี
้
่
2.1 หมายเลข 2 คือ
namespace ชือ
่
WindowFormsApplication1
โครงสรางภาษา
Visual C# (ตอ)
้
่
มีอยู่ 3 ส่วนหลัก ๆ คือ
1. namespace
มีไดมากกว
า่ 1 namespace
้
2. class
มีไดมากกว
า่ 1 class
้
3. method
มีไดมากกว
า่ 1 method
้
ตอไป…
เราจะมา
่
ทาความรูจั
้ กกับอี
เวนต ์ (event) กัน
ครับ
รูจั
ก
กั
บ
อี
เ
วนต
(event)
้
์
L/O/G/O
รูจั
้ กกับอีเวนต ์ (event)
 มีการทางานในลักษณะทีเ่ รียกวา่ Event
Driven คือ มีการทางานทีต
่ อบสนองตอ
่
ารณต
ๆ
์ าง
่ Visual
 เหตุ
มีลก
ั กษณะเป็
น
คือ การมองเห็ นได
้
เช่น ปุ่ม (button) ทีว่ างอยูบน
Form จะ
่
่ เขียน
มีเหตุการณ์ คือ คลิกปุ่มเพือ
โปรแกรมในส่วนของ method ทีช
่ อ
ื่ วา่
button1_click เป็ นตน
้
รูจั
้ กกับอีเวนต ์ (event)



หมายเลข  คือ ปุ่ม event ของวั
ตถุน้น
ั ๆ
แตละชนิ
ดจะมี
event แตกตางกั
นไป
่
่
หมายเลข  คือ event ชือ
่ Click
หมายเลข  คือ คาอธิบาย event ทีเ่ ลือก
ข้อความ Occurs when the
component is clicked.
ตัวอยางการใช
่
้
ของ button
event ชือ
่ click

1. สร้าง Form และคลิกทีป
่ ่ ุมทักทาย ดัง
หมายเลข  เพือ
่ เลือกปุ่ม button1 ใช้ในการ
เขียนโปรแกรมใน event
ตัวอยางการใช
event ชือ
่
่
้
click ของ button


2. เลือก event ดังหมายเลข  แลวดั
้ บเบิลคลิกที่
event ชือ
่ click
ดังหมายเลข 
ตัวอยางการใช
event ชือ
่
่
้
click ของ button

3. พิมพค
่ click ดังหมายเลข
์ าสั่ งใน event ชือ

4. แลวท
่ ่ม
ุ
้ าการรันโปรแกรม โดยคลิกทีป
ตัวอยางการใช
event ชือ
่
่
้
click ของ button

5. จะได้ Form ดังรูป จากนั้นทาการป้อนชือ
่
า่ หนูด ี
ของนักเรียนลงไป ในทีน
่ ี้พม
ิ พข
้
์ อความว
ดังหมายเลข 
ตัวอยางการใช
event ชือ
่
่
้
click ของ button
6. จะปรากฏหน้าตาง
ไดอะล็อก แสดง
่
ข้อความวา่ สวัสดี หนูด ี
ดังรูป
ทาความรูจั
้ ก
ชนิดของขอมู
้ ล ตัว
แปร
และตัวดาเนินการ
ของ
ภาษาซีชารป
์ (C#)
กันนะครับ
ล
ตั
ว
แปร
ชนิดของขอมู
้
และตัวดาเนินการ
L/O/G/O
ชนิดขอมู
้ ล (Data Types) ในภาษาซี
ชาร
ป

ในภาษาซี
ชารป
์ (C#)
์ กาหนดชนิดขอมู
้ ลไว้
หลากหลายชนิดเพือ
่ รองรับ
การจั
ลหลายๆ
ประเภท ขอบเขตข
ดังตาราง
ชนิด ดเก็บขอมู
บาย
อมู
้ คาอธิ
้ ล
ข้อมูล
sbyte
short
int
long
byte
จานวนเต็มทัง้ บวกและลบ
ขนาด 8 บิต
จานวนเต็มทัง้ บวกและลบ
ขนาด 16 บิต
จานวนเต็มทัง้ บวกและลบ
ขนาด 32บิต
จานวนเต็มทัง้ บวกและลบ
ขนาด 64 บิต
จานวนเต็มบวก ขนาด 8
-128 ถึง 127
-32,768 ถึง 32,767
-2,147,483,648 ถึง
2,147,483,647
-263 ถึง 263 -1
0 – 255
ชนิดขอมู
้ ล (Data Types) ในภาษาซี
ชารป
่
์ (C#) (ตอ)
ชนิด
ข้อมูล
float
คาอธิบาย
จานวนทศนิยม ขนาด
32 บิต
double จานวนทศนิยม ขนาด
64บิต
bool
ข้อมูลชนิดตรรกะ
ขอบเขตขอมู
้ ล
คาลบ
-3.4 x 1038 ถึง ่
1.4 x 10-45
-45 ถึง
คาบวก
1.4
x
10
่
3.4 x 1038
คาลบ
-1.8 x 10308 ถึง ่
4.9 x 10-324
-324 ถึง
คาบวก
4.9
x
10
่
1.8 x 10308
มี 2 คา่ คือ คาจริ
ง
่
(true) และคาเท็
่ จ (false)
การตัง้ ชือ
่


ทัง้ เมท็อด คลาส เนมสเปส ต้องมีการตัง้ ชือ
่
กากับ
ในภาษา C# มีกฎการตัง้ ชือ
่ ดังนี้
 อักษรตัวแรกขึน
้ ตนด
กษรภาษาอังกฤษ
้ วยอั
้
(A-Z, a-z) หรือเครือ
่ งหมายขีดเส้นใต้ (_)
เทานั
่ ้น
 ตัวระบุ (ชือ
่ ตัวแปร, ชือ
่ คาคงที
)่
่
ประกอบดวยอั
กษรภาษาอังกฤษ ตัวเลข
้
หรือ เครือ
่ งหมายขีดเส้นใต้ (_) เทานั
่ ้น
 ความยาวสูงสุด 63 ตัวอักษร
 ตัวระบุตองไม
ซ
 (reserved
้
่ า้ กับคาสงวน
words) เช่น class, namespace

คาสงวน (reserved word)
• คาเหลานี
่ ในภาษา C#
่ ้ห้ามนาไปใช้เป็ นชือ
ใบงานที่ 2.3
คาสั่ ง พิจารณาชือ
่ ตัวแปรตอนี
่ ้วาถู
่ กต้องตามกฎเกณฑการ
์
ตัง้ ชือ
่ หรือไม่ พร้อมทัง้ อธิบายเหตุผล หากชือ
่ นั้นถูก
ตัง้ ไมถู
กฎเกณฑ
วระบุ
เหตุผล
่ ชืกอ่ ตั
์ ใช้ได้
หรือไม่
m&n
_id
StudentID
class
456_student
sum area
Score%
total
Area
No.
เฉลยใบงานที่ 2.3
คาสั่ ง พิจารณาชือ
่ ตัวแปรตอนี
่ ้วาถู
่ กต้องตามกฎเกณฑการ
์
ตัง้ ชือ
่ หรือไม่ พร้อมทัง้ อธิบายเหตุผล หากชือ
่ นั้นถูก
ตัง้ ไมถู
กฎเกณฑ
่ ตั
วระบุ
เหตุผล
่ชือก
์ ใช้ได้
m&n
_id
หรือไม่
ไมได
่ ้
ได้
ประกอบดวยอั
กขระพิเศษ
้
-
StudentID
class
456_student
ได้
ไมได
่ ้
ไมได
่ ้
คาสงวน
ต้องขึน
้ ตนด
วอักษร
้ วยตั
้
ภาษาอังกฤษ หรือ _
sum area
Score%
total
ไมได
่ ้
ไมได
่ ้
ได้
มีช่องวางระหว
างค
า
่
่
ประกอบดวยอั
กขระพิเศษ
้
-
Area
ได้
-
ตัวแปร
ตัว แปร(Variables)
เป็ นการอ้ างอิง ถึง ข้ อมู ล
โดยค่า
ของตัวแปร สามารถเปลีย
่ นแปลงไดตลอดเวลาที
่
้
โปรแกรมกาลังทางานอยู่ ในภาษาซีชารป
์
ตัวแปรทุกตัวต้องถูกประกาศกอนที
จ
่ ะนาไปถูกใช้
่
งาน โดยมีการระบุชนิดข้อมูลทีจ
่ ะใช้กับตัวแปร
นั้น การประกาศตั
ๆ ไว้
วแปรแบบไมมี
่ คา่
เริม
่ ชนิ
ตน
้ ดของขอมู
ชือ
่ ตัว
้ ล
แปร;
่ ตน
 การประกาศตั
วdouble
แปรแบบมี
ตัวอยาง
x,คy;าเริ
้
่ ม
่
ชนิดของขอมู
ชือ
่ ตัว
้ ล
น;
ม
่ ตint
แปร
คาเริ
้ i = 100;
่
ตัวอย=าง
่
การเขียนคาอธิบายโปรแกรม
การเขีย นค าอธิบ ายโปรแกรม ท าได้ 2 วิธ ี
ดังนี้
1
• ใช้เครือ
่ งหมาย /* เพือ
่ เปิ ด
และปิ ดดวยเครื
อ
่ งหมาย */
้
2
• ใช้เครือ
่ งหมาย // นา
หน้าขอความที
อ
่ ธิบาย
้
จนถึงสิ้ นสุดบรรทัดนั้น
ไป
คาคงที
่ (Constants)
่



คาคงที
่ เป็ นการอางอิ
งถึงขอมู
่
้
้ ล
เช่นเดียวกับตัวแปร
แตกตางจากตั
วแปร คือ คาของมั
นไม่
่
่
สามารถเปลีย
่ นแปลงไดอี
้ กหลังจากการ
ประกาศ
การประกาศคาคงที
่
่
const ชนิดของขอมู
ชือ
่ คาคงที
่ = คาที
้ ล
่
่ ่
คาคงที
ถ
่ ูกใช้เป็ นตัวแทน;
่ตัวอยาง
const int a = 1;
่
const double b =
1.5;
ตัวดาเนินการทางคณิตศาสตร ์
ตัวดาเนินการ
ทาง
คณิตศาสตร ์
+
คาอธิบาย
-
ลบ
*
คูณ
/
หาร
บวก
ตัวอยาง
่
z = x + y; // z คือคา่
บวก y
z = x – y; // z คือคา่
ลบ y
z = x * y; // z คือคา่
คูณ y
z = x / y; // z คือคา่
หาร y
x
x
x
x
ลาดับการคานวณ (Precedence
Rules)
()
* , / และ %
+ และ หากตัวดาเนินการมีลาดับ
เทาเที
คานวณจากซ้ายไปขวา
่ ยมกัน
ลาดับการคานวณ (Precedence
Rules)
1. ( )
2. *, / , %
3. +, –
4. ซ้ายไปขวา
 ตัวอยาง
่
10 * 5 + (16 *
12)/5 10 * 5 + 192 / 5
50 + 192 / 5
50 + 38.4
88.4
ตัวดาเนินการเปรียบเทียบ
ใช้ในการเปรียบเทียบขอมู
ว
้ ลสองขางของตั
้
ดาเนินการ
 ตัว
ผลการเปรี
ยบเที
ยบจะไดผลลั
พธเป็
ง (True)
้
์ ตันจริ
คาอธิ
บาย
วอยาง
่
อเท็จ (False) เทานั
่ ้น
ดาเนิหรื
นกา
ร
เปรียบเที
ยบ

==
เทากั
่ บ
!=
ไมเท
่ ากั
่ บ
<
น้อยกวา่
มากกวา
x == y เป็ นจริงเมือ
่ x = y และเป็ น
เท็จเมือ
่ x≠y
x != y เป็ นจริงเมือ
่ x ≠ y และเป็ น
เท็จเมือ
่ x= y
x < y เป็ นจริงเมือ
่ x < y และเป็ น
เท็จเมือ
่ x≥y
x > y เป็ นจริงเมือ
่ x > y และเป็ น
ตัวดาเนินการทางตรรกศาสตร ์
ใช้ในการเปรียบเทียบขอมู
้ ลทางดาน
้
ตรรกศาสตร ์
 ผลลัพธที
ไ่ ดจะเป็
นจริง (True) หรือเท็จ
์
้
ตั(False)
ว
คาอธิ
บ
าย
ตั
ว
อย
าง
่
เทานั
้
น
่
ดาเนินกา
ร
ตรรกศาส
ตร ์
นิเสธ !p เป็ นจริง เมือ
่ คา่ p เป็ น
!
(NOT) เท็จ และเป็ นเท็จเมือ
่ คา่ p
เป็ นจริง
และ
p && q เป็ นจริงเมือ
่ p
&&

ตัวดาเนินการในการกาหนดคา่

ใช้ในการกาหนดคาให
่
้กับตัวแปร
ตัว
ดาเนินการ
ในการ
กาหนดคา่
=
+=
-=
*=
คาอธิบาย
กาหนดคา่
ตัวอยาง
่
x = y; หมายถึง นาคา่
y ให้กับ x
เพิม
่ คาแล
ว
x += y; มีคาเท
่
้
่ ากั
่ บ x=
กาหนดคา่
x + y;
ลดคาแล
วก
่
้ าหนดคา่ x -= y; มีคาเท
่ ากั
่ บ x=
x - y;
คูณแลวก
้ าหนดคา่ x *= y; มีคาเท
่ ากั
่ บ x=
x * y;
ตัวดาเนินการอืน
่ ๆ
+
++
--
 เครือ
่ งหมาย สาหรับ string คือ การนา
อกั
string 2 คามาต
่ น
่
 เครือ
่ งหมาย
เป็ นตัวดาเนินการเพิม
่ คา่ โดยท
X++
เที
ย
บเท
ากั
บ
x=x+1
่
 เครือ
่ งหมาย
เป็ นตัวดาเนินการลดคา่
โดยที่
x-- เทียบเทากั
่ บ x = x-1
เฉลยใบงานที่ 2.3
คาสั่ ง พิจารณาชือ
่ ตัวแปรตอนี
่ ้วาถู
่ กต้องตามกฎเกณฑการ
์
ตัง้ ชือ
่ หรือไม่ พร้อมทัง้ อธิบายเหตุผล หากชือ
่ นั้นถูก
ตัง้ ไมถู
่ ชืกอ่ กฎเกณฑ
์ ใช้ได้
ตัวระบุ
เหตุผล
XXX
$$$
_Y
string
i_j
Student ID
HelloWorld!
first-time
null
หรือไม่
ได้
ไมได
่ ้
ได้
ไมได
่ ้
ได้
ไมได
่ ้
ไมได
่ ้
ไมได
่ ้
ไมได
่ ้
ประกอบดวยอั
กขระพิเศษ
้
คาสงวน
มีช่องวางระหว
างค
า
่
่
ประกอบดวยอั
กขระพิเศษ
้
ประกอบดวยอั
กขระพิเศษ
้
คาสงวน
เฉลยใบงานที่ 2.3 (ตอ)
่
คาสั่ ง พิจารณาชือ
่ ตัวแปรตอนี
่ ้วาถู
่ กต้องตามกฎเกณฑการ
์
ตัง้ ชือ
่ หรือไม่ พร้อมทัง้ อธิบายเหตุผล หากชือ
่ นั้นถูก
ตัง้ ไมถู
่ กกฎเกณฑ ์
ชือ
่ ตัวระบุ
123Class
ใช้ได้
หรือไม่
ไมได
่ ้
Section3
w*h
do
ได้
ไมได
่ ้
ไมได
่ ้
เหตุผล
ต้องขึน
้ ตนด
วอักษร หรือ _
้ วยตั
้
ประกอบดวยอั
กขระพิเศษ
้
คาสงวน
ใบงานที่ 2.3
2. เขียนคาสั่ งประกาศตัวแปรชือ
่ x ทีม
่ ช
ี นิดขอมู
้ ลเป็ น
float โดยไมมี
่ ต้ น
่ การกาหนดคาเริ
่ ม
ตอบ float x;
3. เขียนคาสั่ งประกาศตัวแปรชือ
่ myName ทีม
่ ช
ี นิด
ข้อมูลเป็ น string โดยไมมี
่ ต้ น
่ การกาหนดคาเริ
่ ม
ตอบ string myName;
4. เขียนคาสั่ งประกาศคาคงที
ช
่ อ
ื่ PI ทีม
่ ช
ี นิดข้อมูลเป็ น
่
double
เพื
อ
่ ใช้แทนค
า่ double
3.1415926535
ตอบ
const
PI =
3.1415926535;
ใบงานที่ 2.3
5. เขียนคาสั่ งเพือ
่ ประกาศตัวแปรหรือคาคงที
ต
่ ามที่
่
กาหนดให้
โดยเลือกใช้ชนิดของขอมู
้ ลทีเ่ หมาะสม
5.1 คาคงที
ช
่ อ
ื่ MY_AGE เพือ
่ ใช้แทนอายุปจ
ั จุบน
ั ของ
่
นัตอบ
กเรียนconst int MY_AGE = 17;
5.2 ตัวแปรชือ
่ saving เพือ
่ ใช้เก็บเงินสะสมของพอลลา่
ตอบ float saving;
5.3 ตัวแปรชือ
่ temp_c เพือ
่ เก็บคาอุ
ิ ริเวณขัว้ โลก
่ ณหภูมบ
เหนื
อเป็float
นองศาเซลเซี
ยส
ตอบ
temp_c;
5.4 คาคงที
ช
่ อ
ื่ NAME เพือ
่ ใช้แทนชือ
่ เต็มของนักเรียน
่
เอง
ตอบ const string Name =
ใบงานที่ 2.3
6. หาผลลัพธจากการใช
ๆ โดย
้ตัวดาเนินการแบบตาง
่
์
กาหนดคาเริ
่ ต้นให้
่ ม
a=3
x = “3”
b = 2 ผลลัพyธ=
“2”
6.1 a%b
คื
อ
์ 1
ทากันถูกทุกขอ
้
6.2 a>=b ผลลัพธคื
์ อTrue
รึเปลาเอ
่ ย???
่
6.3 a+=b ผลลัพธของ
a5 คือ
์
6.4 a/=b ผลลัพธของ
a1.5
คือ
์
6.5 a++ ผลลัพธของ
a4 คือ
์
6.6 b-ผลลัพธของ
b คือ
์1
6.7 x+y
ผลลัพธของ
string คือ
์ “32”
สรุปความรู้


โครงสรางของภาษาซี
ชารป
้
์ ประกอบดวย
้
อะไรบ
าง?
ตอบ มี้ อยู่ 3 ส่วนหลัก ๆ ดังนี้
1. namespace 2. class 3.
method
หลักเกณฑการตั
ง้ ชือ
่ ตัวแปรมีอะไรบาง?
์
้
ตอบ 1. อักษรตัวแรกขึน
้ ตนด
กษร
้ วยอั
้
ภาษาอังกฤษ หรือเครือ
่ งหมาย
ขีดเส้น
ใต้ (_) เทานั
่ ้น
2. ตัวระบุ (ชือ
่ ตัวแปร, ชือ
่ คาคงที
)่
่
ประกอบดวยอั
กษร
้
ภาษาอังกฤษ ตัวเลข หรือ เครือ
่ งหมายขีด
เส้นใต้ (_) เทานั
่ ้น
สรุปความรู้

ถ้าข้อมูลทีป
่ ้ อนเป็ นเลขจานวนเต็มตอง
้
ประกาศตั
ว
แปรเป็
นอะไร?
ตอบ int

ถ้าข้อมูลทีป
่ ้ อนเป็ นเลขจานวนจริงตอง
้
ประกาศตั
วแปรเป็ นอะไร?
ตอบ
double
หลังจากทีเ่ ราไดเรี
้ ยนรูกั
้ นไปแลว…
้
เพือ
่ นๆ อยาลื
่ มกลับไปทบทวนกันนะครับ
แลวพบกั
นใหมครั
้
่ ง้ หน้าครับ…บ๊ายบาย