chapter03

24
Company LOGO มมมมมมมมมมม มมมมมม มมมมมมมมมม มมมมมมมมมมม มมมมมม มมมมมมม มมมมมมมมมมม มมมมมม Chapter 3 The Concept of data

Upload: -

Post on 10-May-2015

92 views

Category:

Education


0 download

DESCRIPTION

หลักการเขียนโปรแกรมคอมพิวเตอร์เบื้องต้น โดยใช้ภาษา C# และใช้โปรแกรม RAPTOR ในการออกแบบ Flowchart

TRANSCRIPT

Page 1: Chapter03

Company

LOGO

มหาวิ�ทยาลัยราชภัฏนครราชสี�มา

คณะวิ�ทยาการจัดการ

โปรแกรมคอมพิ�วิเตอร�ธุ รก�จั

Chapter 3The Concept of data

Page 2: Chapter03

เน!"อหา

Data Types Constants vs. Variables Naming rules

Page 3: Chapter03

Data Types

ข้�อมู�ล (data) คือ ตั�วเลข้ ตั�วอ�กษร กล��มูข้องตั�วอ�กษร หรอ คื�าตัรรกะ ที่��เราจะตั�องเก��ยวข้�องเพื่�อใช้�ในการน าข้�อมู�ลเข้�าคือมูพื่!วเตัอร" ใช้�ในข้�#นตัอนการประมูวลผลเพื่�อแก�ป'ญหาที่��ตั�องการ และใช้�ในการแสดงผลล�พื่ธ์"ออกมูา

Page 4: Chapter03

Data Types

ช้น!ดข้องข้�อมู�ล คือ ประเภที่ข้องข้�อมู�ล ที่��เราจะตั�องร� �เพื่�อใช้�ในการเข้�ยนโปรแกรมูคือมูพื่!วเตัอร" โดยที่��วไปจะประกอบด�วยประเภที่หล�กๆ ด�งน�#

Numeric – Integers and Real Character – Character (single quote) String – Text (Double quote) Logical or Boolean หมูายถึ2งคื�า มู� 2 คื�า คือ

จร!งก�บเที่3จ (True or False / 1 or 0)

Page 5: Chapter03

Data Types ใน C#

ตั�วแปรที่��ศึ2กษา Data Type ที่��เป5นส�น #าเง!น (ยกเว�น object)

Page 6: Chapter03

Data Types ใน C#

ชน�ดข้&อม'ลั

ข้อบเข้ตข้&อม'ลั ค)าอธุ�บาย

sbyte -128 ถึ+ง 127 จั)านวินเต-มบวิกแลัะลับ ข้นาด 1

ไบต�byte 0 - 255 จั)านวินเต-มไม/ม�เคร!0องหมาย ข้นาด

1 ไบต�short -32,768 ถึ+ง

32,767

จั)านวินเต-มบวิกแลัะลับ ข้นาด 2

ไบต�ushor

t0 – 65,535 จั)านวินเต-มไม/ม�เคร!0องหมาย ข้นาด

2 ไบต�ushort หมูายถึ2ง short แบบ unsign คือไมู�มู�เคืร�องหมูายบวกหรอลบ

Page 7: Chapter03

Data Types ใน C#

ชน�ดข้&อม'ลั

ข้อบเข้ตข้&อม'ลั ค)าอธุ�บาย

int -2,147,483,648 ถึ+ง 2,147,483,647

จั)านวินเต-มบวิกแลัะลับ ข้นาด 4 ไบต�

uint 0 – 4,294,967,295 จั)านวินเต-มไม/ม�เคร!0องหมาย ข้นาด 4

ไบต�long -9,223,372,036,854,775,808

ถึ+ง 9,223,372,036,854,775,807

จั)านวินเต-มบวิกแลัะลับ ข้นาด 8 ไบต�

ulong 0 ถึ+ง 18,446,744,073,709,551,615

จั)านวินเต-มไม/ม�เคร!0องหมาย ข้นาด 8

ไบต�

Page 8: Chapter03

Data Types ใน C#

ชน�ดข้&อม'ลั ข้อบเข้ตข้&อม'ลั ค)าอธุ�บาย

float -3.4*1038 ถึ2ง +34*1038 จั)านวินจัร�ง หร!อจั)านวินทศน�ยม ข้นาด 4 ไบต� เช/น 3.14159

double ±5.0 × 10−324 to ±1.7 × 10308

จั)านวินจัร�ง หร!อจั)านวินทศน�ยม ข้นาด 8 ไบต� ท�0เก-บควิามลัะเอ�ยดมากเป2นสีองเท/าข้อง float

decimal จั)านวินจัร�ง จั)านวินจัร�ง หร!อจั)านวินทศน�ยม ข้นาด 8 ไบต�

Page 9: Chapter03

Data Types ใน C#

ชน�ดข้&อม'ลั

ข้อบเข้ตข้&อม'ลั ค)าอธุ�บาย

bool true หร!อ false ข้นาด 1 ไบต� เป2นไปได&สีองค/าค!อ true หร!อ false

char ตวิอกษร 1 ตวิ ข้นาด 2 ไบต� เช/น 'a'

string ตวิอกษรหลัายตวิ (ข้&อควิาม)

ข้นาดตามจั)านวินตวิอกษรเช/น "hello"

Page 10: Chapter03

Data Types ใน C#

นามูแฝงข้องช้น!ดข้องข้�อมู�ลใน .NET Framework Type

C# Type

.NET Framework Type

bool System.Booleanbyte System.Bytesbyte System.SBytechar System.Chardecimal System.Decimaldouble System.Doublefloat System.Singleint System.Int32

ตั�วอย�างint x = 123;System.Int32 y = 123;

Page 11: Chapter03

Constants vs. Variables

คื�าคืงที่�� (Constants) และตั�วแปร (Variables) เป5นช้�อที่��ก าหนดข้2#นเพื่�อแที่นตั าแหน�งในหน�วยคืวามูจ า ก าหนดคื�าได�โดยใช้�เคืร�องหมูายเที่�าก�บ (equal, =)

Constant คือ ข้�อมู�ลที่��ไมู�สามูารถึเปล��ยนแปลงคื�าได� เมู�อก าหนดเป5นคื�าใด จะเป5นคื�าน�#นจนกว�าจะส!#นส�ดการที่ างาน ส�วน Variable คือ ข้�อมู�ลที่��สามูารถึเปล��ยนแปลงได�ตัลอดเวลา ที่�#ง Constants และ Variables จะตั�องประกาศึก�อนที่�กคืร�#ง ก�อนที่��จะมู�การใช้�งาน

Page 12: Chapter03

Variables

ตั�วแปร (variable) เป5นตั�วระบ�ประเภที่หน2�ง (Identifier) ที่��น ามูาใช้�ในการอ�างถึ2งข้�อมู�ล โดยคื�าข้องมู�นสามูารถึเปล��ยนแปลงได�ตัลอดเวลาที่��โปรแกรมูก าล�งที่ างาน

ตั�วแปรถึอว�าเป5นส�ญล�กษณ์"ที่��ก าหนดข้2#นเพื่�อใช้�แที่นข้�อมู�ลบางอย�างก�อนที่��จะน าข้�อมู�ลไปประมูวลผล และใช้�เก3บคื าตัอบหรอผลที่��เก!ดจากการประมูวลผล (ตั�วแปรส�วนใหญ�ก าหนดข้2#นมูาเพื่�อเก3บข้�อมู�ล Input และเก3บผลล�พื่ธ์" Output)

Page 13: Chapter03

Variables

การประกาศึตั�วแปร

ประกาศึหลายตั�ว และก าหนดคื�าเร!�มูตั�น

ร'ปแบบ ตวิอย/างDataType variableName;

ชน�ดข้&อม'ลั ช!0อตวิแปร;

int age; string name;

int age, height, weight;string name = "Jirasak";

Page 14: Chapter03

Constants

คื�าคืงที่��เป5นตั�วระบ�อ�กประเภที่หน2�งที่��น ามูาใช้�ในการอ�างถึ2งข้�อมู�ลเช้�นเด�ยวก�บตั�วแปร ส!�งที่��แตักตั�าง จากตั�วแปรคือ คื�าที่��ก าหนดไว�ตั�#งแตั�แรกไมู�สามูารถึเปล��ยนแปลงได�อ�กหล�งจากการประกาศึ ในภาษา C# คื�าคืงที่��ตั�องประกาศึโดยระบ�ช้น!ดข้�อมู�ลและคื�าตั�#งตั�นก�อนถึ�กน ามูาใช้�งานเสมูอ การประกาศึคื�าคืงที่��จะคืล�ายคืล2งก�บการประกาศึตั�วแปร แตักตั�างก�นตัรงที่��ตั�องมู�การระบ�คื าว�า const

Page 15: Chapter03

Variables

การประกาศึคื�าคืงที่��

ร'ปแบบconst DataType constantName = value;

const ชน�ดข้&อม'ลั ช!0อตวิแปร = ค/าท�0ต&องการก)าหนด;

const double rate = 0.25; const int wage = 300;

ใช้�เมู�อตั�องการอ�างอ!งคื�าใดๆ ที่��ไมู�มู�การเปล��ยนแปลง และตั�องใช้�ซ้ำ #าๆ

Page 16: Chapter03

Naming rules

การตั�#งช้�อ (naming) เพื่�อใช้�ในการเข้�ยนโปรแกรมู ตั�องตั�#งช้�อให�ถึ�กตั�องตัามูหล�กเกณ์ฑ์"ที่��ก าหนด การตั�#งช้�อตั�วแปร มู�หลายแบบ เช้�น Hungarian Notation, Pascal case, Camel case และ Upper case

Page 17: Chapter03

Hungarian Notation

ในย�คื Win32 น�กเข้�ยนโปรแกรมูภาษา C++ จะย2ดมู��นอย��ก�บว!ธ์�ตั�#งช้�อที่��ประด!ษฐ์"โดยน�กเข้�ยนโปรแกรมูช้าวฮั�งการ�ช้�อ ช้าลส" ซ้ำ!มูอะนาย (Charles Simonyi) ซ้ำ2�งแนะให�ใส�คื าย�อข้อง data type ไว�น าหน�าช้�อ เช้�น iTotal หมูายคืวามูว�า Total เป5นตั�วแปรช้น!ด

integer bAnswer หมูายคืวามูว�า Answer เป5นตั�วแปรช้น!ด

boolean sName หมูายคืวามูว�า Name เป5นตั�วแปรช้น!ด

string

Page 18: Chapter03

Pascal case

ว!ธ์�ตั�#งช้�อแบบ Pascal case มู�หล�กการตั�#งช้�อ คือ ตั�วอ�กษรตั�วแรกเป5นตั�วใหญ� (upper case) นอกน�#นเป5นตั�วเล3กที่�#งหมูด (lower case) หากเป5นคื าที่��ประกอบจากหลายคื าให�ตั�วอ�กษรแรกข้องที่�กคื าเป5นตั�วใหญ� ยกตั�วอย�างเช้�น FirstName, LastName, BirthDate และ ProductPrice เป5นตั�น

Page 19: Chapter03

Camel case

ว!ธ์�การตั�#งช้�อแบบ Camel case คือ การตั�#งช้�อโดยใช้�หล�กการเช้�นเด�ยวก�บ Pascal case เว�นแตั�ว�าตั�วอ�กษรตั�วแรกให�เป5นตั�วเล3ก (lower case) ด�งน�#นหากผ��เข้�ยนตั�องการเข้�ยนช้�อตั�วแปรส าหร�บเก3บช้�อ เช้�น FirstName ให�เป5นแบบ Camel case ก3จะได�เป5นแบบน�# firstName ยกตั�วอย�างช้�อที่��ตั� #งโดยว!ธ์� Camel case คือ lastName, birthDate และ productPrice เป5นตั�น

Page 20: Chapter03

Upper case

ว!ธ์�ตั�#งช้�อแบบ upper case คือ การตั�#งช้�อโดยใช้�ตั�วอ�กษรตั�วใหญ�ที่�#งหมูด แตั�แนะน าให�ใช้�ก�บคื าย�อเที่�าน�#น อย�างเช้�น ID และ PI เป5นตั�น

การตั�#งช้�อที่��น!ยมูใช้� จะใช้�การตั�#งช้�อแบบ Pascal case, Camel case และ Upper case ตัามูล�กษณ์ะข้องข้�อมู�ลที่��เก3บ

Page 21: Chapter03

กฎการต"งช!0อตวิระบ ในภัาษา C# (identifier)

โปรแกรมูภาษา C# มู�การใช้�งานตั�ว identifier อย��ที่� �วไปภายในโปรแกรมู เช้�น ช้�อข้องเนมูสเปส ช้�อข้องคืลาส ช้�อข้องเมูธ์อด และช้�อข้องตั�วแปร ภาษา C# มู�กฎเกณ์ฑ์"การตั�#งช้�อให�ตั�ว identifier ด�งตั�อไปน�# 1 .มู�คืวามูยาวได�ไมู�เก!น 63 ตั�วอ�กษร2. ตั�วอ�กษรตั�วแรกข้องช้�อตั�องเป5นตั�วอ�กษรภาษาอ�งกฤษ หรอ

ตั�วข้�ดเส�นใตั� (underscore) เที่�าน�#น 3. ที่��เหลอสามูารถึใช้�ได�แคื�อ�กษรภาษาอ�งกฤษ (A-Z, a-z)

ตั�วเลข้ (0-9) หรอเคืร�องหมูายข้�ดเส�นใตั� ( _ ) เที่�าน�#น4. ตั�องไมู�ซ้ำ #าก�บคื าสงวน (reserved word) เช้�น class,

namespace, int, void, static เป5นตั�น (ด�ในเอกสารประกอบการสอน)

Page 22: Chapter03

ค)าแนะน)าต"งช!0อตวิระบ

ช้�อตั�วแปรสามูารถึใช้�ที่�#งตั�วอ�กษร ตั�วเลข้ และ underscores ผสมูก�นได� ยกเว�นห�ามูข้2#นตั�นด�วยตั�วเลข้ และห�ามูใช้�คื าสงวน

ช้�อตั�วแปรเป5น case sensitive น��นคือ Name, name และ NAME เป5นคืนละช้�อก�น

ให�ตั�#งช้�อที่��มู�คืวามูหมูาย เช้�น ตั�องการตั�#งช้�อตั�วแปรเก3บว�นเก!ด คืวรใช้� BirthDate birthDate หรอ bDate แที่นที่��จะใช้� date

Page 23: Chapter03

ค)าแนะน)าต"งช!0อตวิระบ

ใช้�ร�ปแบบเด�ยวก�น หมูายคืวามูว�า ถึ�าตั�#งช้�อตั�วแปรโดยใช้�แบบ CamelCase ก3คืวรใช้�แบบน�#ในการตั�#งช้�อที่�#งโปรแกรมู

ไมู�คืวรใช้� underscore ในการตั�#งช้�อ identifiers

คืวรใช้�ช้�อที่��ไมู�ยาวจนเก!นไป ถึ�าเป5นช้�อที่��ส� #นเก!นไป อาจมู�คื าอธ์!บายประกอบที่�� comment

Page 24: Chapter03

ค)าถึาม

ข้�อสงส�ย หรอ คื าถึามู คื าถึามูที่�ายบที่ที่�� 3 (ส�งในห�อง/ส�ปดาห"หน�า)