1 / 55

ความรู้ด้านคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ความรู้ด้านคอมพิวเตอร์และเทคโนโลยีสารสนเทศ. รองศาสตราจารย์ธีรวัฒน์ ประกอบผล คณะวิทยาศาสตร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง Email : kpteeraw@kmitl.ac.th. หัวเรื่องสนทนา จะสอนกันอย่างไรดี. โครงสร้างคอมพิวเตอร์ หน่วยที่ใช้ในระบบคอมพิวเตอร์ ประเภทของคอมพิวเตอร์

barth
Download Presentation

ความรู้ด้านคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ความรู้ด้านคอมพิวเตอร์และเทคโนโลยีสารสนเทศความรู้ด้านคอมพิวเตอร์และเทคโนโลยีสารสนเทศ รองศาสตราจารย์ธีรวัฒน์ ประกอบผล คณะวิทยาศาสตร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง Email : kpteeraw@kmitl.ac.th

  2. หัวเรื่องสนทนา จะสอนกันอย่างไรดี • โครงสร้างคอมพิวเตอร์ • หน่วยที่ใช้ในระบบคอมพิวเตอร์ • ประเภทของคอมพิวเตอร์ • ภาษาและโปรแกรม

  3. โครงสร้างคอมพิวเตอร์ Main Memory CPU Output Input หน่วยความจำสำรอง

  4. หน่วยประมวลผลกลางและหน่วยความจำหลักหน่วยประมวลผลกลางและหน่วยความจำหลัก โครงสร้างบนเมนบอร์ด CPU RAM ROM Main Memory

  5. นำหน่วยความจำแคชมาใช้ด้วยนำหน่วยความจำแคชมาใช้ด้วย โครงสร้างบนเมนบอร์ด CPU Cache Cache controller RAM ROM

  6. (Hennessy)

  7. ประเภทของคอมพิวเตอร์ • จำแนกตามขนาด ประสิทธิภาพ และลักษณะการใช้งาน ได้ดังนี้ • คอมพิวเตอร์ส่วนบุคคล หรือพีซี (Personal Computer) ที่ใช้กันมี 2 ตระกูลคือ Apple และ PC • คอมพิวเตอร์โน๊ตบุ๊ก (Notebook Computer) ใช้ระบบปฏิบัติการ Windows ใช้ระบบปฏิบัติการ Mac OS

  8. ประเภทของคอมพิวเตอร์ (ต่อ) • คอมพิวเตอร์แบบพกพา (Handheld Computer) เครื่องมีขนาดเล็ก จึงมีการนำ สไตลัส (Stylus) มาใช้งาน • เครื่องคอมพิวเตอร์เซิร์ฟเวอร์

  9. ประเภทของคอมพิวเตอร์ (ต่อ) • คอมพิวเตอร์เมนเฟรม (Mainframe Computer) • ซุปเปอร์คอมพิวเตอร์ (Supercomputer) • คอมพิวเตอร์ฝังตัว (Embedded Computer)

  10. ภาษาคอมพิวเตอร์ • ภาษาระดับต่ำ (Low-level Language) เป็นภาษาที่ใกล้เคียงกับเครื่อง ทำงานได้เร็วที่สุด • ภาษาระดับสูง (High-level Language) เป็นภาษาที่ใกล้เคียงกับภาษามนุษย์

  11. ภาษาสำหรับนักพัฒนาโปรแกรมภาษาสำหรับนักพัฒนาโปรแกรม • ภาษาเบสิก (Basic) มาจากคำว่า Beginner’s Allpurpose Symbolic Instruction Code • ภาษาฟอร์แทรน (FORTRAN) มาจากคำว่า FORmular TRANslator เหมาะสำหรับเขียนโปรแกรมคำนวณ • ภาษาโคบอล (COBOL) เหมาะสำหรับโปรแกรมประยุกต์ทางธุรกิจ

  12. ภาษาสำหรับนักพัฒนาโปรแกรมภาษาสำหรับนักพัฒนาโปรแกรม • ภาษาปาสคาล (PASCAL) ตั้งชื่อตามนักคณิตศาสตร์ • ภาษาซี ( C ) เริ่มต้นให้ใช้ในระบบปฏิบัติการยูนิกซ์ (Unix) • ภาษาซีพลัสพลัส (C++) เขียนโปรแกรมเชิงวัตถุ

  13. ภาษาสำหรับนักพัฒนาโปรแกรมภาษาสำหรับนักพัฒนาโปรแกรม • วิชวลเบสิก (VISUAL Basic) พัฒนาโดยบริษัทไมโครซอฟต์ ปัจจุบันใช้เทคโนโลยี .net • ภาษาจาวา (JAVA) พัฒนาโดยบริษัท Sun Microsystem • ภาษาซีชาฟต์ (C#) พัฒนาโดยไมโครซอฟต์ ปัจจุบันใช้เทคโนโลยี .net

  14. การเขียนโปรแกรมภาษาแอสเซมบลีการเขียนโปรแกรมภาษาแอสเซมบลี โปรแกรมแอสเซมเบอร์ รหัสภาษาเครื่อง โปรแกรมต้นฉบับภาษาแอสเซมบลี

  15. การเขียนโปรแกรมภาษาระดับสูงการเขียนโปรแกรมภาษาระดับสูง โปรแกรมต้นฉบับ รหัสภาษาเครื่อง Interpreter โปรแกรมต้นฉบับ รหัสภาษาเครื่อง Compiler

  16. Source file Source file function function function function function function ขั้นตอนการสร้างโปรแกรมด้วยภาษา C Library file compile link Object file link Execute file link compile Object file

  17. ความซับซ้อนของโปรแกรมความซับซ้อนของโปรแกรม โปรแกรมคอมพิวเตอร์มีความสลับซับซ้อนมากหรือน้อยดูจาก “ขนาด” ของโปรแกรม โดยดูได้สองทางคือ ขนาดโปรแกรมต้นฉบับ และ ขนาดโปรแกรมที่ถูกแปลแล้ว • วินโดว์ส เอ็กซ์พี มีความยาว 40 ล้านบรรทัด • โปรแกรมลินุกซ์บางชุด 200 ล้าน บรรทัด (รวมชุดโปรแกรมด้วย) • ถ้ามนุษย์ถูกโปรแกรมด้วยคอมพิวเตอร์ จะมีความยาวกี่บรรทัด

  18. โปรแกรมประยุกต์ ระบบปฏิบัติการ BIOS ประเภทของโปรแกรม • โปรแกรมระบบปฏิบัติการ (OS : Operating System) • โปรแกรมประยุกต์ ฮาร์ดแวร์หรือตัวเครื่อง

  19. คอมพิวเตอร์ส่วนบุคคล Main Memory CPU Output Input หน่วยความจำสำรอง

  20. หลักการทำงานของคอมพิวเตอร์หลักการทำงานของคอมพิวเตอร์ • ซีพียู (Central Processing Unit) ทำงานตามคำสั่งที่เรียกว่า วงรอบคำสั่ง (machine cycle)โครงสร้างภายในประกอบด้วยหน่วยสำคัญสองหน่วยใหญ่ ๆ คือ หน่วยควบคุม และหน่วยคำนวณและตรรกะ 01 = ยกมือซ้าย 10 = เดินหน้า11 = เตี้ยลง00 = ยืนขึ้น 1010 01 10 11 10 โปรแกรมคอมพิวเตอร์

  21. หน่วยความจำและการจัดเก็บข้อมูลหน่วยความจำและการจัดเก็บข้อมูล • หน่วยความจำแบบไม่สามารถลบเลือนได้ (non volatile memory) • ROM (Read Only Memory) • Flash memory • หน่วยความจำแบบลบเลือนได้ (volatile memory) • RAM (Random Access Memory)

  22. ระบบบัส • ขนาดของบัส (bus width) ส่งครั้งละกี่บิต • ความเร็วบัส จำนวนครั้งที่รับส่งข้อมูลได้ในหนึ่งหน่วยเวลา

  23. ปัจจัยในการเลือกซื้อซีพียูปัจจัยในการเลือกซื้อซีพียู • ผู้ผลิต • ความเร็วของซีพียู • หน่วยความจำแคช • ความเร็วบัส ความเร็วการเข้าถึงข้อมูลสูงสุด แคช L1 ซีพียู แคช L2 แคช L3 แรม

  24. 1.2 การพัฒนาโปรแกรม • 5 ขั้นตอนในการพัฒนาโปรแกรม 1. กำหนดและวิเคราะห์ปัญหา(State problem & Problem analysis) 2. เขียนผังงาน(Flowchart) 3. เขียนโปรแกรม(Programming) 4. ทดสอบและแก้ไขโปรแกรม(Testing & debugging) 5. ทำเอกสารและบำรุงรักษาโปรแกรม(Document & maintenance)

  25. 1.3 กำหนด&วิเคราะห์ปัญหา • กำหนดขอบเขตของปัญหา(State problem) ให้ชัดเจนว่า จะให้คอมพิวเตอร์ทำอะไร (What?) • วิเคราะห์ปัญหา(Problem analysis) • Input:กำหนดลักษณะข้อมูลเข้า • Process:กำหนดวิธีการประมวลผล (How?) • Output:กำหนดลักษณะข้อมูลออก

  26. ตัวอย่างที่ 1 • ออกแบบโปรแกรมให้คอมพิวเตอร์ทำงานเป็นเครื่องคิดเลขอย่างง่าย โดยรับข้อมูล 2 ค่า (X,Y) และแสดงผลบวกทางจอภาพ • Problem:คำนวณผลบวกของ 2 ค่า • Problem Analysis 1. Input:รับข้อมูล (X, Y) จากคีย์บอร์ด 2. Process: คำนวณ sum = X + Y 3. Output:แสดงผลบวก (sum) ทางจอภาพ

  27. ตัวอย่างที่ 2 • ออกแบบโปรแกรมให้คอมพิวเตอร์รับข้อมูล 3 ค่า คำนวณค่าเฉลี่ยและแสดงค่าเฉลี่ย ทางจอภาพ • Problem:คำนวณค่าเฉลี่ยของ 3 ค่า((X1+X2+X3)/3) • Problem Analysis 1. Input:รับข้อมูล (X1, X2, X3) จากคีย์บอร์ด 2. Process: คำนวณ sum = X1 + X2 + X3 mean = sum/3 3. Output:แสดงค่าเฉลี่ย (mean) ทางจอภาพ

  28. ตัวอย่างที่ 3 • ออกแบบโปรแกรมให้คอมพิวเตอร์รับข้อมูล N ค่า คำนวณค่าเฉลี่ยและแสดงค่าเฉลี่ย ทางจอภาพ • Problem:คำนวณค่าเฉลี่ยของ N ค่า (iN Xi/N) • Problem Analysis 1. Input:รับข้อมูล N และ X (X1,..., XN) จากคีย์บอร์ด 2. Process:loop for (i=1 to N) read X sum = sum + X mean = sum/N 3. Output:แสดงค่าเฉลี่ย (mean) ทางจอภาพ

  29. 1.4 การเขียนผังงาน • ผังงาน (Flowchart) เป็นแผนภาพที่ใช้อธิบายการทำงานของโปรแกรมเป็นขั้นตอน • ประโยชน์ของ Flowchart 1. อธิบายลำดับขั้นตอนการทำงานของโปรแกรม 2.ทำให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย 3. ทำให้ผู้อื่นสามารถศึกษาการทำงานและแก้ไข โปรแกรมได้ง่าย

  30. 1.4.1 ประเภทของผังงาน • ผังงานระบบ (System Flowchart) แสดงขั้นตอนการทำงานภายในระบบงาน โดยจะกล่าวอย่างกว้างๆ • ผังงานโปรแกรม (Program Flowchart) แสดงขั้นตอนของคำสั่งที่ใช้ในโปรแกรม

  31. 1.4.2 สัญลักษณ์ในผังงาน การเริ่มต้น และการสิ้นสุดการทำงาน ลูกศรแสดงทิศทางการทำงาน และการไหลของข้อมูล การประมวลผล หรือการคำนวณ การรับข้อมูล หรือแสดงผล (ไม่ระบุชนิดอุปกรณ์) การแสดงผลทางเครื่องพิมพ์ การตรวจสอบเงื่อนไข จุดเชื่อมต่อของผังงาน

  32. 1.4.3 รูปแบบของผังงาน • แบบลำดับ(Sequence) • แบบมีทางเลือก(Selection) • การเลือกทำแบบ 1 เส้นทาง • การเลือกทำแบบ 2 เส้นทาง • การเลือกทำแบบหลายเส้นทาง • แบบทำซ้ำ(Looping)

  33. Input statement output end 1.4.3.1 แบบลำดับ • Flowchart แบบลำดับ(Sequence) start แสดงขั้นตอนการทำงานที่เรียงลำดับ ไม่มีการข้ามขั้น หรือย้อนกลับ

  34. check condition no yes statement(s) 1.4.3.2 แบบมีทางเลือก • แสดงการตรวจสอบเงื่อนไขให้โปรแกรมเลือกทำอย่างใดอย่างหนึ่ง ซึ่งมี3 กรณี • 1. การเลือกแบบ 1 เส้นทาง จะทำงานเฉพาะเมื่อเงื่อนไขเป็นจริงเท่านั้น

  35. check condition yes no statement 1 statement2 1.4.3.2 แบบมีทางเลือก • 2. การเลือกแบบ 2 เส้นทาง เมื่อเงื่อนไขเป็นจริงจะทำอย่างหนึ่ง เมื่อเงื่อนไขเป็นเท็จจะทำอีกอย่างหนึ่ง

  36. check condition 1 2 3 n 1.4.3.2 แบบมีทางเลือก • 3.การเลือกแบบหลายเส้นทาง(n) . . . statement1 statement2 statement3 statementn เมื่อเงื่อนไขเท่ากับทางเลือกใดจะทำตามทางนั้น

  37. check condition exit loop no yes statement(s) 1.4.3.3 แบบทำซ้ำ • แสดงการทำซ้ำซึ่งมี3 กรณี • 1.การทำซ้ำแบบเงื่อนไขเป็นจริง ตรวจสอบเงื่อนไขก่อน จะทำงานซ้ำเมื่อเงื่อนไขเป็นจริง (ออกจากทำงานซ้ำเมื่อเงื่อนไขเป็นเท็จ)

  38. statement(s) check condition exit loop yes no 1.4.3.3 แบบทำซ้ำ • 2.การทำซ้ำแบบจนเงื่อนไขเป็นจริง ทำงานก่อนการตรวจเงื่อนไข ทำงานซ้ำจนเงื่อนไขเป็นจริง(จึงออกจากทำงานซ้ำ)

  39. for i=1 to N exit loop i > N i  N statement(s) 1.4.3.3 แบบทำซ้ำ • 3.การทำซ้ำตามจำนวนที่ระบุ ทำงานตามรอบที่กำหนด โดยเริ่มจากรอบเริ่มต้น (i=1) ไปยังรอบสุดท้าย (i=N) (ปกติการนับรอบจะเพิ่มที่ละ 1 ค่า (i = i+1))

  40. Read X,Y sum = X+Y sum end 1.4.4 ตัวอย่างผังงาน • ตัวอย่างที่ 1: ออกแบบFlowchartให้คอมพิวเตอร์ทำงานเป็นเครื่องคิดเลขอย่างง่าย โดยรับข้อมูล 2 ค่า (X,Y) และแสดงผลบวกทางจอภาพ start

  41. Read X1,X2,X3 sum=X1+X2+X3 mean = sum/3 mean end 1.4.4 ตัวอย่างผังงาน • ตัวอย่างที่ 2:ออกแบบFlowchartให้คอมพิวเตอร์รับข้อมูล 3 ค่า (X1, X2, X3) คำนวณค่าเฉลี่ยและแสดงค่าเฉลี่ย ทางจอภาพ start

  42. sum = 0 Read X Read N i > N for i=1 to N sum=sum+X mean = sum/N i  N mean end 1.4.4 ตัวอย่างผังงาน • ตัวอย่างที่ 3: ออกแบบFlowchartให้คอมพิวเตอร์รับข้อมูล N ค่า X (X1, X2, ..., XN) คำนวณค่าเฉลี่ย (iN Xi/N) และแสดงค่าเฉลี่ย ทางจอภาพ start

  43. N = 0 sum = 0 Read X X > 0 yes mean = sum/N No N = N + 1 sum=sum+X mean end 1.4.4 ตัวอย่างผังงาน • ตัวอย่างที่ 4: ออกแบบFlowchartให้คอมพิวเตอร์รับข้อมูล N ค่า (X1, X2, ..., XN) คำนวณค่าเฉลี่ย (สมมุติไม่ทราบค่า N) start

  44. I = 1 SUM = 0 while I<=100 no yes SUM = SUM+I I = I+1 SUM end 1.4.4 ตัวอย่างผังงาน • ตัวอย่างที่ 5: ออกแบบFlowchartในการบวก 1+2+...+100 • กำหนดให้ I = 1, 2, 3, ..., 100 และ SUM = 1+2+3+...+100 start

  45. grade = ‘G’ grade = ‘P’ yes yes Read X X > 79 X > 49 เงื่อนไข คะแนน 80-100 กลุ่ม G คะแนน 50-79 กลุ่ม P คะแนนต่ำกว่า 50 กลุ่ม F grade = ‘F’ grade end 1.4.4 ตัวอย่างผังงาน • ตัวอย่างที่ 6:ออกแบบFlowchartให้คอมพิวเตอร์รับคะแนนนักศึกษา (X) แล้วนำมาจัดกลุ่มตามเงื่อนไขและแสดงผลทางจอภาพ start

  46. grade = ‘A’ grade = ‘B’ grade = ‘D’ grade = ‘C’ yes yes yes yes Read X X > 59 X > 69 X > 49 X > 79 เงื่อนไข คะแนน 80-100 เกรด A คะแนน 70-79 เกรด B คะแนน 60-69 เกรด C คะแนน 50-59 เกรด D คะแนนต่ำกว่า 50 เกรด F grade = ‘F’ grade end start 1.4.4 ตัวอย่างผังงาน • ตัวอย่างที่ 7: ออกแบบFlowchartให้คอมพิวเตอร์รับคะแนนนักศึกษา (X) แล้วนำมาตัดเกรดตามเงื่อนไขและแสดงผลทางจอภาพ

  47. ข้อผิดพลาดในการเขียนโปรแกรมข้อผิดพลาดในการเขียนโปรแกรม • Syntax Errorหรือ Coding Error • Logic Error

  48. # header ส่วนที่ 1 main( ) { /* เริ่มโปรแกรม */ declaration ส่วนที่ 2 ……… คำสั่งต่าง ๆ ส่วนที่ 3 } โครงสร้างพื้นฐานของภาษาซี

  49. ส่วนที่ 1 เป็นส่วนที่ระบุให้ซีคอมไพเลอร์เตรียมการทำงานที่กำหนด ในส่วนนี้ไว้ โดยหน้าคำสั่งจะมีเครื่องหมาย # เช่น # include <stdio.h> เป็นการระบุให้นำไฟล์ stdio.h มารวมกับไฟล์นี้ เพื่อที่จะ สามารถใช้คำสั่งที่อยู่ในไฟล์นี้มาใช้งานได้ หรือ # define START 0 เป็นการกำหนดค่าคงที่ให้กับตัวแปร START โดยให้มีค่าเป็น 0 หรือ # define temp 37 เป็นการกำหนดให้ตัวแปร temp มีค่าเท่ากับ 37

More Related