องค์ประกอบของคอมพิวเตอร์...

39
องค์ประกอบของคอมพิวเตอร์ และภาษาซี 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

Upload: others

Post on 20-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

องคประกอบของคอมพวเตอร

และภาษาซ

030523300- Computer Programming

Asst. Prof. Dr. Choopan Rattanapoka

Page 2: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

ระบบคอมพวเตอร

คอมพวเตอร

อปกรณทางอเลกทรอนกสทท างานตามค าสงในการจดการกบขอมล

ระบบคอมพวเตอรไดถกแบงออกเปน 2 องคประกอบไดแก ฮารดแวร (Hardware) : เปนอปกรณทางกายภาพทประกอบข น ซอฟตแวร (Software) : โปรแกรมทถกสรางข นมาเพอสงใหฮารดแวรท างานได

ตามทตองการ

ฮารดแวร ซอฟตแวร

ระบบคอมพวเตอร

Page 3: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Computer Hardware

องคประกอบฮารดแวรของระบบคอมพวเตอรประกอบไปดวย 4 สวนหลก ตวประมวลผลกลาง (Central processing unit หรอเรยกสนๆวา ซพย (CPU) ) หนวยความจ า (Memory) ซงรวม Primary storage และ Auxiliary storage อปกรณอนพต

(Input Device)

อปกรณเอาตพต

(Output Device)

Page 4: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Central Processing Unit (CPU)

ซพยเปนอปกรณทท างานตามชดค าสงทก าหนด

มความสามารถในการค านวณทางคณตศาสตร ตรรกศาสตร และ

สามารถตดตอรวมทงควบคมอปกรณตางๆได

Page 5: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

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

Page 6: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

หนวยความจ า (Memory)

หนวยความจ าของคอมพวเตอรสามารถแบงออกเปน 2 ชนดคอ

หนวยความจ าหลก

หนวยความจ าส ารอง

หนวยความจ าหลก (Primary Storage)

มหนาทเกบชดค าสงทใชสงงานซพย และ เกบขอมลตางๆทจะใหซพยประมวลผล

รวมทงเกบผลลพธทไดจากการประมวลผล

หนวยความจ าหลกในคอมพวเตอรเรยกวา RAM (Random Access

Memory)

Page 7: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

หนวยความจ า (Memory) ตอ

หนวยความจ าส ารอง (Auxiliary memory)

บางทเรยกกนวา Secondary memory หมายถงหนวยความจ าหรอหนวย

เกบทใชเกบขอมลนอกเครองคอมพวเตอร (เพมไปจากหนวยความจ าหลก)

ซงสามารถใชเกบขอมลแบบถาวรได แตการท างานจะชากวาหนวยความจ าหลก

แตมราคาทถกกวา หนวยความจ าส ารองเชน Hard disk, CD-ROM

และ Flash drive

Page 8: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

อปกรณอนพต (Input Devices)

เปนอปกรณทใชรบขอมลในรปแบบตางๆ จากภายนอกคอมพวเตอร แลว

แปลงขอมลทรบใหอยในรปแบบ Binary ซงสามารถสอสารกบซพยได

เครองแสกน(Scanner)

เครองอานบารโคด(Barcode Reader)

คยบอรด(Keyboard)

เมาส(Mouse)

Trackball

Joystick ฯลฯ

Page 9: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

อปกรณเอาทพต (Output Devices)

เปนอปกรณทแปลงขอมลแบบ Binary จากซพย/คอมพวเตอรไปเปน

ขอมลในรปแบบอนหรอใหอปกรณนนท างานอยางใดอยางหนงตามลกษณะ

ขอมล

เครองพมพ (Printer)

ล าโพง (Speaker)

จอภาพ (Monitors) เปนตน

Page 10: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

ววฒนาการของคอมพวเตอร

Page 11: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

ววฒนาการของคอมพวเตอร

ENIAC

น าหนก : 27 ตน

ขนาดประมาณ : 63 m²

Netbook

Tablet

Smart phone

Page 12: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Software

ซอฟตแวรคอมพวเตอรถกแบงออกเปน 2 ประเภทใหญ

ซอฟตแวรระบบ (System software) และ

ซอฟตแวรประยกต (Application software)

ซอฟตแวรระบบ ซอฟตแวรประยกต

ซอฟตแวร

Page 13: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

การพฒนาซอฟตแวร (Software Development)

การพฒนาซอฟตแวรหมายถงขบวนการ การเขยนรหส/โปรแกรมดวย

ภาษาคอมพวเตอรซงการพฒนาซอฟตแวรแบงออกเปนขนตอนตางๆ ดงน

การก าหนดความตองการ ปญหาทตองการใชคอมพวเตอรชวยในแกไข

การวเคราะหตวปญหา ไดแกการก าหนดขอมลขาเขาและรปแบบผลลพธทตองการได

การออกแบบ ไดแกการออกแบบวางแผนถงวธการแกไขปญหาทจะเกดข น

การเขยนโปรแกรม ไดแกการเขยนโปรแกรมดวยภาษาทางคอมพวเตอรเพอแกไข

ปญหา

การทดสอบ ไดแกการทดสอบเพอดผลของการแกไขปญหา

การปรบปรงแกไขโปรแกรม ไดแกในกรณทโปรแกรมยงไมสามารถท างานไดอยาง

สมบรณตองน าไปแกไขปรบปรงใหมเพอใหไดผลลพธทถกตองตามทตองการ

Page 14: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

ค าศพทเทคนคทใชในการพฒนาซอฟตแวร

Edit คอการเขยนและแกไขโปรแกรมดวยภาษาคอมพวเตอร

Build หรอ Compile คอการแปลโปรแกรมทเขยนดวย

ภาษาคอมพวเตอรใหเปนภาษาเครอง

Execute หรอ Run คอการสงงานภาษาเครองทไดใหท างาน

Debug คอการหาจดผดพลาดของโปรแกรม

Integrated Development Environment (IDE) software เปนเครองมอในการพฒนาซอฟตแวรแบบเบดเสรจส าหรบวงจรการ

“edit-compile-execute-debug”

Page 15: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

ภาษาคอมพวเตอร (Computer Languages)

ภาษาคอมพวเตอรนนสามารถแบงออกเปนประเภทใหญๆ 3 ประเภทคอ

ภาษาโปรแกรมระดบต า (Low-level Programming Language)

ภาษาโปรแกรมระดบสง (High-level Programming Language)

ภาษาโปรแกรมระดบสงมาก (Very High-level Programming

Language)

Page 16: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

แนะน าภาษาซ

ภาษาซไดถกพฒนาข นโดยนายเดนนส รทช ณ ศนยวจยเบล ในสหรฐอเมรกา เมอป ค.ศ.

1972 จนกระทงป ค.ศ. 1978 นายไบรอน เคอรนแกน และนายเดนนส รทช ไดจดท า

ขอก าหนดมาตรฐานของภาษาซ ซงนยมเรยกกนวา K&R หลงจากนนป ค.ศ. 1980 ภาษาซ กไดรบความนยมมากข น มการพฒนา compiler ภาษาซออกมามากมาย

ภาษาซเปนภาษาทมความใกลเคยงกบภาษาระดบต า จงท าใหมความเรวในการท างานสง

และในขณะเดยวกนภาษาซกยงมความเปนภาษาระดบสง ท าใหนกพฒนาสามารถทจะ

พฒนาโปรแกรมได โดยเนนไปทการแกปญหาทตองการไดอยางอสระโดยไมตองค านงถง

ฮารดแวร

ภาษาซเปนภาษาโปรแกรมคอมพวเตอรทไดรบความนยมและมการพฒนาอยางตอเนอง

ระบบปฏบตการยอดนยมสวนใหญไมวาจะเปน Windows XP, Linux, UNIX, MAC OS X พฒนาขนดวยภาษาซ

ภาษาซยงถกใชในการพฒนาภาษาระดบสงอนๆ เชน PHP, Perl, Ruby และ Python

ภาษาซเปนภาษาตนตระกลของภาษายอดนยมอนๆ เชน C++, Java, PHP ซงจะมโครงสรางและไวยากรณของภาษาคลายคลงกบภาษาซ

Page 17: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

สายพนธภาษาโปรแกรม

Page 18: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

ภาษาโปรแกรมยอดนยม July 2015 (tiobe.com)

Page 19: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

ขนตอนการพฒนาโปรแกรมภาษาซ

Page 20: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

CodeBlocks IDE

Free IDE for developing software using C/C++ programming

language

Site: http://www.codeblocks.org/

Page 21: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

New Project

File New Project

Page 22: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Choose Project Type

เลอก Console Application

คลก Go, แลวกด Next

Page 23: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Select the language

เลอก C แลวกด Next

Page 24: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Project Location

พมพชอโปรเจค ท “project title”

เลอกต าแหนงใน Harddisk ทจะเกบไฟลตางๆ

Page 25: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Choose Compiler

กดปม Finish

Page 26: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Default Source Code

Page 27: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Run Menu

Build

Run

Build and

Run (F9)

Page 28: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

โครงสรางของภาษาซ

Page 29: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

ตวอยาง Source Code ภาษา C

Your code

Page 30: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Hello World

printf(“ขอความ”);

เปนฟงกชนมาตรฐานของภาษา C ใชส าหรบแสดง ขอความ ออกบนหนาจอ

Page 31: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

ทดลองอะไรเลน ๆ

ใหลองเอา semicolon(;) ออกจากบรรทด

printf(“Hello World”);

Page 32: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Compile Error

โปรแกรมจะแสดง จด

สเหลยมสแดง ใกลๆ

บรเวณทมปญหาในการ

Compile โปรแกรม

ขอความแจงวา ประมาณ

บรรทดท 9

syntax error

before “return”

Page 33: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Hello World! (again)

\n เปนตวอกขระพเศษทใชบอก printf วาใหข นบรรทดใหม

Page 34: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Quiz 1

จงหาผลลพธจากการท างานของโปรแกรม

Page 35: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

Quiz 2

จงหาผลลพธจากการท างานของโปรแกรม

Page 36: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

การใช comment ในภาษาซ

การเขยน comment ในโปรแกรมตนฉบบ

// เปนการใชงานแบบ C++

ขอความหลง // จนสนสดบรรทดคอมไพเลอรจะไมสนใจ

/* */ เปนแบบ C

ซงคอมไพเลอรจะไมอานขอความระหวาง /* และ */

Page 37: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

QUIZ 3

จงหาผลลพธจากการท างานของโปรแกรม

Page 38: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

QUIZ 4

จงหาผลลพธจากการท างานของโปรแกรม

Page 39: องค์ประกอบของคอมพิวเตอร์ และภาษาซีchoopanr.staff.kmutnb.ac.th/files/course/030523300/02.pdf · ระบบคอมพิวเตอร์

QUIZ 5

จงหาผลลพธจากการท างานของโปรแกรม