บทที่ 1

วัตถุประสงค์เชิงพฤติกรรม (Behavioral Objectives)
หลังจากศึกษาจบบทเรียนนี้แล้ว นักศึกษาจะมีความสามารถดังนี้
(After studying this chapter, you will be able to)

            

           1. อธิบายระบบคอมพิวเตอร์ และเขียนแผนภูมิแสดงระบบคอมพิวเตอร์

            2. เขียนแผนภูมิแสดงระบบคอมพิวเตอร์ในทางของฮาร์ดแวร์ และซอฟต์แวร์

            3. แบ่งประเภทลักษณะของคอมพิวเตอร์

            4. ยกตัวอย่างภาษาคอมพิวเตอร์

            5. ลำดับขั้นตอนการพัฒนาโปรแกรมด้วยภาษา C

            6. แสดงการเขียนโปรแกรม

            7. อธิบายขั้นตอนการพัฒนาโปรแกรม

            8. จัดบอร์ดเชิงปฏิบัติการ “ระบบคอมพิวเตอร์”

            9. สนทนาเชิงปฏิบ้ติการ “การพัฒนาโปรแกรม”

          10. อธิบายคำศัพท์ได้ 12 คำ



บทที่ 1
ระบบคอมพิวเตอร์

ระบบคอมพิวเตอร์  (Computer System)
ระบบที่พัฒนามาจาก 2 ส่วนใหญ่ คือ 1.  ฮาร์ดแวร์ 2. ซอฟต์แวร์

  • ฮาร์ดแวร์ (Hardware)

ส่วนประกอบของคอมพิวเตอร์ที่จับต้องได้ แบ่งออกเป็น 5 ส่วน

    • อุปกรณ์รับข้อมูล (Input device) มีหน้าที่ รับข้อมูลจากผู้ใช้เข้าสู่ระบบคอมพิวเตอร์ เช่น เมาส์ ฯลฯ
    • หน่วยประมวลผลกลาง (CPU  : Central Processing Unit) มีหน้าที่ ในการประมวลผลคำสั่งหรือข้อมูลต่าง ๆ
    • หน่วยความจำหลัก (Primary Storage) มีหน้าที่ ในการจัดเก็บข้อมูลหรือคำสั่งต่าง ๆ เมื่อปิดเครื่องคอมพิวเตอร์ ข้อมูลในหน่วยความจำหลักก็จะหายไปทั้งหมด
    • อุปกรณ์แสดงข้อมูล (Output Device) มีหน้าที่ ในการแสดงผลต่าง ๆ เช่น เครื่องพิมพ์ ฯลฯ
    • หน่วยความจำสำรอง (Auxiliary Storage)มีหน้าที่ ในการจัดเก็บข้อมูลซึ่งการจัดเก็บข้อมูลของหน่วยความจำสำรองนี้จะเป็นการจัดเก็บที่ถาวร เมื่อปิดเครื่องคอมพิวเตอร์แล้ว

ข้อมูลจะไม่หาย เช่น ฮาร์ดดิสก์ ฯลฯ

  • ซอฟต์แวร์ (Software)

โปรแกรมที่ทำงานอยู่ในระบบคอมพิวเตอร์ ซึ่งจะทำงานตามที่ผู้ใช้กำหนดไว้ แบ่งออกเป็น 2 ประเภท

    • ซอฟต์แวร์ระบบ (System software) ทำหน้าที่ในการจัดการทรัพยากรของเครื่องคอมพิวเตอร์ และติดต่อระหว่างผู้ใช้กับฮาร์ดแวร์กับผู้ใช้ด้วย เช่น ระบบปฏิบัติการ ฯลฯ
    • ซอฟต์แวร์ประยุกต์ (Application Software) เป็นซอฟต์แวร์ที่สร้างขึ้นมาให้ผู้ใช้ทำงานต่าง ๆ เช่น พิมพ์งาน ฯลฯ

 

ลักษณะของคอมพิวเตอร์
                สามารถแบ่งออกได้ 3ประเภทใหญ่

  • คอมพิวเตอร์ส่วนบุคคล (Personal Computer) คือระบบคอมพิวเตอร์ที่มีเพียงเครื่องเดียวและไม่ได้ติดต่อกับเครื่องคอมพิวเตอร์อื่น ๆ
  • แบบTime - sharing คือ การเอาเครื่องคอมพิวเตอร์หลาย ๆ เครื่องมาต่อกับเครื่องคอมพิวเตอร์ศูนย์กลาง โดยคอมพิวเตอร์เหล่านั้นเรียกว่า การทำงานของระบบแบบนี้การประมวณผลที่อยู่ที่เครื่องคอมพิวเตอร์ศูนย์กลางเพียงเครื่องเดียว และการประมวณผลจะต้องมีการแบ่งเวลาในการประมวณคำสั่งที่ส่งมาจาก ทุกเครื่อง
  • Client / Server

เป็นเครื่องคอมพิวเตอร์เครื่องหนึ่งที่ทำหน้าที่เป็น Server คอยดูแลจัดทรัพยากรของระบบทั้งหมดและมีเครื่อง Client ต่อเข้าเครื่อง Server โดยใช้ทรัพยากรต่าง ๆ ที่เครื่อง Server มีอยู่ และการประมวณผลจะทำที่เครื่อง Client เอง แล้วอาจจะนำข้อมูลต่าง ๆไปเก็บที่เครื่อง Server

ภาษาคอมพิวเตอร์
การเขียนโปรแกรมนั้น ผู้ใช้จะต้องใช้ภาษาคอมพิวเตอร์เขียนโปรแกรมเรียกว่า ซอฟต์แวร์ ภาษาคอมพิวเตอร์นั้นจะมีตั้งแต่ระดับภาษาของเครื่องคอมพิวเตอร์ขึ้นมาจนถึงภาษาธรรมชาติ
ภาษาเครื่อง (Machine Languages) ภาษาที่เครื่องคอมพิวเตอร์เข้าใจมากที่สุด ซึ่งจะมีลักษณะเป็นเลขฐานสอง คือ 0 กับ 1
ภาษาสัญลักษณ์ (Symbolic Languages) เมื่อคอมพิวเตอร์ได้พัฒนาเรื่อยๆและมีผู้ใช้มากขึ้น การเขียนโปรแกรมควบคุมคอมพิวเตอร์ด้วยภาษาเครื่องนั้น จะทำให้การพัฒนาทางด้านซอฟต์แวร์เป็นไปได้ช้า จึงมีการพัฒนาภาษาสัญลักษณ์ขึ้น เพื่อการเขียนโปรแกรมคอมพิวเตอร์ สะดวกยิ่งขึ้น แต่การที่นำโปรแกรมนั้นไปใช้ จะต้องการเปลี่ยนภาษาสัญลักษณ์เป็นภาษาเครื่องก่อนเสมอ

 

 

 

โปรแกรมการคูณในภาษาสัญลักษณ์

          Entry          main,^m<r2>
Sub12        #12,sp
jsb              C$MAIN_ARGS
movab        $CHAR_STRING_CON

pushal         -8(fp)
pushal         (r2)
calls            #2,SCANF
pushal         -12(fp)
pushal         3(r2)

           calls           #2,SCANF
mull3         -8(fp),-12(fp),-
pusha         6(r2)
calls           #2,PRINTF
clrl             r0
ret

                ภาษาระดับสูง (High-Level – Languages) เป็นภาษาที่พัฒนามาจากภาษาสัญลักษณ์อีกที่หนึ่ง แต่จะมีลักษณะของภาษาที่คล้ายกับภาษามนุษย์มากยิ่งขึ้น การแปลงภาษาระดับให้เป็นภาษาเครื่องนั้นจะมีวิธีการที่เรียกว่า คอมไพล์ ภาษาระดับได้แก่ FORTRAN COBOL และภาษา C เป็นต้น

 

 

 

โปรแกรมการคูณในภาษาระดับสูง

           #include<stdio.h>
int main (void)
{
/* ประกาศตัวแปรแบบ Local*/
int     number1;
int     number2;
int     result;

/*คำสั่ง*/
scanf( “%d”,&number1);
scanf( “%d”,&number2);
result = number1*number2;
printf(“%d”,result);
return 0;
}  /*main*/

                ภาษาธรรมชาติ (Natural Languages) ภาษาธรรมชาติ ก็คือภาษาที่มนุษย์พูดกัน เช่น ภาษาอังกฤษ ภาษาไทย ภาษาจีน เป็นต้น ซึ่งคอมพิวเตอร์นั้นไม่สามารถที่จะเข้าใจได้เลยในปัจจุยันยังไม่ค่อยมีคนนิยมใหช้กันมากนัก
ขั้นตอนการพัฒนาโปรแกรมด้วยภาษา C
การพัฒนาโปรแกรมโดยใช้ภาษา C นั้นมี 3 ขั้นตอน คือ

  • เขียนและแก้ไขโปรแกรม คือ การนำคำสั่งต่าง ๆ ของภาษา C  มาเขียนเรียงต่อกันจานเป็นโปรแกรมที่ทำงานตามที่ผู้ใช้ต้องการ โดยการเขียนจะเขียนเป็นตัวอักษร ซึ่งเมื่อเขียนเสร็จก็จะได้เป็น Source Files
  • คอมไพล์โปรแกรม เมื่อได้ Source Files แล้วและเมื่อต้องการรันโปรแกรมใด ๆ นั้น ผู้ใช้จะต้องทำการแปลง Source Files เหล่านั้น ให้เป็านภาษาเครื่องก่อน ซึ่งในขั้นตอนนี้เรียกว่า การคอมไพล์ Object Module ด้วย
  • การลิงค์โปรแกรม ในภาษา C นั้นจะมีฟังก์ชันต่าง ๆที่เตรียมพร้อมมาให้ผู้ใช้ได้ใช้อยู่แล้ว เมื่อคอมไพล์โปรแกรมเสร็จแล้วไม่มีข้อผิดพลาดใด ตัวคอมไพล์ (Compiler) จะทำการดึงโปรแกรมอื่นที่ถูกเรียกใช้จากโปรแกรมที่กำลังทำการลิงค์เข้ามารวมในโปรแกรมที่สมบูรณ์

การรันโปรแกรม

                เมื่อทำการลิงค์เสร็จแล้ว โปรแกรมนั้นก็พร้อมที่จะรัน เมื่อรันโปนแกรมโดยใช้คำสั่งของระบบปฏิบัติงาน โปรแกรมนั้นจะถูกโหลดลงสู่หน่วยความจำหลัก จากนั้นก็ทำการรันการกระทำนี้เรียกว่า Loader

การพัฒนาโปรแกรม
            ในการพัฒนาโปรแกรมขึ้นมาสักโปรแกรมหนึ่งนั้น ไม่ใช่มาถึงจะเขียนได้เลยการพัฒนาโปรแกรมนั้นจะมีขั้นตอนที่เรียกว่า System Development Life Cycle โดยมีขั้นตอนดังนี้

  • หาความต้องการของระบบ (System Requirements) การศึกษาและเก็บคามต้องการของผู้ใช้โปรแกรมว่ามีความต้องการอะไรบ้าง
  • วิเคราะห์ (Analysis) คือ การนำเอาความต้องการของผู้ใช้โปรแกรมมาวิเคราะห์ว่าจะพัฒนาเป็นโปรแกรมตามที่ผู้ใช้ต้องการได้หรือไม่ ถ้าทำได้จะทำได้มากน้อยเพียงใด
  • ออกแบบ (Design) เมื่อสรุปได้แล้วว่าโปรแกรมที่จะสร้างมีลักษณะเป็นอย่างไร

ขั้นตอนต่อมาก็คือ การออกแบบการทำงานของโปรแกรมให้เป็นไปตามความต้องการที่วิเคราะห์ไว้การออกแยยอาจจะออกแยยเป็นผังงาน (Flowchart) ก็ได้

    • เขียนโปรแกรม (Code) เมื่อได้ผังงานแล้ว ต่อมาก็เป็นการเขียนโปรแกรมตามผังงานที่ออกแบบไว้
    •  ทดสอบ (System Test) เมื่อเขียนโปรแกรมเสร็จแล้ว จะต้องมีการทดสอบเพื่อหาข้อผิดพลาดต่าง ๆ เช่น ตรงตามทีผู้ใช้ต้องการหรือไม่ ถ้าพบข้อผิดพลาดก็ต้องกลับไปเริ่มที่การออกแบบอีกครั้ง
    • ดูแล (Maintenance) เมื่อเขียนโปรแกรมผ่านการทดสอบแล้ว และผู้ใช้ได้นำโปรแกรมดังกล่าวไปใช้ ผู้พัฒนาจะต้องคอยดูแล เนื่องจากอาจจะมีข้อผิดพลาดที่หาไม่พบในขั้นตอนการทดสอบโปรแกรม