วันพฤหัสบดีที่ 18 ธันวาคม พ.ศ. 2557

ข้อสอบ O-net คอมพิวเตอร์

1.ลิขสิทธิ์โปรแกรมประเภทรหัสเปิด(Open Source)อนุญาต
ให้ผู้ใช้ทำอะไรได้บ้าง.
ก.  นำโปรแกรมมาใช้งานโดยไม่ต้องเสียค่าลิขสิทธิ์
ข.  ทดลองใช้โปรแกรมก่อนถ้าพอใจจึงจ่ายค่าลิขสิทธิ์
ค.  แก้ไขปรับปรุงโปรแกรมเองได้1.  ข้อ  ก กับ  ข้อ        2.  ข้อ    กับ  ข้อ 
3.  ข้อ    อย่างเดียว     4.  ข้อ    อย่างเดียว
เฉลยข้อ  4
2.ห้องสมุดแห่งหนึ่งต้องการพัมนาระบบยืมหนังสือโดยสามารถ
บันทึกข้อมูลการยืมหนังสือลงบนบัตรอิเลคโทรนิกส์โดยไม่ต้อง
เขียนด้วยมือระบบนี้ควรใช้เทคโนโลยีในข้อใด.
1.  Smart  Card          2.  Fingerprint
3.  Barcode                 4.  WiFi
เฉลยข้อ  3
3.ผู้ประกอบอาชีพเป็นผู้พัฒนาเว็บไซต์ต้องเชี่ยวชาญความรู้
ด้านใดบ้างจากตัวเลือกต่อไปนี้.
ก.  ฮาร์แวร์คอมพิวเตอร์       ข.  ระบบปฎิบัติการ
ค.  เว็บเซิร์ฟเวอร์                   ง.  HTML
จ.  ระบบฐานข้อมูล                ฉ.  ภาษาจาวา(Java)
1.  ข้อ  ก และ ค                    2.  ข้อ    และ 
3.  ข้อ    และ                     4.  ข้อ    และ 
เฉลยข้อ  3
4.ข้อใดเป็นเทคโนโลยีการเชื่อมต่อข้อมูลไร้สายทั้งหมด.
1.  Wi-Fi  ,  IP              2.  Wi-Fi  ,Bluetooth
3.  3G  ADSL                4.  3G    Ethernet
เฉลยข้อ  2
5.ข้อใดไม่ใช่ข้อเสียของการละเมิดลิขสิทธิ์ซอฟต์แวร์.
1.  การทำผิดกฏหมายลิขสิทธิ์มีความผิดทางอาญา
2.  เป็นช่องทางหนึ่งในการระบาดของไวรัสคอมพิวเตอร์
3.  ผู้ใช้จะไม่ได้รับการบริการจากผู้พัมนาถ้าหากมีปัญหาการใช้งาน
4.  ทำให้ผู้พัมนาซอฟแวร์ไม่มีรายได้เพื่อประกอบการและพัฒนาต่อไปได้
เฉลยข้อ  2
6.ข้อใดเป็นบริการส่งจดหมายอิเล็กทรอนิคส์ผ่านสายโทรศัพท์.
1. E- mail    
2. Web  Site   
3. Search  engine
4. Face  book
เฉลยข้อ  1  เป็นการส่งจดหมายอิเลคทรอนิค
7.ข้อใดไม่ใช่ระบบปฏิบัติการที่นำมาใช้บนอุปกรณ์พกพา
ประเภท  Smartphone.
1.  Ubumtu       2.  Iphone  os
3.  Android      4.  Symbian
เฉลยข้อ  1
8.ไฟล์ประเภทใดในข้อต่อไปนี้เก็บข้อมูลในลักษณะตัวอักษร.
1.  ไฟล์เพลง  MP 3 (mp 3)
2.  ไฟล์รูปประเภท  JPEG (jpeg)
3.  ไฟล์แสดงผลหน้าเว็บ (html)
4.  ไฟล์วีดีโอประเภท  Movie (movie)
เฉลยข้อ  3
9.ระบบกระดานสนทนาหรือเว็บบอร์ดแห่งหนึ่งมีความต้องการดังนี้     
ก.  ต้องให้ผู้ใช้สามารถตั้งกระทู้โต้ตอบกันได้โดยผู้ใช้
ต้องแสดงตัวตน(ล็อกอิน)เพื่อเข้าระบบก่อน
ข.  ผู้ใช้สามารถตั้งกระทู้หรือเข้าไปตอบกระทู้ที่ตั้งไว้แล้วได้
ค.  ระบบจะบันทึกชื่อผู้ตั้งและผู้ตอบไว้ด้วย
ในการออกแบบฐานข้อมูลดังกล่าวข้อใดกล่าวได้ถูกต้อง.
1.  ต้องสร้างตารางผู้ใช้ ตารางกระทู้และตารางคำตอบ
2.  ไม่ต้องสร้างตารางผู้ใช้เนื่องจากสามารถบันทึกชื่อ
ผู้ใช้ในตารางกระทู้และตารางคำตอบได้เลย
3.  ต้องสร้างตารางผู้ใช้และตารางกระทู้ส่วนคำตอบจะอยู่
ในตารางกระทู้อยู่แล้ว
4.  ไม่ต้องสร้างตารางกระทู้เพราะสามารถบันทึกกระทู้ที่ผู้ใช้
ตั้งในตารางผู้ใช้ได้เลย
เฉลยข้อ  4
10.ข้อใดต่อไปนี้ถูกต้องที่สุด.
1.  การบันทึกข้อมูลลงแผ่นดีวีดีใช้เทคโนโลยีแบบแม่เหล็ก
2.  หมายเลขไอพีเป็นหมายเลขที่ใช้กำกับ  Network Interce Card
3.  หน่วยความจำสำรองเป็นหน่วยความจำที่มีคุณลักษณะแบบ Volntile
4.  รหัส ACIIและEBCIDICเป็นการวางรหัสตัวอักษรที่ใช้ขนาด  8 บิด
เฉลยข้อ  3 


คำสั่งในฟังก์ชั่น PHP

คำสั่ง IF/THENคำสั่ง IF / Then
              เป็นคำสั่งสำหรับตรวจสอบตามเงื่อนไขที่ต้องการ
การใช้คำสั่งจะมีรูปแบบ IF(เงื่อนไข) { ทำคำสั่งในส่วนนี้ถ้าเงื่อนไขเป็นจริง} ตัวอย่างเช่น

<?php     $a = 1;
     if($a) {          echo "True!";     }?>
             จากตัวอย่าง  ให้ $a เก็บค่า จริง(true) 1 มีค่าเท่ากับจริง 0
มีค่าเท่ากับเท็จมี ชนิดตัวแปรเป็นบูลีน เพราะฉะนั้นเมื่อเก็บค่าจริงในตัวแปร $a จึงสามารถ แปรเป็นประโยคจากคำสั่งตัวอย่างได้ว่า
 “ถ้าจริงแสดงข้อความว่า True”

ตัวอย่างต่อไปนี้จะเป็นการใช้คำสั่ง If/ Then/ Else

<?php    $a = 5;
    $b = "10";     if($a > $b) {             echo "$a มีค่ามากกว่า $b";
     } else {             echo "$a ไม่มากกว่า $b";
     }?> การเพิ่มคำสั่ง else ต่อจากคำสั่ง then หมายถึง ถ้าเงื่อนไขเป็นเท็จจะให้ทำอะไร จากโปรแกรม

ตัวอย่าง เราให้ $a เก็บค่า 5 และ $b

เก็บค่า 10 เอาไว้ เมื่อตรวจสอบเงื่อนไขว่า ถ้า 5 > 10 ให้แสดงข้อความว่า “5  มีค่ามากกว่า  10”  มิฉะนั้นให้แสดงข้อความว่า “5 ไม่มากกว่า 10” ข้อสังเกตการประกาศชนิดของตัวแปร PHP
จะไม่สนใจว่า $a จะเก็บเป็นตัวเลขหรือข้อความแต่สามารถเปรียบเทียบตามเงื่อนไขได้ ในตรงนี้ PHP  จะมองเป็นตัวเลข
การใช้เครื่องหมาย {}   คร่อมระหว่างคำสั่งจะต้องมีหลังเงื่อนไขที่เป็นจริงและหลังเงื่อนไขเป็นเท็จเสมอในกรณีที่มีหลายคำสั่งให้ใช้เครื่องหมาย “;”หลังคำสั่งทุก ๆ คำสั่ง

ตัวอย่างการใช้ if/elseif/else

 <?php     if($a == $b) {
    // ถ้า $a มีค่าเท่ากับ $b จริงทำคำสั่งที่ 1
    // ทำคำสั่งที่ 2 หากเป็นจริง       } elseif ($a > $b) {            // ถ้า $a มากกว่า $b จริงให้ทำคำสั่งนี้       } elseif($a < $b) {            // ถ้า $a น้อยกว่า $b จริงให้ทำคำสั่งนี้       } else  {            // ถ้าเงื่อนทั้งหมดที่กล่าวมาไม่จริงให้ทำคำสั่งนี้       }?>

การใช้คำสั่ง Switch
          การใช้คำสั่ง if/elseif/else/ ถ้าต้องการตรวจสอบเงื่อนไขที่หลายทางทำให้การเขียน elseif และเงื่อนไขเพิ่มมากด้วย
PHP สนับสนุนการใช้คำสั่ง  Switch เช่นเดียวกับภาษาซี
ดังตัวอย่าง

            <?php  $a = "100";
  switch($a) {      case(10):           echo "ตัวแปรเก็บค่า 10 เอาไว้";
           break;       case (100):           echo "ตัวแปรเก็บค่า 100  เอาไว้<br>";
       case (1000):           echo "ตัวแปรเก็บค่า 1000  เอาไว้";
           break;      default:           echo "<p>แน่ใจว่าเป็นตัวเลขหรือไม่";
    }?>

              การใช้คำสั่ง Switch จะมี 4 ส่วนด้วยกันได้แก่
1.  switch- เป็นส่วนที่กำหนดค่าหรือนิพจน์ ที่จะเปรียบเทียบกับ case ที่ตามมา  จากตัวอย่างจะเห็นว่า switch($a) มีความหมายว่า  Switch(100)
2.  case- นิพจน์ case เป็นส่วนสำหรับเปรียบเทียบกับ
Switch ซึ่งเป็นหลายทางเลือกแต่จะมีทางเลือกที่ควรมีตรงกันเพียงหนึ่งเดียว เราสามารถใช้เงื่อนไขเหมือนกับ
if ได้เช่นเดียวกัน ถ้า case นั้นเป็นจริง คำสั่งหลังจากนั้นจะประมวลผลจนกระทั่งเจอคำสั่ง
Break การประมวลผลจะหยุดและออกจากคำสั่ง switch
ทั้งหมด
3.  Break- หรือจุดหยุดกระทำ จะควบคุมให้โปรแกรมกระโดดคำสั่ง  switch ทั้งหมด
4.  default- เป็นการใช้กับ switch กรณีพิเศษที่ต้องการ
switch จะเลือกทางนี้ ถ้าหากว่าเงื่อนไขใน case ต่าง ๆส่วนบนไม่ถูกเลือกหรือไม่จริง
คำสั่ง For Loop

คำสั่ง For Loop
                  คำสั่งลูป for เป็นคำสั่งที่ใช้ในการควบคุมให้เกิดการทำงานได้หลาย ๆ รอบ
 จำนวนรอบกำหนดได้จากตัวแปรจำนวนค่าเริ่มต้น คำสั่งเงื่อนไข และค่า
ตัวแปรที่เปลี่ยนไปในแต่ละรอบ ตัวอย่างเช่น

<?php
    for($i = 0; $i < 10 ; $i++) {
            echo $i<br>;
       }
?>

คำสั่งลูป for จำเป็นต้องมี 3 ส่วนด้วยกันคือ

•         ค่าเริ่มต้น จากตัวอย่าง $i = 0; คือการกำหนดให้ค่าเริ่มต้นเก็บในตัวแปร $i มีค่าเท่ากับ 0
•         ส่วนของการเปรียบเทียบ ก่อนการวนรอบทุกครั้งจะมีการตรวจสอบเงื่อนไขก่อนเสมอ ถ้าเงื่อนไขที่ตรวจสอบนั้นเป็นจริงจึงจะมีการทำงานตามคำสั่งในลูป แต่ถ้าผลการตรวจสอบเงื่อนไขแล้วผลเป็นเท็จโปรแกรมจะสิ้นสุดการวนรอบ
•         ส่วนของการกำหนดค่าที่จะเปลี่ยนไปในแต่ละรอบ จากตัวอย่าง  $i++ หมายถึง การเพิ่มตัวแปร $i ครั้งละ 1
        ในการเขียนทั้ง 3 ส่วนจะต้องมีเครื่องหมาย “;” คั่นเสมอ
จากตัวอย่างเป็นการแสดงเลข 0 ถึง 9
คำสั่ง Foreach Loop
คำสั่ง Foreach loop เป็นคำสั่งที่ยอมให้เราเข้าไปถึงข้อมูลที่อยู่ภายใน
อะเรย์ได้โดยตรง เช่น

<?php
    $array = array("name" => "Jet","occupation" =>"Bounty Hunter");
    foreach ($array as $val) {
            echo "<P>$val";
    }
?>

ผลการทำงานของโปรแกรม

 Jet
 Bounty Hunter
 เราสามารถเขียนเพื่อต้องการให้แสดงค่าในอะเรย์ด้วย foreach loop
ดังนี้

<?php
    $array = array("name" => "Jet","occupation" =>"BountyHunter");
    foreach ($array as $key => $val) {
            echo "<P>$key : $val";
    }
?>

ผลการทำงานของโปรแกรม
name : Jet
occupation : Bounty Hunter

คำสั่งลูป while

                    คำสั่งลูป while เป็นคำสั่งที่สำคัญมากคำสั่งหนึ่ง การวนลูปเริ่มด้วยการ
ตรวจสอบเงื่อนไขก่อนว่าเป็นจริง จึงจะประมวล
ผลและทำซ้ำไปเรื่อย ๆ จนกระทั่งเงื่อนไขเป็นเท็จจึงหยุดการทำซ้ำ
และออกจากลูปในที่สุด ในการใช้ลูป  while สำหรับเขียนโปรแกรม
ให้ทำงานแบบฐานข้อมูลบนเว็บนิยมใช้สำหรับแสดงผลจำนวนแถว
จากตารางฐานข้อมูลดังนี้

<?php
$bg = "DDDDDD";
while ($data = mysql_fetch_array($result)) {
                    if($bg == "DDDDDD"){
                             $bg="EEEEEE";
                    }else{
                             $bg="DDDDDD";
                    }
echo   ‘<tr bgcolor="$bg"> ‘,
echo $data[name];
echo ‘</tr>’;
?>

          จากตัวอย่าง เป็นการใช้คำสั่งลูป while เพื่อให้แสดงข้อมูลในตารางทั้ง
หมดและในแต่ละแถวให้มีสีต่างกันคือสีเทาอ่อนกับสีเทาสลับกัน
เราสามารถใช้คำสั่ง Continue เพื่อต้องการให้ไปทำเงื่อนไขที่กำหนด
ขึ้นมาได้ เช่น

<?php
while($row = mysql_fetch_array($result)) {
    if($row['name'] ! = "ทวีรัตน์")) {
              continue;
    } else {
          // do something with the row
    }
?>

การใช้คำสั่งลูป DoWhile

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

<?php
     $i = 0;
     do {
             print $i;
     } while ($i>0);
?>

                   โปรแกรมนี้จะแสดง 0 หนึ่งครั้งเมื่อเจอนิพจน์  While ($i >0); ซึ่งเป็นเท็จก็จะออกจากลูป
ซึ่งแตกต่างจากโปรแกรมด้านล่างที่ไม่มีการพิมพ์ข้อความใด ๆ เลยเพราะเงื่อนไขเป็นเท็จ
ตั้งแต่ตอนต้น
<?php
     $i = 0;
     while($i > 0){
         print $i;
     }
?>
อย่างไรก็ตาม การนำลูป Do While มาใช้เขียนโปรแกรมในระบบฐานข้อมูลบนเว็บไม่นิยมนำมา
ใช้เลย

 การสร้างฟังก์ชันใหม่
                     PHP เหมือนกับโปรแกรมภาษาทั่วไปที่มีฟังก์ชัน (Function) สำหรับเขียนโปรแกรมเช่น
ฟังก์ชัน print() ฟังก์ชัน include() เป็นต้น แต่ฟังก์ชันดังกล่าวข้างต้นเป็นฟังก์ชันมาตรฐาน
ทั่วไปที่มีมากับโปรแกรมแล้ว ในเนื้อหานี้จะเป็นการสร้างฟังก์ชันโดยการเขียนขึ้นมาเอง โดยตัว
ของเราเองเพื่อการเรียกใช้ในครั้งต่อไป

 ตัวอย่างฟังก์ชันสำหรับคำนวณวันเดือนปีการ
เกษียณอายุราชการ
 <?php
 function RetireDate($DateOfBirth){
         $date = substr($DateOfBirth,0,2);
         $month = substr($DateOfBirth,3,2);
         $year = substr($DateOfBirth,6,4);
         if(($date>= '2' && $month =='10') ||  ($month =='11' || $month =='12')){
                 $retire =$year+61.'-09-30';
         }else {
                 $retire =$year+60.'-09-30';
         }
         return $retire;
 }
 ?>

การเรียกใช้ฟังก์ชันที่เขียนขึ้นใหม่ ใช้คำสั่งดังนี้

<?php
     $DateOfBirth =’21-10-2005’;
     echo retiredate($DateOfBirth);
?>

การใช้โปรแกรมเชิงวัตถุด้วย PHP

                  PHP สนับสนุนการใช้โปรแกรมเชิงวัตถุ ในรูปแบบการใช้คลาส เหมือนกับภาษา Java
ซึ่งเหมือนกับหลักการเขียนโปรแกรม OOP ทั่ว ๆไป ดังตัวอย่างการเขียนโปรแกรมเพื่อสร้าง
Class เก็บชื่อ นามสกุล และหมายเลขโทรศัพท์ ดังนี้

<?php
class address_book_entry {
    var $first;
    var $last;
    var $number;
    function set_name($first, $last) {
      $this->first = $first;
      $this->last = $last;
    }
    function set_number($number) {
      $this->number = $number;
    }
    function display_entry() {
      echo "<p>Name: " . $this->first . " " . $this->last;
      echo "<br>Number: " . $this->number;
    }
}
?>

การเรียกใช้คลาส

<?php
    $entry = &new address_book_entry;
    $entry->set_name("Bin","Tossapon");
    $entry->set_number("5-5555-5555");
    $entry->display_entry();
?>

ผลการทำงาน
Name: Bin Tossapon
Number: 5-5555-5555


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

<?php
class address_book_entry2 extends address_book_entry {
var $email;
function set_email($email) {
       $this->email = $email;
    }
    function display_entry2() {
      echo "<p>Name: " . $this->first . " " . $this->last;
      echo "<br>Number: " . $this->number;
      echo "<br>Email: " . $this->email;
    }
}
?>

การเรียกใช้

<?php
    $entry = &new address_book_entry2;
    $entry->set_name("Bin","Tossapon");
    $entry->set_number("5-5555-5555");
    $entry->set_email("mynameistossapon@hotmail.com");
    $entry->display_entry();
?>
ผลการทำงาน
Name: Bin Tossapon
Number: 5-5555-5555