วันศุกร์ที่ 30 สิงหาคม พ.ศ. 2556

โครงสร้างภาษาโปรแกรม

โครงสร้างภาษาปาสคาล
ภาษาปาสคาล  เป็นภาษาระดับสูง (High-Level Language)  เป็นอีกภาษาหนึ่งที่ได้รับความนิยม  เนื่องมาจากตัวภาษามีลักษณะเด่นหลายด้าน  เช่น  รูปแบบคำสั่งที่มีลักษณะเป็นภาษาอังกฤษ  ง่ายต่อการเขียน และการจดจำ  นอกจากนี้โปรแกรมยังมีลักษณะที่เป็นโครงสร้าง (Structure Programing) ง่ายต่อการศึกษา มีตัวแปรภาษา(Compilers) อยู่ในหลายระบบคอมพิวเตอร์ และเป็นภาษาที่เหมาะสมกับงานในทุกประเภท  ไม่ว่าจะเป็นด้านวิทยาศาสตร์ที่มีการคำนวณที่ซับซ้อน ด้านการศึกษา เหมาะกับผู้ที่จะเริ่มศึกษาการเขียนโปรแกรมเป็นครั้งแรก
         ปาสคาล(Pascal)  เป็นชื่อที่ได้รับสมญานามมาจาก "Blaise Pascal" นักวิทยาศาสตร์และนักคณิตศาสตร์ชาวฝรั่งเศส  ผู้ซึ่งมีชื่อเสียงในการประดิษฐ์เครื่องจักรที่ใช้ในการคำนวณ ซึ่งเป็นต้นแบบของคอมพิวเตอร์ในปัจจุบัน
โครงสร้างของโปรแกรมภาษาปาสคาล
โปรแกรมภาษาปาสคาลประกอบด้วยส่วนสำคัญต่าง ๆ  3  ส่วนคือ
1.  ส่วนหัวโปรแกรม  (program  heading)
2.  ส่วนประกาศ  (program  declarations)
3.  ส่วนคำสั่งการทำงาน  (program  statements)
โครงสร้างภาษาซี
ภาษา C เป็นภาษาคอมพิวเตอร์ที่ถูกค้นคิดขึ้นโดย Denis Ritchie ในปี ค.ศ. 1970
โดยใช้ระบบปฏิบัติการของยูนิกซ์ (UNIX) นับจากนั้นมาก็ได้รับความนิยมเพิ่มขั้นจนถึงปัจจุบัน ภาษา C สามารถติดต่อในระดับฮาร์ดแวร์ได้ดีกว่าภาษาระดับสูงอื่น ๆ ไม่ว่าจะเป็นภาษาเบสิกฟอร์แทน ขณะเดียวกันก็มีคุณสมบัติของภาษาระดับสูงอยู่ด้วย ด้วยเหตุผลดังกล่าวจึงจัดได้ว่าภาษา C เป็นภาษาระดับกลาง (Middle –lever language)
ภาษา C เป็นภาษาคอมพิวเตอร์ชนิดคอมไพล์ (compiled Language) ซึ่งมีคอมไพลเลอร์ (Compiler) ทำหน้าที่ในการคอมไพล์ (Compile) หรือแปลงคำสั่งทั้งหมดในโปรแกรมให้เป็นภาษาเครื่อง (Machine Language) เพื่อให้เครื่องคอมพิวเตอร์นำคำสั่งเหล่านั้นไปทำงานต่อไป
โครงสร้างภาษาเบสิค
ภาษาเบสิก (BASIC programming language) เป็นภาษาโปรแกรมที่ออกแบบมาให้ใช้งานได้ง่าย และยังได้รับความนิยมมาจนถึงทุกวันนี้ เบสิกออกแบบมาให้ใช้กับคอมพิวเตอร์ตามบ้าน
ภาษา Basic นั้นเป็นโปรแกรมที่เป็นพื้นฐานสำหรับหัดเขียนโปรแกรมก็ว่าได้ เนื่องจากเป็นภาษาที่เป็นคำพูดของคนเราทั่วไป เช่น ดังนี้
การใช้คำสั่ง Print
PRINT "Hello World!"
เครื่องจะประมวลผลและแสดงผลออกมาเป็นข้อความ Hello world! ออกมาทางหน้าจอ
ประเภทของค่าภาษา Basic
! : Single-precision
# : Double-precision
$ : String
% : Integer
& : Long
โครงสร้างภาษาแอสแซมบลี
คำสั่งในภาษาแอสแซมบลี แบ่งออกเป็น 2 ส่วน ส่วนแรกกำหนดการทำงาน เรียกว่า OP-CODE (Operation Code) ส่วนที่สองเรียกว่า Operand มีหน้าที่กำหนดเกี่ยวกับข้อมูล 
OP-CODE อยู่ในไบท์แรกของคำสั่งภาษาแอสแซมบลีแทนด้วยตัวอักษร ส่วนภาษาเครื่องแทนด้วยเลขฐาน 2 สองบิทแรก ในไบท์นี้เป็นตัวกำหนดความยาวของคำสั่งนั้นด้วย โปรแกรม จะถูกเก็บไว้ในหน่วยความจำ ซึ่งอยู่ในรูปแบบของเลขไบนารี่ที่เรียกว่าภาษา Machine ซึ่งเป็นภาษาที่สามารถ ติดต่อให้คอมพิวเตอร์ เข้าใจได้ ภาษา Machine นี้จะจัดให้อยู่ในรูปแบบที่เป็นเลขฐานสิบหก (HEX) เช่น คำสั่ง 8 บิต 11101011B (B-ไบนารี่) เขียนได้เป็น 0EBH(H-ฐานสิบหก) แต่ก็เป็นการที่จะเข้าใจความหมาย ได้ยากในการใช้งาน การที่จะทำความเข้าใจภาษา Machine จะมีการใช้สัญลักษณ์ (Symbols) ที่เรียกว่า Mnemonics เพื่อแทนความหมายของคำสั่ง เช่น MOV A,#67H หมายความว่านำข้อมูลค่าคงที่ 67H ไปเก็บไว้ใน reg. A) โปรแกรมที่เขียนด้วยรหัส Mnemonics เรียกว่า ภาษา Assembly และก่อนที่จะให้ CPU ทำงานตามโปรแกรมที่เขียนด้วยภาษา Assembly ได้ แต่ต้องเปลี่ยนให้เป็นภาษา Machine ก่อน โดยใช้ โปรแกรมแอสเซมเบลอร์
โครงสร้างภาษาจาวา
1.      เครื่องหมาย ในการควบคุม Structure
1.1 Comment คือข้อความที่แทรกเข้าไปในโปรแกรม แต่ไม่มีผลต่อการทำงานของโปรแกรม เช่นในกรณีที่เราต้องการอธิบาย Source code ไว้ใน โปรแกรม วิธีการคือcomment ทีละ บรรทัด ใช้เครื่องหมาย // ตามด้วยข้อความที่ต้องการ comment เช่น//comment commentcomment แบบครอบทั้งข้อความ ใช้เครื่องหมาย /* ข้อความที่ต้องการ comment */ เช่น/*Comment
Comment*/
1.2 Keyword คือคำที่ถูกกำหนดไว้ใช้เองแล้วในภาษา Java ไม่สามารถนำมาใช้ในการตั้งชื่อภายใน โปรแกรมได้ ตัวอย่างเช่น class,boolean,char เป็นต้น
1.3 Identifiers คือชื่อที่ผู้เขียนตั้งขึ้นมา เพื่อใช้แทนอะไรก็ได้ไม่ว่าจะเป็น method ,ตัวแปร หรือ class ชื่อที่ถูกต้องควรประกอบด้วย ตัวอักษร ,ตัวเลข ,_,$ และจะต้องขึ้นต้นด้วย ตัวอักษรเท่านั้น
1.4 Separators คือ อักษร หรือ เครื่องหมายที่ใช้แบ่งแยกคำในภาษา มีดังต่อไปนี้เครื่องหมาย () ใช้สำหรับ
1.ต่อท้ายชื่อ method ไว้ให้ใส่ parameterเช่น private void hello( );
2. ระบุเงื่อนไขของ if ,while,for ,doเช่น if ( i=0 )
3. ระบุชื่อชนิดข้อมูลในการ ทำ castingเช่น String a=( String )x; เครื่องหมาย{ }ใช้สำหรับกำหนดขอบเขตของ method และ classเช่น class A{}Private void hello(){} 
2. กำหนดค่าเริ่มต้นให้ กับตัวแปร Arrayเช่น String a[]={"A","B","C"};เครื่องหมาย [ ] ใช้สำหรับ
1. กำหนดตัวแปรแบบ Arrayเช่น String a[ ];
2. กำหนดค่า index ของตัวแปร arrayเช่น a[ 0 ]=10; เครื่องหมาย ; ใช้เพื่อปิดประโยคเช่น String a        เครื่องหมาย , ใช้สำหรับ แยกชื่อตัวแปรในประโยคเช่น String a , b , c;เครื่อง หมาย . ใช้สำหรับแยกชื่อ package,subpackage และชื่อ classเช่น package com.test.Test1;ใช้เพื่อเรียกใช้ ตัวแปร หรือ methodของ Objectเช่น object.hello();
โครงสร้างภาษา Cobol
ภาษาโคบอล (COBOL programming language) เป็นภาษาโปรแกรมระดับสูงภาษาหนึ่งที่อยู่มาอย่างยาวนาน COBOL ย่อมาจาก Common Business Oriented Language เป็นภาษาที่นิยมนำไปใช้ทางธุรกิจ ถูกพัฒนาขึ้นเมื่อ ค.ศ. 1959 โดยนักคอมพิวเตอร์กลุ่มหนึ่งที่เรียกตัวเองว่า Conference on Data Systems Languages (CODASYL) และตั้งแต่ปี ค.ศ. 1959 ภาษาโคบอลมีการแก้ไขและปรับปรุงอยู่ตลอด ดังนั้น เพื่อขจัดปัญหาความแตกต่างของตัวภาษาโคบอลในแต่ละเวอร์ชัน สถาบันมาตรฐานแห่งชาติอเมริกัน (ANSI) จึงได้พัฒนามาตรฐานกลางขึ้นมาในปี ค.ศ. 1968 เป็นที่รู้จักกันในนามของ ANS COBOL ต่อมาเมื่อ ปี ค.ศ. 1974 ทาง ANSI ได้นำเสนอ ANS COBOL รุ่นใหม่ที่มีคุณสมบัติที่ดีกว่ารุ่น 1968 และในปี ค.ศ. 1985 ANSI ก็นำเสนออีกรุ่นหนึ่งที่มีคุณสมบัติมากกว่ารุ่นปี 1974
รูปแบบภาษาโคบอลแบ่งออกเป็น 4 ดิวิชั่น คือ
1.       Identification division การกำหนดชื่อโปรแกรมและชื่อผู้เขียน
2.       Environment division การอธิบายเกี่ยวกับคอมพิวเตอร์
3.       Data division การอธิบายเกี่ยวกับการประมวลผลข้อมูล
4.       Procedure division การอธิบายเกี่ยวกับขั้นตอนการประมวลผล
ภาษาโคบอล (COBOL : Common Business Oriented Language) คือภาษาคอมพิวเตอร์สำหรับใช้ในงานธุรกิจภาษาแรกของโลก พัฒนาในปีค.ศ. 1962 โดยคณะกรรมการโคดาซิล (The Conference on Data Systems Languages - CODASYL) มีจุดเด่นคือ สามารถใช้งานแฟ้มข้อมูลได้หลายแบบ กำหนดโครงสร้างข้อมูลได้สะดวก มีลักษณะการเขียนโปรแกรม แบบเอกสารอธิบายโปรแกรม ช่วยให้นักพัฒนารุ่นถัดไปเข้าใจได้ง่าย
การเขียนโปรแกรมภาษา COBOL เป็นภาษาที่ง่ายมากภาษาหนึ่ง เพราะไม่มีลูกเล่นให้ใช้มาก ๆ เหมือนพวก VB, C, Pascal หรือ dBase หน้าที่หลักของ COBOL คืออ่านข้อมูลจากแฟ้มมาประมวลผลทางธุรกิจเป็นหลัก สำหรับ ผู้เรียนมือใหม่ อาจบอกว่าภาษานี้ยาก เพราะพวกเขาอาจไปยึดติดกับการจดจำ division ต่าง ๆ ว่ามีอะไรบ้าง ซึ่งสิ่งเหล่านั้นเป็นเพียงหน้ากาก มิใช่ concept ของภาษา ถ้ามีคู่มือสักเล่ม ก็จะเข้าใจ และแกะหน้ากากเหล่านั้นออกได้ แล้วก้าวให้ลึกเข้าไปสู่ตัวภาษาได้โดยง่าย
โดยพื้นฐานแล้ว COBOL ประกอบด้วย 4 Division และตำแหน่งแรกต้องเริ่มต้นที่ 8 ส่วนคำสั่งเริ่มหลักที่ 12 สำหรับตัวแปลภาษา COBOL รุ่นใหม่ไม่จำเป็นต้องมี 3 division แรกได้




วันพฤหัสบดีที่ 15 สิงหาคม พ.ศ. 2556

ตารางเลขฐาน


1.              ตารางเลขฐาน


2.              เลขฐานอื่น ๆ เป็น 10
2.1 .   1111001012=  48510
2.2  .  2FBC16 = (2*163)+(15*162)+(11*161)+(12*160)
                = 8192 + 3840 + 176 + 12
                = 1222010
2.3       .  2868 = (2*82)+(8*81)+(6*80)
           = 128 + 64 + 6
            = 19810
3.              เลขฐาน 10 เป็นรหัสนักศึกษาสองตัวท้าย
652 = 10000012
6516 = (6*161)+(5*160) = 96 + 5 = 10116
658 = (6*81)+(5*80) = 48+5 =538


วันพฤหัสบดีที่ 1 สิงหาคม พ.ศ. 2556

โครงสร้างระบบคอมพิวเตอร์ และโครงสร้างของระบบปฏิบัติการ

ใบงานที่ 9
โครงสร้างระบบคอมพิวเตอร์ และโครงสร้างของระบบปฏิบัติการ

1.การขัดจังหวะ หรือการอินเตอร์รัปต์ หมายถึงอะไร จงอธิบาย

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

3.สาเหตุที่การป้องกันฮาร์ดแวร์ มีบทบาทสำคัญต่อระบบปฏิบัติการที่รองรับหลายๆ งาน อยากทราบว่าเป็นเพราะอะไร จงอธิบาย
=เพื่อป้องกันการเรียกใช้อุปกรณ์รับ-ส่งข้อมูลแบบผิด ๆ หรืออ้างอิงตำแหน่งในหน่วยความจำที่อยู่ในส่วนของระบบปฏิบัติการ หรือไม่คืน การควบคุมซีพียูให้ระบบซึ่งมีการกำหนดว่าคำสั่งเรียกใช้อุปกรณ์รับ-ส่งข้อมูลเป็นคำสั่งสงวน (Privileged Instruction) ผู้ใช้ไม่สามารถเรียกใช้อุปกรณ์เองได้ ต้องให้ระบบปฏิบัติการเป็นผู้จัดการให้

4.จงเปรียบเทียบความแตกต่างระหว่างโหมดการทำงานของผู้ใช้ กับโหมดการทำงานของระบบมาให้พอเข้าใจ
=ผู้ใช้ก็จะทำงานเหมือนกับคอมพิวเตอร์ เราจะรับข้อมูลจาก ตา หู จมูก ปาก แล้วก็สมองจะทำการประมวลผลสิ่งที่เราดู ได้ยิน ได้กลิ่น หรือรับรส แล้วก็จะแสดงจากทางอาการหรือคำพูด ก็เหมือนคอมพิวเตอร์ที่รับข้อมูลจากเมาส์ คีย์บอร์ด แล้ว CPU ก็ทำการประมวลผล จากนั้นก็แสดงผลในรูปของเสียงหรือภาพ

5.ระบบปฏิบัติการจะมีการป้องกันอินพุต และเอาท์พุตอย่างไร จงอธิบาย
      =กลไกในการอ้างอิงหน่วยความจำหลัก ป้องกันกระบวนการให้ใช้หน่วยความจำหลักได้แต่ในส่วนของกระบวนการนั้นเท่านั้น เช่น การไม่อนุญาตให้ผู้ใช้ระบบทำการรับส่งข้อมูลเองโดยตรง เพื่อป้องกันความผิดพลาดในการใช้งานของอุปกรณ์รับส่งข้อมูล

6.ระบบปฏิบัติการจะมีการป้องกันหน่วยความจำอย่างไร จงอธิบาย
      =กลไกในการอ้างอิงหน่วยความจำหลัก ป้องกันกระบวนการให้ใช้หน่วยความจำหลักได้แต่ในส่วนของกระบวนการนั้นเท่านั้น

7.ระบบปฏิบัติการจะมีการป้องกันซีพียูอย่างไร จงอธิบาย
=ระบบต้องมีการป้องกัน ความผิดพลาดที่เกิดจากกระบวนการหนึ่งไปกระทบอีกกระบวนการหนึ่ง โดยสร้างกลไกบางอย่างเพื่อป้องกันแฟ้มข้อมูลหน่วยความจำส่วนหนึ่งหรือหน่วยประมวลผลกลาง




8.โครงสร้างของระบบปฏิบัติการประกอบด้วยกี่ส่วน อะไรบ้าง
=ระบบปฏิบัติการประกอบด้วย ส่วน คือ
1. เคอร์เนล (Kernel) หมายถึง ส่วนกลางของระบบปฏิบัติการ ซึ่งเป็นส่วนแรกที่ถูกเรียกมาใช้งาน และจะฝังตัวอยู่ในหน่วยความจำหลักของระบบ ดังนั้นเคอร์เนลจึงต้องมีขนาดเล็ก โดยเคอร์เนลจะมีหน้าที่ในการติดต่อ และควบคุมการทำงานของฮาร์ดแวร์ และโปรแกรมใช้งาน (Application Programs)
2.โปรแกรมระบบ (System Programs) คือ ส่วนของโปรแกรมการทำงานของระบบปฏิบัติการ ซึ่งมีหน้าที่ติดต่อกับผู้ใช้ และผู้จัดการระบบ เช่น Administrator

9.ในการจัดการกับโปรเซส ระบบปฏิบัติการจะมีกิจกรรมใดบ้างที่ต้องรับผิดชอบ
=การจัดการงานที่เราจะทำการประมวลผล ไม่ว่าจะเป็นการประมวลผลแบบการแบ่งเวลา หรืออื่นๆ โดยแต่ละโปรเซสจะมีการกำหนดการใช้ทรัพยากรที่แน่นอน

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

11.ในการจัดการกับแฟ้มข้อมูล ระบบปฏิบัติการจะมีกิจกรรมใดบ้างที่ต้องรับผิดชอบ
=เป็นการทำงานของระบบปฏิบัติการโดยทำหน้าที่ในการโอนถ่ายข้อมูลลงไปจัดเก็บในอุปกรณ์บันทึกข้อมูล

12.ในการจัดการกับอุปกรณ์อินพุต/เอาต์พุต ระบบปฏิบัติการจะมีกิจกรรมใดบ้างที่ต้องรับผิดชอบ
=ระบบปฏิบัติการมีหน้าที่ในการรับข้อมูล และแสดงข้อมูลผ่านทางอุปกรณ์ต่างๆ โดยข้อมูลที่ส่งไปยังอุปกรณ์เหล่านี้ จะผ่านสายส่งข้อมูล

13.ในการจัดการกับหน่วยความจำสำรอง เช่น ดิสก์ ระบบปฏิบัติการจะมีกิจกรรมใดบ้างที่ต้องรับผิดชอบ
=ระบบปฏิบัติการทำหน้าที่โอนถ่ายข้อมูลไปจัดเก็บในอุปกรณ์บันทึกข้อมูล

14.จงสรุปงานบริการของระบบปฏิบัติการมาพอเข้าใจ
=ระบบปฏิบัติการจะเป็นเหมือนตัวกลางที่เชื่อมต่อระหว่างคอมพิวเตอร์กับผู้ใช้งาน จะรับข้อมูลทางเมาส์หรือคีย์บอร์ด จากนั้นจะส่งไปยัง CPU เพื่อให้ประมวลผลออกมา แสดงผลจะอยู่ในรูปของเสียงหรือภาพ

15.ในการติดต่อระหว่างโปรเซสกับระบบปฏิบัติการ จะเกี่ยวข้องกับกลุ่มงานใดบ้าง จงอธิบาย
=สถานะของโปรเซส (Process Status)ก็จะมี  สถานะเริ่มต้น (New Status) ,สถานะพร้อม(Ready Status) ,สถานะรัน (Running Status),สถานะรอ (Wait Status),สถานะบล็อก (BlockStatus)และสถานะสิ้นสุด (Terminate Status)