การเขียนคำสั่งควบคุมแบบมีทางเลือก...

25
การเขียนคาสั่งควบคุม แบบมีทางเลือก

Upload: supicha-ploy

Post on 20-Jul-2015

66 views

Category:

Education


7 download

TRANSCRIPT

Page 1: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

การเขยนค าสงควบคมแบบมทางเลอก

Page 2: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

การเขยนค าสงควบคมแบบมทางเลอก

การจดเกบขอมลลงหนวยความจ าคอมพวเตอร ภาษาก าหนดใหด าเนนการผานชอ(identifier) ทผสรางงานโปรแกรมเปนผก าหนดเอง ระบบคอมพวเตอรจะจดเกบชอและต าแหนงทอย (Address ) ในหนวยความจ า เพออางองน าขอมลทจดเกบนนมาใชงาน การก าหนดชอทใชเกบขอมลตองท าภายใตกฎเกณฑ และตองศกษาวธก าหนดลกษณะการจดเกบขอมลตามทภาษาก าหนดไวลกษณะการจดเกบขอมลม 2 แบบคอ แบบคาคงทและแบบตวแปร ทงนกอนทจะเขยนค าสงก าหนดการจดเกบขอมล ควรมความรในเรองชนดขอมลกอน

Page 3: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

ค าสงจดเกบขอมลลง

หนวยความจ า

สงทจ าเปนตองรเพอเพมประสทธภาพในการเขยนค าสงจะมดงน คอ เกณฑการก าหนดชอหนวยความจา ชนดขอมลพนฐานในภาษาซ และค าสงก าหนดคาคงท

Page 4: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

1.ค าสงจดเกบขอมลลงหนวยความจ า1.1 กฎเกณฑการก าหนดชอ

1.อกขระแรกตองเปนตวอกษร หรเครองหมายขดลาง ( _ ) ตวถดไปเปนอกษร ตวเลข หรอ เครองหมายขดลางกได

2.ในภาษาซตวพมพใหญจะมความหมายตางกบตวพมพเลก เชน A จะมความหมายไมเหมอน a

3. หามมอกขระพเศษ เชน $ @ และหามมชองวางระหวางอกขระ

4. ควรตงชอใหสอดคลองกบงาน

5. ตองไมซ ากบคาสงวนของภาษาซ

Page 5: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

1.ค าสงจดเกบขอมลลงหนวยความจ า

O1.2 ชนดขอมล

Oภาษาซมชนดขอมลพนฐาน 3 กลมหลก คอ อกขระ ตวเลขจานวนเตม ตวเลขทศนยม

Oผสรางโปรแกรมควรเลอกใชชนดขอมลใหเหมาะสม เพอใชหนวยความจาอยางมประสทธภาพ

Page 6: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

ชนดขอมล ขอบเขตของขอมล การเกบขอมล

char -128 ถง 127 อกขระ

unsigned char 0 ถง 255 อกขระ ไมคดเครองหมาย

int -32768 ถง 32767 เลขจานวนเตม

unsigned int 0 ถง 65535 เลขจานวนเตม ไมคดเครองหมาย

short -128 ถง 127 เลขจานวนเตมแบบสน

unsigned short 0 ถง 255 เลขจานวนเตมแบบสน ไมคดเครองหมาย

long -2147483648 ถง 2147483649

เลขจานวนเตมแบบยาว

unsigned long 0 ถง 4294967296 เลขจานวนเตมแบบยาว ไมคดเครองหมาย

float 3.4 x 10-38 ถง 3.4 x 1038 เลขทศนยม ตวเลขหลงจด 6 หลก

double 3.4 x 10-308 ถง 3.4 x 10308 เลขทศนยม ตวเลขหลงจด 12 หลก

long double 3.4 x 10-4032 ถง 3.4 x 104032

เลขทศนยม ตวเลขหลงจด 24 หลก

Page 7: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

1.ค าสงจดเกบขอมลลงหนวยความจ า

1.3 ค าสงก าหนดขอมลแบบคาคงท

1.3.1 แบบท 1 ไมตองกาหนดชอของขอมล

เชน printf (“2 x2 = %d\n”,4)

1.3.2 แบบท 2 เขยนบรเณสวนหว ในโครงสรางภาษาซ

รปแบบ #define macro_namedata;

อธบาย macro_name คอชอของขอมล ตองใชตวพมพใหญ

data คอขอมล

ตวอยาง #define PI 3.14;

1.3.3 แบบท 3 เขยนบรเวณฟงกชนหลก

รปแบบ const variable = data;

อธบาย variable คอชอตวแปร

data คอขอมล

ตวอยาง const x = a*b

Page 8: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

การเขยนนพจนเชงตรรกะในการเขยนนพจนเชงตรรกะตองมความรดงน

2.1 ตวดาเนนการทางคณตศาสตร

ตวดาเนนการ ศพทเฉพาะ ความหมาย

+ addition บวก- subtraction ลบ* multiplication คณ/ division หาร% remainder หารเอาเศษ

Page 9: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

การเขยนนพจนเชงตรรกะ2.2 ตวด าเนนการความสมพนธ

ก าหนด a = 3 ; b = 2 ;ตวดาเนนการ ศพทเฉพาะ ความหมาย

< less than นอยกวา> greater than มากกวา<= less than or equal นอยกวาหรอเทากบ

>= greater than or equal มากกวาหรอเทากบ

== equal เทากบ!= not equal ไมเทากบ

Page 10: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

การเขยนนพจนเชงตรรกะ

ตารางสรปคาความจรงของนพจนตรรกะ

ประโยค(X)

ประโยค(Y)

!(X) (X)&&(Y) (X)||(Y)

F F T F F

F T T F T

T F F F T

T T F T T

Page 11: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

การเขยนนพจนเชงตรรกะO 2.3 ตวดาเนนการเชงตรรกะ

เปนสญลกษณใชเชอมประโยคค าสงแบบมเงอนไข 2 ประโยคขนไปตรรกะ คอ การคดเชงเหตผลทมความจรงคาใดคาหนงคอ จรง True:1 หรอ False:0

ตวดาเนนการ ศพทเฉพาะ ความหมาย

&& AND และ|| OR หรอ! NOT นเสธ

Page 12: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

ค าสงควบคมแบบมทางเลอก ลกษณะ if

ค าสงควบคมแบบ if ม 3 ลกษณะคอ แบบ if แบบ if – else และแบบ if – else if – else

3.1 กรณใชประโยคคาสงแบบ if

ค าสง if มการทางานดงน หากประโยคเงอนไขเปนจรงใหไปท างานตามคาสงตอจากเงอนไข แลวไปต าแหนงค าสงชดตอไป หากเงอนไขเปนเทจกไมตองทาอะไร ใหไปต าแหนงคาสงชดตอไป

Page 13: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

ค าสงควบคมแบบมทางเลอก ลกษณะ if

3.1.1 รปแบบการเขยนค าสงแบบ if

รปแบบ 1 กรณหลงเงอนไข if ม 1 ค าสง

if (เงอนไข)

คาสง ; (กรณเงอนไขเปนจรง)

คาสงชดตอไป ; (กรณเงอนไขเปนเทจ)

Page 14: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

ค าสงควบคมแบบมทางเลอก ลกษณะ if

รปแบบ 2กรณหลงเงอนไข if มมากกวา 1 ค าสง

if (เงอนไข)

{

กลมคาสง ; (กรณเงอนไขเปนจรง)

} ;

คาสงชดตอไป ; (กรณเงอนไขเปนเทจ)

Page 15: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

ค าสงควบคมแบบมทางเลอก ลกษณะ if3.2 กรณใชประโยคคาสงแบบ if – else

คาสง if – else มการทางานดงน หากเงอนไขเปนจรง ใหทางานตามคาสงชดท 1 แลวไปทคาสงชดตอไป แตหากเงอนไขเปนเทจ ใหทางานตามคาสงชดท 2 แลวไปทคาสงชดตอไป3.2.1 รปแบบการเขยนคาสงแบบ if – else

รปแบบ การใชคาสงแบบ if – else

If (เงอนไข)

คาสงชดท 1 (กรณเงอนไขเปนจรง) ;

else

คาสงชดท 2 (กรณเงอนไขเปนเทจ) ;

คาสงชดตอไป ;ขอควรจ า หากแตละทางเลอกมมากกวา 1 คาสง ตองใชเครองหมาย { } กนขอบเขต

Page 16: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

ค าสงควบคมแบบมทางเลอก ลกษณะ if

O 3.3 กรณใชประโยคคาสงแบบ if – else if – else

O คาสง if – else if – else มการทางานดงน หากเงอนไข 1 เปนจรง ใหทางานตามคาสงชดท 1 แลวทาตามคาสงชดตอไป หากเงอนไข 1 เปนเทจ ใหตรวจสอบวาเงอนไข 2 เปนจรงหรอไม หากเงอนไข 2 เปนจรงใหทางานตามคาสงชดท 2 แลวทาตามคาสงชดตอไป หากเงอนไข 2 เปนเทจ ใหตรวจสอบวาเงอนไข n เปนจรงหรอไม หากเงอนไข n เปนจรงใหทางานตามคาสงชดท n แลวทาตามคาสงชดตอไป หากเงอนไข nเปนเทจ ใหทาตามคาสงทอยหลง else แลวทาตามคาสงชชดถดไป

Page 17: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

ค าสงควบคมแบบมทางเลอก ลกษณะ if

3.3.1 รปแบบการเขยนคาสงแบบ if – else if – elseรปแบบ รปแบบการเขยนคาสงแบบ if – else if – elseif (เงอนไข 1)คาสงชดท 1 ; (กรณเงอนไข 1 เปนจรง)else if (เงอนไข 2)คาสงชดท 2 ; (กรณเงอนไข 2 เปนจรง)…..elseคาสงชดท n ; (นอกเหนอจากเงอนไขขางตน)คาสงชดตอไป ;ขอควรจา หากแตละทางเลอกมมากกวา 1 คาสง ตองใชเครองหมาย { } กนขอบเขต

Page 18: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

4. ค าสงควบคมแบบมทางเลอก ลกษณะ switch

การควบคมการทางานเชงตรรกะในภาษาซ นอกจากค าสง if แลว ยงมคาสง switch ทใหเลอกนาไปใชควบคมการทางานแบบมทางเลอก กรณทางเลอกการทางานมเปนจานวนมาก ตวอยางเชน งานตดสนผลการเรยนแบบ 8 ระดบ หากใชคาสง if รปแบบการเขยนประโยคคาสงจะมจานวนบรรทดคาสงจานวนมาก ทาใหอานคาสงไดยากภาษาซออกแบบคาสง switch ใหทางานลกษณะวเคราะหตรวจสอบคาของตวแปร หรอนพจนวาตรงกบคาภายในคาสง case ใด จะทางานตามคาสงภายใตการควบคมของคาสง case นน แตหากตรวจสอบแลวไมตรงกบคาสงใดเลย จะทางานภายใตคาสง default (ผ เขยนคาสงอาจไมเลอกเขยนคาสง default กได)

Page 19: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

4. ค าสงควบคมแบบมทางเลอก ลกษณะ switch

4.1 รปแบบการเขยนค าสงและแนวทางผงงานแบบ switchSwitch { var / expression}{case คาท 1 : คาสงชดท 1 ;break ;case คาท 2 : คาสงชดท 2 ;break ;case คาท n : คาสงชดท n ;break ;: คาสง ;}คาสงชดตอไป

Page 20: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

O กรณใชคาสง switch

O โจทย : จงเขยนงานโปรแกรมในลกษณะเมนเลอกการทางาน ดวยคาสง switch ดงน

O กาหนดให กด 1 คานวณพนทสเหลยมจตรส

O กด 2 คานวณพนทสามเหลยม

O กด 3 ออกจากระบบงาน นอกเหนอจากน แจงขอความการกดหมายเลขผดพลาด

ขนตอนการพฒนางานโปรแกรม1. การวเคราะหระบบงานเบองตน1.1 สงทตองการ โปรแกรมเมนเลอกการคานวณพนทสเหลยม และพนทสามเหลยม1.2 สมการคานวณ พนทสเหลยม = กวาง x ยาว พนทสามเหลยม = ฐาน x สง /21.3 ขอมลนาเขา ตวเลอกเมน ความกวาง ความยาว หรอฐานกบสง1.4 การแสดงผลตามโจทยก าหนด1.5 ก าหนดคณสมบตตวแปร

Page 21: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

กรณศกษาการใชค าสงควบคมแบบมทางเลอก

O 1.6 ล าดบขนตอนการทางาน (action)

O 1) เรมตนการทางานO 2) แสดงสวนเมนเลอกงานO 3) ปอนคาตวเลอกเมน (ans)O 4) เลอกทางานดวยคาสง switch

(ans)O 4.1) ถา ans เปน ‘1’ ใหทา งาน

กลมคาสง ดงน O - ปอนคาสง w, lO - คานวณ area = w * lO - พมพ areaO (ออกไปทางานขอ 5)

ขอมล ชอหนวยความจา ชนดขอมล

ความกวาง w ตวเลขทศนยม

ความยาว l ตวเลขทศนยม

ฐาน b ตวเลขทศนยม

สง h ตวเลขทศนยม

พนท area ตวเลขทศนยม

ตวเลอกเมน ans อกษะ

Page 22: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

O 4.2) ถา ans เปน ‘2’ ใหทางานกลมคาสง ดงน

O - ปอนคาสง b, h

O - คานวณ area = b * h/2

O - พมพ area

O (ออกไปทางานขอ 5)

O 4.3) ถา ans เปน ‘3’ ใหทางานกลม คาสง ดงน

O - ออกจากสวนการทางาน

O (ออกไปทางานขอ 5)

O 4.4) นอกเหนอจากน พมพขอความแจง ขอผดพลาด

O (ออกไปทางานขอ 5)

O 5) สนสดการทางาน

Page 23: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
Page 24: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

กรณศกษาการใชค าสงควบคมแบบมทางเลอก

O3. ค าสงควบคมการทางาน

Oตวอยางโปรแกรม กรณศกษาโปรแกรมระบบงาน ลกษณะเมนเลอกการท างาน ควบคมการเลอกการท างานดวยค าสง switch

Page 25: การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3

จดท าโดยนายเกดพงศ เกดมงคล เลขท 3

นายวสวตต ลอเธยรประทาน เลขท 6

นางสาวปนดา เหมาอ าพมาตร เลขท 17

นางสาวสภชา แกวรกษา เลขท 19

นางสาวอภชญา ใจอกษร เลขท 20

ชนมธยมศกษาปท 4/5