Chapter 04 Compare
-
Upload
- -
Category
Technology
-
view
1.690 -
download
0
Transcript of Chapter 04 Compare
![Page 1: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/1.jpg)
การเขยีนโปรแกรมเบ ือ้งต ้น
![Page 2: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/2.jpg)
ว ันน ี้เร ียน
•การเข ียนโปรแกรมเบ ือ้งต ้น•การเข ียนโปรแกรมแบบเล ือกทำา
![Page 3: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/3.jpg)
Create source code
Create source code – การเขยีน code ตามกฎเกณฑ์ของ
ภาษา C++ – เพ ือ่ส ัง่ให ้คอมพิวเตอร ์ท ำางานตามที่
โปรแกรมเมอร ์ต ้องการ
![Page 4: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/4.jpg)
Compile
– เปน็กระบวนการในการตรวจสอบcode ที่โปรแกรมเมอร ์เขยีนว ่าถ ูก
ต้องตรงตามหลักการเข ียนในภาษาC++ หรือไม ่
– ถ้าผ ิดจะแสดงข้อความระบ ุสาเหตุความผิด
– โปรแกรมเมอร ์จะต ้องแก้ไข และcompile ใหม่จนกว ่าจะถ ูก
![Page 5: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/5.jpg)
![Page 6: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/6.jpg)
Link
– เปน็กระบวนการในการนำาโปรแกรมยอ่ยที่ จ ำาเปน็ต ้องใชม้ารวมเขา้ก ับโปรแกรมหลัก
เพ ื่อให ้โปรแกรมหลักท ำางานได้ตามที่โปรแกรมเมอร ์ต ้องการ
– ผลลัพธท์ ี่ได ้จากกระบวนการ Link คอื file ชนดิ .EXE
![Page 7: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/7.jpg)
Run
– เปน็กระบวนการในการการส ัง่ให ้โปรแกรมทำางาน
– ความผดิพลาดสามารถเก ิดข ึ้นได ้ในขณะที่run เร ียกว ่า run-time error
![Page 8: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/8.jpg)
![Page 9: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/9.jpg)
โครงสร ้างของภาษา C++
Header
Main function
Preprocessor
Global Declarations
Function prototypes
statements
comments
![Page 10: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/10.jpg)
ว ิธ ีการเข ียน source code สำาหร ับโปรแกรมอย่างง ่าย
1. เข ียน Preprocessor statement
2. เข ียน main function
![Page 11: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/11.jpg)
เข ียน Preprocessor statement
• Preprocessor statement เปน็ค ำาส ัง่ท ี่ส ัง่ให ้คอมไพเลอร ์ท ำางานบางอยา่งก ่อนที่จะคอมไพล์โปรแกรม
• คำาส ัง่จะข ึ้นต ้นด ้วยเคร ื่องหมาย #
• Preprocessor statement ที่ส ำาคญัๆ ม ี 2 ประเภทคอื#include#define
![Page 12: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/12.jpg)
#include
• เปน็ Preprocessor statement ที่ส ัง่ให ้คอมไพเลอร ์รวมเฮดเดอร ์ไฟล ์ท ี่อย ู่หล ังไดเรกทีฟ
อนิคล ูด เข ้าไว ้ก ับซอร ์ดโคด้ เพ ื่อให ้โปรแกรมสามารถทำางานตามที่โปรแกรมเมอร ์ต ้องการได้
• เฮดเดอร ์ไฟล ์ (Header file) เปน็ท ี่เก ็บฟ ังก ์ช ั่ นมาตรฐาน สร ้างไว ้เพ ื่อชว่ยโปรแกรมเมอร ์
ประหยดัเวลาในการเข ียนโปรแกรม
![Page 13: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/13.jpg)
• เฮดเดอร ์ไฟล ์ (Header file) เชน่ iostream.h• เก ็บฟังก ์ชนัในการร ับข ้อมลู และแสดงผลข้อมลู
เชน่ cin , cout เปน็ต ้น
#include
#include<iostream.h>
preprocessor
DirectiveHeader File
![Page 14: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/14.jpg)
#define
• เปน็ Preprocessor statement ที่ก ำาหนดคา่ ของต ัวแปรไว ้ก ่อนที่จะมกีารคอมไพล์ ด ังน ั้นใน
กระบวนการคอมไพล์จ ึงไม ่สามารถ เปล ี่ยนแปลงคา่ของต ัวแปรได้
• หากมคี ำาส ัง่ใดในโปรแกรมต้องการ เปล ี่ยนแปลงคา่ โปรแกรมจะแสดงข้อความระบ ุ
ความผดิพลาด• ร ูปแบบการเข ียนค ำาส ัง่ ( ไม ่ต ้องมเีคร ื่องหมาย ; ปดิท ้ายค ำาส ัง่)
สำาหร ับต ัวแปรชนิดต ัวเลข#define score 50
สำาหร ับตวัแปรชนดิต ัวอ ักษร#define score “over 50”
![Page 15: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/15.jpg)
การเข ียน main function
• เปน็การเข ียนฟังก ์ชนัหล ักในการทำางานของ โปรแกรม
• ทุกๆ โปรแกรมที่เข ียนขึ้นจากภาษา C++ จะ ต้องมฟี ังก ์ชนัน ีเ้สมอ มฉิะน ัน้โปรแกรมจะไม ่
สามารถทำางานได้• ลักษณะการเข ียนvoid
main (){ คำาสัง่ต่างๆ;
}
บ่งบอกว ่าฟ ังก ์ช ันนี้ไม ่ได ้ส ่งค ่าใดๆ
ชื่อฟ ังก ์ช ันนี้
บ ่งบอกว ่าฟ ังก ์ช ันนี้ไม ่ได ้ร ับค ่าใดๆ
![Page 16: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/16.jpg)
5 เมตร
4 เมตร
ตัวอย ่างท ี่ 1 การค ำานวณพื้นท ี่สามเหล ี่ยม
![Page 17: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/17.jpg)
Preprocessor
Function
![Page 18: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/18.jpg)
ก่อนเข ียน Preprocessor ลองถามตวัเองว ่า .....1. โปรแกรมทีจ่ะเขยีนมกีารร ับข ้อมลูและแสดงผล
ข้อมลูหร ือไม ่ ?
ตอบ ม ี ต้องใส ่ preprocessor ว ่า#include<iostream>
2. โปรแกรมทีจ่ะเขยีนมกีารใช้งานตัวแปรแบบstring หรือไม ่ ?
ตอบ ม ี ต้องใส ่ preprocessor ว ่า#include<string>
3. โปรแกรมทีจ่ะเขยีนมกีารเรยีกใช้ฟงัก ์ชนัทาง คณิตศาสตร ์หร ือไม ่ ?
ตอบ มี ต้องใส ่ preprocessor ว ่า#include<math.h>
• สร ุปต ้องถามตัวเองว ่า header file อะไรบ้างท ี่ จำาเป ็นต ้องใช้
![Page 19: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/19.jpg)
#include<iostream.h>
Preprocessor ที่ต ้องใช้ในโปรแกรมคำำนวณพื้นท ี่สำมเหล ี่ยม
#include<iostream.h> เปน็ preprocessor ตัวเด ียวเท ่ำน ัน้
เน ือ่งจำกโปรแกรมนีม้กีำรร ับและแสดงข้อม ูล อย่ำงเด ียว
ไมม่ ีกำรใชต้วัแปรแบบ string และไมม่ ีกำรใช้ฟ ังก ์ชนัทำงคณิตศำสตร ์
![Page 20: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/20.jpg)
กำรเข ียน main functionvoid main()
{
}
ขั้นท ี่ 1 เข ียน
void main()
{
}
![Page 21: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/21.jpg)
กำรเข ียน main functionvoid main()
{
}
ขั้นท ี่ 2 เข ียนค ำำส ัง่ท ี่อย ูภ่ำยใน
ฟังก ์ชนั main
![Page 22: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/22.jpg)
float invariant = 0.5, base = 0.0, height =0.0, result = 0.0;
จำกสญัล ักษณ์แปลงเป ็น code ภำษำC++ ได้ด ังน ี้
![Page 23: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/23.jpg)
จำกสญัล ักษณ์แปลงเป ็น code ภำษำC++ ได้ด ังน ี้
คำำสัง่ในกำรรับข้อมูลคอืคำำสั่ง cin และเครื่องหมำย >>ดังน ั้นจ ึงเข ียนได้ว ่ำ
cin>>base>>height; ร ับค ่ำแรกมำเก ็บไว ้ในตัวแปร base
ร ับค ่ำสองมำเก ็บไว ้ในตัวแปร height
![Page 24: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/24.jpg)
จำกสญัล ักษณ์แปลงเป ็น code ภำษำC++ ได้ด ังน ี้
result = invariant * base * height;
![Page 25: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/25.jpg)
จำกสญัล ักษณ์แปลงเป ็น code ภำษำC++ ได้ด ังน ี้
คำำสัง่ในกำรแสดงข้อมูลคอืคำำสั่ง cout และเครื่องหมำย <<ดังน ั้นจ ึงเข ียนได้ว ่ำ
cout<<“ ”ร ูปเรขำคณิตนี้ม ีขนำดเท ่ำก ับ <<result<<“ ”ตำรำงเมตร ;
![Page 26: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/26.jpg)
สร ุปเข ียน source code ได้ด ังน ี้
![Page 27: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/27.jpg)
กำรเข ียนโปรแกรมแบบเล ือกทำำ
• สิง่ส ำำคญัท ี่สดุท ี่ตอ้งม ี คอื เง ื่อนไข• เพรำะเง ื่อนไขคอืส ิง่ท ี่จะใชใ้นกำรตรวจสอบว ่ำ
จะต ้องท ำำอะไรต ่อไป– ถ้ำผลล ัพธจ์ำกกำรตรวจสอบเง ือ่นไขเปน็จร ิง
ทำำอะไร– ถ้ำผลล ัพธจ์ำกกำรตรวจสอบเง ือ่นไขเปน็เท ็จ
จะต ้องท ำำอะไร
![Page 28: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/28.jpg)
ตวัอย ่ำงท ี่ 2 กำรเข ียนโปรแกรมแบบเล ือกทำำ
จงเข ียนโปรแกรมตรวจสอบตวัเลขที่ผ ูใ้ชก้รอก เข ้ำมำว ่ำเปน็จ ำำนวนนบัหร ือไม ่ ท ั้งน ีถ้ ้ำต ัวเลขที่ผ ู้
ใชก้รอกเข ้ำมำเปน็ทศนิยมให้โปรแกรมปร ับให้ เปน็เลขจ ำำนวนเต ็มโดยอัตโนมัต ิ ก ่อนทำำกำร
ตรวจสอบ
![Page 29: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/29.jpg)
ขั้นว ิเครำะห์ปญัหำ
1. ปญัหำคอือะไร• ตอบ ปญัหำคอืเขียนโปรแกรมตรวจสอบตัวเลขที่รับ
เข้ำมำสู่ระบบ โดยถ้ำตัวเลขที่รับเข้ำมำมีคำ่มำกกว่ำ 0 ให้แสดงข้อควำมว่ำ
“This number is a cardinal number”
แต่ถ้ำน้อยกว่ำหรือเท่ำกับ ให้แสดงข้อควำมว่ำ “This number is not a cardinal number”
![Page 30: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/30.jpg)
ขั้นว ิเครำะห์ปญัหำ
2. ร ูปแบบของผลลัพธท์ ี่จะแสดงคอือะไร ?• ตอบ
ถ้ำตัวเลขที่รับเข้ำมำมีคำ่มำกกว่ำ 0 ให้แสดงข้อควำมว่ำ
“This number is a cardinal number”
แต่ถ้ำน้อยกว่ำหรือเท่ำกับ ให้แสดงข้อควำมว่ำ “This number is not a cardinal number”
![Page 31: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/31.jpg)
ขั้นว ิเครำะห์ปญัหำ
3. ข้อมลูอะไรบำ้ง ท ี่ต ้องใชใ้นกำรค ำำนวณ ?• ตอบ ข้อมูลตัวเลขที่รับมำจำกผูใ้ช้
![Page 32: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/32.jpg)
ขั้นว ิเครำะห์ปญัหำ
4. ตัวแปรที่น ำำมำใชเ้ก ็บข ้อม ูล ?• ตอบ มี ตัวแปรเก็บข้อมูลเข้ำ 1 ตัว คอื number เปน็
ชนิด int เพรำะในโจทย์ระบุว่ำถ้ำตัวเลขที่ผู้ใชก้รอกเข้ำมำเปน็ทศนิยมให้ปรับเปน็จำำนวนเต็มก่อนแล้วคอ่ยเอำไปตรวจสอบ ดังนัน้ถ้ำเรำกำำหนดเปน็ int โปรแกรมจะปรับให้โดยอัตโนมัติไม่ต้องเขียนคำำสั่งใดๆ เพิ่ม
![Page 33: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/33.jpg)
ขั้นว ิเครำะห์ปญัหำ
4. หำขั้นตอนวิธกีำรทำำงำนของโปรแกรม ?ตอบ• สร้ำงตัวแปรสำำหรับเก็บข้อมูลตัวเลข และกำำหนดค่ำ
เบือ้งต้นให้กับตัวแปรทั้งหมด• รับข้อมูลตัวเลข จำกผู้ใช้• ประมวลผลโดยกำรเปรียบเทียบ คอื
3.1 ถ้ำ number มำกกว่ำ 0 ให้แสดงข้อควำม “This number is a cardinal number”
ถ้ำไมใ่ช่ทำำต่อข้อ 3.2
3.2 แสดงข้อควำม “This number is not a cardinal number”
![Page 34: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/34.jpg)
เข ียน Flowchart
1. สร้ำงตัวแปรสำำหรับเก็บข้อมูลตัวเลข และกำำหนดค่ำเบือ้งต้นให้กับตัวแปรทั้งหมด
int number = 0;
![Page 35: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/35.jpg)
เข ียน Flowchart
2. รับข้อมูลตัวเลข จำกผูใ้ช้
number
![Page 36: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/36.jpg)
เข ียน Flowchart
3. ประมวลผลโดยกำรเปรียบเทียบ คอื3.1 ถ้ำ number มำกกว่ำ 0 จริง แล้วให้แสดงข้อควำม
“This number is a cardinal number” ถ้ำไมใ่ช่ทำำต่อข้อ 3.2
3.2 แสดงข้อควำม “This number is not a cardinal number”
number > 0
“This number is a cardinal number”“This number is not a cardinal number”
จร ิง เท ็จ
![Page 37: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/37.jpg)
สร ุปFlowchart ที่
ได ้
start
int number = 0;
number
number > 0
“This number is a cardinal number”“This number is not a cardinal number”
จร ิง เท ็จ
stop
![Page 38: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/38.jpg)
Preprocessor
Function
![Page 39: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/39.jpg)
เข ียนสว่นที่เปน็ Preprocessor
• เนื่องจากมีการรับและแสดงผลข้อมูลอย่างเดียว ไม่มีตัวแปร string และไม่มีการใชฟ้ังก์ชนัทางคณิตศาสตร์ ดังนั้น Preprocessor จึงมีตัวเดียวคอื
#include<iostream.h>
![Page 40: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/40.jpg)
การเข ียนโปรแกรมสว่นของ Function
ขั้นตอนที่ 1 void main (){
}
![Page 41: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/41.jpg)
การเข ียนโปรแกรมสว่นของ Function
จากสญัล ักษณ์สามารถเปล ีย่นเปน็ code ภาษาC++ ได้ด ังน ี้
int number = 0;
int number = 0;
ขั้นตอนที่ 2
![Page 42: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/42.jpg)
การเข ียนโปรแกรมสว่นของ Function
จากสญัล ักษณ์สามารถเปล ี่ยนเปน็ code ภาษาC++ ได้ด ังน ี้
cin>>number;
number
ขั้นตอนที่ 2
![Page 43: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/43.jpg)
การเข ียนโปรแกรมสว่นของ Function
จากสญัล ักษณ์ด ้านล ่างสามารถเปล ี่ยนเปน็code ภาษา C++ ได้ด ังน ี้if (number > 0){
cout<< “This number is a cardinal number”<<endl;}else{
cout<< “This number is not a cardinal number”<<endl;} ขั้นตอนที่ 2
![Page 44: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/44.jpg)
สร ุป source code สำาหร ับโปรแกรมตัวอย ่างน ี้คอื
![Page 45: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/45.jpg)
การใช้ switch
• สามารถเลอืกเข ียนค ำาส ัง่ switch แทนการ เข ียนค ำาส ัง่ if ได้ ในกรณีท ี่
– มกีารเล ือกทำาหลายเง ื่อนไข– แตล่ะเง ื่อนไข ใชต้ ัวแปรเด ียวก ันในการ
ตดัสนิใจ
![Page 46: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/46.jpg)
ตัวอย ่างการใช้ switch
• จงเข ียนโปรแกรมจ ัดการต ัวเลข 2 จ ำานวนโดยที่ผ ูใ้ชส้ามารถเล ือกว ิธกีารด ำาเนนิการทาง
คณติศาสตร ์ก ับต ัวเลขทั้งสอง ได้ด ังน ี้ ถ้าเล ือก 1 ให้หาผลรวมของต ัวเลขทั้งสองน ั้น ถ้าเล ือก 2 ให้หาผลลบของต ัวเลขทั้งสองน ัน้ ถ้าเล ือก 3 ให้หาผลคณูของต ัวเลขทั้งสองน ัน้
![Page 47: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/47.jpg)
ขั้นว ิเคราะห์ปญัหา
1. ปญัหาคอือะไร• ตอบ ปญัหาคอืเขียนโปรแกรมจัดการตัวเลข 2
จำานวน โดยที่ผูใ้ช้สามารถเลือกวิธีการดำาเนินการทางคณิตศาสตร์กับตัวเลขทั้งสอง ได้ดังนี้
ถ้าเลือก 1 ให้หาผลรวมของตัวเลขทั้งสองนั้นถ้าเลือก 2 ให้หาผลลบของตัวเลขทั้งสองนั้นถ้าเลือก 3 ให้หาผลคณูของตัวเลขทั้งสองนั้น
![Page 48: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/48.jpg)
ขั้นว ิเคราะห์ปญัหา
2. ร ูปแบบของผลลัพธท์ ี่จะแสดงคอือะไร ?• ตอบถ้าเลือก 1 รูปแบบการแสดงผล “You choose case 1
num1 + num2 = result”ถ้าเลือก 2 รูปแบบการแสดงผล “You choose case 2
num1 - num2 = result”ถ้าเลือก 3 รูปแบบการแสดงผล “You choose case 3
num1 * num2 = result”ถ้าเลือกเลขทีเ่ลือกไมใ่ช่ 1, 2, 3 ให้ข้ึนข้อความ “sorry the
system can’t process”
หมายเหตุnum1, num2 คอืตัวเลขที่ผูใ้ชใ้สเ่ข้าไปresult คอืผลลัพธ์ที่ได้
![Page 49: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/49.jpg)
ขั้นว ิเคราะห์ปญัหา
3. ข้อมลูอะไรบา้ง ท ี่ต ้องใชใ้นการค ำานวณ ?• ตอบ สตูรท ี่ตอ้งใชม้ดี ังน ี้
กรณีหมายเลข case เปน็ 1 ผลลัพธ์ = เลขจำานวนที่ 1 + เลขจำานวนที่ 2กรณีหมายเลข case เปน็ 2 ผลลัพธ์ = เลขจำานวนที่ 1 - เลขจำานวนที่ 2กรณีหมายเลข case เปน็ 3 ผลลัพธ์ = เลขจำานวนที่ 1 * เลขจำานวนที่ 2
ดังน ัน้ข ้อมลูท ี่ต ้องใชใ้นการค ำานวณคอื•เลขจำานวนที่ 1•เลขจำานวนที่ 2•หมายเลข case
![Page 50: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/50.jpg)
ขั้นว ิเคราะห์ปญัหา
4. ตัวแปรที่น ำามาใชเ้ก ็บข ้อม ูล ?• ตอบ
– ตัวแปรเก็บข้อมูลเข้า 3 ตัว •เลขจำานวนที่ 1 ตั้งชือ่ว่า num1 เป็นชนดิ float•เลขจำานวนที่ 2 ตั้งชือ่ว่า num2 เป็นชนดิ float•หมายเลข case ตั้งชือ่ case_num เป็นชนิด int
– ตัวแปรเก็บผลลัพธ์ 1 ตัว•ผลลัพธ์ ตั้งชือ่ว่า result เป็นชนิด float
![Page 51: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/51.jpg)
ขั้นว ิเคราะห์ปญัหา
4. หาขั้นตอนวิธกีารทำางานของโปรแกรม ?ตอบ1. สร้างตัวแปรสำาหรับเก็บข้อมูลเลขจำานวนที่ 1,
เลขจำานวนที่ 2,
หมายเลข case, ผลลัพธ ์และกำาหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมด
2. รับข้อมูลเลขจำานวนที่ 1, เลขจำานวนที่ 2, หมายเลข case จากผูใ้ช้
3. ประมวลผลโดยการเปรียบเทียบ ตรวจสอบหมายเลข case คอื3.1 ถ้าหมายเลข case เท่ากับ 1
(1) หาผลรวมโดย result = num1 + num2;
(2) แสดงข้อความ “You choose case 1 num1 + num2 = “+result;
![Page 52: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/52.jpg)
ขั้นว ิเคราะห์ปญัหา
4. หาขั้นตอนวิธกีารทำางานของโปรแกรม ? (ต่อ)3.2 ถ้าหมายเลข case เท่ากับ 2
(1) หาผลลบโดย result = num1 - num2;
(2) แสดงข้อความ “You choose case 2 num1 - num2 = “+result;
3.3 ถ้าหมายเลข case เท่ากับ 3
(1) หาผลคูณโดย result = num1 * num2;
(2) แสดงข้อความ “You choose case 3 num1 * num2 = “+result;
![Page 53: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/53.jpg)
ขั้นว ิเคราะห์ปญัหา
4. หาขั้นตอนวิธกีารทำางานของโปรแกรม ? (ต่อ)3.4 ถ้าหมายเลข case ไม่ได้อยู่ใน 1-3
แสดงข้อความ “sorry the system can’t process”
![Page 54: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/54.jpg)
เข ียน Flowchart
1. สร้างตัวแปรสำาหรับเก็บข้อมูลเลขจำานวนที่ 1, เลขจำานวนที่ 2,
หมายเลข case, ผลลัพธ ์และกำาหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมดfloat num1=0.0, num2=0.0, result=0.0;
int case_num= 0;
![Page 55: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/55.jpg)
เข ียน Flowchart
2. รับข้อมูลเลขจำำนวนที่ 1, เลขจำำนวนที่ 2, หมำยเลข case จำกผูใ้ช้
case_num, num1, num2
![Page 56: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/56.jpg)
เข ียน Flowchart
3. ประมวลผลโดยกำรเปรียบเทียบ ตรวจสอบหมำยเลข case
switch case_num
![Page 57: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/57.jpg)
เข ียน Flowchart
ถ้ำหมำยเลข case เท่ำกับ 1
(1) หำผลรวมโดย result = num1 + num2;
(2) แสดงข้อควำม “You choose case 1 num1 + num2 = “+result;
case 1:
result = num1 + num2;
“You choose case 1 num1 + num2 = “+result;
![Page 58: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/58.jpg)
เข ียน Flowchart
ถ้ำหมำยเลข case เท่ำกับ 2
(1) หำผลรวมโดย result = num1 - num2;
(2) แสดงข้อควำม “You choose case 2 num1 - num2 = “+result;
case 2:
result = num1 - num2;
“You choose case 2 num1 - num2 = “+result;
![Page 59: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/59.jpg)
เข ียน Flowchart
ถ้ำหมำยเลข case เท่ำกับ 3
(1) หำผลรวมโดย result = num1 * num2;
(2) แสดงข้อควำม “You choose case 3 num1 * num2 = “+result;
case 3:
result = num1 + num2;
“You choose case 3 num1 * num2 = “+result;
![Page 60: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/60.jpg)
เข ียน Flowchart
ถ้ำหมำยเลข case ไม่ได้อยู่ใน 1-3
แสดงข้อควำม “sorry the system can’t process”
default :
“sorry the system can’t process”;
![Page 61: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/61.jpg)
start
float num1=0.0, num2=0.0, result= 0.0;int case_num= 0;
case_num, num1, num2
switch case_num
result = num1 + num2;
“You choose case 1 num1 + num2 = “+result;
stop
“sorry the system can’t process”;
result = num1 - num2;
“You choose case 2 num1 - num2 = “+result;
result = num1 * num2;
“You choose case 3 num1 * num2 = “+result;
case 1:
case 2:
case 3:
default:
![Page 62: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/62.jpg)
เข ียนสว่นที่เปน็ Preprocessor
• เนื่องจำกมีกำรรับและแสดงผลข้อมูลอย่ำงเดียว ไม่มีตัวแปร string และไม่มีกำรใชฟ้ังก์ชนัทำงคณิตศำสตร์ ดังนั้น Preprocessor จึงมีตัวเดียวคอื
#include<iostream.h>
![Page 63: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/63.jpg)
กำรเข ียนโปรแกรมสว่นของ Function
ขั้นตอนที่ 1 void main (){
}
start
float num1=0.0, num2=0.0, result= 0.0;int case_num= 0;
case_num, num1, num2
switch case_num
result = num1 + num2;
“Youchoosecase1num1+num2=“+result;
stop
“sorry the system can’t process”;
result = num1 -num2;
“Youchoosecase2num1-num2=“+result;
result = num1 * num2;
“Youchoosecase3num1*num2=“+result;
case 1: case 2: case 3: default:
![Page 64: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/64.jpg)
เข ียน Flowchart
แปลงเปน็ code ภำษำ C++ ได้ดังนี้float num1=0.0, num2=0.0, result=0.0;
int case_num= 0;
float num1=0.0, num2=0.0, result=0.0;int case_num= 0;
![Page 65: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/65.jpg)
เข ียน Flowchart
case_num, num1, num2
แปลงเปน็ code ภำษำ C++ ได้ดังนี้
cin>>case_num>>num1>>num2;
![Page 66: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/66.jpg)
เข ียน Flowchart
switch case_num
แปลงเป็น code ภำษำ C++ ได้ดังนี้
switch (case_num)
{
ค่อยใส ่เคร ื่องหมำย ปีกกำป ิด ท ีหล ัง หล ังจำก
เข ียนคำำส ั่งภำยในเสร ็จแล ้ว
![Page 67: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/67.jpg)
เข ียน Flowchart
start
float num1=0.0, num2=0.0;int case_num= 0;
case_num, num1, num2
switch case_num
result = num1 + num2;
“Youchoosecase1num1+num2=“+result;
stop
“sorry the system can’t process”;
result = num1 -num2;
“Youchoosecase2num1-num2=“+result;
result = num1 * num2;
“Youchoosecase3num1*num2=“+result;
case 1: case 2: case 3: default:
แปลงเปน็ code ภำษำ C++ ได้ดังนี้case 1:
result = num1+num2;
cout<<“You choose case 1 num1+num2 = “<<result<<endl;
break;
![Page 68: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/68.jpg)
เข ียน Flowchart
start
float num1=0.0, num2=0.0;int case_num= 0;
case_num, num1, num2
switch case_num
result = num1 + num2;
“Youchoosecase1num1+num2=“+result;
stop
“sorry the system can’t process”;
result = num1 -num2;
“Youchoosecase2num1-num2=“+result;
result = num1 * num2;
“Youchoosecase3num1*num2=“+result;
case 1: case 2: case 3: default:
แปลงเป็น code ภำษำ C++ ได้ดังนี้case 2:result = num1- num2;cout<<“You choose case 2 num1-num2 =
“<<result<<endl;break;
![Page 69: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/69.jpg)
เข ียน Flowchart
start
float num1=0.0, num2=0.0;int case_num= 0;
case_num, num1, num2
switch case_num
result = num1 + num2;
“Youchoosecase1num1+num2=“+result;
stop
“sorry the system can’t process”;
result = num1 -num2;
“Youchoosecase2num1-num2=“+result;
result = num1 * num2;
“Youchoosecase3num1*num2=“+result;
case 1: case 2: case 3: default:
แปลงเป็น code ภำษำ C++ ได้ดังนี้case 3:result = num1* num2;cout<<“You choose case 3 num1*num2 =
“<<result<<endl;break;
![Page 70: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/70.jpg)
เข ียน Flowchart
start
float num1=0.0, num2=0.0;int case_num= 0;
case_num, num1, num2
switch case_num
result = num1 + num2;
“Youchoosecase1num1+num2=“+result;
stop
“sorry the system can’t process”;
result = num1 -num2;
“Youchoosecase2num1-num2=“+result;
result = num1 * num2;
“Youchoosecase3num1*num2=“+result;
case 1: case 2: case 3: default:
แปลงเป็น code ภำษำ C++ ได้ดังนี้default:cout<<“sorry the system can’t
process”<<endl;break;}
ปิด switch case เน ื่องจำกเป ิดเอำไว ้ในตอนแรก
![Page 71: Chapter 04 Compare](https://reader033.fdocuments.net/reader033/viewer/2022060202/559cb8641a28abd4558b4636/html5/thumbnails/71.jpg)
สร ุปผลกำรเข ียนโปรแกรม