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

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



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

1.1 โครงสร้างของโปรแกรมภาษา Pascal

โปรแกรมในภาษาปาสคาล แบ่งเป็น 3 ส่วนคือ

1. ส่วนหัว (Heading)  เป็นการประกาศชื่อของโปรแกรม ขึ้นต้นด้วยคำว่า PROGRAM ตามด้วยชื่อของโปรแกรม และจบบรรทัดด้วย ;

รูปแบบ
PROGRAM ชื่อโปรแกรม (รายชื่ออุปกรณ์);
ตัวอย่าง
PROGRAM EXAM1;
PROGRAM EXAM1(INPUT,OUTPUT);
ข้อสังเกต ชื่ออุปกรณ์ คือ INPUT, OUTPUT หรือชื่อของไฟล์ที่เกี่ยวข้องภายในโปรแกรมถ้าไม่ระบุจะถือว่า INPUT เข้าทาง keyboard และ OUTPUT ออกทางจอภาพ

2. ส่วนข้อกำหนด (Declaration part) คือส่วนตั้งแต่ส่วนหัวไปจนถึงคำว่า BEGIN ของโปรแกรมหลัก และเป็นส่วนที่เรากำหนดค่าต่าง ๆ ดังนี้
2.1 VAR เป็นการกำหนดแบบของข้อมูลให้แก่ตัวแปร
รูปแบบ

VAR รายชื่อตัวแปร : ประเภทของข้อมูล;ตัวอย่าง

VAR I,J,K : INTEGER;
NAME : STRING;
SALARY : REAL;

3. ส่วนคำสั่งต่าง ๆ (Statement Part) เป็นส่วนสุดท้ายของโปรแกรม ขึ้นต้นด้วย “BEGIN” และปิดท้ายด้วย “END.”

ตัวอย่าง
BEGIN
Statement หรือคำสั่งต่าง ๆ ;
END.



1.2 โครงสร้างของโปรแกรมภาษา C


โครงสร้างของโปรแกรมภาษาซีแบ่งออกเป็น 3 ส่วน

1. ส่วนหัวของโปรแกรม
ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อบอกให้คอมไพเลอร์กระทำการ ใด ๆ ก่อนการแปลผลโปรแกรม ในที่นี่คำสั่ง #include <stdio.h> ใช้บอกกับคอมไพเลอร์ให้นำเฮดเดอร์ไฟล์ที่ระบุ คือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกำหนด preprocessing directives นี้จะต้องขึ้นต้นด้วยเครื่องหมาย # เสมอ

โครงสร้างของโปรแกรมภาษาซีแบ่งออกเป็น 3 ส่วน


2. ส่วนของฟังก์ชั่นหลัก
ฟังก์ชั่นหลักของภาษาซี คือ ฟังก์ชั่น main() ซึ่งโปรแกรมภาษาซีทุกโปรแกรมจะต้องมีฟังก์ชั่นนี้อยู่ในโปรแกรมเสมอ จะเห็นได้จากชื่อฟังก์ชั่นคือ main แปลว่า “หลัก” ดังนั้น การเขียนโปรแกรมภาษซีจึงขาดฟังก์ชั่นนี้ไปไม่ได้ โดยขอบเขตของฟังก์ชั่นจะถูกกำหนดด้วยเครื่องหมาย { และ } กล่าวคือ การทำงานของฟังก์ชั่นจะเริ่มต้นที่เครื่องหมาย { และจะสิ้นสุดที่เครื่องหมาย } ฟังก์ชั่น main() สามารถเขียนในรูปแบบของ void main(void) ก็ได้ มีความหมายเหมือนกัน คือ หมายความว่า ฟังก์ชั่น main() จะไม่มีอาร์กิวเมนต์ (argument) คือไม่มีการรับค่าใด ๆ เข้ามาประมวลผลภายในฟังก์ชั่น และจะไม่มีการคืนค่าใด ๆ กลับออกไปจากฟังก์ชั่นด้วย


3. ส่วนรายละเอียดของโปรแกรม
เป็นส่วนของการเขียนคำสั่ง เพื่อให้โปรแกรมทำงานตามที่ได้ออกแบบไว้


คอมเมนต์ในภาษาซี
คอมเมนต์ (comment) คือส่วนที่เป็นหมายเหตุของโปรแกรม มีไว้เพื่อให้ผู้เขียนโปรแกรมใส่ข้อความอธิบายกำกับลงไปใน source code ซึ่งคอมไพเลอร์จะข้ามาการแปลผลในส่วนที่เป็นคอมเมนต์นี้ คอมเมนต์ในภาษาซีมี 2 แบบคือ

¨ คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย //

¨ คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */



1.3 โครงสร้างของโปรแกรมภาษา Basic

ภาษาเบสิก ( Basic ย่อมาจาก Beginners All - purpose Symbolic Instruction Code)เป็นภาษาที่ง่ายต่อการเรียนรู้พัฒนาโดย Dartmouth Collage แนะนำโดย John Kemeny และ Thomas Krutz ในปี 1965 เป็นภาษาที่ใช้ง่าย และติดตั้งอยู่บนเครื่องไมโครคอมพิวเตอร์ส่วนมาก ใช้สำหรับ ผู้เริ่มต้นศึกษาการเขียนโปรแกรม และได้มีการพัฒนาอย่างต่อเนื่องจากภาษา BASIC, QBASIC ปัจจุบันเป็น Visual BASIC เป็นที่นิยมใช้กันอย่างแพร?หลาย สามารถประยุกต์ใช้งานได?ทั้งทางวิทยาศาสตร์และทางธุรกิจ
ตัวอย่างการเขียนโปรแกรมด้วยภาษา BASIC CLS PRINT “PLEASE ENTER A NUMBER” INPUT NUMBER DO WHILE NUMBER <> 999 SUM = SUM + NUMBER vCOUNTER = COUNTER + 1 PRINT “PLEASE ENTER THE NEXT NUMBER” INPUT NUMBER LOOP AVERAGE = SUM/COUNTER PRINT “THE AVERAGE OF THE NUMBER IS”; AVERAGE END


1.4 โครงสร้างของโปรแกรมภาษา Assembly


โครงสร้าง assembly
คำสั่งในภาษาแอสแซมบลี แบ่งออกเป็น 2 ส่วน ส่วนแรกกำหนดการทำงาน เรียกว่า OP-CODE (Operation Code) ส่วนที่สองเรียกว่า Operand มีหน้าที่กำหนดเกี่ยวกับข้อมูล OP-CODE อยู่ในไบท์แรกของคำสั่งภาษาแอสแซมบลีแทนด้วยตัวอักษร ส่วนภาษาเครื่องแทนด้วยเลขฐาน 2 สองบิทแรก ในไบท์นี้เป็นตัวกำหนดความยาวของคำสั่งนั้นด้วย
เมื่อดูเฉพาะบิทที่ 0 และ 1 จะบอกความยาวของคำสั่งนั้น ๆ ได้ดังนี้ บิท 0 1 ความยาว ชนิด 0 0 0 1 1 0 1 11 HW 2 HW 2 HW 3 HWRR RX RS / SI / S / RX SS วิธีช่วยจำ - เอาเลขในบิทที่ 0 และ 1 รวมกันแล้วบวกอีก 1 จะเป็นความยาวของคำสั่งนั้น ๆ มีหน่วยเป็น HW ดังนี้ 0 + 0 + 1 = 1 HW 0 + 1 + 1 = 2 HW 1 + 0 + 1 = 2 HW 1 + 1 + 1 = 3 HW Operand เป็นตัวกำหนดเกี่ยวกับข้อมูล อาจจะเป็นข้อมูลเอง (Immediate Operand) หรือ อาจจะกำหนดตำแหน่งของข้อมูลด้วยหมายเลขรีจิสเตอร์ หรือกำหนดตำแหน่งของข้อมูลในหน่วยความจำของระบบ จากลักษณะของ Operand นี้ แบ่งชนิดของคำสั่งได้เป็น 6 ประเภท คือ 1. RR (Register to Register) Operand ทั้งสองเป็นรีจิสเตอร์ 2. RX (Register to Index Storage) Operand ตัวแรกอยู่ในรีจิสเตอร์ ตัวที่สองอยู่ในหน่วยความจำของระบบ กำหนดตำแหน่งโดยใช้ Base register บวก Index Register บวกกับ displacement 3. SS (Storage to Storage) Operand ทั้งสองอยู่ในหน่วยความจำของระบบ กำหนดตำแหน่งโดยใช้ Base register บวกกับ displacement 4. SI (Storage and Immediate) Operand ตัวแรกอยู่ในหน่วยความจำของระบบ ตัวที่สอบเป็นข้อมูลโดยตรง (Immediate) ซึ่งยาว 1 ไบท์ และเก็บอยู่ภายในตัวคำสั่งนั้นเลย 5. RS (Register to Storage) Operand สองตัวแรกอยู่ในรีจิสเตอร์ ตัวหลังสุดอยู่ในหน่วยความจำของระบบ 6. S (Storage) Operand มีอยู่ตัวเดียวอยู่ในหน่วยความจำของระบบ การกำหนดตำแหน่งของข้อมูล การกำหนดตำแหน่งของข้อมูล เพื่อเรียกข้อมูลออกมาใช้นั้น ถ้าข้อมูลอยู่ในรีจิสเตอร์ กำหนดด้วยหมายเลของรีจิสเตอร์ รีจิสเตอร์ที่เก็บข้อมูลไว้ได้แก่ รีจิสเตอร์สำหรับใช้งานทั่วไป (หมายเลข 0 – 15 ) รีจิสเตอร์สำหรับควบคุม (หมายเลข 0 – 15) รีจิสเตอร์สำหรับเลขทศนิยม (หมายเลข 0, 2, 4 และ 6) โปรแกรม จะถูกเก็บไว้ในหน่วยความจำ ซึ่งอยู่ในรูปแบบของเลขไบนารี่ที่เรียกว่าภาษา Machine ซึ่งเป็นภาษาที่สามารถ ติดต่อให้คอมพิวเตอร์ เข้าใจได้ ภาษา Machine นี้จะจัดให้อยู่ในรูปแบบที่เป็นเลขฐานสิบหก (HEX) เช่น คำสั่ง 8 บิต 11101011B (B-ไบนารี่) เขียนได้เป็น 0EBH(H-ฐานสิบหก) แต่ก็เป็นการที่จะเข้าใจความหมาย ได้ยากในการใช้งาน การที่จะทำความเข้าใจภาษา Machine จะมีการใช้สัญลักษณ์ (Symbols) ที่เรียกว่า Mnemonics เพื่อแทนความหมายของคำสั่ง เช่น MOV A,#67H หมายความว่านำข้อมูลค่าคงที่ 67H ไปเก็บไว้ใน reg. A) โปรแกรมที่เขียนด้วยรหัส Mnemonics เรียกว่า ภาษา Assembly และก่อนที่จะให้ CPU ทำงานตามโปรแกรมที่เขียนด้วยภาษา Assembly ได้ แต่ต้องเปลี่ยนให้เป็นภาษา Machine ก่อน โดยใช้ โปรแกรมแอสเซมเบลอร์ Flowchart โฟว์ชาร์ต โฟว์ชาร์ตใช้แสดงลักษณะและอัลกอริทึมของโปรแกรมในรูปแบบผังกราฟที่เหมาะสม เป็นการลำดับงานแบบเป็นขั้นตอน โฟว์ชาร์ต มีความสำคัญมากในการทำ Program-Debugging ซึ่งสามารถใช้ทำความเข้าใจอัลการิทึมที่แท้จริงของผู้เขียนโปรแกรม สำหรับผู้อื่นได้ดี และไม่เกิดการซ้ำซ้อนในการเขียนโปรแกรม เช่น ถ้าข้อมูลอยู่ในหน่วยความจำของระบบ การกำหนดตำแหน่งของข้อมูลเพื่อเรียกข้อมูลออกมานั้นทำได้โดยใช้รีจิสเตอร์ สำหรับใช้งานทั่วไปเข้าช่วยเก็บค่าต่าง ๆ ที่จะคำนวณตำแหน่งที่แท้จริงของข้อมูลค่าต่าง ๆ ที่เก็บไว้ได้แก่ 1. Base Address เก็บไว้ใน 24 บิทของรีจิสเตอร์ กำหนดหมายเลขด้วย B Field (4 บิท) ในคำสั่ง เป็นตำแหน่งที่กำหนดจุดเริ่มต้นของโปรแกรม จะต้องกำหนดค่าให้ก่อนที่จะ Execute ซึ่งขึ้นอยู่กับที่ว่างในหน่วยความจำขณะนั้น 2. Displacement เก็บไว้ใน 12 บิทของคำสั่ง หรือ D Field จะกำหนดตำแหน่งของคำสั่งอ้างอิงกับจุดเริ่มต้นของโปรแกรม กำหนดได้ถึง 4095 ไบท์ ( 2 กำลัง 12 - 1 ซึ่ง 12 ก็คือจำนวนบิทของเลขฐาน 2) จึงใช้ชี้ตำแหน่งได้ 4096 ไบท์ คือ displace จาก Base 0 – 4095 ไบท์ ตำแหน่งที่แท้จริง = ค่าใน Base Register + Displacement เหตุผลที่ต้องกำหนดตำแหน่งที่ในหน่วยความจำของระบบด้วย Base & Displacement ก็เพราะคอมพิวเตอร์ทำงานในสภาพ Multiprogramming จะมีโปรแกรมหลายโปรแกรมอยู่ในหน่วยความจำพร้อม ๆ กัน โปรกแรกมที่จะนำเข้ามาในระบบจะต้องสามารถย้ายตำแหน่งไปมาได้ (Relocate) โปรแกรมที่เข้ามาจะกำหนดตำแหน่งใหม่ได้เสมอ และคำสั่งที่ใช้วิธีนี้ความยาวของคำสั่งจะสั้นกว่าการกำหนดตำแหน่งโดยตรง 
ตัวอย่าง source code *********** BASIC CODE ************* loop: high portb.0 pause 100 low portb.0 pause 100 goto loop end ********* ASM CODE ************* LIST P = 16F84 ERRORLEVEL -302 #INCLUDE P16F84.INC R1 EQU 0X0C R2 EQU 0X0D
ORG 0X00 BSF STATUS,RP0 CLRF TRISB BCF STATUS,RP0 CLRF PORTB
LOOP BSF PORTB,0 CALL DELAY
BCF PORTB,0 CALL DELAY
GOTO LOOP
DELAY MOVLW 0XFF MOVWF R1 MOVWF R2 DEC1 DECFSZ R1 GOTO DEC1 DEC2 DECFSZ R2 GOTO DEC1 RETURN __CONFIG _XT_OSC & _PWRTE_OFF & _WDT_OFF & _CP_OFF ;Crystal Oscillator,Power-up Timer OFF ;Watch Dog Timer OFF,Code Protect OFF __IDLOCS 2000 END


1.5 โครงสร้างของโปรแกรมภาษา JAVA


โครงสร้าง ภาษา Java (Java Structure)

1. เครื่องหมาย ในการควบคุม Structure
1.1 Comment คือข้อความที่แทรกเข้าไปในโปรแกรม แต่ไม่มีผลต่อการทำงานของโปรแกรม เช่นในกรณีที่เราต้องการอธิบาย Source code ไว้ใน โปรแกรม วิธีการคือ
- comment ทีละ บรรทัด ใช้เครื่องหมาย // ตามด้วยข้อความที่ต้องการ comment เช่น
//comment comment
- comment แบบครอบทั้งข้อความ ใช้เครื่องหมาย /* ข้อความที่ต้องการ 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 ;
- เครื่องหมาย , ใช้สำหรับ
1. แยกชื่อตัวแปรในประโยค
เช่น String a , b , c;
- เครื่อง หมาย . ใช้สำหรับ
1. แยกชื่อ package,subpackage และชื่อ class
เช่น package com.test.Test1;
2. ใช้เพื่อเรียกใช้ ตัวแปร หรือ method ของ Object
เช่น object.hello();




ตัวอย่างโปรแกรมภาษาจาวา

ไฟล์ Example.java
class Example
{
     public static void main(String[] args)
    {
          String dataname = “Java Language“;
          System.out.println(“My name is OAK“);
          System.out.println(“OAK is a “ + dataname +“. “);
     }
}
หมายเหตุ
Compile : javac Example.java จะได้ไฟล์ Example.class
Run         : java Example
Output    : My name is OAK
                  OAK is a Java Language


คำอธิบาย
method main( ) จะเป็น method หลักที่ใช้ในการ run program ดังนั้นการกระทำต่าง ๆ ที่ต้องการให้เกิดขึ้น ในการ run program จะต้องทำการเขียนคำสั่งไว้ใน method นี้
- การแสดงผลทางจอภาพ (Console Output) ใช้ method ชื่อ "println" ซึ่งอยู่ใน System.outคำสั่งนี้จะรับข้อมูลที่เป็น String เพื่อนำมาแสดงผลทางจอภาพ





1.5 โครงสร้างของโปรแกรมภาษา Cobol


ในการเขียนโปรแกรมภาษาโคบอลเราจะแบ่งออกเป็นส่วน ๆ ดังนี้

  1. ส่วนประกอบของโปรแกรม ภาษาโคบอล
  2. สัญลักษณ์ ที่ใช้ในภาษาโคบอล
  3. ประเภทของคำ
  4. ตัวแปร และ ค่าคงที่
  5. แบบฟอร์ม สำหรับการเขียนโปรแกรม COBOL (COBOL CODING FORM)
  6. การใช้เครื่องหมายวรรคตอน




    IDENTIFICATION DIVISION
    • ชื่อโปรแกรม
    • ชื่อผู้เขียนโปรแกรม
    • วันที่เขียนโปรแกรม
    ENVIRONMENT DIVISION
    • รายละเอียดของตัวเครื่อง(CONFIGURATION SECTION)
    • รายละเอียดสิ่งที่ใช้ในการบันทึกข้อมูล(INPUT/OUTPUT SECTION)
    DATA DIVISION
    • รายละเอียดของแฟ้มข้อมูล(FILE SECTION)
    • รายละเอียดของข้อมูลอื่น ๆ(WORKING-STORAGE SECTION)
    • รายละเอียดของข้อมูลที่รับมาจากโปรแกรมอื่น ๆ(LINKAGE SECTION)
    • รายละเอียดของข้อมูลที่ให้แสดงบนจอภาพ
    PROCEDURE DIVISION
    • PARAGRAPH 1
    • PARAGRAPH 2
    • PARAGRAPH 3-------[STATEMENT I;I' = 1(N)


    Character (อักขระ) หมายถึง ตัวเลขและเครื่องหมายต่าง ๆ ที่เครื่องคอมพิวเตอร์รับได้ในรูปของ ASCII CODE หรือ เลขฐาน 16 (แล้วแต่ระบบการเก็บข้อมูล ภายในหน่วยความจำของแต่ละเครื่องฯ) ซึ่งใช้ประกอบขึ้นเป็นคำ (Word) ในการเขียนเป็นภาษาโปรแกรม ซึ่งประกอบด้วย
    • ชุดอักษร(Alphabetic) "A...Z"
    • ชุดตัวเลข(Numeric) "0..9"
    • ชุดสัญลักษณ์พิเศษ(Special Character){+ - * / . ** $ * > < = ( ) " ' ; _ }

    2.1 ชุดอักษร(Alphabetic) "A...Z" ใช้ในการสร้าง (Word) เพื่อตั้งชื่อให้กับตัวแปร(Variable Name Identifier) และตั้งชื่อให้กับแฟ้มข้อมูล (Identification ,Program Name, Program ID) ในโปรแกรมภาษาโคบอล โดยจะตั้งชื่อให้ซ้ำกับ Reserved Words ไม่ได้ และจะตั้งชื่อตัวแปรเกิน 30 ตัวอักษรไม่ได้ และ ตั้งชื่อของแฟ้มข้อมูลทุกประเภทที่ใช้ในการเขียนโปรแกรมภาษาโคบอล เกิน 8 ตัวอักษรไม่ได้ และในการติดตั้งชื่อแฟ้มข้อมูล หรือตั้งชื่อให้กับตัวแปร อาจจะมีตัวอักขระปะปนตัวเลขก็ได้ แต่จะใช้ตัวอักขระพิเศษมาผสมด้วยไม่ได้ จะอนุโลมให้ใช้ "_"(Hyphen) ได้เฉพาะในภาษาโคบอลเพียงเท่านั้น และในการตั้งชื่อให้กับตัวแปร หรือ ชื่อแฟ้มข้อมูลจะขึ้นต้น หรือนำหน้าด้วยตัวเลข หรือ Hyphen ไม่ได้

    2.2 ชุดตัวเลข (Numeric)"0..9" ใช้ในการกำหนดค่าให้กับตัวแปร เพื่อนำไปทำการคำนวณหาค่าต่าง ๆ ที่เป็นผลลัพธ์ตามที่เราต้องการ หรือ อาจจะใช้ผสมกับกลุ่มตัวอักษรให้กับตัวแปร หรือใช้ตั้งชื่อแฟ้มข้อมูล

    2.3 ชุดสัญลักษณ์พิเศษ (Special Character) ชุดสัญลักษณ์พิเศษ เราสามารถแบ่งออกได้ตามหน้าที่ดังนี้
    ใช้ในการคำนวณ เราเรียกว่า Arithmetic Operator

    +(บวก)/ (หาร)
    -(ลบ)** (ยกกำลัง)
    * (คูณ)( ) (เครื่องหมายวงเล็บ)
    ใช้ในการเปรียบเทียบ ในเชิงคณิตศาสตร์ Relation operator

    > มากกว่าor IS GREATER THAN
    < น้อยกว่าor IS LESS THAN
    = เท่ากับor IS EQUAL
    ใช้ในการกำกับ การเว้นวรรคตอน Punctuation Operator
    { - , . " : ; () }

    ใช้ในการกำหนดรูปแบบของการพิมพ์ (Print Format)

    B (Blank Or Space) VV (Period for format Decimal)
    Z,
    $B
    +CR
    -DB
    0.
    *Space
    คำ เกิอขึ้นจากการผสมระหว่างตัวอักษร กับตัวเลข หรือจะเป็นตัวอักษรล้วน ๆ ก็ได้ ซึ่งจะต้องเป็นไปตามเงื่อนไขหรือกฎเกณฑ์ของภาษานั้น ๆ ดังได้กล่าวมาแล้วข้างต้น ซึ่งแบ่งออกเป็นประเภท ใหญ่ ๆ ดังนี้
    • 3.1 คำสงวน (Reserved Word) คำสงวนไว้ใช้ในกรณี ๆ ไปโดยเฉพาะ ไม่สามารถนำคำสงวนไปใช้ในหน้าที่อื่น ๆ ที่ไม่ใช่หรือ ไม่ได้กำหนดไว้ โดยคำสงวนจะมีความหมายในตัวของมันเอง ซึ่งแบ่งออกเป็น 3 ประเภท
      • Key word คือคำที่เราต้องเขียนเสมอ หรือ เป็นคำที่ตัว Compiler Cobol รู้จัก ได้แก่ Read , Into, End
      • Option Word จะใช้ หรือ ไม่ใช้ก็ได้ เขียนแทนด้วยตัวอักษรตัวพิมพ์ใหญ่ แต่ไม่มีขีดเส้นใต้กำกับไว้ มีไว้เพื่อขยายประโยคให้สมบูรณ์ เช่น Record, At
      • Connective Word เพื่อขยายใจความประโยคหรือเชื่อมโยงคำ เช่น Of ,In
    • 3.2 คำที่ไม่ใช่คำสงวน หมายถึงคำอื่น ๆ ซึ่งผู้เขียนโปรแกรม ตั้งชื่อขึ้นเองตามกฏเกณฑ์การตั้งชื่อ ในภาษาโคบอลห้ามตั้งชื่อตรงกับคำสงวนหรือซ้ำคำสงวน
      • Data Name ใช้อ้างอิงถึงข้อมูล หรือตัวแปร
      • Condition Name ชื่อข้อมูลที่ใช้ในการสร้างเงื่อนไขขึ้นเพื่อเลือกตัดสินใจในการทำงาน และเพื่อทดสอบโปรแกรม
      • Paragraph Name หมายถึง ชื่อหัวข้อของชุดคำสั่งที่ปรากฏอยู่ในส่วนต่าง ๆของโปรแกรม
    • 3.3 Special Name ชื่อพิเศษต้องอยู่ในพารากราฟทึ่ชื่อ Special Names ซึ่งอยู่ภายใน Environment Division ซึ่งผู้เขียนโปรแกรมจะเป็นผู้ตั้งขึ้นเองเพื่อนำไปใช้ประโยชน์ในการเขียนโปรแกรมให้สั้น และรัดกุม แต่มีประสิทธิภาพมากขึ้น

    • 4.1 ตัวแปร หมายถึง ข้อมูลที่มีการเปลี่ยนแปลงค่อยู่ตลอดเวลาในโปรแกรม
      • ตัวแปรชนิดตัวเลข (Numeric variable) ประกอบไปด้วยตัวเลข 0 - 9 สามารถนำไปคำนวณได้
      • ตัวแปรชนิดอักขระ (Alphabetic variable) ประกอบไปด้วยตัวอักษร A..Z และ Blank Or Space และ Hyphen (-)
      • ตัวแปรชนิดที่เป็นทั้งตัวเลขและตัวอักขระ (Alphabumeric variable)ได้แก่ตัวเลข ตัวอักษร สัญลักษณ์พิเศษ
    • 4.2 ค่าคงที่ (Literal)

      ค่าคงที่เป็นตัวเลข(Numeric Literal) ประกอบด้วยตัวเลข 0-9

    ในการเขียนโปรแกรมด้วยภาษาใด ๆ ก็ตาม จำเป็นต้องเขียนลงในกระดาษ ตามแบบฟอร์มซึ่งแต่ละภาษากำหนดเอาไว้ ภาษาโคบอล ก็เช่นกัน เราต้องเขียนโปรแกรมลงในกระดาษสำหรับเขียนโปรแกรมโดยเฉพาะ กระดาษพิเศษที่ใช้เขียนโปรแกรมภาษาโคบอลนี้เรียกว่า Cobol Coding Form รูปแบบนี้ เหมือนรูปแบบมาตราฐานของบัตร 80 คอลัมน์ คือ ในกระดาษหนึ่งบรรทัดแบ่งออกเป็น 80 คอลัมน์ เช่นเดียวกันและกระดาษเขียนโปรแกรมหนึ่งแผ่น จะมีประมาณ 20 บรรทัด อย่างไรก็ตามทุกวันนี้เรามักจะส่งโปรแกรมเข้าเครื่องคอมพิวเตอร์ทางจอภาพมากกว่า รายละเอียดของหัวกระดาษตอนบน
    1. System ให้ใส่รายละเอียดของระบบที่ใช้ในการเขียนโปรแกรม หรือ รายละเอียดของเครื่องคอมพิวเตอร์ที่ใช้ หรืออาจจะเป็นชื่อระบบก็ได้
    2. Program ให้ใส่ชื่อโปรแกรม หรืออาจจะเป็นชื่อของโปรแกรมย่อยก็ได้
    3. Programmer ใส่ชื่อโปรแกรมเมอร์หรือชื่อของผู้เขียนโปรแกรม
    4. Date ใส่วัน เดือน ปี ที่เขียนโปรแกรม
    5. Page of ให้ใส่ตัวเลขบอกจำนวนหน้า จำนวนตัวเลขหลัง OF หมายถึงจำนวน Coding Sheet ทั้งหมดที่ใช้เขียนโปรแกรมนี้ และตัวเลขหลัง Page หมายถึง เลขบอกหน้าของ Coding Sheet

    จุดประสงค์ ของการใช้เครื่องหมายวรรคตอนเพื่อบอกให้ Compiler ทราบว่าจบประโยคเมื่อไหร่ จบคำเมื่อไหร่ และช่วยในการอ่านโปรแกรมได้ง่ายขึ้น


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

ระบบเลขฐาน


1.ตารางเลขฐาน
ฐานสิบ
ฐานสอง
ฐานแปด
ฐานสิบหก
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000 0000
0000 0001
0000 0010
0000 0011
0000 0100
0000 0101
0000 0110
0000 0111
0000 1000
0000 1001
0000 1010
0000 1011
0000 1100
0000 1101
0000 1110
0000 1111
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0001 0000
0001 0001
0001 0010
0001 0011
0001 0100
0001 0101
0001 0110
0001 0111
0001 1000
0001 1001
0001 1010
0001 1011
0001 1100
0001 1101
0001 1110
0001 1111
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F













































2.การแปลงเลขฐานอื่นๆ เป็น ฐาน 10
1111001012 = 511                                         
2FBC16 = 12043
2868 = 192

3.เลขฐานสิบเป็นฐานใดๆ

028= 28
028=216
028=102




วันพุธที่ 31 กรกฎาคม พ.ศ. 2556

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


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

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

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

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

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

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

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

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




8.โครงสร้างของระบบปฏิบัติการประกอบด้วยกี่ส่วน อะไรบ้าง
=ระบบปฏิบัติการประกอบด้วย 2 ส่วน คือ
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),สถานะบล็อก (Block Status)และสถานะสิ้นสุด (Terminate Status)