53
204105 204105 Computer Programming I Computer Programming I

204105 Computer Programming I

  • Upload
    willem

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

204105 Computer Programming I. CompScCMU. การวัดผล. สอบกลางเทอม 35 % เนื้อหาหัวข้อ 1+2+3+4+5.1 จันทร์ ที่ 2 สิงหาคม 2547 เวลา 12 :00-15:00 น. สอบปลายเทอม 40% เนื้อหาหัวข้อ 5+6+7+8+9+10 อังคาร ที่ 5 ตุลาคม 2547 เวลา 12 :00-15:00 น. ปฏิบัติการ 25 %. เนื้อหา. - PowerPoint PPT Presentation

Citation preview

Page 1: 204105 Computer Programming I

204105204105Computer Computer

Programming IProgramming I

Page 2: 204105 Computer Programming I

(2)

การวดผลการวดผล สอบกลางเทอม 35% เนอหาหวขอ 1 2 3 4 51+ + + + .

จนทร ท 2 สงหาคม 2547เวลา 12:00-15:00 น.

สอบปลายเทอม 40% เนอหาหวขอ 5 6 7 8 9 10+ + + + +

องคาร ท 5 ตลาคม 2547เวลา 12:00-15:00 น.

ปฏบตการ 25%

Page 3: 204105 Computer Programming I

(3)

เนอหาเนอหา 1. ระบบคอมพวเตอรและการประมวลผล

2. การสอสารขอมล 3. การพฒนาโปรแกรม

และ การออกแบบอลกอรทม 4. สวนประกอบของภาษาโปรแกรม

5. ประโยคคำาสงควบคมประโยคคำาสงควบคม6. โปรแกรมยอยฟงกชน (Function)7. ตวบงช(Pointer) 8 . การประมวลผลแฟมขอมล 9. ตวแปรชด (Arrays) 10. ขอมลแบบโครงสราง (struct)

Page 4: 204105 Computer Programming I

(4)

ระบบคอมพวเตอรและการประมวลผลระบบคอมพวเตอรและการประมวลผลองคประกอบของระบบคอมพวเตอร

ฮารดแวร (Hardware)ซอฟตแวร (Software)

บคลากรคอมพวเตอร (Peopleware)การประมวลผลขอมล (Data processing)

ขอมล (Data) และ ขอสนเทศ (Information)การจดองคกรของขอมล (Data organization)วฏจกรการประมวลผลขอมล ประเภทของการประมวลผล

การแทนขอมลในหนวยความจำาระบบเลขฐานและการดำาเนนการทเกยวของการแทนอกขระการแทนจำานวนเลข

Page 5: 204105 Computer Programming I

(5)

คอมพวเตอรคออะไรคอมพวเตอรคออะไร?? หมายถง อปกรณอเลกทรอนกสหรอเครองทมความสามารถดำาเนนกรรมวธหรอประมวล

ผลขอมลอตโนมต โดยอาศยสวนประกอบตาง ๆ รวมกนทำางาน

สามารถปอนโปรแกรม(ชดคำาสง) บนทกขอมล คำานวณและจดการขอมลแบบอกขระได

Page 6: 204105 Computer Programming I

(6)

ลกษณะทสำาคญของคอมพวเตอรลกษณะทสำาคญของคอมพวเตอร 1) ทำางานดวยระบบอเลกทรอนกสและอตโนมต2) มความเรวสงในการประมวลผล3) มหนวยความจำาภายในขนาดใหญ4) ไดผลลพธทถกตองและนาเชอถอ

Page 7: 204105 Computer Programming I

(7)

องคประกอบของระบบคอมพวเตอรองคประกอบของระบบคอมพวเตอร ฮารดแวร (Hardware: H/W) ซอฟตแวร (Software: S/W)

บคลากรทางคอมพวเตอร(Peopleware:P/W)

Page 8: 204105 Computer Programming I

(8)

ฮารดแวร ฮารดแวร (Hardware: H/W)(Hardware: H/W) ฮารดแวร คอ อปกรณตางๆ ทประกอบเขาเปนตว

เครองคอมพวเตอร ซงแบงตามหนาทการทำางานได เปน 4 หนวย ดงน

1) หนวยรบขอมล (Input Unit) 2)หนวยประมวลผลกลาง(Central Processing Unit)3) หนวยความจำา (Memory หรอ Storage Unit)

• หนวยความจำาหลก (Main Memory) • หนวยความจำาสำารอง (Secondary Storage)

4) หนวยแสดงผล (Output Unit)

Page 9: 204105 Computer Programming I

(9)

หนวยรบขอมลเขา หนวยรบขอมลเขา (Input Unit)(Input Unit)

หนาท รบขอมลจากภายนอกโดยผานอปกรณซงทำาหนาทแปลงขอมลใหอยในรปทคอมพวเตอร

สามารถเขาใจได อปกรณททำาหนาทดงกลาวเรยกวา Input

device

Page 10: 204105 Computer Programming I

(10)

ความสมพนธความสมพนธ

Input unit

Main memory

Page 11: 204105 Computer Programming I

(11)

อปกรณอปกรณ รบขอมลเขา รบขอมลเขา (Input device)(Input device)

• แปนพมพ (Keyboard)• เอมไอซอาร หรอ เครองอานอกขระหมกแม

เหลก (Magnetic Ink Character Reader: MICR)

• โอซอาร หรอ เครองอานอกขระดวยแสง• (Optical Character Reader: OCR)

Page 12: 204105 Computer Programming I

(12)

อปกรณอปกรณรบขอมลเขารบขอมลเขา(Input device)(Input device)

• สแกนเนอร (Scanner)

Page 13: 204105 Computer Programming I

(13)

อปกรณอปกรณรบขอมลเขารบขอมลเขา(Input device)(Input device)• เครองอานบตรเจาะร (Card reader)• เครองอานแผนซด (CDROM drive)• เครองอานเทปกระดาษ• Voice recognizer• ฯลฯ

Page 14: 204105 Computer Programming I

(14)

หนวยแสดงผลขอมลหนวยแสดงผลขอมล(Output unit)(Output unit)ทำาหนาทแสดงผลลพธทไดจากการประมวลผลภายใน

เครองคอมพวเตอรแสดงออกมาภายนอกในรปแบบ และลกษณะตางๆ

หนวยแสดงผลขอมลแบงเปน 2 ประเภทคอ• หนวยแสดงผลแบบ Softcopy คอการแสดงผล

แลวลบหายไป• หนวยแสดงผลแบบ Hardcopy คอการแสดงผลท

สามารถเกบผลนนไวใชภายหลงได เชน การพมพเปน รายงานหรอเกบไวเปนหลกฐานดวยเครองพมพ

(Printer)

Page 15: 204105 Computer Programming I

(15)

ความสมพนธความสมพนธ

Output unit

Main memory

Page 16: 204105 Computer Programming I

(16)

อปกรณทำาหนาทแสดงผลขอมล อปกรณทำาหนาทแสดงผลขอมล ((Output devices)Output devices)

จอภาพแสดงผล CRT, VDO, MONITOR เครองพมพ (Printer)

- Impact printer : Dot matrix, Line printer

- - Non impact printer : Thermal printer, Page printer, Laser printer

เครองวาด (Plotter), ลำาโพง (Speaker)หรอ Voice synthesizer

Page 17: 204105 Computer Programming I

(17)

อปกรณทำาหนาทรบและแสดงผลขอมล อปกรณทำาหนาทรบและแสดงผลขอมล (Input/Output devices)(Input/Output devices)

เครองอานและบนทกลงดสค (Disk drive) เครองอาน/บนทกดสเกตต (Diskette drive

) เครองอานหรอบนทกเทปแมเหลก (Tape

drive)

Page 18: 204105 Computer Programming I

(18)

หนวยประมวลผลกลาง หนวยประมวลผลกลางหนาทในการประมวลผลขอมลทผใชปอนเขามาทาง

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

ตามการกระทำาพนฐานทแตเครองสามารถดำาเนนการได

Page 19: 204105 Computer Programming I

(19)

เซตของคำาสงเซตของคำาสง(Instruction Set)(Instruction Set)• โปรแกรมหมายถงชดคำาสง(instructions)ทเรยงกนตามลำาดบ

ของการถกดำาเนนการ• แตละคำาสงมลกษณะเปนกลมของบต ซงจะบอกแกคอมพวเตอรให

ปฏบตการอยางใดอยางหนง ทเปนหนาทพนฐาน ซงไดแก บวก ลบ คณ หาร เปรยบเทยบ คดลอก กระตนใหเกดการรบขอมล หรอ กระตนใหเกดการแสดงผลของหนวยแสดงผล

• กลมบตของแตละคำาสง แบงออกเปน 2 สวน

เชน ADD 1000, 1002 บวกขอมลทอยในตำาแหนง 1000 ในหนวยความจำา กบคาขอมลทอยในตำาแหนง 1002

Operation Code Operand

กลมของวงจรทแทนการดำาเนนการพนฐานของคอมพวเตอรแตเครอง เรยกวา เซตของคำาสง

Page 20: 204105 Computer Programming I

(20)

ความสมพนธความสมพนธ

Processor

Main memory

Page 21: 204105 Computer Programming I

(21)

หนวยประมวลผลกลาง หนวยประมวลผลกลาง ประกอบดวยสวนสำาคญ 2 สวนหลก คอ

1) หนวยคำานวณและตรรกะ (Arithmetic & Logical Unit: ALU) ทำาหนาทเกยวกบการคำานวณและการเปรยบเทยบทางตรรกะ

2) หนวยควบคม (Control Unit) ทำาหนาทควบคมและ ประสานการทำางานของสวนตางๆ โดยมนาฬกา(clock)เปนตวให

จงหวะกระตนการทำางาน

นอกจากนยงมหนวยททำาหนาทจดจำาคำาสงหรอขอมลซงกำาลงถก ดำาเนนการ เรยกหนวยนวา หนวยความจำาความเรวสงหรอ รจสเตอร

(Registers)

Page 22: 204105 Computer Programming I

(22)

รจสเตอร รจสเตอร (Register)(Register)แบงเปน 2 ประเภท คอ

– รจสเตอรทวไป (General Register)– รจสเตอรพเศษ (Special Register) คอ รจสเตอรท

แตละตวจะทำางานเฉพาะอยาง ทสำาคญไดแก• Accumulator ทำาหนาทเกบขอมลในขณะประมวลผล หรอเปน

ทพกผลลพธจากการคำานวณ กอนทจะถกสงไปบนทกในหนวยความจำาหลก

• Instruction Register เปนทเกบคำาสงทกำาลงทำางานอย• Program Counter เปนตวชไปยงคำาสงถดไปทจะถกดงเขา

มาทำางาน

Page 23: 204105 Computer Programming I

(23)

สวนประกอบสำาคญในหนวยประมวลผลกลางสวนประกอบสำาคญในหนวยประมวลผลกลาง

Clock

CU ALU

Registers

Page 24: 204105 Computer Programming I

(24)

Clock CU ALUProgramcounter

00

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

1

Instruction Register Accumulator

Page 25: 204105 Computer Programming I

(25)

Clock CU ALUProgra

mcounter

1 fetch1 fetch

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

2

Instruction Register

COPY 1000 TO REG1

Accumulator

REG1

REG2

Page 26: 204105 Computer Programming I

(26)

Clock CU ALUProgra

mcounter

22

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

2

Instruction Register

COPY 1000 TO REG1

Accumulator

REG150

REG2

Page 27: 204105 Computer Programming I

(27)

Clock CU ALUProgra

mcounter

33

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

2

Instruction Register

COPY 1000 TO REG1

Accumulator

REG150

REG2

Page 28: 204105 Computer Programming I

(28)

Clock CU ALUProgra

mcounter

44

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

3

Instruction Register

COPY 1001 TO REG2

Accumulator

REG150

REG2

Page 29: 204105 Computer Programming I

(29)

Clock CU ALUProgra

mcounter

55

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

10021000501001 88 1002

RAM

Processor

3

Instruction Register

COPY 1001 TO REG2

Accumulator

REG150

REG288

Page 30: 204105 Computer Programming I

(30)

Clock CU ALUProgra

mcounter

66

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

3

Instruction Register

COPY 1000 TO REG2

Accumulator

REG150

REG288

Page 31: 204105 Computer Programming I

(31)

Clock CU ALUProgra

mcounter

77

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

4

Instruction Register

ADD REG1, REG2

Accumulator

REG1

REG2

Page 32: 204105 Computer Programming I

(32)

Clock CU ALUProgra

mcounter

88

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

4

Instruction Register

ADD REG1, REG2

Accumulator

138

REG150

REG288

Page 33: 204105 Computer Programming I

(33)

Clock CU ALUProgra

mcounter

99

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

4

Instruction Register

ADD REG1, REG2

Accumulator

138

REG150

REG288

Page 34: 204105 Computer Programming I

(34)

Clock CU ALUProgra

mcounter

1010

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

RAM

Processor

5

Instruction Register

COPY ACCUMULATOR TO 1002

Accumulator

138

REG150

REG288

Page 35: 204105 Computer Programming I

(35)

Clock CU ALUProgra

mcounter

1111

1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO

1002100050 1001 88 1002

138

RAM

Processor

5

Instruction Register

COPY ACCUMULATOR TO 1002

Accumulator

138

REG150

REG288

Page 36: 204105 Computer Programming I

(36)

Machine cycleMachine cycle1 . ชดคำาสงถกโหลดเขาไปเกบในหนวยความจำา2. Program counter ถกกำาหนดใหเกบคาตำาแหนงของ คำาสงแรก

ทตองถกดำาเนนการ3. หนวยควบคม ควบคมใหเกดการอานคำาสงในหนวยความจำา ณ

ตำาแหนงทมคาตามทกำาหนดไวใน Program counter โดยนำาคำาสงทอานไดไปเกบไวใน Instruction register

4. เพมคาใน program counter ใหเปนคาของตำาแหนงในหนวยความจำาทเกบคำาสงถดไป

5. หนวยควบคมสงสญญานควบคมหนวย ALU ใหดำาเนนการตามคำาสง ผลลพธทไดจากการดำาเนนการจะถกพกไวท Accumulator register

6. หนวยควบคม จะควบคมใหบนทกคาใน ACC ไปเกบไวในหนวยความจำา - 36 เรยกวา Machine cycle = I-time + E-time

I-time : Instruction Time

E-time : Execution Time

Page 37: 204105 Computer Programming I

(37)

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

หนวยความจำาหลกม 2 ชนดคอ1) ROM (Read Only Memory) เปนหนวย

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

2) RAM (Random Access Memory) หรอ อาจเรยกวา RWM (Read/Write Memory)

หนวยความจำาแบบนสามารถอานและบนทกขอมลได

Page 38: 204105 Computer Programming I

(38)

ความสมพนธความสมพนธ

CU

Main memory

Registers

ALU

Clock

Page 39: 204105 Computer Programming I

(39)

หนวยความจำาสำารองหนวยความจำาสำารองหนวยความจำาสำารองจะเปนหนวยบนทกขอมล

อยางถาวร ไมลบหายถงแมจะไมมไฟเลยงอยกตาม ทำาหนาทเกบขอมลอยางถาวรไวใชในโอกาสตอไป

Page 40: 204105 Computer Programming I

(40)

ความสมพนธความสมพนธ

CU

Main memory

Registers

ALU

Clock

Cache memory

Secondary storage

Page 41: 204105 Computer Programming I

(41)

สอบนทกขอมลแบบลำาดบสอบนทกขอมลแบบลำาดบ* SAS : Sequential Access Storage

– บตรเจาะร (Punch Card)• Card Reader• Card Punch

– แถบกระดาษ (Paper Tape)– เทปแมเหลก (Magnetic Tape)– เทปตลบ (Tape cassette)

Page 42: 204105 Computer Programming I

(42)

สอบนทกแบบเขาถงโดยตรงสอบนทกแบบเขาถงโดยตรง ((Direct Access StorageDirect Access Storage))

* จานแมเหลก (Magnetic Disk)* เครองอานและบนทกจานแมเหลก (Disk

drive)* แผนดสเกตต (Diskette, Floppy Disk)

* เครองอานและบนทกดสเกตต (Diskettedrive)

* Hard disk หรอ Fixed disk* Compact -Disk(CD) : CD ROM

Page 43: 204105 Computer Programming I

(43)

ภาพจานแมเหลก ภาพจานแมเหลก (Magnetic disk) (Magnetic disk)

Page 44: 204105 Computer Programming I

(44)

รายละเอยดจานแมเหลกรายละเอยดจานแมเหลก

• Tracks: รองบนทกขอมลตามแนวเสนรอบวงบนจานแมเหลก หรอตาม ความกวางของเทปแมเหลก รองบนทกขอมลแตละรอง ไมตอเนองกน

• Sector: สวนหนงของรองบนทกขอมลบนแผนจานแมเหลกชนดออน ซง บนทกขอมลระหวาง 128

byt e ถง 1 Kb• Cylinder: แนวดงตรงกนของรองบนทกขอมลบน

ชดจานแมเหลก แตละ แผนวางเรยงซอนกนบนแกนเดยวกน ดงนนถา 200 รองบนทก กจะม 200Cylinder

• Surface: พนผวของจานแมเหลก 1 แผนม 2พนผว

Page 45: 204105 Computer Programming I

(45)

แผนจานแมเหลกเกบขอมล แผนจานแมเหลกเกบขอมล (Magnetic Disk)(Magnetic Disk)

Track Sector Track+Sector

512 Byte

Page 46: 204105 Computer Programming I

(46)

แผนจานแมเหลกแบบออน แผนจานแมเหลกแบบออน (Floppy (Floppy Disk)Disk)

                                    

Page 47: 204105 Computer Programming I

(47)

ภาพแผนดสกเกตตภาพแผนดสกเกตต

Page 48: 204105 Computer Programming I

(48)

แผนจานแมเหลกแขงขนาดเลก แผนจานแมเหลกแขงขนาดเลก (Hard (Hard Disk)Disk)

                                                                                                                                                                                

                   

Page 49: 204105 Computer Programming I

(49)

CDCD

มการบนทกลกษณะเหมอนกบจาน แมเหลก แตสามารถบรรจขอมลได มากกวา

Page 50: 204105 Computer Programming I

(50)

บต กบ ไบตบต กบ ไบต* บต (Bit) คอ หนวยทเลกทสดทอาจเปนเลข 0

หรอ 1 ยอมาจาก Binary Digit* ไบต (Byte) คอ กลมของบต จำานวน -68

บต ใชเขารหสแทน อกษร หรอ ตวเลข 1 ตว และนยมใชเปนหนวยวดความจขอมล

Page 51: 204105 Computer Programming I

(51)

หนวยวดความจขอมลหนวยวดความจขอมล

* - 1 68Byte = Bit* 1 2Kbyte = 10 1024Byte =

BBBB* 1 2Mbyte = 10 Kbyte* 1 2Gbyte = 10 Mbyte

K= Kilo กโล M = Mega เมกะ G = Giga จกะ T = Tera เทรา

Page 52: 204105 Computer Programming I

(52)

วธการบนทกในหนวยความจำาสำารองวธการบนทกในหนวยความจำาสำารองอปกรณการอาน และ อปกรณบนทก

อปกรณบนทก

อปกรณอาน

CPU-------MEMORY

สอบนทก

Page 53: 204105 Computer Programming I

(53)

The Input/Process/Output The Input/Process/Output CycleCycle

CPU

Input unit

Output unit

Main memory

Secondary storage

ALUCURegiste

rs