You are on page 1of 99

การโปรแกรมคอมพิวเตอร์

Computer Programming
4-000-104

ภาคการศึกษา 1/2564
หนังสื อ/เอกสารประกอบการสอน
Ø Fortran for Scientists and Engineers
by Stephen J. Chapman
Fourth Edition

Fortran
for Scientists and Engineers

Stephen J. Chapman
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
Øคอมพิวเตอร์ คืออะไร???
คอมพิ ว เตอร์ (COMPUTER) ในอดี ต หมายถึ ง อุ ป กรณ์ ที: ใ ช้ ใ นการ
คํานวณ (Calculating Device) มาจากภาษาลาตินว่า COMPUTARE ซึ: งหมายถึง
การนับ หรื อการคํานวณ

ในปั จ จุ บ ั น คอมพิ ว เตอร์ คื อ อุ ป กรณ์ อิ เ ล็ ก ทรอนิ ก ส์ ที: ใ ช้ ใ นการ


ประมวลผลข้อมูล เก็บข้อมูล และเปลี:ยนข้อมูลเป็ นสารสนเทศที: เป็ นประโยชน์
ต่ อ ผู ใ้ ช้โ ดยคอมพิ ว เตอร์ จ ะทํา งานด้ว ยการควบคุ ม จากชุ ด คํา สั: ง ที: เ รี ย กว่ า
“โปรแกรม คอมพิวเตอร์”
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ยุคของคอมพิวเตอร์
ยุคที4 1 ยุคหลอดสุ ญญากาศ : 1945-1958
มีการประดิษฐ์เครื0 องคอมพิวเตอร์ที0มีการใช้หลอดสุ ญญากาศ (Vacuum tubes) ซึ0งจะ
ใช้พลังงานมากและมีขนาดใหญ่ และจะเกิดความผิดพลาดเมื0อความร้อนสู ง
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ยุคของคอมพิวเตอร์
ยุคที4 2 ยุคทรานซิสเตอร์ : 1959-1964
คอมพิวเตอร์ จะมีขนาดเล็กลงและมีความเร็ วมากขึKน เนื0องจากมีการนําทรานซิ สเตอร์
(transistors) มาใช้ค รัK งแรก ทําให้คอมพิ ว เตอร์ กิ นไฟน้อ ยและมี ความร้ อ นน้อ ย มี
ความเร็ วในการทํางานของอุปกรณ์รับข้อมูลและแสดงผลข้อมูลเร็ วขึKนได้ขอ้ มูลที0ถู
ก้องมากขึKน และทําให้ตน้ ทุนในการผลิตคอมพิวเตอร์ลดลงมาก

IBM 1401
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ยุคของคอมพิวเตอร์
ยุคที4 3 ยุควงจรรวม :1965-1970
ยุคนีKมีการนําเอา Integrated Circuits (IC) ซึ0งได้แก่สารกึ0งตัวนํา (Semiconductor) ชิKน
เล็กๆ ที0 สามาระบรรจุ วงจรทางตรรกะ (Logic Circuit) ไว้ได้หลายวงจร โดยวงจร
เหล่านีK จะถูกบรรจุไว้ในแผ่นซิ ลิกอนชิ ป (Silicon Chip) ทําให้คอมพิวเตอร์ มีขนาด
เล็กลง และสามารถทํางานได้เร็ วขึKน โดยสามารถปฏิบตั ิงาน 1 คําสั0งได้เสร็ จสิK นใน
หน่วย nanosecond

IBM 360
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ยุคของคอมพิวเตอร์
ยุคที4 4 ยุควีแอลเอสไอ :1971-1989
ยุ ค นีK เป็ นยุ ค ของการนํา ไมโครโพรเซสเซอร์ (Microprocessor) ซึ0 งเป็ นอุ ป กรณ์
อิเล็กทรอนิกส์ แบบ VLSI (Very Large Scale Ingrated Circuit) คือเทคโนโลยีในการ
บรรจุวงจรเบ็ดเตล็ดหรื อทรานซิ สเตอร์ เป็ นจํานวนมากบรรจุไว้ในแผ่นซิ ลิกอนชิป 1
แผ่น โดยสามารถบรรจุทรานซิ สเตอร์ ได้มากกว่า 1 ล้านวงจรและยังได้นาํ มาใช้สร้าง
คอมพิวเตอร์ที0มีขนาดเล็กลงไปอีกเรี ยกว่า ไมโครคอมพิวเตอร์ (Microcomputer)
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ยุคของคอมพิวเตอร์
ยุคที4 5 ยุคเครื อข่ าย :1990-ปัจจุบัน
วงจรวีแอลเอสไอได้รับการพัฒนามากขึKนเรื0 อย ๆ ทําให้วงจรหน่วยประมวลผลกลาง
มีขีด ความสามารถมากขึKน ไมโครคอมพิวเตอร์ มีความสามารถมากขึKนทํางานได้เร็ ว
จึงทําให้ คอมพิวเตอร์ สามารถทํางานได้หลายงานพร้อมกัน และมีการเชื0อมโยงเป็ น
เครื อข่ายคอมพิวเตอร์
คอมพิวเตอร์ ในยุคนีK จะเน้นที0 การนําไมโครชิ ป มาใช้และการออกแบบให้เครื0 องมี
โปรเซสเซอร์ หลายๆตัวทํางานเป็ นคู่ขนานกันไป เป็ นการเพิ0มพลังการประมวลผล
อย่างมาก
The Evolution of Computers
The evolution of computer classes as observed by Bell’s Law
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์

Øการทํางานของคอมพิวเตอร์

เริ$ ม ประกาศชนิดตัวแปร

รับข้ อมูล

คํานวณ
แสดงคําตอบ จบ
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•องค์ ประกอบของคอมพิวเตอร์
ฮาร์ดแวร์ (Hardware)
ซอฟต์แวร์ (Software)
ผูใ้ ช้ (Peopleware)
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ฮาร์ ดแวร์ (Hardware)
ฮาร์ ดแวร์ (Hardware) คื อ ตัว เครื( อ งและอุ ป กรณ์ ต่ า งๆ ของ
คอมพิวเตอร์ ทุกๆ ชิ< นที(สามารถจับต้องได้ เช่ น ซี พียู แรม เมนบอร์ ด
จอ คียบ์ อร์ด เมาส์ เป็ นต้น
โดยสามารถจําแนกออกเป็ น 5 ส่ วนสําคัญ
1. หน่ วยรับข้ อมูล (Input Unit)
2. หน่ วยประมวลผลกลาง (Central Processing Unit, CPU)
3. หน่ วยความจําหลัก (Memory Unit)
4. หน่ วยความจําสํ ารอง (Secondary Storage)
5. หน่ วยแสดงผล (Output Unit)
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ฮาร์ ตแวร์ (Hardware)
1. หน่ วยรับข้ อมูล (Input Unit)
หน่วยนีTเป็ นหน่วยแรกที:ติดต่อและสัมผัสกับผูใ้ ช้คอมพิวเตอร์โดยตรง หน้าที:
หลักของหน่วยรับ ข้อมูลคือรับคําสัง: จากผูใ้ ช้แล้วส่ งต่อไปยังหน่วยประมวลผล
กลางหรื อเก็บไว้ในหน่วยความจําเพื:อรอการประมวลผล
ซึ:งหลังจากประมวลผลเสร็ จ ผลลัพธ์ที:ได้จะส่ งต่อไปยังหน่วยแสดงผล
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
ตัวอย่ างอุปกรณ์ หน่ วยรับข้ อมูล
แป้นพิมพ์(Keyboard) เมาส์ (Mouse) กล้องดิจิตอล (Digital Camera)

จอยสติก (Joystick) สแกนเนอร์ (Scanner)

จอสัมผัส (Touch-Sensitive Screen), ปากกาแสง (Light Pen), เครื9 องอ่านรหัสแท่ง (Bar Code
Reader), ไมโครโฟน (Microphone), เครื9 องอ่านแมกเนติกสริ พส์/เครื9 องอ่านแถบแม่เหล็ก
(Magnetic Strip Reader)
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ฮาร์ ดแวร์ (Hardware)
2. หน่ วยประมวลผลกลาง (Central Processing Unit, CPU)
ทําหน้าที:ควบคุมการทํางาน โดยรับคําสัง: จาก หน่วยความจําหลัก แปลงรหัส
คําสัง: ควบคุมการทํางานของอุปกรณ์ต่างๆ ให้เป็ นไปตามที:กาํ หนดไว้ หน่วย
ควบคุมจึงเปรี ยบเสมือนศูนย์บญั ชาการ ของเครื: องคอมพิวเตอร์ โดยมีหน้าที:สงั:
การและประสานงานทัTงหมดของระบบ
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
§ส่ วนประกอบของ CPU

CPU

ส่ วนคํานวณและเปรียบเทียบ
ข้ อมูล (Arithmetic and
Logic Unit : ALU)

การประสานงานระหว่ าง
หน่ วยความจําหลัก
ฮาร์ ดแวร์ ต่าง ๆ (Control
(Memory Unit)
Unit)
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ฮาร์ ดแวร์ (Hardware)
3. หน่ วยความจําหลัก (Memory Unit)
หน่วยความจําหลัก มีหน้าที:ในการเก็บข้อมูลและโปรแกรมที:จะให้ซีพียเู รี ยกไป
ใช้งาน หน่วยความจําหลักจะอยูใ่ กล้ชิดกับซีพียู ข้อมูลจากหน่วยรับข้อมูลหรื อ
หน่วยความจําสํารองจะถูก นํามาพักไว้ที:หน่วยความจําหลักจากนัTนจึงค่อยๆ
ทยอยส่ งไปประมวลผลที:ซีพียู เมื:อประมวลผล เสร็ จจะนําผลที:ได้มาเก็บไว้ที:
หน่วยความจําหลักเพื:อรอการแสดงผลต่อไปทางหน่วยนําข้อมูลออก
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
§ประเภทหน่ วยความจําหลัก (Memory Unit)
1) แรม (Random Access Memory : RAM) เป็ นหน่วยความจําที:เก็บข้อมูลไว้
ตราบเท่าที:มีกระแสไฟฟ้าอยูใ่ นวงจร ข้อมูลจะหายไปเมื:อปิ ดเครื: องคอมพิวเตอร์
จุดประสงค์ของหน่วยความจําประเภทนีT คือเก็บข้อมูลหรื อโปรแกรมในขณะที:
กําลังถูกใช้งาน หรื อรอการประมวลผลอยูใ่ นขณะที: ผูใ้ ช้กาํ ลังทํางาน
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์

2) รอม (Read Only Memory : ROM) หน่วยความจําประเภทนีTมีไว้เพื:อเก็บ


โปรแกรมสําคัญบางอย่าง เพื:อให้เมื:อเปิ ดเครื: องมาแล้วซีพียสู ามารถเริ: มทํางาน
โดยทันที ซึ:งข้อมูลเหล่านีTไม่ สามารถลบ ดัดแปลง หรื อแก้ไขใดๆ ได้
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ฮาร์ ดแวร์ (Hardware)
4. หน่ วยความจํารอง (Secondary Memory)
เนื:องจากข้อมูลที:อยูใ่ นหน่วยความจําหลักจะมีการสู ญหายไปหลังจากทําการปิ ด
เครื: องคอมพิวเตอร์ หากต้องการเก็บรั กษาข้อมู ลเหล่ านัTนจําเป็ นต้องสํารอง
ข้อมูลไว้ที:หน่ วยความจํารอง หน่ วยความจํารองที: นิยมใช้กนั มากจะเป็ นจาน
แม่เหล็กซึ:งจะมีแผ่นบันทึกและฮาร์ดดิสก์
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
ตัวอย่ างหน่ วยความจําสํ ารอง
ฮาร์ดดิสก์ (hard disk) แผ่นซีดี (CD-ROM)

หน่วยความจําแบบแฟลช (flash memory)


ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ฮาร์ ดแวร์ (Hardware)
5. หน่ วยแสดงผล (Output Unit)
เป็ นหน่ วยสุ ดท้ายที: ใช้ในการแสดงผลลัพธ์ที:ได้ออกมาในรู ปแบบต่างๆ เช่ น
สัญญาณภาพออกสู่ หน้าจอ งานพิมพ์ออกสู่ เครื: องพิมพ์ และสัญญาณเสี ยงออกสู่
ลําโพง เป็ นต้น
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
ตัวอย่ างแสดงผล
จอภาพ (Monitor) เครืB องพิมพ์ (Printer)

ลําโพง (Speaker)
ความรู้ พืน5 ฐานทางด้ านคอมพิวเตอร์
•ซอฟต์ แวร์ (Software)
ซอฟต์ แวร์ (Software) คือ ชุดคําสัง: หรื อโปรแกรมที:ใช้สงั: งานให้คอมพิวเตอร์
ทํางาน
1) ซอฟต์ แวร์ ระบบ (Operating system: OS หรื อ System software)
- DOS, Windows, Linux, Unix, OS, Android
2) ซอฟต์ แวร์ ประยุกต์ (Application software)
- Microsoft Offices, Adobe, โปรแกรมด้านการคํานวณ
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
Øภาษาคอมพิวเตอร์
1) ภาษาเครื< อง (Machine Language) เป็ นภาษาระดั บ ตํ0 า สุ ดอยู่ ใ นรู ป
เลขฐานสอง (Binary number) ประกอบด้วยเลข 0 กับ 1 ภาษาเครื0 องสามารถ
สั0งให้คอมพิวเตอร์ ทางานได้ทนั ที อย่างไรก็ตาม ข้อเสี ยของภาษาเครื0 องคือ
ลักษณะที0เป็ นเลขฐานสอง ทําให้โปรแกรมเมอร์พฒั นาโปรแกรมได้ยาก
2) ภาษาระดั บ ตํ< า (Low Lavel Language) หรื อ ภาษา Assembly เป็ นกึ0 ง
ภาษาเครื0 องเขียนเป็ นคําสั0งที0สามารถแปลงเป็ นภาษาเครื0 องได้ง่าย โดยการ
เทียบตาราง หรื อใช้รหัสคําสัง0 เช่น ภาษาแอสกี
3) ภาษาระดับสู ง (High Level Language) เป็ นภาษาที0ใกล้เคียงกับภาษาของ
มนุ ษย์ (ประโยคข้อความส่ วนใหญ่ เป็ นภาษาอังกฤษ) ซึ0 งมนุ ษย์สามารถ
เขี ย นได้ง่ า ยแต่ ต้อ งมี ก ระบวนการแปลงเป็ นภาษาเครื0 อ งก่ อ นโดยผ่ า น
โปรแกรม Compiler
- PASCAL, FORTRAN, COBOL, BASIC, C, C++, Java
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
Øภาษาคอมพิวเตอร์

High-level
Language

Assembly
Language

Machine
Language
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร

ตารางรหัสแอสกี (ASCII)
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
•ระบบจํานวนและตัวเลข
ระบบจํานวนและตัวเลข เป็ นระบบตัวเลขที:มนุ ษย์ทุกคุน้ เคย ที:เห็ นได้ชดั เจน
ที:สุดคือการนับจํานวนสิ: งของต่างๆ ซึ: ง พบว่าระบบจํานวนส่ วนใหญ่ที:ใช้กนั จะ
มี เ ลข 0-9 แต่ ย งั มี ร ะบบจํา นวนชนิ ด อื: น อี ก แบบ เช่ น ในเลขโรมัน ระบบ
คอมพิวเตอร์ หรื อภาษาคอมพิวเตอร์ จะใช้เลขเพียง 2 ตัว คื อ 0 และ 1 ซึ: งไม่
เหมือนกับที:มนุ ษย์ใช้กนั ปกติ เราเรี ยกระบบจํานวนที:มีจาํ นวน ตัวเลขที:ใช้งาน
ต่างกันว่าระบบเลขฐาน เช่น ระบบตัวเลขฐานสิ บ ระบบตัวเลขฐานสอง เป็ นต้น
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
•ระบบเลขฐาน
ระบบเลขฐานสิ บ ประกอบด้วย ตัวเลข 0-9
(845)10 = 8x102 + 4x101 + 5x100
ระบบเลขฐานสอง ประกอบด้วย ตัวเลข 0 กับ 1
(101)2 = 1x22 + 0x21 + 1x20
ระบบเลขฐานสิ บหก ประกอบด้วยตัวเลข 0-9 และ A-F (โดยแทน A=10, B=11,
C=12, D=13, E=14 และ F=15)
(7C3)16 = 7x162 + 12x161 + 3x160
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การแปลงเลขฐานสองเป็ นเลขฐานสิ บ
จงแปลง 1011012 ให้เป็ นเลขฐานสิ บ
1 0 1 1 0 1
x x x x x x
25 24 23 22 21 20
32 16 8 4 2 1
= (1x32) + (0x16) + (1x8) + (1x4) + (0x2) + (1x1)
= 32 + 0 + 8 + 4 + 0 + 1
= 45 หรื อ 4510
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การแปลงเลขฐานสิ บเป็ นเลขฐานสอง
จงแปลง 4510 ให้เป็ นเลขฐานสอง
2) 45
2) 22 เศษ 1
2) 11 เศษ 0
2) 5 เศษ 1
2) 2 เศษ 1
1 เศษ 0

4510 = 1011012
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การบวกเลขฐานสอง
ผลรวมของ 11012 + 10112 = ……..2

ผลรวมของ (310 + 410) ในระบบเลขฐานสอง


ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การแปลงเลขฐานสิ บ แบบมีเครื4 องหมาย (Signed integer)

3 Unsigned integer
+3 Signed integer
-3
การแปลงจะใช้วธิ ี Two’s Complement Arithmetic โดย
1) Complement nember à ทําการสลับตัวเลขของแต่ละบิด (bit) :
(0 เปลี:ยนเป็ น 1 , 1 เปลี:ยนเป็ น 0)
2) Add 1 à นําผลจากข้อ 1) มาทําการบวก 1
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การแปลงเลขฐานสองเป็ นเลขฐานสิ บ แบบมีเครื4 องหมาย (Signed integer)
จงแปลง -310 เป็ นฐานสองที:มีขนาด 8 บิท

ขั#นที' 1: แปลง 310 เป็ นฐาน 2 โดยไม่คิดเครื: องหมาย


310 มีค่าเท่ากับ 00000011
ขัTนที: 2: ใช้วธิ ี Two’s Complement
- สลับเลขในแต่ละบิท
00000011 à 11111100
- บวก 1
11111100 + 1 à 11111101
ดังนัTน -310 = 11111101
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การแปลงเลขฐานสิ บหกเป็ นเลขฐานสิ บ
เลขฐาน 16 เลขฐาน 10 เลขฐาน 16 เลขฐาน 10
0 0 8 8
1 1 9 9
2 2 A 10
3 3 B 11
4 4 C 12
5 5 D 13
6 6 E 14
7 7 F 15
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การแปลงเลขฐานสิ บหกเป็ นเลขฐานสิ บ
จงแปลง 3A216 ให้เป็ นเลขฐานสิ บ
3 A 2
x x x
162 161 160
256 16 1
= (3x256) + (10x16) + (2x1)
= 768 + 160 + 2
= 930 หรื อ 93010
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การแปลงเลขฐานสิ บเป็ นเลขฐานสอง
จงแปลง 50010 ให้เป็ นเลขฐานสิ บหก
16 ) 500
16 ) 31 เศษ 4
16 ) 1 เศษ 15 = F
0 เศษ 1

75010 = 01F416
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การแปลงเลขฐานสิ บหกเป็ นเลขฐานสอง
เลขฐาน 16 เลขฐาน 2 เลขฐาน 16 เลขฐาน 2
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
การแปลงเลขฐานสิ บหกเป็ นเลขฐานสอง
แปลงเลขจาก 12EC16 เป็ นฐานสอง
12EC = 0001-0010-1110-1100

แปลงเลขจาก 1011100111000111100112 เป็ นฐานสิ บหก


0001-0111-0011-1000-1111-0011 = 1738F316
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร

4
ภาษาของคอมพิวเตอร์ ระบบตัวเลขและตัวอักษร
•ขนาดตัวเลขของเครื4 องคอมพิวเตอร์
บิท (bit) คือ ตัวเลขฐานสองเพียงตัวเดียว
ไบท์ (Byte) คือ ตัวเลขขนาด 8 บิท
เวิร์ด (Word) คือ ตัวเลขขนาด 16 บิท หรื อ 2 ไบท์
กิโลไบท์ (KB) คือ ตัวเลขขนาด 210 = 1024 ไบท์
เมกะไบท์ (MB) คือ ตัวเลขขนาด 210 x 210 ไบท์
จิกกะไบท์ (GB) คือ ตัวเลขขนาด 210 x 210 x 210 ไบท์
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
•ตัวดําเดินทางทางคณิตศาสตร์ ของโปรแกรม

สั ญลักษณ์ ความหมาย
+ บวก
- ลบ
* คูณ
/ หาร
** ยกกําลัง
% การหารเอาเศษ (modulus operator)
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
•การเพิม4 /ลดค่ าตัวแปร
สั ญลักษณ์ ความหมาย
++ เพิ'มค่าที'ละ 1
-- ลดค่าที'ละ 1
•เครื4 องหมาย
สั ญลักษณ์ ความหมาย
= เท่ากับ
< ,> น้อยกว่า, มากกว่า
<= , >= น้อยกว่าหรื อเท่ากับ, มากกว่าหรื อเท่ากับ
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
•นิพจน์ หรื อลําดับความสํ าคัญของตัวดําเนินการทางคณิตศาสตร์
ลําดับ เครืC องหมาย
1 ()
2 ++ , --
3 *,/,%
4 +,-
5 < , <= , > , >=
6 = = , !=
7 &&
8 ||
9 = , += , -= , *= , /= , %=
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
ตัวอย่างการหารเอาเศษ (modulus operator)
ผลลัพธ์ของ 5%2 มีค่าเท่าใด
1

ผลลัพธ์ของ 20%7 มีค่าเท่าใด


6

ถ้า a=10, b=4 ผลลัพธ์ของ a%b มีค่าเท่าใด


2
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
ตัวอย่างการหารเอาเศษ (modulus operator)
ผลลัพธ์ของ (201%(11%(8%(7%4)))) มีค่าเท่าใด
0
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
ลําดับการดําเนินงาน
A= 2+5*4 A=…………. 22
B= (2+5)*4 B=…………. 28
C= 3+4*6/2+1 C=…………. 16
D= 2 ** ((8+2)/5) D= …………. 4
E= (2+7)*4%10 E=…………. 6

F= 2+7*4%10 F=…………. 10
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
ลําดับการดําเนินงาน
กําหนดให้ a,b,c เป็ นตัวแปรชนิดจํานวนเต็มซึ(งมีค่าดังนี<
a=10, b=20, c=30
จงหาค่าของนพิจน์ a+b*c/a+10

80
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
ลําดับการดําเนินงาน
x = 1 + 2 + 3 + 4 + 5;
x = x + x;
x = x + x;
x = x + x;
เมื(อส่ วนของโปรแกรมข้างบนนี<ทาํ งานเสร็ จ x มีค่าเท่าใด

120
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
ลําดับการดําเนินงาน
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
กําหนดให้ a=5, b=3, c=2 จงหาค่า y
y = a*b+c 17

y = b+c*b 9
y = a*a+b*b+c*c 38
y = c%5 2
y = a/c*b 7.5
y = (a*b)%c 1
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
•ตัวดําเนินการเชิงเปรียบเทียบ (Comparative operator)
สั ญลักษณ์ ความหมาย
= เท่ากับ
< น้อยกว่า
> มากกว่า
<= น้อยกว่าหรื อเท่ากับ
>= มากกว่าหรื อเท่ากับ
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
•ตัวดําเนินการเชิงตรรกศาสตร์ (Logical operator)
สั ญลักษณ์ ความหมาย
! ตรงข้าม (Not)
&& และ (And)
|| หรื อ (OR)
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
•ผลลัพธ์ ตวั ดําเนินการเชิงตรรกศาสตร์ (Result of logical operator)
สั ญลักษณ์ การดําเนินการ ผลลัพธ์
!T F
!
!F T
T&&T T
&& F&&F F
T&&F F
T||T T
|| F||F F
T||F T
หมายเหตุ T = จริ ง (Ture) F = เท็จ (False)
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
จงหาค่าของนิพจน์ต่อไปนี<
5>6 =…………. T
2 <= (3-1) =…………. T
8>5>3 =…………. T
(3+7) = (5*2) =…………. T
(2+5)*4 < 22 =…………. F
(2+5)*4 <= 30 =…………. T
4+3*2 >= 14 =…………. F
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
ถ้าให้ตวั แปร wet, cold, windy มีค่าความจริ ง ดังนี<
wet=true, cold=false, windy=false

จงหาค่าความจริ งของ (cold && !wet) || !(windy || cold)

T
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
จงหาค่าความจริ งของ (a-b*10/c >= 1)&&(d+10 <= 50)
กําหนดให้ a = 35, b=2, c=10, d=7

T
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
จงหาค่าความจริ งของ (a+b)*2== c/d*(e+7)
กําหนดให้ a = 5, b=10, c=84, d=7, e=0
กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
กําหนดให้ a=25, b=-124, c=0 จงหาค่านิพจน์
(c==0) && (a<b) T&&F à F

(b >= c) || !(a<50) F || F à F

(b>a) && !(c+5==a) F&&Fà F

!(c != 0) || (a*2) < a/5) T || F à T

(b*-1=124) && (a*2/5=C*10) T&&F à F


กระบวนการทางคณิตศาสตร์ และตรรกศาสตร์
ผลลัพธ์ของ 6/2*(2+1)
ตัวแปรและชนิดของข้ อมูล
•ชนิดข้ อข้ อมูล
CHARACTER : เป็ นตัวแปรที:ใช้สาํ หรับเก็บข้อมูลที:เป็ นตัวอักษร
INTEGER : เป็ นตัวแปรที:ใช้สาํ หรับเก็บข้อมูลที:เป็ นตัวเลขจํานวนเต็ม
REAL : เป็ นตัวแปรที:ใช้สาํ หรับเก็บข้อมูลที:เป็ นตัวเลขจํานวนจริ ง
COMPLEX : เป็ นตัวแปรที:ใช้สาํ หรับเก็บข้อมูลที:เป็ นตัวเลขจํานวนเชิงซ้อน
LOGICAL : เป็ นตัวแปรที:ใช้สาํ หรับเก็บข้อมูลตรรกะ/คําสัง:
ตัวแปรและชนิดของข้ อมูล
§CHARACTER
เป็ นตัวแปรที:ใช้สาํ หรับเก็บข้อมูลที:เป็ นตัวอักษรหรื อตัวอักขระ
ตัวอย่างการประกาศตัวแปร
Food general
report_99 My_name_is_Boy
z123456789

การประกาศตัวแปรที:ไม่สามารถใช้ได้
7sumurai 3_days (ตัวเลขขึTนก่อน)
report-99 (ใช้เครื: องหมาย - )
ตัวแปรและชนิดของข้ อมูล
•ตัวอย่ างตัวแปร CHARACTER ใน โปรแกรม Fortran
ตัวแปรและชนิดของข้ อมูล
•ตัวอย่ างการใช้ ตวั แปร CHARACTER ใน โปรแกรม Fortran
ตัวแปรและชนิดของข้ อมูล
§LOGICAL
เป็ นตัวแปรที:ใช้สาํ หรับเก็บข้อมูลตรรกะหรื อคําสัง:

จริ ง หรื อ เท็จ


ตัวแปรและชนิดของข้ อมูล
•ตัวอย่ างตัวแปร LOGICAL ใน โปรแกรม Fortran
ตัวแปรและชนิดของข้ อมูล
§INTEGER
เป็ นตัวแปรที:ใช้สาํ หรับเก็บตัวเลขที:เป็ นจํานวนเต็ม

จํานวนเต็ม คือ จํานวนที:ไม่มีเศษส่ วน หรื อ ทศนิยมเป็ นส่ วนประกอบ

ข้อมูลชนิดตัวเลขจํานวนเต็ม ได้แก่ 3, 667744 , 600, -4, 0 , -55, -4367


ตัวแปรและชนิดของข้ อมูล
§REAL
เป็ นตัวแปรที:ใช้สาํ หรับเก็บตัวเลขที:เป็ นจํานวนจริ ง

จํานวนจริ ง คือ ตัวเลขที:มีจุดทศนิยม โดยอาจจะเป็ นเลขทศนิยมชนิดคงที: หรื อ


ทศนิยมไม่รู้จบ

ข้อมูลชนิดตัวเลขจํานวนจริ ง ได้แก่ 6.00 , 14.23 , -5.00 , 6.5555…


8.8888…
ตัวแปรและชนิดของข้ อมูล
§การดําเนินการทางคณิตศาสตร์ ของข้ อมูล
ตัวแปร INTEGER
ผลการคํานวณที:ได้จะอยูใ่ นรู ปจํานวนเต็ม

2/2 = 1 8/4 = 2
3/4 = 0 6/4 = 1 7/4 = 1
4/3 = 1 5/3 = 1 7/3 = 2
ตัวแปรและชนิดของข้ อมูล
§การดําเนินการทางคณิตศาสตร์ ของข้ อมูล
ตัวแปร INTEGER
ตัวแปรและชนิดของข้ อมูล
§การดําเนินการทางคณิตศาสตร์ ของข้ อมูล
ตัวแปร REAL
ผลการคํานวณที:ได้จะอยูใ่ นรู ปจํานวนจริ ง (ทศนิยม)

2.0/2.0 = 1.0 8./4. = 2.


3.0/4.0 = 0.75 6.0/4.0 = 1.5 7.0/4.0 = 1.75
4.0/3.0 = 1.33333 5.0/3.0 = 1.66666 7.0/3.0 = 2.33333
ตัวแปรและชนิดของข้ อมูล
§การดําเนินการทางคณิตศาสตร์ ของข้ อมูล
ตัวแปร REAL
ตัวแปรและชนิดของข้ อมูล
§การดําเนินการทางคณิตศาสตร์ ของข้ อมูล
เปรี ยบเทียบผลลัพธ์ตวั แปร INTEGER และ REAL
ตัวแปรและชนิดของข้ อมูล
§การดําเนินการทางคณิตศาสตร์ ของข้ อมูล
ตัวแปร INTEGER และ REAL

การดําเนินการ ผลลัพธ์
INTEGER และ INTEGER INTEGER
REAL และ REAL REAL
INTEGER และ REAL REAL
ตัวแปรและชนิดของข้ อมูล
ตัวอย่างการดําเนินการของตัวแปร INTEGER และ REAL

3/2 = 1 (INTEGER)
3.0/2.0 = 1.5 (REAL)
3.0/2 = 1.5 (REAL)

1 + 1/2 =1
1.0 + 1/2 = 1.0
1 + 1.0/2 =1.5
ตัวแปรและชนิดของข้ อมูล
•ตัวอย่ างตัวแปร INTEGER ใน โปรแกรม Fortran
ตัวแปรและชนิดของข้ อมูล
•ตัวอย่ างตัวแปร REAL ใน โปรแกรม Fortran
ตัวแปรและชนิดของข้ อมูล
q การประกาศตัวแปรในภาษาต่างๆ
•ตัวอย่างตัวแปรในภาษาซี (C Language)
ตัวแปรและชนิดของข้ อมูล

•ตัวอย่างตัวแปรในภาษาซี (C Language)
ตัวแปรและชนิดของข้ อมูล
•ตัวอย่างตัวแปรในภาษาซี (C Language)
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
•การทํางานของคอมพิวเตอร์
การทํางานของเครื: องคอมพิวเตอร์ จะทํางานตามโปรแกรมที:เขียนไว้ทุก
ประการอย่างเป็ นขัTนตอน ดังนัTน การนําคอมพิวเตอร์มาช่วยในการแก้ปัญหา
ผ่านโปรแกรมคอมพิวเตอร์ ผูส้ ร้างโปรแกรมจําเป็ นต้องเข้าใจปั ญหา วิธีของ
การแก้ปัญหา รวมถึงลําดับขัTนตอนของการแก้ปัญหานัTนๆ เพื:อนําเขียนเป็ น
โปรแกรม
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
•การพัฒนาโปรแกรมคอมพิวเตอร์
§ก่ อนการพัฒนาโปรแกรม:
– ทําความเข้าใจกับปั ญหา
– คิดวางแผนวิธีการแก้ไขปัญหานัTน
§ระหว่ างการพัฒนาโปรแกรม:
–พิจารณาถึงโครงสร้าง หรื อชุดคําสัง: ที:มีของภาษาคอมพิวเตอร์
ที:ใช้อยู่
– ทําตามหลักการการพัฒนาโปรแกรมที:ดีตลอดเวลา
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
qคุณลักษณะของโปรแกรมทีดK ี
•ทํางานได้ตามที(ตอ้ งการ
•ถูกต้องแม่นยํา
•อ่านเข้าใจได้
•ปรับปรุ งแก้ไขได้ง่าย
•ง่ายต่อการใช้
•มีวธิ ีการเขียนที(มีระบบแบบแผน
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
•ข้ อผิดพลาดของการเขียนโปรแกรม (Type of error)
1. ความผิดพลาดทางไวยากรณ์ (Syntax Error)
เกิดจากการที:เราเขียนโค้ดไม่สอดคล้อง หรื อไม่ถูกหลักเกณฑ์ไวยากรณ์
ภาษาที:ใช้เขียนโปรแกรม
2. ความผิดพลาดทางการประมวลผล (Run-time Error)
เป็ นความผิดพลาดที:เกิดขึTนขณะในปฏิบตั ิการ (Run) เช่น การหารค่า
ด้วย 0 โดยโปรแกรมจะหยุดการประมวลผลทันที
3. ความผิดพลาดทางตรรก (Logical Error)
เป็ นความผิดพลาดของผลลัพธ์ ซึ:งมีผลมาจากอัลกอริ ทึมในการแก้ปัญหา
โปรแกรม
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
•ขัTนตอนการพัฒนาโปรแกรม
1) ทําความเข้าใจกับปั ญหา
2) พิจารณาลักษณะของข้อมูลเข้าและข้อมูลออก
3) เขียนขัTนตอนการแก้ปัญหาเพื:อใช้ออกแบบโปรแกรม
4) เขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
5) ทดสอบและแก้ไขโปรแกรม
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
•ขัTนตอนการพัฒนาโปรแกรม
1) ทําความเข้ าใจกับปัญหา
- กําหนดวัตถุประสงค์ของงาน เพื:อพิจารณาว่าโปรแกรมต้องทําการ
ประมวลผลอะไรบ้าง

2) พิจารณาลักษณะของข้ อมูลเข้ าและข้ อมูลออก


- พิจารณาข้อมูลเข้า/ข้อมูลออก เพื:อให้ทราบว่าจะต้องนําข้อมูลอะไรเข้า/
ออกคอมพิวเตอร์ คุณสมบัติของข้อมูล/ออกเป็ นอย่างไร ตลอดจนถึงลักษณะ
และรู ปแบบของข้อมูลที:จะนําเข้า/ออก
- พิจารณาการประมวลผล เพื:อให้ทราบว่าโปรแกรมมีขTนั ตอนการ
ประมวลผลอย่างไรและมีเงื:อนไปการประมวลผลอะไรบ้าง
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
•ขัTนตอนการพัฒนาโปรแกรม
3) เขียนขัTนตอนการแก้ ปัญหาเพื4อใช้ ออกแบบโปรแกรม
- อาจใช้เครื: องมือต่างๆ ช่วยในการออกแบบ เช่น คําสัง: ลําลอง
(Pseudocode) หรื อ ผังงาน (Flow chart)
- การออกแบบโปรแกรมนัTนไม่ตอ้ งพะวงกับรู ปแบบคําสัง:
ภาษาคอมพิวเตอร์ แต่มุ่งความสนใจไป ที:ลาํ ดับขัTนตอนในการประมวลผลของ
โปรแกรมเท่านัTน
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
•ขัTนตอนการพัฒนาโปรแกรม
4) เขียนโปรแกรมด้ วยภาษาคอมพิวเตอร์
- เป็ นการนําเอาผลลัพธ์ของการออกแบบโปรแกรมมาเปลี:ยนเป็ น
โปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ:ง ผูเ้ ขียนโปรแกรมจะต้องให้
ความสนใจต่อรู ปแบบคําสัง: และกฎเกณฑ์ของ ภาษาที:ใช้เพื:อให้การประมวลผล
เป็ นไปตามผลลัพธ์ที:ได้ออกแบบไว้
5) ทดสอบและแก้ ไขโปรแกรม
- เป็ นการนําโปรแกรมที:ลงรหัสแล้วเข้าคอมพิวเตอร์ หรื อการติดตัTง
โปรแกรมเพื:อ ตรวจสอบการทํางานของโปรแกรมว่าถูกต้องหรื อไม่ ถ้าพบว่ายัง
ไม่ถูกก็แก้ไขให้ถูกต้องต่อไป
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
§คําสั4 งลําลอง (Pseudocode)
คําสั4 งลําลอง (Pseudocode) คือ การเขียนโปรแกรมในรู ปแบบภาษาอังกฤษ
หรื อเป็ นภาษามนุษย์ที:ใช้สื:อสารกันภาษาใดภาษาหนึ:งที:มีขTนั ตอนและรู ปแบบ
แน่นอนกะทัดรัด เพื:อจําลองความคิดเป็ นลําดับขัTนตอน ซึ:งเป็ นเครื: องมือในการ
กําหนดโครงร่ างกระบวนการทํางานของการเขียนโปรแกรมแต่ละโปรแกรม
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
§คําสั4 งลําลอง (Pseudocode)
หลักการทัว4 ไปในการเขียน
- ใช้ถอ้ ยคําหรื อประโยคคําสัง' ให้เขียนอยูใ่ นรู ปแบบของภาษาอย่างง่าย
- สัญลักษณ์ที'ใช้ในการดําเนินการทางคณิ ตศาสตร์ต่างๆ จะถูกใช้งานตามปกติ
- แต่ละประโยคคําสัง' ให้เขียนลําดับจากบนลงล่างโดยมีเพียงทางเข้าทางเดียวและมีทางออก
ทางเดียวเท่านั#น
- การใช้คาํ อธิบายกํากับขั#นตอนวิธี อาจทําโดยใช้สญ ั ลักษณ์ * หรื อ ** กํากับหัวท้าย
ข้อความคําอธิบาย เพื'อแยกออกมาจากขั#นตอนการทํางาน
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
§ผังงาน (Flow chart)
เป็ นเครื: องมือชนิดหนึ:งที:ใช้รูปภาพแสดงการไหลของข้อมูลในระบบตัTงแต่แรก
จนได้ผลลัพธ์ตาม ต้องการจะแสดงการทํางานของโปรแกรมโดยละเอียดในแต่
ละขัTนตอนผังงานโปรแกรมเป็ นสิ: งจําเป็ นสําหรับ ผูเ้ ขียนโปรแกรมเพราะต้อง
ใช้เป็ นแนวทางในการเขียนโปรแกรมและเมื:อโปรแกรมเกิดข้อผิดพลาดการเข้า
ไป วิเคราะห์ผงั งานโปรแกรมจะทําได้ง่ายกว่าการเข้าไปวิเคราะห์ตวั โปรแกรม
โดยตรง
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
§ตัวอย่ างการออกแบบโปรมแกรม
ต้องการเขียนโปรแกรมคํานวณหาปริ มาตรทรงกระบอก

r
ปริ มาตรทรงกระบอก = 𝜋×𝑟 !×ℎ

h
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
ขัTนตอนที4 1 ทําความเข้าใจกับปั ญหา
ต้องการคํานวณหาปริ มาตรทรงกระบอก

ขัTนตอนที4 2 พิจารณาลักษณะของข้อมูลเข้าและข้อมูลออก
ข้อมูลเข้า : ค่ารัศมีของวงกลม (r) ที'เป็ นฐานของทรงกระบอก ชนิดข้อมูลเป็ นตัวเลข
ค่ารัศมีของทรงกระบอก (h) ชนิดข้อมูลเป็ นตัวเลข
ข้อมูลออก : ค่าปริ มาตรของทรงกระบอก ชนิดข้อมูลเป็ นตัวเลข
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
ขัTนตอนที4 3 เขียนขัTนตอนการแก้ปัญหาเพื:อใช้ออกแบบโปรแกรม
คําสัง' ลําลอง (Pseudocode) :
1. เริ' ม
2. รับข้อมูลความสู งและรัศมี
3. คํานวณค่าปริ มาตรทรงกระบอกโดยใช้สูตร 𝜋×𝑟 ! ×ℎ
4. แสดงค่าปริ มาตรทรงกระบอกที'ได้
5. จบการทํางาน
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
ขัTนตอนที4 3 เขียนขัTนตอนการแก้ปัญหาเพื:อใช้ออกแบบโปรแกรม
ผังงาน (Flow chart) :
เริB ม

ป้อนค่า รัศมี (r) และ ความสู ง (h)

คํานวณปริ มาตรทรงกระบอก = 𝜋×𝑟 !×ℎ

แสดงค่าปริ มาตร

จบ
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
ขัTนตอนที4 4 เขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
นําเอาคําอธิบายของขั#นตอนการแก้ปัญหาแต่ละขั#นมาแปลงเป็ นคําสัง' ของภาษา
โปรแกรมคอมพิวเตอร์

ขัTนตอนที4 5 ทดสอบและแก้ไขโปรแกรม
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
•โปรแกรมการหาพืนT ทีแ4 ละเส้ นรอบรู ปสี4 เหลีย4 มผืนผ้ า

You might also like