Professional Documents
Culture Documents
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 ซึ: งหมายถึง
การนับ หรื อการคํานวณ
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)
จอสัมผัส (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 ฐานทางด้ านคอมพิวเตอร์
ลําโพง (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
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 บิท
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
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
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
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
การประกาศตัวแปรที:ไม่สามารถใช้ได้
7sumurai 3_days (ตัวเลขขึTนก่อน)
report-99 (ใช้เครื: องหมาย - )
ตัวแปรและชนิดของข้ อมูล
•ตัวอย่ างตัวแปร CHARACTER ใน โปรแกรม Fortran
ตัวแปรและชนิดของข้ อมูล
•ตัวอย่ างการใช้ ตวั แปร CHARACTER ใน โปรแกรม Fortran
ตัวแปรและชนิดของข้ อมูล
§LOGICAL
เป็ นตัวแปรที:ใช้สาํ หรับเก็บข้อมูลตรรกะหรื อคําสัง:
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
ผลการคํานวณที:ได้จะอยูใ่ นรู ปจํานวนจริ ง (ทศนิยม)
การดําเนินการ ผลลัพธ์
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) ทําความเข้ าใจกับปัญหา
- กําหนดวัตถุประสงค์ของงาน เพื:อพิจารณาว่าโปรแกรมต้องทําการ
ประมวลผลอะไรบ้าง
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 ม
แสดงค่าปริ มาตร
จบ
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
ขัTนตอนที4 4 เขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
นําเอาคําอธิบายของขั#นตอนการแก้ปัญหาแต่ละขั#นมาแปลงเป็ นคําสัง' ของภาษา
โปรแกรมคอมพิวเตอร์
ขัTนตอนที4 5 ทดสอบและแก้ไขโปรแกรม
การออกแบบและแก้ ปัญหาด้ วยโปรแกรมคอมพิวเตอร์
•โปรแกรมการหาพืนT ทีแ4 ละเส้ นรอบรู ปสี4 เหลีย4 มผืนผ้ า