ตอนที่ี88 - ami8... · 2013-08-13 · 1. introduction about visual c# •...

Post on 05-Feb-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ตอนทตอนท 88

การเขยนโปรแกรมเบองตนการเขยนโปรแกรมเบองตนการเขยนโปรแกรมเบองตนการเขยนโปรแกรมเบองตน

D r . A n a k k a p o n S a e n t h o n

K i n g M o n g k u t ' s I n s t i t u t e o f T e c h n o l o g y L a d k r a b a n g

Overview

1. Introduction about Visual C#

2. โครงสรางของโปรแกรม

3. การกาหนดตวแปรและขอมล

4. ประเภทของขอมลในภาษา C#

5. ตวอยางการเขยนโปรแกรมอยางงาย

1. Introduction about Visual C#

• ภาษา C# เปนภาษาโปรแกรมเชงวตถ (object-oriented

programming language) ทถกพฒนาขนมาโดยบรษทไมโครซอฟตprogramming language) ทถกพฒนาขนมาโดยบรษทไมโครซอฟต

ป ใ ป • เปนภาษาใหมทมประสทธภาพการทางานเทยบเทาหรอเหนอกวา C++

แตไมยงยากและซบซอนเทา

• โดยสามารถใชงานไดงายเหมอนภาษา Visual Basic ทาใหสามารถพฒนา

แอพพลเคชนในระดบสงไดดยงกวาการใชภาษา Visual Basic

3

Visual Studio 2010

Double l kClick

4

1. สวนประกอบหนาตางโปรแกรม

5

Windows Windows Windows Windows

FormsForms

Console Console

ApplicationApplicationApplicationApplicationVisual C#Visual C#

6

Menu barToolbar Toolbox

Solution

ExplorerExplorerForm design

7

Form codeForm code

8

IDE (Integrated Development Environment)

• IDE – Integrated Development Environment คอ สภาพของการพฒนาโปรแกรมโดยรวมทง Editor , Complier , Debugger ตลอดจนเครองมอทใชในการออกแบบ และตดตอฐานขอมล ประกอบดวยสวนตางๆ ดงนออกแบบ แล ตดตอฐานขอมล ปร กอบดวยสวนตางๆ ดงน

• เมนบาร (Menu Bar) : สวนทใชเกบคาสง โดยแบงแยกเปนหมวดหมอยางชดเจน

• ทลบาร (Toolbar) :สวนทใชเกบปมคาสงลดตางๆ ๆ

• ทลบอกซ (Toolbox): สวนทใชเกบคอนโทรล/คอมโพเนนตเพอการสรางแอพพลเคชน

• Form Designer : สวนทใชในการออกแบบหนาตาของแอพพลเคชน

• Properties Window : สวนทใชกาหนดคณสมบตของ Object และ Control ชนดตางๆ

• Solution Explorer : สวนทใชเกบองคประกอบตางๆ ของSolution (Solution จะประกอบไปดวยไฟลชนดตางๆ ทจาเปนตอการทางานและควบคมแอพพลเคชน)

• C d Edit สวนทเราใชเขยนโปรแกรมเพอสงงานแอพพลเคชน• Code Editor : สวนทเราใชเขยนโปรแกรมเพอสงงานแอพพลเคชน

ตวอยางการสรางแอพพลเคชนแบบ Console

• แอพพลเคชนแบบ Console คอ การแสดงผลการทางานในโหมดของดอส ซงรบ

คาสงดวยการพมพคาสงคาสงดวยการพมพคาสง

• ตวอยาง

ตวอยางการสรางแอพพลเคชนแบบ Windows Application

• แอพพลเคชนแบบ Windows Application คอ การรนโปรแกรมบน

ระบบปฏบตการ Windows

• ตวอยาง

Dr. Anakkapon Saenthon (30/11/2555) 11

2. โครงสรางของโปรแกรม Visual C#

รปแบบ Class <Identifier> {…….}

namespace MyProgram {

class MyProgramClass {

static void Main () {

System.Console.WriteLine(“My program");

System Console ReadLine();System.Console.ReadLine();

}

}

} • method Main

• method จะตองอยใน class

• class จะตองอยใน namespace

2. โครงสรางของโปรแกรม Visual C#

Separators

ตวแบงแยก อาจเปนสญลกษณหรอตวอกษร ใชสาหรบจดกลมคาหรอแบงแยกคา เชน ในโปรแกรมภาษา C# ใชคา เชน ในโปรแกรมภาษา C# ใช

1) { } ใชจดกลมบลอก

2) ( ) ตอทาย th d หรอ F ti ใชสาหรบใสพารามเตอร 2) ( ) ตอทาย method หรอ Functionใชสาหรบใสพารามเตอร

3) [ ] ใชระบอารเรย

ใ 4) ; ใชระบ จบคาสง (end of statement)

5) , ใชคนระหวางตวแปร

6) . ใชแยกชอออบเจกต

13

• โครงสรางของโปรแกรม C#

2. โครงสรางของโปรแกรม Visual C#

• โครงสรางของโปรแกรม C#

โปรแกรมจะประกอบดวยหลาย namespaces

Namespace ประกอบดวยหลาย classes Namespace ประกอบดวยหลาย classes

class ประกอบดวยหลาย methods

methodmethod11methodmethod22 ClassClass

methodmethod22

namespacenamespace

ClassClassClassClass

2. โครงสรางของโปรแกรม Visual C#

Namespace Namespace NameName

Class Class NameName

Declaration Declaration part part

St t tSt t tStatementsStatements

15

ประเภทของขอมลในภาษา C#

สาหรบภาษา C# สามารถแบงกลมประเภท ได 3 กลมดงน

1 Value types1. Value types

2. References types

3. Pointer types

16

3 การกาหนดตวแปรและขอมล

ตวแปร(Variable) หมายถง สญลกษณทเราใชแทนขอมลชนด

ตางๆ โดยขอมลทจะนามาเกบในตวแปรตองตรงกบทเราไดกาหนดไวตางๆ โดยขอมลทจะนามาเกบในตวแปรตองตรงกบทเราไดกาหนดไว

ไปใ ป ป การจะนาขอมลไปใชงานกตองกระทาผานตวแปรน จาเปนตองระบ

ลงไปดวยวาตวแปรนนใชเกบขอมลชนดใด

17

3.1 หลกการตงชอตวแปร

หามขนตนดวยตวอกษร underscore ( ) หรอ @หามขนตนดวยตวอกษร, , underscore (_) หรอ @

หามใชตวเลขหรออกขระเปนตวเรมตน

รปแบบตวอกษรพมพตางกน ถอเปนคนละตว

(case sensitive) เชน myvar, myVar, MYVAR ถอเปนคนละตว

หามตงชอตวแปรซากบคาสงวน (reserved word)

ตงไดไมเกน 63 ตวอกษร

ตวอยางการตงชอทถกตอง

Num, myNum1, string4, Data

ตวอยางการตงชอทไมถกตอง

18

ตวอยางการตงชอทไมถกตอง

9xx, @myWeb, Look@me

3.2 ตวดาเนนการทางคณตศาสตร (operator)

• Arithmetic Operators

+ - * / % A = 2+3; B = 4 % 3;

++ --

= += -= *= /= %=

X++; ++X; X--; --X;

Y += 3;

• String Operators

Message = "Hello "+”Name”

+

• Boolean OperatorsBoolean Operators

< <= > >= == !=

! && || ^

If (A=5 && B>6) {…}

19

3.3 นพจนทางคณตศาสตร (operator)

• Operators

I. + - * /

II. % (remainder after division)

• Example

I. 11 + 5 16

II. 11 / 2 5.5

III. 11 % 2 1

IV 5 0 % 2 2 0 6

20

IV. 5.0 % 2.2 0.6

3.4 ลาดบความสาคญของ Operators

ลาดบ Operatorลาดบ Operator

1 ( ), x++, x--

2 +x, -x, ++x, --x, !

3 *, /, %

4 +, -

5 shift bits left: <<, shift bits right: >>

6 <, <=, >, >=, is, as

7 = = !=7 = =, !=

8 &, |, ^

9 && || ?

21

9 &&, ||, ?:

10 =, +=, =,*=, /=, %=, <<=, >>=, &=, ^=, |=

3.5 การประกาศตวแปร (Variable)

วธ1 [ชนดของขอมล] ชอตวแปร;

วธ2 [ชนดของขอมล] ชอตวแปร = [คาเรมตนของตวแปร];

int x; int x =1;

int y, z;t y, ;

int Y, Z = 3;

Double d = 10.99;

String s1 = “Visual", s2=“C#” , s3=“.Net”;

22

String s1 Visual , s2 C# , s3 .Net ;

หมายเหต: ไมสามารถประกาศตวแปรซาภายในบลอก {…} เดยวกน

3.6 การประกาศคาคงท (Constant)

คาคงทเปนตวแปรทกาหนดคาตายตว ไมสามารถเปลยนแปลงได

const [ชนดของขอมล] ชอตวแปร = คาคงท;

ตวอยาง

const int x = 1;

const double pi = 3 14;const double pi = 3.14;

23

4. ประเภทของขอมลในภาษา C#

สาหรบภาษา C# สามารถแบงกลมประเภท ได 3 กลม ดงน

1. Value types

2 R f t2. References types

3. Pointer types

24

4. ประเภทของขอมลในภาษา C#

Value types ตวแปรของกลมนเปนประเภททใชขอมลโดยตรง

จะเปลยนแปลงคาเมอมคาใหมไปเกบทบคาเดม และจะถกทาลายเมออยนอกขอบเขต

ชนดขอมลในกลมประเภทน คอ sbyte, byte, short, ushort, int uint long ulong char float double bool และ int, uint, long, ulong, char, float, double, bool และ decimal

25

4.1 ชนดของขอมล

I Numeric (เลขจานวนเตม และเลขทศนยม)I. Numeric (เลขจานวนเตม และเลขทศนยม)

II. Char (ตวอกษร)

III. String (ขอความ)

IV. Boolean (บลน)

V. Object (วตถ)V. Object (วตถ)

26

4.2 เลขจานวนเตม

Data type ขนาด คาของขอมล

sbyte (System.SByte) 1 byte -128 ถง 127

short (System.Int16) 2 bytes -32,768 ถง 32,767

( ) b int (System.Int32) 4 bytes -2,147,483,648 ถง

2,147,483,647

long (System.Int64) 8 bytes -263 ถง (263 – 1)

27

4.2.1 เลขจานวนเตมบวก

Data type ขนาด คาของขอมล

byte (System.Byte) 1 byte 0 ถง 255

ushort (System.UInt16) 2 bytes 0 ถง 65,535

uint (System.UInt32) 4 bytes 0 ถง 4,294,967,295

ulong (System UInt64) 8 bytes 0 ถง 264 1ulong (System.UInt64) 8 bytes 0 ถง 2 -1

28

4.3 เลขทศนยม

Data type ขนาด คาของขอมล

float (System.Single) 4 bytes ±1.5 x 10-45 ถง ±3.4 x 1038y g y

ความแมนยาของทศนยมอยท 7 ตาแหนง

d bl 8 b t 5 0 10-324 ถง 1 7 10308double

(System.Double)

8 bytes ±5.0 x 10 324 ถง ±1.7 x 10308

ความแมนยาของทศนยมอยท 15 ตาแหนง, มชวงของขอมลกวางทสด

decimal 16 bytes ±1.0 x 10-28 ถง ±7.9 x 1028

(System.Decimal)

ความแมนยาของทศนยมอยท 28 ตาแหนง, ชวงขอมลแคบกวา double

29

แตใหคาละเอยดมากในสวนของทศนยมเหมาะกบการคานวณเรองเงน

4.4 ชนดขอมลอกขระ

Data type ขนาด คาของขอมล

char 2 bytes ตวอกษรแบบ Unicode มเครองหมาย '

(System.Char) (single quote) ครอมตวอกษร เชน 'A',

'1‘

char c = ‘A’;

string ไมแนนอน ตวอกษรแบบ Unicode หลายตวมาstring

(System.String)

ไมแนนอน ตวอกษรแบบ Unicode หลายตวมา

รวมกน มเครองหมาย " (double

quote) ครอมquote) ครอม

เชน "Hello“

t i “W l ”

30

string s = “Welcome”;

4.5 ขอมลชนดบลน

Data type ขนาด คาของขอมล

bool 1 bit มคาทเปนไปได 2 คา คอ

(System.Boolean) true และ false

นามาใชกรณเกยวกบการเลอกโดย

พจารณาเงอนไข

เชน เชน

bool bfact;

bfact = true; หรอ

bool bfact = true;

31

55 ตวอยางการเขยนโปรแกรมอยางงายตวอยางการเขยนโปรแกรมอยางงาย55. . ตวอยางการเขยนโปรแกรมอยางงายตวอยางการเขยนโปรแกรมอยางงาย

32

5. ตวอยางการเขยนโปรแกรมอยางงาย

1 1. เลอก

Create New project

33

1. เลอก Windows

Froms Application

2. ตงชอ Project

343. Click

ใ 1. การใชงานเครองมอ “TextBox”

35

การรบขอมลดวย TextBox

1 แสดงToolbox1. แสดงToolbox

3 วางท 3. วางท

From1

2. คลกคางท

TextBox และ

ลากไปยง F 1

36

ลากไปยง Form1

การกาหนดคณลกษณะของ TextBox 3. จะปรากฎหนาตาง

Properties

1. คลกขวาท

TextBox

2. เลอก

Properties

37

การกาหนดคณลกษณะของ TextBox

ทดลองแกคาพารามเตอร

(Name) และ Text

กาหนดขอความท TextBox

“ทดลองพมพชอตวเอง”

กาหนดชอตวแปร

ชอ : textBox1 -> myTextBox

38

การกาหนดคณลกษณะของ TextBox

1 คลก Run1. คลก Run

2 จะปรากฎหนาตาง2. จะปรากฎหนาตาง

โปรแกรมดงน

39

การรบขอมลดวย Button

1 แสดงToolbox1. แสดงToolbox

2. คลกคางท

Button และลากButton และลาก

ไปยง Form1

3. วางท

From1From1

40

การกาหนดคณลกษณะของ Button

กาหนดขอความท

TextBox

“ทดลองพมพชอ

ตวเอง”

กาหนดชอตวแปร

41

button1-> BT1

การรบสงงานผาน ButtonGoto Events

D bl li k @ ”Cli k”Double click @ ”Click”

จะทางานหลงจากคลก

button1

42

การโปรแกรมสงงานเมอมการ click button

โ เพมโคด

เมอโปรแกรมเสรจใหทาการกด Run

43

เมอโปรแกรมเสรจใหทาการกด Run

ผลการ Run

กอน Click หลง Click

กอน Click หลง Click

44

ใ L b l”L b l”2. การใชงานเครองมอ “Label”Label”

45

การใชงาน Label

lb1. แสดงToolbox

3. วางท

From1

2. คลกคางท 2. คลกคางท

Button และลาก

ไปยง Form1

46

กาหนดคณสมบตของ Label

การกาหนดคณสมบตทาลกษณะเดยวกบ TaxtBox และ Button

กาหนดให

(Name) : score

Text : A

1. แสดง Label

47

3 การแปลงตวแปลขอมล3. การแปลงตวแปลขอมล

((String String --> Integer> Integer) ) or or ((IntegerInteger-->String >String ))((String String > Integer> Integer) ) or or ((IntegerInteger >String >String ))

48

ทดลองเขยนโปรแกรมคานวณพนทสเหลยม

กาหนดคณสมบต

TextBox1 (Name) TB1 TextBox1 (Name) TB1

TextBox2 (Name) TB2

Button1 (Name) BT1

Labal1 (Name) LB1

Labal1 Text Area

เงอนไข

I. รบ Input จาก 2 TextBoxp

II. ทางานเมอกดปม Button

III. แสดงผลคาพนทใน Label

49

การรบขอมลจาก TextBox + Button+ Label

ประกาศตวแปร

คาสงแปลงขอมลจาก

String เปน Integer

อานขอมล Text จาก TextBox (TB1)

อานขอมล Text จาก TextBox (TB2)อานขอมล Text จาก TextBox (TB2)

คานวนคาพนท

50

แปลงขอมลจาก Integer เปน String

4. การตรวจสอบเงอนไข IF ()IF ()

ELSE ELSE ELSE ELSE

51

tb1

tb2

หนาตางโปรแกรมสาหรบขอมล

และแสดงผล

52

และแสดงผล

T t T tB (tb1)

อานขอมล Text จาก TextBox (tb1)

คาสงแปลงขอมลจาก

String เปน Integer

ตวอยางการเชคเงอนไข

If lIf-else

53

5 การทาซา5. การทาซา

For loopFor loopFor loopFor loop

54

5. การทาซา

1. เรมตน [0]

2 เงอนไขจดสนสด [10]2. เงอนไขจดสนสด [10]

3. การเลอนการทาซา [+1]

55

Assignment1-2

1. จงเขยนโปรแกรมเพอคานวณและแสดงผลคา A ออกทาง Label เมอ

กาหนดให A = 2B + 3C – D (ใช TextBox 3 ตวเพอรบคา Input)

2. จงเขยนโปรแกรมการหาพนทวงกลม ทรบคารศมจากแปนพมพแลว

แสดงผลลพธทางหนาจอ Label (ใช TextBox 1 ตวเพอรบคา Input )

56

3 Assignment

จงเขยนโปรแกรมเพอเปรยบเทยบคาขอมลทเกบในตวแปร x (TextBox)

โดยมเงอนไขดงน

ถา x >0 ใหแสดงผลเปน Text คาวา “Positive Number”

ถา x <0 ใหแสดงผลเปน Text คาวา “Negative Number”

ถา x =0 ใหแสดงผลเปน Text คาวา “Zero Number”

***ทาการคานวณเมอกด Button และผลลพธแสดงออกทาง TextBox

57

top related