ภาษาที่ใช้ในการบรรยายผังงาน

Download Report

Transcript ภาษาที่ใช้ในการบรรยายผังงาน

บทที่ 1
การเขียนโปรแกรมและ
อัลกอริทม
ึ
Outline
• องคประกอบของเครื
อ
่ งคอมพิวเตอร ์
์
• ภาษาคอมพิวเตอรและตั
วแปลภาษา
์
• ขัน
้ ตอนการวิเคราะหปั
์ ญหาและการ
เขียนอัลกอลิทม
ึ
• โครงสรางการท
างานของอัลกอริทม
ึ
้
องคประกอบของเครื
อ
่ งคอมพิวเตอร ์
์
องค์ ประกอบ
ของคอมพิวเตอร์
Hardware
Software
Peopleware
ฮารดแวร
์
์ (Hardware)
• หน่วยประมวลผลกลาง
CPU
Intel
Pentium 4
Celero
Pentium M (Centrino)
AMD
Athlon
AMD
Dulon
Cyrix
องคประกอบของหน
์
่ วยประมวลผลกลาง
• หน่วยควบคุม (Control Unit : CU)
• หน่วยคานวณและตรรกะ (Arithmetic and
Logic Unit : ALU)
ฮารดแวร
์
์ (Hardware)
• หน่วยรับขอมู
้ ล (Input Unit )
Keyboard
Mouse
Track ball
Optical Mouse
Wireless
Mouse
Optical Character Reader
Optical Mark Reader
Digitizer
ฮารดแวร
์
์ (Hardware)
• หน่วยความจา (Memory Unit )
– หน่วยความจาหลัก (Primary
Stroage)
• หน่วยความจาชัว
่ คราว (Random
Access Memory : RAM)
• หน่วยความจาถาวร (Read Only
Memory : ROM)
– หน่วยเก็บขอมู
้ ลสารอง (Secondary
Storage)
DDRRAM
SDRAM
หน่วยเก็บขอมู
้ ลสารอง (Secondary Storage)
Harddisk
หน่วยเก็บขอมู
้ ลสารอง (Secondary Storage)
Removable Drive
ฮารดแวร
(Hardware)
์
์
• หน่วยแสดงผลลัพธ ์ (Output
Unit )
–หน่วยแสดงผลประเภทชัว
่ คราว
(Soft Copy)
–หน่วยแสดงผลประเภทถาวร
(Hard Copy)
Cathode Ray Tube
Liquid Crystal Display
Display card
Projector
Dot Matrix
Ink Jet
Laser Jet
ซอฟตแวร
์
์ (Software)
• ซอฟตแวร
ระบบ
(System
์
์
Software)
• ซอฟตแวร
ประยุ
กต ์ (Application
์
์
Software)
– ซอฟตแวร
ส
้
์
์ าหรับงานเฉพาะดาน
– ซอฟตแวร
ส
้ ่
์
์ าหรับงานทัว่ ไป ไดแก
Microsoft Office, Lotus, Adobe
Photoshop, SPSS,
บุคลากร (Peopleware)
• ผูจั
้ ดการระบบ (System
Manager)
• นักวิเคราะหระบบ
(System
์
Analyst)
• โปรแกรมเมอร ์ (Programmer)
• ผูใช
้ ้ (User)
ภาษาคอมพิวเตอร ์ และตัว
แปลภาษา
ภาษาคอมพิวเตอรสามารถแบ
งออก
่
์
ไดเป็
้ น 3 ระดับ คือ
• ภาษาเครือ
่ ง (Machine
Language)
• ภาษาระดับตา่ (Low Level
Language)
• ภาษาระดับสูง (High Level
Language)
ตัวแปลภาษา (Language
Translator)
ตัวแปลภาษา โดยสามารถแบงตั
่ วแปร
ภาษาออกได้ ดังนี้
• แอสแซมเบลอ (Assembler)
• คอมไพเลอร ์ (Compiler)
Source
Program
Language
Translator
Object
Program
• จะทาการแปลง Source Codes ไปเป็ น Machine Codes ครัง้ เดียว
แลวค
Execute คาสั่ ง
้ อย
่
ตัวแปลภาษา (Language
Translator)
• อินเตอรพรี
์ ตเตอร ์ (Interpreter)
จะทาการแปลง Source Codes ที
ละบรรทัด และก็ทาการ Execute ที
ละบรรทัด
ขัน
้ ตอนการวิเคราะหปั
์ ญหา
1. วิเคราะหผลลั
พธ ์
์
2. วิเคราะหข
้ ล
์ อมู
3. วิเคราะหกระบวนการแก
ปั
้ ญหา
์
หรือขัน
้ ตอนการประมวลผล
ขอมู
้ ล
ขัน
้ ตอนการวิเคราะหปั
์ ญหา (โจทย)์
• วิเคราะหผลลั
พธ ์
์
– พิจารณาวาโจทย
ต
าตอบอะไร รูปแบบ
่
้
์ องการค
การแสดงผลเป็ นอยางไร
่
• ขัน
้ วิเคราะหข
์ อมู
้ ล
– ในตัวปัญหาจะมีส่วนทีบ
่ งบอกข
อมู
่
้ ล ซึง่
สามารถแบงได
เป็
่
้ น 3 ลักษณะ
กาหนดให
= 20 b =เช
15่ น c
• ขอมู
ก
้ a ้โดยตรง
้ ลทีโ่ จทย
์ าหนดให
=5
จานวนนักเรียน
10
คน
รายชือ
่ ลูกค้าคือ กานดา
จินตนา
และ อาภรณ์
ขัน
้ ตอนการวิเคราะหปั
่
์ ญหา (ตอ)
• ขัน
้ วิเคราะหข
้ ล (ตอ)
่
์ อมู
• ขอมู
โดยบงบอก
้ ลทีโ่ จทยไม
่ บอกโดยตรง
้
่
์ ได
ลักษณะแหลงที
่ า ความเกีย
่ วพัน หรือ
่ ม
พรรณนาถึงขอมู
เช่น
้ ลแบบเปิ ดกวาง
้
จานวนนักเรียนทัง้ ชัน
้ เรียน
ตัวเลขขอมู
่ ้ใช
ู ้
้ ลตามทีผ
เตรียมมา
เลขจานวนเต็ม 2 จานวน
ให้ใส่ทางแป้นพิมพ ์
ขัน
้ ตอนการวิเคราะหปั
่
์ ญหา (ตอ)
• ขัน
้ วิเคราะหข
้ ล (ตอ)
่
์ อมู
• ขอมู
้ ฐานกิจกรรมการประมวลผล
้ ลทีเ่ ป็ นพืน
นั้นๆ โจทยไม
อชีแ
้ นะ
่ าเป็ นตองบอกหรื
้
์ จ
เช่น
จงคานวณหาพืน
้ ที่
สามเหลีย
่ ม โดยให้ผู้ใช้ใส่
ขอมู
่ วของ
้ ลทีเ่ กีย
้
ตัวอยางปั
ญหาโจทยทาง
่
์
คอมพิวเตอร ์ (ตอ)
่
ปัญหา
ให้เขียนโปรแกรมคานวณคา่ x จาก
x = (a+b+c)/abc โดยใส่ขอมู
้ ล a, b
และ c ทางแป้นพิมพ ์ (Keyboard)
และแสดงผลคา่ x ทีก
่ ระดาษพิมพ ์
เริม
่ ตน
้
ใส่คา่ a, b และ c
วิเคราะหผลลั
พธ ์
์
x <-- (a+b+c)/(a*b*c)
คา่ x ทางกระดาษพิมพ ์
วิเคราะหข
พิมพค
์ า…
่
้ ล
์ อมู
คา่ a, b, และ c จากแป้นพิมพ ์x
วิเคราะหกระบวนการแก
ปั
้ ญหา
์
สิ้ นสุด
x = (a+b+c) / abc
ตัวอยางปั
ญหาโจทยทางคอมพิ
วเตอร ์
่
์
•
•
•
ตองการทราบผลลั
พธของ
7 + 5 ให้
้
์
แสดงผลลัพธที
่ ระดาษพิมพ ์
์ ก
ให้รับขอมู
ใช
้ ลเขาจากผู
้
้ ้ โดยนาขอมู
้ ล
นาเขาทั
้ ง้ สองจานวนเป็ นตัวเลขจานวนเต็ม
ใดๆ แลวให
้
้ทาการเปรียบเทียบหาคาที
่ ่
มากกวา่ แสดงผลทางจอภาพ
ให้รับขอมู
้ ลจานวนเต็มจากผูใช
้ ้ 3
จานวนทีไ่ มเท
่ ากั
่ น แลวด
้ าเนินการ
เปรียบเทียบหาคาสู
่ งสุด และแสดง
คาสู
่ งสุดคานั
่ ้นทางจอภาพ
ตัวอยางปั
ญหาโจทยทางคอมพิ
วเตอร ์
่
์
(ตอ)
่
•
•
ให้คานวณพืน
้ ทีแ
่ ตละชนิ
ดตอไปนี
้ พืน
้ ที่
่
่
สี่ เหลีย
่ ม พืน
้ ทีส
่ ามเหลีย
่ ม พืน
้ ทีร่ ป
ู วงกลม
โดยเครือ
่ งรับขอมู
่ วของจากผู
้ ลทีเ่ กีย
้
้ใช้
นาเขาทางแป
่ ี่
้
้ นพิมพ ์ แสดงจานวนเนื้อทีท
คานวณไดทางจอภาพ
้
ให้รับขอมู
้ ลตัวเลขทศนิยมจากผูใช
้ ้จานวน
100 จานวน เพือ
่ ดาเนินการหาผลรวม
ย
่ ของตัวเลขทัง้ 100 จานวน
และคาเฉลี
่
นั้น แสดงผลรวมและคาเฉลี
ย
่ ทีไ่ ดทาง
่
้
จอภาพ
การเขียนอัลกอริทม
ึ
• อัลกอริทม
ึ ทีใ่ ช้ในการแสดง
กระบวนการทางาน หรือการ
ประมวลผลขอมู
่ ิยมใช้มี 2
้ ล ทีน
วิธ ี คือ
– ผังงาน (Flow Chart)
– รหัสจาลอง (Pseudo Code)
สั ญลักษณผั
์ งงาน (Flowchart
Symbols)
• สั ญลักษณที
์ ใ่ ช้เขียนผังงานเป็ นสั ญลักษณ ์
มาตรฐานสากล กาหนดขึน
้ โดย ANSI
(The American National Standard
ภาพสัญลักษณ์
ความหมาย
Institute)
Processing
กระบวนการ การคานวณ
Auxiliary
Processing
กระบวนการสารอง
สั ญลักษณผั
์ งงาน (Flowchart Symbols)
ภาพสัญลักษณ์
Subroutine
Processing
ความหมาย
กระบวนการที่นิยามไว้ การทางาน
ย่อย
Input/Output
Data
ข้ อมูล รับหรื อแสดงข้ อมูลโดยไม่
ระบุชนิดอุปกรณ์
Internal
Storage
ที่เก็บภายใน
Decision
Symbol
การตัดสินใจ การเปรี ยบเทียบ
สั ญลักษณผั
์ งงาน (Flowchart Symbols)
ภาพสัญลักษณ์
Preparation
Symbol
Manual Input
ความหมาย
การเตรี ยมการ การกาหนดค่า
ล่วงหน้ าหรื อกาหนดค่าเป็ นชุดตัวเลข
ป้อนข้ อมูลด้ วยตนเอง การรับข้ อมูล
เข้ าทางแป้นพิมพ์
ขันตอนที
้
่ทาด้ วยตนเอง การควบคุม
Manual Control โปรแกรมทางแป้นพิมพ์
Document
Output
เอกสารแสดงผล, การแสดงผลทาง
เครื่ องพิมพ์
สั ญลักษณผั
์ งงาน (Flowchart Symbols)
ภาพสัญลักษณ์
ความหมาย
More Document
เอกสารแสดงผลหลายฉบับ
Monitor
จอภาพแสดงผล
Card
การ์ ดหรื อบัตรเจาะรู ใช้ ใส่ข้อมูล
Tape
เทป (สื่อบันทึกข้ อมูล)
สั ญลักษณผั
์ งงาน (Flowchart Symbols)
ภาพสัญลักษณ์
Start/End Symbol
ความหมาย
เริ่มต้ น/สิ ้นสุด, การเริ่มต้ นหรื อการ
ลงท้ าย
Connection
Symbol
จุดเชื่อมต่อในหน้ าเดียวกัน
Connection
Symbol
ตัวเชื่อมต่อไปหน้ าอื่น
จุดร่วมการเชื่อมต่อ
สั ญลักษณผั
์ งงาน (Flowchart Symbols)
ภาพสัญลักษณ์
ความหมาย
หรื อ
ตรวจเทียบ
เรี ยงลาดับ
แยก
สั ญลักษณผั
์ งงาน (Flowchart Symbols)
ภาพสัญลักษณ์
ความหมาย
ผนวก
ข้ อมูลที่เรี ยง
หน่วงเวลา
ที่เก็บแบบเข้ าถึงโดยเรี ยงลาดับ
สัญลักษณ์ ผังงาน (Flowchart Symbols)
ภาพสัญลักษณ์
ความหมาย
ดิสก์แม่เหล็ก
หน่วยเก็บแบบเข้ าถึงโดยตรง
Flow Line
เส้ นแสดงลาดับกิจกรรม
Comment Line
แสดงคาอธิบายหรื อหมายเหตุ
สั ญลักษณที
่
์ ใ่ ช้บอย
• แทนการประมวลผลทัว่ ไป ยกเวน
้
การอานข
อมู
่
้ ลและการแสดงผลลัพธ ์
• แทนการนาขอมู
้ ลเขา้ (Input) และ
การนาผลลัพธออก
(Output) โดย
์
ทัง้ 2 กรณีนี้ยงั ไมได
ชนิด
่ ระบุ
้
เครือ
่ งมือหรืออุปกรณที
์ ใ่ ช้
• แทนกิจกรรมเปรียบเทียบขอมู
้ ลกับ
เงือ
่ นไข โดยมีเส้นทางออกเป็ น
ทางเลือก
• แทนกิจกรรมเตรียมการ หรือกาหนด
คุณลักษณะของการทางานวนซา้
ชนิดทีร่ จ
ู านวนรอบแนนอน
สัญลักษณ์ ท่ ใี ช้ บ่อย
อ่านข้ อมูล...
อ่านข้ อมูลจากแป้นพิมพ์
อ่านข้ อมูล...
อ่านข้ อมูล...
อ่านข้ อมูลจากอุปกรณ์ใดๆ
สัญลักษณ์ แทนการอ่ านข้ อมูลที่ระบุและไม่ ระบุอุปกรณ์
สัญลักษณ์ ท่ ใี ช้ บ่อย
แสดงผล...
แสดงผล...
แสดงผลทางจอภาพ
แสดงผล...
แสดงผลในรูปเอกสาร
(เครื่ อง printer)
แสดงผล...
แสดงผลทางอุปกรณ์ใดๆ
สัญลักษณ์ แทนการแสดงผลโดยระบุและไม่ ระบุอุปกรณ์
ภาษาทีใ่ ช้ในการบรรยายผังงาน
• นอกจากการใช้สั ญลักษณผั
์ งงานเป็ น
เครือ
่ งมือแลว
้ ภายในรูปสั ญลักษณนั
์ ้นๆ
จะตองมี
คาบรรยายประกอบเพือ
่ สื่ อความ
้
เขาใจด
วย
้
้
• คาบรรยายในผังงานนิยมใช้
ภาษาธรรมชาติ (Natural Language) ตอง
้
ไมเอาภาษาคอมพิ
วเตอรมาใช
่
์
้หรือมาปะปน
• ผังงานทีไ่ ดจะเป็
นอัลกอริทม
ึ แมแบบที
ผ
่ เขี
ู้ ยน
้
่
โปรแกรมจะนาไปเขียนประโยคคาสั่ งดวย
้
ภาษาคอมพิวเตอรต
์ อไป
่
ภาษาที่ใช้ ในการบรรยายผังงาน
• ตัวอย่าง จงหาค่า x จากสมการ x = (a+b-c)/100 โดยใส่ข้อมูล
a, b, c ทางแป้นพิมพ์และแสดงผลค่า x ทางจอภาพ
เริ่มต้ น
ใส่คา่ a, b, c
x <- (a+b-c)/100
แสดงค่า x
สิ ้นสุด
Program Sample;
Uses crt;
Var a, b, c, x : real
Begin
Clrscr;
Readln(a,b,c);
x := (a+b-c)/100
Writeln(x:8:2);
End.
ภาษาที่ใช้ ในการบรรยายผังงาน
• คาบรรยายประกอบสัญลักษณ์ผงั งาน
– เป็ นการอธิบายเสริมความหมายของสัญลักษณ์นนๆ
ั้
– รูปสัญลักษณ์ที่มกั มีคาอธิบายประกอบเสมอ คือ Input/Output Symbol
• กิจกรรมอ่านข้ อมูลเข้ าเครื่ อง คาบรรยายมีหลายแบบ เช่น
อ่านค่า...
ใส่คา่ ...
อ่ านค่ า...
รับค่ า...
ใส่ ข้อมูล...
Input...
Read...
ภาษาที่ใช้ ในการบรรยายผังงาน
• คาบรรยายประกอบสัญลักษณ์ผงั งาน (ต่อ)
• กิจกรรมแสดงผลลัพธ์
Display...
แสดงค่า...
Print...
มีคาบรรยายหลายแบบ เช่น
แสดงค่ า...
พิมพ์ ค่า...
Display...
Print...
Show...
ภาษาที่ใช้ ในการบรรยายผังงาน
• คาบรรยายกิจกรรม
ภายในรูปสัญลักษณ์จะบรรจุรายละเอียดของกิจกรรมซึง่
เกี่ยวข้ องกับข้ อมูล (Data) ตัวแปร (Variable name) และ
เครื่ องหมายดาเนินการ (Operators)
• ข้ อมูล
– ข้ อมูลตัวเลข เช่น 100, 25, 15.25
– ข้ อมูลตัวอักษรหรื อข้ อความ เช่น “ABC”, “25”, “242158”
• ตัวแปร เป็ นตัวอักษรเดี่ยวหรื อตัวอักษรหลายตัวที่กาหนดให้ เป็ นชื่อ
ตัวแปร เช่น ใส่ ค่า a, b แสดงค่ า area
ภาษาที่ใช้ ในการบรรยายผังงาน
• คาบรรยายกิจกรรม (ต่อ)
• เครื่ องหมายดาเนินการในผังงาน
– เครื่ องหมายดาเนินการกาหนดค่า (Assignment Operators) เป็ น
เครื่ องหมายที่แสดงการใส่คา่ ลงในตัวแปร คือ นาค่าทางขวาของ
เครื่ องหมายไปเก็บในตัวแปรทางด้ านซ้ าย
ภาษาธรรมชาติ ภาษา Pascal
:=
หรื อ คา
บรรยาย
ภาษา C
ความหมาย
=
นาค่าข้ อมูลทางขวาไป
ไว้ ในตัวแปรทางซ้ าย
ภาษาที่ใช้ ในการบรรยายผังงาน
ผังงาน
A
25
หรื อ
Set A to25
Count
ความหมาย
Count +1
หรื อ
Set Count to Count +1
กาหนดให้ 25 ไปเก็บไว้ ที่ A
เพิ่มค่าของ Count อีก 1
แล้ วไปเก็บไว้ ที่ Count เดิม
แสดงตัวอย่ างการใช้ Assignment Operator
ภาษาที่ใช้ ในการบรรยายผังงาน
• คาบรรยายกิจกรรม (ต่อ)
• เครื่ องหมายดาเนินการในผังงาน (ต่อ)
– เครื่ องหมายดาเนินการเปรี ยบเทียบความสัมพันธ์ (Relational Operators)
เป็ นเครื่ องหมายแสดงการเปรี ยบเทียบความสัมพันธ์ทางตรรกะระหว่างนิพจน์
ทางซ้ ายกับนิพจน์ทางขวาว่าเป็ น จริ ง (True) หรื อ เท็จ (False)
ภาษาธรรมชาติ
ภาษา Pascal
ภาษา C
ความหมาย
<
<
<
น้ อยกว่า
>
>
>
มากกว่า
=
=
==
เท่ากัน
<> >< =
<> ><
!=
ไม่เท่ากัน
<= ≤
>= >
<=
<=
น้ อยกว่าหรื อเทียบเท่า
>=
>=
มากกว่าหรื อเทียบเท่า
ภาษาที่ใช้ ในการบรรยายผังงาน
Count = 0
Case?
1
2
3
A=1
4
A=2
Data > 0
Data ≠ 0
แสดงตัวอย่ างการใช้ Relational Operators
ภาษาทีใ่ ช้ในการบรรยายผังงาน
• คาบรรยายกิจกรรม (ตอ)
่
• เครือ
่ งหมายดาเนินการในผังงาน (ตอ)
่
– เครือ
่ งหมายดาเนินการเปรียบเทียบความสั มพันธทาง
์
ตรรกะ (Logical Operators) เป็ นเครือ
่ งหมายแสดง
ความสั มพันธระหว
างกลุ
มตั
่
่ วถูกกระทา ซึง่ มีหลายกลุมใน
่
์
ลักษณะทีส
่ ั มพันธแบบสอดคล
อง
(and) เลือกอยางใด
้
่
์
อยางหนึ
่ง ภาษา
(or) หรื
อเป็ นตรงกัภาษา
นขามกั
โดยผลการ
่
้ C น (not)
ภาษาธรรมชาติ
Pascal
ความหมาย
เปรียบเทียบจะเป็ น จริง หรือ เท็จ
and, และ
and
&&
และ
or, หรื อ
or
||
หรื อ
not, ตรงข้ ามกับ
not
!
ปฏิเสธ (ตรงข้ าม)
ภาษาที่ใช้ ในการบรรยายผังงาน
ผังงาน
ความหมาย
a > b หรื อ a < 100
a มากกว่า b หรื อน้ อยกว่า 100
x > 100 or y = 0
x มากกว่า 100 หรื อ y เท่ากับ 0
Salary < 10000 and
not Salary < 5000
Salary น้ อยกว่า 10000 และไม่น้อย
กว่า 5000
แสดงตัวอย่ างการใช้ Logical Operators
ภาษาที่ใช้ ในการบรรยายผังงาน
• คาบรรยายกิจกรรม (ต่อ)
• เครื่ องหมายดาเนินการในผังงาน (ต่อ)
– เครือ
่ งหมายดาเนินการทางคณิตศาสตร ์
(Arithmetic Operators)
ภาษาธรรมชาติ ภาษา Pascal
ภาษา C
ความหมาย
+
+
+
บวก
ลบ
×
*
*
คูณ
÷, / หรื อเศษส่วน
/
/
หาร
หารเอาจานวนเต็ม
div
/ (เฉพาะจานวนเต็ม) หารเอาจานวนเต็ม
หารเอาเฉพาะเศษ
mod
% (อ่าน Modulus) หารเอาเฉพาะเศษ
ภาษาที่ใช้ ในการบรรยายผังงาน
x (a + b – c) / 100
Hour
min หารเอาจานวนเต็มด้ วย 60
Minute min หารเอาเฉพาะเศษด้ วย 60
แสดงตัวอย่ างการใช้ Arithmetic Operators
ภาษาที่ใช้ ในการบรรยายผังงาน
• คาบรรยายประกอบทิศทางการทางาน
– กิจกรรมตรวจสอบเงื่อนไขเพื่อการตัดสินใจ แบบ 2 ทางเลือก ต้ องมีคา
บรรยายว่าทางออกใดเป็ นทางจริง (True) ทางออกใดเป็ นทางเท็จ
(False)
– กิจกรรมตรวจสอบเงื่อนไขเพื่อการตัดสินใจที่มีทางเลือกมากกว่า 2 ทาง
ต้ องมีคาบรรยายที่เป็ นกรณีที่ต้องการ (Case ที่ระบุ)
• คาบรรยายหมายเหตุเพิ่มเติมในผังงาน
อ่านค่า N
N เป็ นจานวน
ข้ อมูลทัง้ หมด
โปรแกรมหาค่าผลรวม
•
รายละเอียดของงาน(โจทย์ )
– ให้ เขียนโปรแกรมหาผลรวม ของตัวเลข 1 ถึง 5
• วิเคราะห์งาน
1. ขันตอนการท
้
างาน
• การหาผลรวมนี ้คล้ ายกับการหยอดเหรี ยญเก็บสะสมใน
กระปุกออมสิน 5 ครัง้ คือ หยอด 1, 2, 3, 4, 5 บาทตามลาดับ
• อันดับแรกให้ เทสิ่งต่างๆออกจากกระปุกให้ หมด
• จากนันใส่
้ เงินในครัง้ แรกก่อน(รวม 5 ครัง้ )
• เมื่อหยอดครอบแล้ วจึงนากระปุกมาตรวจว่ามีทงหมดเท่
ั้
าใด
2. กาหนดชื่อตัวแปร
•
•
•
จากขันตอนที
้
่กล่าวมากาหนดตัวแปรได้ คือ
S คือกระปุกออมสิน(ใช้ เก็บผลรวม)
X คือเงินในแต่ละครัง้ ที่หยอดลงกระปุก
• เขียนผังงาน
– ขัน
้ ที่ 1 นากระปุกออมสิ นมาเทสิ่ งตางๆออกให
่
้หมด
start
S=0
- ขัน
้ ที่ 2 หยิบ X บาทครัง้ แรกมา
start
S=0
X=0
• เขียนผังงาน(ต่อ)
– ขันที
้ ่ 3 เพิ่มเงินที่จะใส่กระปุกใหม่ คือเพิ่มค่า X อีก 1 (จาก 1 กลายเป็ น 2)
start
S=0
X=0
S = S+X
หมายเหตุ การใส่ เงิน X บาทลงในกระปุก S นั้นเราจะใช้คาสั่ง S = S + X (สะสม)
เป็ นการบวกค่า S ด้วย X แล้วนาผลลัพธ์มาใส่ ยงั S ตามเดิม
• เขียนผังงาน(ต่อ)
– ขันที
้ ่ 4 นาเงินที่หยิบขึ ้นมา X นันลงกระปุ
้
กออมสิน S
start
S=0
X=0
S = S+X
X=X+1
• เขียนผังงาน(ตอ)
่
– ขัน
้ ที่ 5 วนกลับมาทาขัน
้ ตอนที่ 3 และ 4 ( คือใส่คา่
X
ลงใน S คือเพิม
่ คา่ X อีกครัง้ ละ 1 )ไปเรือ
่ ยๆ โดยจะ
ทาจนกวา่ X มีคามากกว
า่ 5 จึงหยุดการทางาน
่
start
S=0
X=0
X>5
N
S = S+X
X=X+1
Y
• เขียนผังงาน(ตอ)
่
– ขัน
้ ที่ 6 เมือ
่ คา่
X มีคามากว
า่ 5 แลวให
่
้
้เลิก
การเวียนทาเพือ
่ แสดงคา่ S ทีค
่ านวณไดและสิ
้ นสุด
้
การทางาน
start
S=0
X=0
X>5
N
S = S+X
X=X+1
Y
Print S
STOP
โปรแกรมหาพืน
้ ทีส
่ ี่ เหลีย
่ ม
•
รายละเอียดของงาน(โจทย)์
– ให้เขียนโปรแกรมหาพืน
้ ทีส
่ ี่ เหลีย
่ มโดยสูตร พืน
้ ที่
= กวาง*ยาว
้
• วิเคราะหงาน
์
1. ขัน
้ ตอนการทางาน
• ทาการอานค
าของ
ดานกว
าง
และดานยาว
่
่
้
้
้
(สองคา)
่
• คานวณหาพืน
้ ทีโ่ ดยนาคาทั
่ ง้ สองคูณกันเก็บไว้
ทีเ่ ก็บผลลัพธ ์
• จากนั้นกลับมารับคาของด
านกว
าง
และดาน
่
้
้
้
ยาวของสี่ เหลีย
่ มรูปใหม่
• ทาจนกวาจะหมดจ
านวนการหาพืน
้ ทีส
่ ี่ เหลีย
่ ม
่
• เขียนผังงาน
– ขัน
้ ที่ 1 อานค
าด
างและด
านยาวของสี
่ เหลีย
่ มที่
่
่ านกว
้
้
้
1
start
READ(W,L)
- ขัน
้ ที่ 2 คานวณหาพืน
้ ทีโ่ ดยสูตรแลวเก็
้ บ
ผลลัพธไว
้ ่ AR start
์ ที
READ(W,L)
AR = W * L
• เขียนผังงาน
– ขัน
้ ที่ 3 แสดงคาผลลั
พธที
่ านวณไดออกที
่
่
้
์ ค
จอภาพ
start
READ(W,L)
AR = W * L
PRINT (W,L,AR)
• เขียนผังงาน
– ขัน
้ ที่ 4 วนกลับทาขัน
้ ตอนที่ 1-3 ใหมเพื
่ ทา
่ อ
การรับคาและค
านวณหาพืน
้ ทีข
่ องสี่ เหลีย
่ มรูปใหม่
่
start
READ(W,L)
AR = W * L
PRINT (W,L,AR)
การวนอยางนี
้เรายังไมรู่ ว
่
้ าจะหมด
่
ขอมู
่ ใดดังนั้นเราจึงสมมุตใิ ห้
้ ลเมือ
วาถ
่ ากรอกความ
้
กวางของด
านเป็
น 0 แสดงวา่
้
้
ขอมู
้ ทีแ
่ ลวจึ
้ ลไมมี
่ ให้หาพืน
้ ง
สิ้ นสุดการทางานของโปรแกรม
• เขียนผังงาน
– ขัน
้ ที่ 4 วนกลับทาขัน
้ ตอนที่ 1-3 ใหมเพื
่ ทาการ
่ อ
รับคาและค
านวณหาพืน
้ ทีข
่ องสี่ เหลีย
่ มรูปใหม่
่
start
READ(W,L)
W=0
N
AR = W * L
PRINT (W,L,AR)
Y
STOP
• เขียนผังงาน
– การทาผังงานให้เป็ นแบบโครงสรางนั
้นเราจะตอง
้
้
ปรับให้อยูในรู
ปแบบ While..Do โดยจะตองย
ายจุ
ด
่
้
้
การวนกลับมาทีเ่ งือ
่ นไขแทนแล
วชดเชยค
าสั่ งที่
start
้
หายไป
READ(W,L)
W=0
N
AR = W * L
Y
PRINT (W,L,AR)
READ(W,L)
STOP
โปรแกรมหาคาสู
่ งสุด
•
รายละเอียดของงาน(โจทย)์
– ให้เขียนโปรแกรมหาคะแนนนักเรียนทีม
่ ี
คะแนนมากทีส
่ ุด
• วิเคราะหงาน
์
1. ขัน
้ ตอนการทางาน
• ทาการอานค
าของคะแนนนั
กเรียนคนแรก
่
่
• จดจาคะแนนคนแรกเป็ นคะแนนสูงสุดเลย
• จากนั้นอานค
าของคะแนนนั
กเรียนคนถัดมา
่
่
• เปรียบเทียบคะแนนคนแรกกับคนทีอ
่ านมา
่
ใหมถ
อ
่ านมาใหม
ไม
า่
่ าคะแนนที
้
่
่ มี
่ คามากกว
่
ก็ไมเปลี
่ นแปลงอะไรถามากกว
าก็
่ ย
้
่ จดจา
คาที
่ ากวาไว
่ ม
่
้
โปรแกรมหาคะแนนสูงสุด(ตอ)
่
2. กาหนดชือ
่ ตัวแปร
• MX คือคะแนนสูงสุด
• X คือคะแนนนักเรียน

เขียนผังงาน
– ขัน
้ ที่ 1 อานค
าคะแนนนั
กเรียนคนแรก
่
่
start
READ(X)
• เขียนผังงาน
– ขัน
้ ที่ 2 จดจาคะแนนนักเรียนคนแรกเป็ น
คะแนนสูงสุด
start
READ(X)
MX = X
- ขัน
้ ตอนที่ 3 รับคาคะแนนของคนถั
ดมาใหม่
่
start
READ(X)
MX = X
READ(X)
• เขียนผังงาน
– ขัน
้ ที่ 4 นาคะแนนทีอ
่ านมาใหม
เปรี
่
่ ยบเทียบกับคาที
่ ่
จดจาไว้ ถ้า X มีคามากว
าให
่ นเป็ นคา่
่
่
้ MX เปลีย
MX เป็ นคะแนน X ตัวใหม่
start
READ(X)
MX = X
READ(X)
X > MX
N
Y
MX = X
• เขียนผังงาน
– ขันที
้ ่ 5 วนกลับมาทาขันตอนที
้
่ 3 และ 4 (รับคะแนนนักเรี ยนคนใหม่มา)จนกว่าจะ
ครบทุกคน (ในที่นี ้เราจะนาตัวเลขคะแนน –1เพื่อบอกว่าเป็ นคนสุดท้ ายแล้ ว)
start
หมายเหตุ ตัวเลข-1 ที่ใช้แทนตัว
เลขบอกว่าหมดข้อมูลแล้ว
READ(X)
MX = X
READ(X)
Y
X =-1
N
X > MX
N
Y
MX = X
• เขียนผังงาน
– ขัน
้ ที6
่ เมือ
่ หมดคะแนนนักเรียนหมดแลวจึ
้ งแสดง
คาคะแนนสู
งสุดทีstart
จ
่ ด
ั เก็บมา
่
หมายเหตุ ตัวเลข-1
ทีใ่ ช้แทนตัว
เลขบอกวาหมดข
อมู
่
้ ล
แลว
้
READ(X)
MX = X
READ(X)
X =-1
N
X > MX
N
Y
Y
Print MX
MX = X
STOP
• เขียนผังงาน
– ทาให้ อยูใ่ นรูปแบบโครงสร้ าง While..Do
start
READ(X)
หมายเหตุ ตัวเลข-1 ที่ใช้แทนตัว
เลขบอกว่าหมดข้อมูลแล้ว
MX = X
READ(X)
X =-1
N
X > MX
N
READ(X)
Y
Y
MX = X
Print MX
STOP
โปรแกรมตัดเกรด
•
•
รายละเอียดของงาน(โจทย)์
– มีเกณฑในการตั
ดเกรดขึน
้ อยูกั
่ บคะแนนดังนี้
์
สอบได้ 50 คะแนน จะไดกรด
F
้
สอบได้ 50 – น้อยกวา่ 60 คะแนน จะไดกรด
D
้
สอบได้ 60 – น้อยกวา่ 70 คะแนน จะไดกรด
C
้
สอบได้ 70 – น้อยกวา่ 80 คะแนน จะไดกรด
B
้
สอบได้ 80 คะแนน ขึน
้ ไปจะไดกรด
A
้
วิเคราะหงาน
์
1. ขัน
้ ตอนการทางาน
• ทาการอานค
าของคะแนนนั
กเรียนคนแรก(ถามี
ื่ ของ
่
่
้ ชอ
นักเรียนดวยก็
สามารถอานชื
อ
่ นักเรียนดวย)
้
่
้
• นาคะแนนมาเปรียบเทียบกับตารางการตัดเกรดวาอยู
่
่
ในช่วงใด
• จากนั้นแสดงเกรดทีไ่ ดของคะแนน(และชื
อ
่ นักเรียน)
้
ดังกลาว
่
โปรแกรมหาคะแนนสูงสุด(ตอ)
่
2. กาหนดชือ
่ ตัวแปร
•
•
•

MN คือชือ
่ นักเรียน
SC คือคะแนนนักเรียน
GR คือเกรดของนักเรียนเทียบจากคะแนน
เขียนผังงาน
– ขัน
้ ที่ 1 อานค
าคะแนนและชื
อ
่ นักเรียนคนแรก
่
่
start
READ(NM)
READ(SC)
• เขียนผังงาน(ตอ)
่
– ขัน
้ ที่ 2 ทาการตัดเกรดนักเรียนโดยไลเปรี
่ ยบเทียบ
วาน
start อไม่
่ ้ อยกวา่ 50 คะแนนหรื
READ(NM)
READ(SC)
SC < 50
GR = ‘F’
ในกรณีทไี่ มน
น
่ ้ อยกวาก็
่ นาคะแนนมาเทียบวาน
่ ้ อยกวา่ 60 หรือไมถ
่ าไม
้
่ ้ อยกวา่
60 ก็ให้เกรดเป็ น D
start
READ(NM)
READ(SC)
SC < 50 Y
N GR = ‘F’
SC < 60 Y
N GR = ‘D’
ในกรณีเดียวกันหากคะแนนทีส
่ อบนั้นไมน
่ ้ อยกวา่ 60
คะแนนก็ไลเที
่ ตามล
าดับ
่ ยบกับคาอื
่ น
start
READ(NM)
READ(SC)
SC < 50
N
SC < 60
N
SC < 70
N
SC < 80
N
GR = ‘A’
Y
GR = ‘F’
Y
GR = ‘D’
Y
GR = ‘C’
Y
GR = ‘B’
หมายเหตุ กรณีทค
ี่ ะแนนไมต
่ า่ กวา่ 80 เรา จะให้เกรดเป็ น
A โดยไมต
ยบอะไรเลยเพราะคนทีส
่ อบไดคะแนนไม
น
่ องเปรี
้
้
่ ้ อย
ขันที
้ ่ 3เมื่อทราบว่าเป็ นเกรดอะไรแล้ วก็แสดงเกรดออกมาที่จอภาพ พร้ อมคะแนน และชื่อนักเรี ยน
start
READ(NM)
READ(SC)
SC < 50
N
SC < 60
N
SC < 70
N
SC < 80
N
GR = ‘A’
Print(NM,SC,GR)
Y
GR = ‘F’
Y
GR = ‘D’
Y
GR = ‘C’
Y
GR = ‘B’
ขัน
้ ที่ 4 เมือ
่ ตัดเกรด 1 คนตองแล
วย
างานขัน
้ ตอนที่ 1-3
้
้ อนไปท
้
start
เพือ
่ อานคะแนน,ชื
อ
่
มาตั
ด
เกรดต
อที
อมู
่
่ ละคนจนกวาจะหมดข
่
้ ล
READ(NM)
MN <> “X”
READ
(SC)
SC < 50
N
SC < 60
N
SC < 70
N
SC < 80
N
GR = ‘A’
stop
Y
GR = ‘F’
Y
GR = ‘D’
Y
GR = ‘C’
Y
GR = ‘B’
Print(NM,SC,GR)
ขันที
้ ่ 4 เมื่อตัดเกรด 1 คนต้ องแล้ วย้ อนไปทางานขันตอนที
้
่ 1-3 เพื่ออ่านคะแนน,ชื่อมาตัดเกรดต่อทีละคน
start
จนกว่าจะหมดข้ อมูล
READ(NM)
MN <> “X”
stop
READ(SC)
SC < 50
N
SC < 60
N
SC < 70
N
SC < 80
N
GR = ‘A’
Y
GR = ‘F’
Y
GR = ‘D’
Y
GR = ‘C’
Y
GR = ‘B’
Print(NM,SC,GR)
READ(NM)
แบบฝึ กหัด
•
•
•
•
จงเขียนผังงานแสดงการคานวณพืน
้ ที่
สามเหลีย
่ มโดยมีสูตร
พืน
้ ทีส
่ ามเหลีย
่ ม = 0.5*ฐาน*สูง
จงเขียนผังงานแสดงการคานวณหาผลรวมของ
1+3+5+9+11+..+99
จงเขียนผังงานแสดงการคานวณหาผลรวมของ
เลขคูตั
่ ง้ แต่ 0 จนถึง 500
จงเขียนผังงานแสดงคานวณหาคาเฉลี
ย
่ คะแนน
่
นักเรียนจานวน 10 คน
แบบฝึ กหัด
• จงเขียนผังงานแสดงคานวณหาคาเฉลี
ย
่ คะแนน
่
นักเรียนจนกวาจะหมดข
อมู
่
้ ล
• จงเขียนผังงานแสดงคานวณหาภาษีตามหลักเกณฑ ์
ดังนี้
– รายไดอยู
– น้อยกวา่ 50,000 บาท
้ ในช
่
่ วง 1 บาท
คิดภาษี 5% ของรายได้
– รายไดอยู
้ ในช
่
่ วง 50,000 บาท – น้อยกวา่ 75,000
บาทคิดภาษี 10% ของรายได้
– รายไดอยู
้ ในช
่
่ วง 75,000 บาท – น้อยกวา่ 100,000
บาทคิดภาษี 15%ของรายได้
– รายไดอยู
้ ไป คิดภาษี 20%
้ ในช
่
่ วง 100,000 บาทขึน
ของรายได้