องค์ประกอบของคอมพิวเตอร์...
TRANSCRIPT
องคประกอบของคอมพวเตอร
และภาษาซ
030523300- Computer Programming
Asst. Prof. Dr. Choopan Rattanapoka
ระบบคอมพวเตอร
คอมพวเตอร
อปกรณทางอเลกทรอนกสทท างานตามค าสงในการจดการกบขอมล
ระบบคอมพวเตอรไดถกแบงออกเปน 2 องคประกอบไดแก ฮารดแวร (Hardware) : เปนอปกรณทางกายภาพทประกอบข น ซอฟตแวร (Software) : โปรแกรมทถกสรางข นมาเพอสงใหฮารดแวรท างานได
ตามทตองการ
ฮารดแวร ซอฟตแวร
ระบบคอมพวเตอร
Computer Hardware
องคประกอบฮารดแวรของระบบคอมพวเตอรประกอบไปดวย 4 สวนหลก ตวประมวลผลกลาง (Central processing unit หรอเรยกสนๆวา ซพย (CPU) ) หนวยความจ า (Memory) ซงรวม Primary storage และ Auxiliary storage อปกรณอนพต
(Input Device)
อปกรณเอาตพต
(Output Device)
Central Processing Unit (CPU)
ซพยเปนอปกรณทท างานตามชดค าสงทก าหนด
มความสามารถในการค านวณทางคณตศาสตร ตรรกศาสตร และ
สามารถตดตอรวมทงควบคมอปกรณตางๆได
Central Processing Unit (CPU) ตอ
จ านวนบตของซพยจะเปนตวเลขทบอกขนาดความยาวของรจสเตอรในการ
ประมวลผล ปจจบนซพยทวางจ าหนายสวนใหญมขนาด 64 บต (แตรองรบการท างานแบบ 32 บตดวย)
ในอดตความเรวของซพยจะบอกเปนความเรวของสญญาณนาฬกาทปอนใหกบ
ตวซพย เชน Pentium4 2GHz, Celeron 1.2 GHz ปจจบนจงมการเปลยนแปลงสถาปตยกรรมภายในของซพยโดยเพมหนวย
ประมวลผลทเรยกวา ALU (Arithmetic Logic Unit) มากกวาหนงหนวยลงไปในชพย ปจจบนทเรารจกกนวา คอร (Core) ส าหรบ Intel มเทคโนโลยทชอวา HyperThreading เพมเตม
Core i3 : 2 cores / 4 Threads Core i5 : 4 cores / 4 Threads Core i7 : 4 cores / 8 Threads
หนวยความจ า (Memory)
หนวยความจ าของคอมพวเตอรสามารถแบงออกเปน 2 ชนดคอ
หนวยความจ าหลก
หนวยความจ าส ารอง
หนวยความจ าหลก (Primary Storage)
มหนาทเกบชดค าสงทใชสงงานซพย และ เกบขอมลตางๆทจะใหซพยประมวลผล
รวมทงเกบผลลพธทไดจากการประมวลผล
หนวยความจ าหลกในคอมพวเตอรเรยกวา RAM (Random Access
Memory)
หนวยความจ า (Memory) ตอ
หนวยความจ าส ารอง (Auxiliary memory)
บางทเรยกกนวา Secondary memory หมายถงหนวยความจ าหรอหนวย
เกบทใชเกบขอมลนอกเครองคอมพวเตอร (เพมไปจากหนวยความจ าหลก)
ซงสามารถใชเกบขอมลแบบถาวรได แตการท างานจะชากวาหนวยความจ าหลก
แตมราคาทถกกวา หนวยความจ าส ารองเชน Hard disk, CD-ROM
และ Flash drive
อปกรณอนพต (Input Devices)
เปนอปกรณทใชรบขอมลในรปแบบตางๆ จากภายนอกคอมพวเตอร แลว
แปลงขอมลทรบใหอยในรปแบบ Binary ซงสามารถสอสารกบซพยได
เครองแสกน(Scanner)
เครองอานบารโคด(Barcode Reader)
คยบอรด(Keyboard)
เมาส(Mouse)
Trackball
Joystick ฯลฯ
อปกรณเอาทพต (Output Devices)
เปนอปกรณทแปลงขอมลแบบ Binary จากซพย/คอมพวเตอรไปเปน
ขอมลในรปแบบอนหรอใหอปกรณนนท างานอยางใดอยางหนงตามลกษณะ
ขอมล
เครองพมพ (Printer)
ล าโพง (Speaker)
จอภาพ (Monitors) เปนตน
ววฒนาการของคอมพวเตอร
ววฒนาการของคอมพวเตอร
ENIAC
น าหนก : 27 ตน
ขนาดประมาณ : 63 m²
Netbook
Tablet
Smart phone
Software
ซอฟตแวรคอมพวเตอรถกแบงออกเปน 2 ประเภทใหญ
ซอฟตแวรระบบ (System software) และ
ซอฟตแวรประยกต (Application software)
ซอฟตแวรระบบ ซอฟตแวรประยกต
ซอฟตแวร
การพฒนาซอฟตแวร (Software Development)
การพฒนาซอฟตแวรหมายถงขบวนการ การเขยนรหส/โปรแกรมดวย
ภาษาคอมพวเตอรซงการพฒนาซอฟตแวรแบงออกเปนขนตอนตางๆ ดงน
การก าหนดความตองการ ปญหาทตองการใชคอมพวเตอรชวยในแกไข
การวเคราะหตวปญหา ไดแกการก าหนดขอมลขาเขาและรปแบบผลลพธทตองการได
การออกแบบ ไดแกการออกแบบวางแผนถงวธการแกไขปญหาทจะเกดข น
การเขยนโปรแกรม ไดแกการเขยนโปรแกรมดวยภาษาทางคอมพวเตอรเพอแกไข
ปญหา
การทดสอบ ไดแกการทดสอบเพอดผลของการแกไขปญหา
การปรบปรงแกไขโปรแกรม ไดแกในกรณทโปรแกรมยงไมสามารถท างานไดอยาง
สมบรณตองน าไปแกไขปรบปรงใหมเพอใหไดผลลพธทถกตองตามทตองการ
ค าศพทเทคนคทใชในการพฒนาซอฟตแวร
Edit คอการเขยนและแกไขโปรแกรมดวยภาษาคอมพวเตอร
Build หรอ Compile คอการแปลโปรแกรมทเขยนดวย
ภาษาคอมพวเตอรใหเปนภาษาเครอง
Execute หรอ Run คอการสงงานภาษาเครองทไดใหท างาน
Debug คอการหาจดผดพลาดของโปรแกรม
Integrated Development Environment (IDE) software เปนเครองมอในการพฒนาซอฟตแวรแบบเบดเสรจส าหรบวงจรการ
“edit-compile-execute-debug”
ภาษาคอมพวเตอร (Computer Languages)
ภาษาคอมพวเตอรนนสามารถแบงออกเปนประเภทใหญๆ 3 ประเภทคอ
ภาษาโปรแกรมระดบต า (Low-level Programming Language)
ภาษาโปรแกรมระดบสง (High-level Programming Language)
ภาษาโปรแกรมระดบสงมาก (Very High-level Programming
Language)
แนะน าภาษาซ
ภาษาซไดถกพฒนาข นโดยนายเดนนส รทช ณ ศนยวจยเบล ในสหรฐอเมรกา เมอป ค.ศ.
1972 จนกระทงป ค.ศ. 1978 นายไบรอน เคอรนแกน และนายเดนนส รทช ไดจดท า
ขอก าหนดมาตรฐานของภาษาซ ซงนยมเรยกกนวา K&R หลงจากนนป ค.ศ. 1980 ภาษาซ กไดรบความนยมมากข น มการพฒนา compiler ภาษาซออกมามากมาย
ภาษาซเปนภาษาทมความใกลเคยงกบภาษาระดบต า จงท าใหมความเรวในการท างานสง
และในขณะเดยวกนภาษาซกยงมความเปนภาษาระดบสง ท าใหนกพฒนาสามารถทจะ
พฒนาโปรแกรมได โดยเนนไปทการแกปญหาทตองการไดอยางอสระโดยไมตองค านงถง
ฮารดแวร
ภาษาซเปนภาษาโปรแกรมคอมพวเตอรทไดรบความนยมและมการพฒนาอยางตอเนอง
ระบบปฏบตการยอดนยมสวนใหญไมวาจะเปน Windows XP, Linux, UNIX, MAC OS X พฒนาขนดวยภาษาซ
ภาษาซยงถกใชในการพฒนาภาษาระดบสงอนๆ เชน PHP, Perl, Ruby และ Python
ภาษาซเปนภาษาตนตระกลของภาษายอดนยมอนๆ เชน C++, Java, PHP ซงจะมโครงสรางและไวยากรณของภาษาคลายคลงกบภาษาซ
สายพนธภาษาโปรแกรม
ภาษาโปรแกรมยอดนยม July 2015 (tiobe.com)
ขนตอนการพฒนาโปรแกรมภาษาซ
CodeBlocks IDE
Free IDE for developing software using C/C++ programming
language
Site: http://www.codeblocks.org/
New Project
File New Project
Choose Project Type
เลอก Console Application
คลก Go, แลวกด Next
Select the language
เลอก C แลวกด Next
Project Location
พมพชอโปรเจค ท “project title”
เลอกต าแหนงใน Harddisk ทจะเกบไฟลตางๆ
Choose Compiler
กดปม Finish
Default Source Code
Run Menu
Build
Run
Build and
Run (F9)
โครงสรางของภาษาซ
ตวอยาง Source Code ภาษา C
Your code
Hello World
printf(“ขอความ”);
เปนฟงกชนมาตรฐานของภาษา C ใชส าหรบแสดง ขอความ ออกบนหนาจอ
ทดลองอะไรเลน ๆ
ใหลองเอา semicolon(;) ออกจากบรรทด
printf(“Hello World”);
Compile Error
โปรแกรมจะแสดง จด
สเหลยมสแดง ใกลๆ
บรเวณทมปญหาในการ
Compile โปรแกรม
ขอความแจงวา ประมาณ
บรรทดท 9
syntax error
before “return”
Hello World! (again)
\n เปนตวอกขระพเศษทใชบอก printf วาใหข นบรรทดใหม
Quiz 1
จงหาผลลพธจากการท างานของโปรแกรม
Quiz 2
จงหาผลลพธจากการท างานของโปรแกรม
การใช comment ในภาษาซ
การเขยน comment ในโปรแกรมตนฉบบ
// เปนการใชงานแบบ C++
ขอความหลง // จนสนสดบรรทดคอมไพเลอรจะไมสนใจ
/* */ เปนแบบ C
ซงคอมไพเลอรจะไมอานขอความระหวาง /* และ */
QUIZ 3
จงหาผลลพธจากการท างานของโปรแกรม
QUIZ 4
จงหาผลลพธจากการท างานของโปรแกรม
QUIZ 5
จงหาผลลพธจากการท างานของโปรแกรม