530 likes | 677 Views
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 %. เนื้อหา.
E N D
204105Computer 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 %
เนื้อหา 1. ระบบคอมพิวเตอร์และการประมวลผล 2. การสื่อสารข้อมูล 3. การพัฒนาโปรแกรม และ การออกแบบอัลกอริทึม 4. ส่วนประกอบของภาษาโปรแกรม 5. ประโยคคำสั่งควบคุม 6. โปรแกรมย่อยฟังก์ชัน (Function) 7. ตัวบ่งชี้(Pointer) • การประมวลผลแฟ้มข้อมูล • ตัวแปรชุด (Arrays) • ข้อมูลแบบโครงสร้าง (struct)
ระบบคอมพิวเตอร์และการประมวลผลระบบคอมพิวเตอร์และการประมวลผล • องค์ประกอบของระบบคอมพิวเตอร์ • ฮาร์ดแวร์ (Hardware) • ซอฟต์แวร์ (Software) • บุคลากรคอมพิวเตอร์ (Peopleware) • การประมวลผลข้อมูล (Data processing) • ข้อมูล (Data) และ ข้อสนเทศ (Information) • การจัดองค์กรของข้อมูล (Data organization) • วัฏจักรการประมวลผลข้อมูล • ประเภทของการประมวลผล • การแทนข้อมูลในหน่วยความจำ • ระบบเลขฐานและการดำเนินการที่เกี่ยวข้อง • การแทนอักขระ • การแทนจำนวนเลข
คอมพิวเตอร์คืออะไร? หมายถึง อุปกรณ์อิเล็กทรอนิกส์หรือเครื่องที่มีความสามารถดำเนินกรรมวิธีหรือประมวลผลข้อมูลอัตโนมัติ โดยอาศัยส่วนประกอบต่าง ๆ ร่วมกันทำงาน สามารถป้อนโปรแกรม(ชุดคำสั่ง) บันทึกข้อมูล คำนวณและจัดการข้อมูลแบบอักขระได้
ลักษณะที่สำคัญของคอมพิวเตอร์ลักษณะที่สำคัญของคอมพิวเตอร์ 1) ทำงานด้วยระบบอิเล็กทรอนิกส์และอัตโนมัติ 2) มีความเร็วสูงในการประมวลผล 3) มีหน่วยความจำภายในขนาดใหญ่ 4) ได้ผลลัพธ์ที่ถูกต้องและน่าเชื่อถือ
องค์ประกอบของระบบคอมพิวเตอร์องค์ประกอบของระบบคอมพิวเตอร์ • ฮาร์ดแวร์ (Hardware: H/W) • ซอฟต์แวร์ (Software: S/W) • บุคลากรทางคอมพิวเตอร์ (Peopleware:P/W)
ฮาร์ดแวร์ (Hardware: H/W) ฮาร์ดแวร์ คือ อุปกรณ์ต่างๆ ที่ี่ประกอบเข้าเป็นตัวเครื่องคอมพิวเตอร์ ซึ่งแบ่งตามหน้าที่การทำงานได้เป็น 4 หน่วย ดังนี้ 1)หน่วยรับข้อมูล (Input Unit) 2)หน่วยประมวลผลกลาง(Central Processing Unit) 3)หน่วยความจำ (Memory หรือ Storage Unit) • หน่วยความจำหลัก (Main Memory) • หน่วยความจำสำรอง (Secondary Storage) 4)หน่วยแสดงผล (Output Unit)
หน่วยรับข้อมูลเข้า (Input Unit) หน้าที่ รับข้อมูลจากภายนอกโดยผ่านอุปกรณ์ซึ่งทำหน้าที่แปลงข้อมูลให้อยู่ในรูปที่คอมพิวเตอร์สามารถเข้าใจได้ อุปกรณ์ที่ทำหน้าที่ดังกล่าวเรียกว่า Input device
ความสัมพันธ์ Input unit Main memory
อุปกรณ์รับข้อมูลเข้า (Input device) • แป้นพิมพ์ (Keyboard) • เอ็มไอซีอาร์ หรือ เครื่องอ่านอักขระหมึกแม่เหล็ก (Magnetic Ink Character Reader: MICR) • โอซีอาร์ หรือ เครื่องอ่านอักขระด้วยแสง • (Optical Character Reader: OCR)
อุปกรณ์รับข้อมูลเข้า(Input device) • สแกนเนอร์ (Scanner)
อุปกรณ์รับข้อมูลเข้า(Input device) • เครื่องอ่านบัตรเจาะรู (Card reader) • เครื่องอ่านแผ่นซีดี (CDROM drive) • เครื่องอ่านเทปกระดาษ • Voice recognizer • ฯลฯ
หน่วยแสดงผลข้อมูล(Output unit) ทำหน้าที่แสดงผลลัพธ์ที่ได้จากการประมวลผลภายในเครื่องคอมพิวเตอร์แสดงออกมาภายนอกในรูปแบบ และลักษณะต่างๆ หน่วยแสดงผลข้อมูลแบ่งเป็น 2 ประเภทคือ • หน่วยแสดงผลแบบ Softcopy คือการแสดงผลแล้วลบหายไป • หน่วยแสดงผลแบบ Hardcopy คือการแสดงผลที่สามารถเก็บผลนั้นไว้ใช้ภายหลังได้ เช่น การพิมพ์เป็นรายงานหรือเก็บไว้เป็นหลักฐานด้วยเครื่องพิมพ์ (Printer)
ความสัมพันธ์ Main memory Output unit
อุปกรณ์ทำหน้าที่แสดงผลข้อมูล (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
อุปกรณ์ทำหน้าที่รับและแสดงผลข้อมูล (Input/Output devices) • เครื่องอ่านและบันทึกลงดิสค์(Disk drive) • เครื่องอ่าน/บันทึกดิสเกตต์(Diskette drive) • เครื่องอ่านหรือบันทึกเทปแม่เหล็ก(Tape drive)
หน่วยประมวลผลกลาง หน้าที่ในการประมวลผลข้อมูลที่ผู้ใช้ป้อนเข้ามาทางอุปกรณ์รับข้อมูลตามชุดคำสั่งหรือโปรแกรมที่ผู้ใช้ต้องการ ประกอบด้วยวงจรหลายๆ วงจรที่ทำหน้าที่แตกต่างกันตามการกระทำพื้นฐานที่แต่เครื่องสามารถดำเนินการได้
Operation Code Operand เซ็ตของคำสั่ง(Instruction Set) • โปรแกรมหมายถึงชุดคำสั่ง(instructions)ที่เรียงกันตามลำดับของการถูกดำเนินการ • แต่ละคำสั่งมีลักษณะเป็นกลุ่มของบิต ซึ่งจะบอกแก่คอมพิวเตอร์ให้ปฏิบัติการอย่างใดอย่างหนึ่ง ที่เป็นหน้าที่พื้นฐาน ซึ่งได้แก่ บวก ลบ คูณ หาร เปรียบเทียบ คัดลอก กระตุ้นให้เกิดการรับข้อมูล หรือ กระต้นให้เกิดการแสดงผลของหน่วยแสดงผล • กลุ่มบิตของแต่ละคำสั่ง แบ่งออกเป็น 2 ส่วน เช่น ADD 1000, 1002 บวกข้อมูลที่อยู่ในตำแหน่ง 1000 ในหน่วยความจำ กับค่าข้อมูลที่อยู่ในตำแหน่ง 1002 กลุ่มของวงจรที่แทนการดำเนินการพื้นฐานของคอมพิวเตอร์แต่เครื่อง เรียกว่า เซ็ตของคำสั่ง
Processor Main memory ความสัมพันธ์
หน่วยประมวลผลกลาง ประกอบด้วยส่วนสำคัญ 2 ส่วนหลัก คือ 1) หน่วยคำนวณและตรรกะ (Arithmetic & Logical Unit: ALU) ทำหน้าที่เกี่ยวกับการคำนวณและการเปรียบเทียบทางตรรกะ 2) หน่วยควบคุม (Control Unit) ทำหน้าที่ควบคุมและประสานการทำงานของส่วนต่างๆ โดยมีนาฬิกา(clock)เป็นตัวให้จังหวะกระตุ้นการทำงาน นอกจากนี้ยังมีหน่วยที่ทำหน้าที่จดจำคำสั่งหรือข้อมูลซึ่งกำลังถูกดำเนินการ เรียกหน่วยนี้ว่า หน่วยความจำความเร็วสูงหรือ รีจีสเตอร์ (Registers)
รีจิสเตอร์ (Register) แบ่งเป็น 2 ประเภท คือ • รีจิสเตอร์ทั่วไป (General Register) • รีจิสเตอร์พิเศษ (Special Register) คือ รีจิสเตอร์ที่แต่ละตัวจะทำงานเฉพาะอย่าง ที่สำคัญได้แก่ • Accumulator ทำหน้าที่เก็บข้อมูลในขณะประมวลผล หรือเป็นที่พักผลลัพธ์จากการคำนวณ ก่อนที่จะถูกส่งไปบันทึกในหน่วยความจำหลัก • Instruction Register เป็นที่เก็บคำสั่งที่กำลังทำงานอยู่ • Program Counter เป็นตัวชี้ไปยังคำสั่งถัดไปที่จะถูกดึงเข้ามาทำงาน
Clock CU ALU Registers ส่วนประกอบสำคัญในหน่วยประมวลผลกลาง
4 COPY ACCUMULATOR TO 1002 3 ADD REG1, REG2 2 COPY 1001 TO REG2 1 COPY 1000 TO REG1 0 Clock CU ALU Program counter Instruction Register Processor Accumulator 1 RAM 1000 50 1001 88 1002
1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO 1002 1 fetch Clock CU ALU REG1 Processor Program counter Instruction Register Accumulator REG2 COPY 1000 TO REG1 2 RAM 1000 50 1001 88 1002
1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO 1002 2 Clock CU ALU REG1 Processor 50 Program counter Instruction Register Accumulator REG2 COPY 1000 TO REG1 2 RAM 100050 1001 88 1002
1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO 1002 3 Clock CU ALU REG1 Processor 50 Program counter Instruction Register Accumulator REG2 COPY 1000 TO REG1 2 RAM 1000 50 1001 88 1002
1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO 1002 4 Clock CU ALU REG1 Processor 50 Program counter Instruction Register Accumulator REG2 COPY 1001 TO REG2 3 RAM 1000 50 1001 88 1002
1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO 1002 5 Clock CU ALU REG1 Processor 50 Program counter Instruction Register Accumulator REG2 COPY 1001 TO REG2 88 3 RAM 1000 50 100188 1002
1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO 1002 6 Clock CU ALU REG1 Processor 50 Program counter Instruction Register Accumulator REG2 COPY 1000 TO REG2 88 3 RAM 1000 50 1001 88 1002
1 COPY 1000 TO REG1 2 COPY 1001 TO REG2 3 ADD REG1, REG2 4 COPY ACCUMULATOR TO 1002 7 Clock CU ALU REG1 Processor Program counter Instruction Register Accumulator REG2 ADD REG1, REG2 4 RAM 1000 50 1001 88 1002
4 COPY ACCUMULATOR TO 1002 3 ADD REG1, REG2 2 COPY 1001 TO REG2 1 COPY 1000 TO REG1 8 Clock CU ALU REG1 Processor 50 Program counter Instruction Register Accumulator REG2 ADD REG1, REG2 138 88 4 RAM 1000 50 1001 88 1002
4 COPY ACCUMULATOR TO 1002 3 ADD REG1, REG2 2 COPY 1001 TO REG2 1 COPY 1000 TO REG1 9 Clock CU ALU REG1 Processor 50 Program counter Instruction Register Accumulator REG2 ADD REG1, REG2 138 88 4 RAM 1000 50 1001 88 1002
4 COPY ACCUMULATOR TO 1002 3 ADD REG1, REG2 2 COPY 1001 TO REG2 1 COPY 1000 TO REG1 10 Clock CU ALU REG1 Processor 50 Program counter Instruction Register Accumulator REG2 COPY ACCUMULATOR TO 1002 138 88 5 RAM 1000 50 1001 88 1002
4 COPY ACCUMULATOR TO 1002 3 ADD REG1, REG2 2 COPY 1001 TO REG2 1 COPY 1000 TO REG1 11 Clock CU ALU REG1 Processor 50 Program counter Instruction Register Accumulator REG2 COPY ACCUMULATOR TO 1002 138 88 5 RAM 1000 50 1001 88 1002 138
Machine cycle • ชุดคำสั่งถูกโหลดเข้าไปเก็บในหน่วยความจำ • Program counter ถูกกำหนดให้เก็บค่าตำแหน่งของ คำสั่งแรกที่ต้องถูกดำเนินการ • หน่วยควบคุม ควบคุมให้เกิดการอ่านคำสั่งในหน่วยความจำ ณ ตำแหน่งที่มีค่าตามที่กำหนดไว้ใน Program counter โดยนำคำสั่งที่อ่านได้ไปเก็บไว้ใน Instruction register • เพิ่มค่าใน program counter ให้เป็นค่าของตำแหน่งในหน่วยความจำที่เก็บคำสั่งถัดไป • หน่วยควบคุมส่งสัญญานควบคุมหน่วย ALU ให้ดำเนินการตามคำสั่ง ผลลัพธ์ที่ได้จากการดำเนินการจะถูกพักไว้ที่ Accumulator register • หน่วยควบคุม จะควบคุมให้บันทึกค่าใน ACC ไปเก็บไว้ในหน่วยความจำ 3-6 เรียกว่า Machine cycle = I-time + E-time I-time : Instruction Time E-time : Execution Time
หน่วยความจำหลัก หน่วยความจำหลักมี 2 ชนิดคือ 1) ROM (Read Only Memory) เป็นหน่วยความจำชนิดอ่านได้อย่างเดียว ไม่สามารถเขียนหรือบันทึกข้อมูลในหน่วยความจำแบบนี้ได้ 2) RAM (Random Access Memory) หรืออาจเรียกว่า RWM (Read/Write Memory) หน่วยความจำแบบนี้สามารถอ่านและบันทึกข้อมูลได้
ความสัมพันธ์ Clock CU ALU Registers Main memory
หน่วยความจำสำรอง หน่วยความจำสำรองจะเป็นหน่วยบันทึกข้อมูลอย่างถาวร ไม่ลบหายถึงแม้จะไม่มีไฟเลี้ยงอยู่ก็ตาม ทำหน้าที่เก็บข้อมูลอย่างถาวรไว้ใช้ในโอกาสต่อไป
ความสัมพันธ์ Clock CU ALU Registers Secondary storage Cache memory Main memory
สื่อบันทึกข้อมูลแบบลำดับสื่อบันทึกข้อมูลแบบลำดับ • SAS : Sequential Access Storage • บัตรเจาะรู (Punch Card) • Card Reader • Card Punch • แถบกระดาษ (Paper Tape) • เทปแม่เหล็ก (Magnetic Tape) • เทปตลับ (Tape cassette)
สื่อบันทึกแบบเข้าถึงโดยตรง(Direct Access Storage) • จานแม่เหล็ก (Magnetic Disk) • เครื่องอ่านและบันทึกจานแม่เหล็ก (Disk drive) • แผ่นดิสเก็ตต์ (Diskette, Floppy Disk) • เครื่องอ่านและบันทึกดิสเก็ตต์ (Diskette drive) • Hard disk หรือ Fixed disk • Compact Disk(CD) : CD-ROM
รายละเอียดจานแม่เหล็กรายละเอียดจานแม่เหล็ก • Tracks: ร่องบันทึกข้อมูลตามแนวเส้นรอบวงบนจานแม่เหล็ก หรือตาม ความกว้างของเทปแม่เหล็ก ร่องบันทึกข้อมูลแต่ละร่อง ไม่ต่อเนื่องกัน • Sector: ส่วนหนึ่งของร่องบันทึกข้อมูลบนแผ่นจานแม่เหล็กชนิดอ่อน ซึ่ง บันทึกข้อมูลระหว่าง 128 byte ถึง 1 Kb • Cylinder: แนวดิ่งตรงกันของร่องบันทึกข้อมูลบนชุดจานแม่เหล็ก แต่ละ แผ่นวางเรียงซ้อนกันบนแกนเดียวกัน ดังนั้นถ้า 200 ร่องบันทึก ก็จะมี 200 Cylinder • Surface: พื้นผิวของจานแม่เหล็ก 1 แผ่นมี 2 พื้นผิว
แผ่นจานแม่เหล็กเก็บข้อมูล (Magnetic Disk) 512 Byte Track+Sector Track Sector
แผ่นจานแม่เหล็กแบบอ่อน (Floppy Disk)
แผ่นจานแม่เหล็กแข็งขนาดเล็ก (Hard Disk)
มีการบันทึกลักษณะเหมือนกับจาน แม่เหล็ก แต่สามารถบรรจุข้อมูลได้ มากกว่า CD
บิต กับ ไบต์ • บิต (Bit) คือ หน่วยที่เล็กที่สุดที่อาจเป็นเลข 0 หรือ 1 ย่อมาจาก Binary Digit • ไบต์ (Byte) คือ กลุ่มของบิต จำนวน 6-8 บิต ใช้เข้ารหัสแทน อักษร หรือ ตัวเลข 1 ตัว และนิยมใช้เป็นหน่วยวัดความจุข้อมูล