chapter 02 flowchart

36
ขขขขขข ขขขขขขขขขขข Flowchart week 2

Upload: -

Post on 12-Jan-2015

16.813 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Chapter 02 Flowchart

ข้�อมู�ลและการเข้ ยน

Flowchart

week 2

Page 2: Chapter 02 Flowchart

ข้�อมู�ล

• ชนิดข้องข้�อมู�ลในิภาษา C++ แบ่�งเป็�นิ 2 ป็ระเภท คื�อ– Simple Data type (เร�ยนิวั�นินิ� )

แสดงคื�าข้องส"งใดส"งหนิ$"งเพี�ยงรายการเด�ยวั เช�นิ คืวัามูกวั�าง , คืวัามูยาวั , คืวัามูส�ง , ฐานิ เป็�นิต้�นิ

– Structure Data type (เร�ยนิภายหล�ง)แสดงคื�าข้องส"งใดส"งหนิ$"งหลายรายการ เช�นิ ป็รมูาณนิ* าฝนิในิแต้�ละวั�นิข้องเด�อนิมูกราคืมู ป็, 51 , คืวัามูส�งข้องต้�นิไมู�ในิระยะ 1 เด�อนิ เป็�นิต้�นิ

Page 3: Chapter 02 Flowchart

Simple Data Type

Name Description Size* Range*

char Character or small integer.

1 byte

signed: -128 to 127

unsigned: 0 to 255

short int Short Integer.

2 bytes

signed: -32768 to 32767

unsigned: 0 to 65535

int Integer.4

bytes

signed: -2147483648 to 2147483647

unsigned: 0 to 4294967295

long int Long integer.

4 bytes

signed: -2147483648 to 2147483647

unsigned: 0 to 4294967295

The values shown above are those found on most 32-bit systems

Page 4: Chapter 02 Flowchart

Simple Data Type

Name Description Size* Range*

bool

Boolean value. It can take one of two values: true or false. 1 byte true or false

floatFloating point number.

4 bytes 3.4 x 10-38 to 3.4 x 10+38

double

Double precision floating point number.

8 bytes

1.7 x 10-308 to 1.7 x 10+308

 

long double

Long double precision floating point number.

8 bytes

1.7 x 10-308 to 1.7 x 10+308

 

The values shown above are those found on most 32-bit systems

Page 5: Chapter 02 Flowchart

วัธี�เล�อกชนิดต้�วัแป็รให�เหมูาะก�บ่ data type

• ต้�วัแป็ร เก/บ่ อ�กข้ระ 1 ต้�วัอ�กษร ใช� char• ต้�วัแป็ร เก/บ่ ต้�วัเลข้ไมู�มู�จุ1ดทศนิยมู เล�อกใช�

– short int, int, long int

• ต้�วัแป็ร เก/บ่ ต้�วัเลข้แบ่บ่มู�จุ1ดทศนิยมู เล�อกใช�– float, double, long double

• ต้�วัแป็ร เก/บ่ อ�กข้ระมูากกวั�า 1 ต้�วัอ�กษร ใช� string โดยต้�องเพี"มู header file ช�"อ string เข้�าไป็ในิโป็รแกรมู

Page 6: Chapter 02 Flowchart

ตั�วอย�างการเล�อก Data Type ให้�เห้มูาะก�บตั�วแปร

• โจุทย4การการหาพี� นิท�"ผิวัทรงกลมูท�"มู�ร�ศมู� r • ต้�วัแป็รส*าหร�บ่เก/บ่คื�าคืงท�"

– เก/บ่คื�า 3.14 แสดงวั�า เก/บ่เลข้ทศนิยมู จุ$งคืวัรใช�ต้�วัแป็รแบ่บ่ float

• ต้�วัแป็รเก/บ่คื�าร�ศมู�– ร�ศมู� เป็�นิได�ท� งจุ*านิวันิเต้/มูและทศนิยมู ด�งนิ� นิคืวัรใช�ต้�วัแป็ร

float

• ต้�วัแป็รเก/บ่ผิลล�พีธี4– ผิลล�พีธี4เป็�นิได�ท� งจุ*านิวันิเต้/มูและทศนิยมู ด�งนิ� นิคืวัรใช�ต้�วัแป็ร

float

Page 7: Chapter 02 Flowchart

ตั�วอย�างการเล�อก Data Type ให้�เห้มูาะก�บตั�วแปร

• โจุทย4: การหาคืวัามูส�มูพี�นิธี4คืะแนินิก�บ่คืวัามูฉลาด– ต้�วัแป็รส*าหร�บ่เก/บ่คืะแนินิ

• คืะแนินิ เป็�นิได�ท� งจุ*านิวันิเต้/มูและทศนิยมู ด�งนิ� นิคืวัรใช�ต้�วัแป็ร float

– ต้�วัแป็รเก/บ่คืวัามูฉลาด• คืวัามูอ�วันิ ป็ระกอบ่ด�วัยสายอ�กข้ระ(เช�นิ ฉลาด,ไมู�ฉลาด ) ด�ง

นิ� นิคืวัรใช�ต้�วัแป็ร string

Page 8: Chapter 02 Flowchart

ตั�วอย�างการเล�อก Data Type ให้�เห้มูาะก�บตั�วแปร

• โจุทย4 : ต้�องการพีมูพี4เคืร�"องหมูายใดๆ ออกทางจุอภาพี– ต้�วัแป็รส*าหร�บ่เก/บ่เคืร�"องหมูาย

• เคืร�"องหมูาย ป็ระกอบ่ด�วัยอ�กข้ระเพี�ยงต้�วัเด�ยวั (*, @,+) ด�งนิ� นิคืวัรใช�ต้�วัแป็ร char

– ต้�วัแป็รส*าหร�บ่เก/บ่จุ*านิวันิเคืร�"องหมูายท�"ผิ��ใช�ต้�องการให�พีมูพี4

• จุ*านิวันิเคืร�"องหมูาย เป็�นิจุ*านิวันินิ�บ่ (ไมู�มู�คื�าลบ่,ทศนิยมู ) ด�งนิ� นิคืวัรใช�ต้�วัแป็ร int

Page 9: Chapter 02 Flowchart

จุงวัเคืราะห4 Data type ท�"คืวัรใช�ในิต้�วัแป็ร

1 . จุงหาพี� นิท�"ข้องวังกลมูท�"มู�ร�ศมู� r ส�ต้ร (3.14)r2

2. จุงหาผิลล�พีธี4ข้องสมูการ X2 + 4X +2 เมู�"อทราบ่คื�า X3. จุงหาคื�าเฉล�"ยข้องต้�วัเลข้ 3 จุ*านิวันิ4. จุงหาป็รมูาต้รข้องร�ป็ทรงส�"เหล�"ยมู5. จุงหาคืวัามูกวั�างข้องแต้�ละช� นิ เมู�"อทราบ่คื�าพีส�ยและจุ*านิวันิ

ช� นิ ส�ต้ร คืวัามูกวั�างข้องแต้�ละช� นิ = พีส�ย/จุ*านิวันิช� นิ6. จุงวัเคืราะห4ป็8ญหาเพี�"อบ่อกคืวัามูส�มูพี�นิธี4ระหวั�างข้นิาดข้อง

รอบ่เอวัก�บ่คืวัามูอ�วันิ7. จุงวัเคืราะห4ป็8ญหาข้องการสร�างเกมูอะไรเอย

Page 10: Chapter 02 Flowchart

การเข้�ยนิ Flowchart

Page 11: Chapter 02 Flowchart

Structured Flowchart

ผิ�งงานิโคืรงสร�าง ท�"เข้�ยนิข้$ นิเพี�"ออธีบ่ายข้� นิต้อนิการท*างานิข้องโป็รแกรมู (Algorithm)โดยใช�

– ส�ญล�กษณ4แทนิคื*าส�"ง– ข้�อคืวัามูในิส�ญล�กษณ4 แทนิ ต้�วัแป็ร , การคื*านิวัณ ,

การเป็ร�ยบ่เท�ยบ่

Page 12: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการ• เร"มูต้�นิโป็รแกรมู• ส นิส1ดโป็รแกรมู

Start / Stop

Page 13: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการ• สร�างต้�วัแป็ร• ก*าหนิดคื�าให�ต้�วัแป็ร• คื*านิวัณ

Process

Page 14: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการเป็ร�ยบ่เท�ยบ่ท1กร�ป็แบ่บ่มูากกวั�า (>)นิ�อยกวั�า (<)เท�าก�บ่ (==)ไมู�เท�าก�บ่ (!=)มูากกวั�าหร�อเท�าก�บ่ (>=)นิ�อยกวั�าหร�อเท�าก�บ่ (<=)

Decision

Page 15: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการ• แสดงทศทางการท*างานิ

จุากคื*าส�"งหนิ$"งไป็ย�งอ�กคื*าส�"งหนิ$"ง

Page 16: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการ• ร�บ่ข้�อมู�ลจุากผิ��ใช�• แสดงผิลข้�อมู�ล

* การใช�ส�ญล�กษณ4นิ� เป็�นิการไมู�ระบ่1ป็ระเภทส�"อท�"จุะใช�งานิ

Input/Output

Page 17: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการ• ร�บ่ข้�อมู�ลจุากผิ��ใช� ผิ�านิทาง

คื�ย4บ่อร4ดInput

Page 18: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการ• แสดงข้�อมู�ลจุากผิ��ใช� ผิ�านิ

ทางจุอภาพีOutput

Page 19: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการ• แสดงข้�อมู�ลจุากผิ��ใช�

ผิ�านิทางเคืร�"องพีมูพี4Output

Page 20: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการ• เช�"อมูต้�อโป็รแกรมูในิหนิ�า

เด�ยวัก�นิ

Page 21: Chapter 02 Flowchart

ส�ญล�กษณ4

ใช�เมู�"อต้�องการ• เช�"อมูต้�อโป็รแกรมูในิต้�างหนิ�า

Page 22: Chapter 02 Flowchart

การเข้ ยนความูสั�มูพั�นธ์�ข้องข้� นตัอนการทำ"างานในโปรแกรมู

• การท*างานิแบ่บ่เป็�นิล*าด�บ่ข้� นิ• การท*างานิแบ่บ่ทางเล�อก• การท*างานิแบ่บ่วันิซ้ำ* า

Page 23: Chapter 02 Flowchart

ผั�งงานโปรแกรมูข้องการทำ"างานตัามูล"าดั�บ

ค"าสั�&งทำ & 1

ค"าสั�&งทำ & 2

ค"าสั�&งทำ & 3

Page 24: Chapter 02 Flowchart

ต้�วัอย�างการเข้�ยนิผิ�งงานิ

โป็รแกรมูข้องการ

ท*างานิต้ามูล*าด�บ่

Page 25: Chapter 02 Flowchart

โจทำย�: จงห้าพั� นทำ &ผั(วข้องทำรงกลมู

• งานห้ร�อป)ญห้า• ห้าร�ปแบบผัลล�พัธ์�ทำ &ตั�องการ• ห้าว�าข้�อมู�ลอะไรบ�างทำ &ตั�องใช้� เพั�&อให้�ไดั�ผัลล�พัธ์�ทำ &ตั�องการ• ห้าตั�วแปรมูาเก-บข้�อมู�ล เพั�&อรอห้ร�อร�บผัลจากการทำ"างานข้องโปรแกรมู• ห้าข้� นตัอนว(ธ์ การทำ"างานข้องโปรแกรมู

Page 26: Chapter 02 Flowchart

ป็8ญหาคื�ออะไร ?

หาพี� นิท�"ผิวัข้องทรงกลมูท�"มู�ร�ศมู� r

Page 27: Chapter 02 Flowchart

ร�ปแบบข้องผัลล�พัธ์�ทำ &จะแสัดังค�ออะไร ?

ตั�องการแสัดังข้�อความูทำ &ห้น�าจอว�า“ทำรงกลมูน มู พั� นทำ &ผั(ว” xxx “ตัาราง

เมูตัร”

หมูายเหต้1 xxx คื�อ คื�าท�"ได�จุากการคื*านิวัณ

Page 28: Chapter 02 Flowchart

ข้�อมู�ลอะไรบ�าง ทำ &ตั�องใช้�ในการค"านวณ ?

การหาพี� นิท�"ผิวัทรงกลมูท�"มู�ร�ศมู� r มู�ส�ต้รวั�าพี� นิท�"ผิวัทรงกลมูท�"มู�ร�ศมู� r = 4(3.14)r2

ด�งนิ� นิข้�อมู�ลท�"จุ*าเป็�นิต้�องใช�1 .ร�ศมู�2. คื�าพีาย 314.

Page 29: Chapter 02 Flowchart

ต้�วัแป็รท�"นิ*ามูาใช�เก/บ่ข้�อมู�ล ?

1 .ต้�วัแป็รส*าหร�บ่เก/บ่ข้�อมู�ลเข้�ามู�อะไรบ่�าง 1.คื�าคืงท�" 2 .ร�ศมู�2.ต้�วัแป็รส*าหร�บ่เก/บ่ผิลล�พีธี4มู�อะไรบ่�าง 1.ผิลล�พีธี4

Page 30: Chapter 02 Flowchart

ห้าข้� นตัอนว(ธ์ การทำ"างานข้องโปรแกรมู ?

1 . สร�างต้�วัแป็รส*าหร�บ่เก/บ่ข้�อมู�ลคื�าคืงท�" , ร�ศมู� , ผิลล�พีธี4 และก*าหนิดคื�าเบ่� องต้�นิให�ก�บ่ต้�วัแป็รท� งหมูด

2 . ร�บ่ข้�อมู�ลร�ศมู� จุากผิ��ใช�3. คื*านิวัณข้นิาดพี� นิท�"ผิวัทรงกลมูท�"มู�ร�ศมู� r โดยใช�ส�ต้ร

ผิลล�พีธี4 = 4*คื�าคืงท�"*ร�ศมู�*ร�ศมู�; 4. แสดงผิลทางจุอภาพีโดยเข้�ยนิข้�อคืวัามู

“ทรงกลมูนิ� มู�พี� นิท�"ผิวั” +ผิลล�พีธี4+“ต้ารางเมูต้ร”

Page 31: Chapter 02 Flowchart

1 . สร�างต้�วัแป็รส*าหร�บ่เก/บ่ข้�อมู�ลคื�าคืงท�" , ร�ศมู� , ผิลล�พีธี4 และก*าหนิดคื�าเบ่� องต้�นิให�ก�บ่ต้�วัแป็รท� งหมูด

* โดยก*าหนิดให� invariant = คื�าคืงท�" , radius = ร�ศมู� , result = ผิลล�พีธี4

• สั�ญล�กษณ�ค�อ

แบบทำ & 1

แบบทำ & 2

น"าข้� นตัอนว(ธ์ การทำ"างานข้องโปรแกรมูมูาเข้ ยนเป0น Flowchart

float invariant=3.14;float radius=0.0;float result=0.0;

float invariant=3.14, radius=0.0, result=0.0;

Page 32: Chapter 02 Flowchart

นิ*าข้� นิต้อนิวัธี�การท*างานิข้องโป็รแกรมูมูาเข้�ยนิเป็�นิ Flowchart

2 . ร�บ่ข้�อมู�ลร�ศมู�จุากผิ��ใช�

เข้�ยนิเป็�นิส�ญล�กษณ4ได�วั�า

ร�บข้�อมู�ลradius; radius;

ไมู�ระบ1สั�&อ ผั�านทำางค ย�บอร�ดั

Page 33: Chapter 02 Flowchart

นิ*าข้� นิต้อนิวัธี�การท*างานิข้องโป็รแกรมูมูาเข้�ยนิเป็�นิ Flowchart

3 . คื*านิวัณข้นิาดพี� นิท�"ผิวัทรงกลมูท�"มู�ร�ศมู� r โดยใช�ส�ต้ร ผิลล�พีธี4 = 4*คื�าคืงท�"*ร�ศมู�*ร�ศมู�;

เข้ ยนเป0นสั�ญล�กษณ�ไดั�ว�า

result =4*invariant*radius*radius;

Page 34: Chapter 02 Flowchart

นิ*าข้� นิต้อนิวัธี�การท*างานิข้องโป็รแกรมูมูาเข้�ยนิเป็�นิ Flowchart

4 . แสดงผิลทางจุอภาพีโดยเข้�ยนิข้�อคืวัามู“ทรงกลมูนิ� มู�พี� นิท�"ผิวั” +ผิลล�พีธี4+“ต้ารางเมูต้ร”

เข้ ยนเป0นสั�ญล�กษณ�ไดั�ว�า

พั(มูพั� “ทรงกลมูนิ� มู�พี� นิท�"ผิวั ” + result + “ ต้ารางเมูต้ร”;

ไมู�ระบ1สั�&อ

“ทรงกลมูนิ� มู�พี� นิท�"ผิวั ” + result + “ ต้ารางเมูต้ร”;

แสัดังผัลห้น�าจอ

Page 35: Chapter 02 Flowchart

ไมู�ระบ1สั�&อ ระบ1สั�&อ

start

float invariant=0.0;float radius=0.0;float result=0.0;

result =4*invariant*radius*radius;

stop

radius;

“ ” + result + “ ”;

start

radius;

float invariant=0.0;float radius=0.0;float result=0.0;

result =4*invariant*radius*radius;

“ ” + result + “ ”;

stop

3.14;

Page 36: Chapter 02 Flowchart

แบ่บ่ฝ;กห�ด 1 ฝ;กเข้�ยนิ Flowchart ส*าหร�บ่โป็รแกรมูคื*านิวัณอย�างง�าย

• จุงหาพี� นิท�"ข้องวังกลมูท�"มู�ร�ศมู� r ส�ต้ร (3.14)r2

• จุงหาผิลล�พีธี4ข้องสมูการ X2 + 4X + 2 เมู�"อทราบ่คื�า X

• จุงหาคื�าเฉล�"ยข้องต้�วัเลข้ 3 จุ*านิวันิ• จุงหาป็รมูาต้รข้องร�ป็ทรงส�"เหล�"ยมู• จุงหาคืวัามูกวั�างข้องแต้�ละช� นิ เมู�"อทราบ่คื�าพีส�ยและ

จุ*านิวันิช� นิ ส�ต้ร คืวัามูกวั�างข้องแต้�ละช� นิ = พีส�ย/จุ*านิวันิช� นิ