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

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

1. โปรแกรมเชื่อมต่อกับเครือข่ายอินเทอร์เน็ต คือโปรแกรมใด
ก.Microsoft Word
ข.Internet Explorer
ค.Google Chrome
ง.ถูกทั้ง ข และ ค
2. ข้อใดคือ URL เว็บไซต์ครูเชียงราย
ก. www.kruchiangrai.ac.th
ข. www.kruchiangrai.co.th
ค. www.kruchiangrai.net
ง. www.kruchiangrai.com
3. นักเรียนได้รับประโยชน์จากการใช้งานคอมพิวเตอร์ในด้านใดมากที่สุด
ก. ด้านการศึกษา ด้านความรู้ ด้านการใช้งาน
ข. ด้านการเงิน / การธนาคาร
ค. ด้านความบันเทิง
ง. ด้านสุขภาพและการออกกำลังกาย
4. ข้อใดคือความหมายของ ฮาร์ดแวร์ ?
ก. โปรแกรมที่สั่งให้คอมพิวเตอร์ทำงาน
ข. ส่วนประกอบของเครื่องคอมพิวเตอร์
ค. ขั้นตอนในการปฏิบัติงาน
ง. บุคลากรที่ทำงานกับคอมพิวเตอร์
5. ข้อใด คือ ฮาร์ดแวร์
ก. เกมคอมพิวเตอร์
ข. เมาส์
ค. แป้นพิมพ์
ง. ถูกทั้ง ข และ ค
6. ข้อใดคือ ซอฟต์แวร์
ก. ครูสอนคอมพิวเตอร์
ข. ไวรัสคอมพิวเตอร์
ค. กล้องถ่ายภาพดิจิตอล
ง. พนักงานคอมพิวเตอร์
7. ข้อใดคือ ซอฟต์แวร์
ก. ครูสอนคอมพิวเตอร์
ข. โปรแกรมMicrosoft PowerPoint
ค. กล้องถ่ายภาพดิจิตอล
ง. พนักงานคอมพิวเตอร์
8. ข้อใด คือระบบปฏิบัติการ
ก.  Microsoft Windows7
ข.  Microsoft Windows8
ค.  Microsoft Windows XP
ง.  ถูกทุกข้อ
9. ข้อใด ไม่ใช่ระบบปฏิบัติการ
ก.  Android
ข.  Linux
ค.  Windows Mobile
ง.  ถูกทุกข้อ คือ ปฏิบัติการ
10. ผู้ก่อตั้งและผู้สร้างFacebook.com คือใคร
ก.  ฟาร์ค ซัคเกอร์เบิร์ก
ข.  มาร์ค คาลเบิร์ก
ค.  มาร์ค ซัคเกอร์เบิร์ก
ง.  มาร์ค คาลเบิร์ก

เฉลย

1. ง.ถูกทั้ง ข และ ค
2. ค. www.kruchiangrai.net
3. ก. ด้านการศึกษา ด้านความรู้ ด้านการใช้งาน
4. ข.ส่วนประกอบของเครื่องคอมพิวเตอร์
5. ง. ถูกทั้ง ข และ ค
6. ข.ไวรัสคอมพิวเตอร์
7. ข.โปรแกรมMicrosoft PowerPoint
8. ง. ถูกทุกข้อ
9. ง. ถูกทุกข้อ คือ ปฏิบัติการ
10. ค. มาร์ค ซัคเกอร์เบิร์ก

ที่มา : http://www.kruchiangrai.net/

คำสั่ง sql

   1. คำสั่งสำหรับนิยามข้อมูล
                        คำสั่งสำหรับนิยามข้อมูล เป็นคำสั่งที่เกี่ยวข้องกับการสร้างฐานข้อมูล การสร้างและแก้ไข รวมทั้งการลบโครงสร้างตาราง มีรายละเอียด ดังนี้

                                1.1          คำสั่งสำหรับการสร้างฐานข้อมูล ตัวอย่าง การสร้างฐานข้อมูลชื่อ “CRM” มีคำสั่ง ดังนี้

CREATE  DATABASE  CRM;

                              1.2  คำสั่งสร้างโครงสร้างตาราง ตัวอย่าง จากตารางที่ 8.1 ให้สร้างโครงสร้างตารางชื่อ CUSTOMER ตามพจนานุกรมข้อมูล เขียนคำสั่งได้ ดังนี้
                                      CREATE  TABLE CUSTOMER(
                                                  CUS_CODE     VARCHAR(13)  NOT NULL,
                                                  CUS_NAME  VARCHAR(50)  NOT NULL,
                                                  ADDRESS   VARCHAR(255) NOT NULL,
                                                  PHONE     VARCHAR(20),
                                                  EMAIL    VARCHAR(50)
                                      PRIMARY KEY(CUS_CODE));

                              1.3  คำสั่งแก้ไขโครงสร้างตาราง ตัวอย่างการเพิ่มแอตทริบิวต์  PROVINCE ในตาราง CUSTOMER  เขียนคำสั่งได้ ดังนี้                       
                                      ALTER  TABLE           CUSTOMER
                                                  ADD (PROVINCE   VARCHAR(60));

                              1.4  คำสั่งลบโครงสร้างตาราง ตัวอย่างการลบตาราง CUSTOMER  เขียนคำสั่งได้ดังนี้
                                                DROP  TABLE 
ที่มา : https://sites.google.com/site/dotpython/

วันพุธที่ 26 พฤศจิกายน พ.ศ. 2557

ฟังก์ชั่น php

ฟังก์ชันใน PHP

ฟังก์ชันในโปรแกรมส่วนใหญ่ได้รับการเรียกคำสั่งเพื่อทำงานอย่างเดียว สิ่งนี้ทำให้คำสั่งอ่านได้ง่ายและยอมให้ใช้คำสั่งใหม่แต่ละครั้งเมื่อต้องการทำงานเดียวกัน
ฟังก์ชันเป็นโมดูลเก็บคำสั่งที่กำหนดการเรียกอินเตอร์เฟซ ทำงานเดียวกัน และตัวเลือกส่งออกค่าจากการเรียกฟังก์ชัน คำสั่งต่อไปเป็นการเรียกฟังก์ชันอย่างง่าย
my_function ();
คำสั่งเรียกฟังก์ชันชื่อ my_function ที่ไม่ต้องการพารามิเตอร์ และไม่สนใจค่าที่อาจจะส่งออกโดยฟังก์ชันนี้
ฟังก์ชันจำนวนมากได้รับการเรียกด้วยวิธีนี้ เช่น ฟังก์ชัน phpinfo () สำหรับแสดงเวอร์ชันติดตั้งของ PHP สารสนเทศเกี่ยวกับ PHP การตั้งค่าแม่ข่ายเว็บ ค่าต่างๆ ของ PHP และตัวแปร ฟังก์ชันนี้ไม่ใช้พารามิเตอร์และโดยทั่วไปไม่สนใจค่าส่งออก ดังนั้นการเรียก phpinfo () จะประกอบขึ้นดังนี้
phpinfo ();

การกำหนดฟังก์ชันและการเรียกฟังก์ชัน

การประกาศฟังก์ชันเริ่มต้นด้วยคีย์เวิร์ด function กำหนดชื่อฟังก์ชัน พารามิเตอร์ที่ต้องการ และเก็บคำสั่งที่จะประมวลผลแต่ละครั้งเมื่อเรียกฟังก์ชันนี้
<?php
function function_name(parameter1,…)
{
ชุดคำสั่ง …
}
?>
ชุดคำสั่งต้องเริ่มต้นและสิ้นสุดในวงเล็บปีกกา ({ }) ตัวอย่างฟังก์ชัน my_function
<?php
function my_function()
{
$mystring =<<<BODYSTRING
my function ได้รับการเรียก
BODYSTRING;
echo $mystring;
}
?>
การประกาศฟังก์ชันนี้ เริ่มต้นด้วย function ดังนั้นผู้อ่านและตัวกระจาย PHP ทราบว่าต่อไปเป็นฟังก์ชันกำหนดเอง ชื่อฟังก์ชันคือ my_function การเรียกฟังก์ชันนี้ใช้ประโยคคำสั่งนี้
my_function ();
การเรียกฟังก์ชันนี้จะให้ผลลัพธ์เป็นข้อความ "my function ได้รับการเรียก " บน browser

การตั้งชื่อฟังก์ชัน

สิ่งสำคัญมากในการพิจารณาเมื่อตั้งชื่อฟังก์ชันคือชื่อต้องสั้นแต่มีความหมาย ถ้าฟังก์ชันสร้างส่วนตัวของเพจควรตั้งชื่อเป็น pageheader () หรือ page_header ()
ข้อจำกัดในการตั้งชื่อคือ
  • ฟังก์ชันไม่สามารถมีชื่อเดียวกับฟังก์ชันที่มีอยู่
  • ชื่อฟังก์ชันสามารถมีได้เพียงตัวอักษรตัวเลข และ underscore
  • ชื่อฟังก์ชันไม่สามารถเริ่มต้นด้วยตัวเลข
หลายภาษายอมให้ใช้ชื่อฟังก์ชันได้อีก ส่วนการทำงานนี้เรียกว่า function overload อย่างไรก็ตาม PHP ไม่สนับสนุน function overload ดังนั้นฟังก์ชันไม่สามารถมีชื่อเดียวกันกับฟังก์ชันภายใน หรือฟังก์ชันกำหนดเองที่มีอยู่
หมายเหตุ ถึงแม้ว่าทุกสคริปต์ PHP รู้จักฟังก์ชันภายในทั้งหมด ฟังก์ชันกำหนดเองอยู่เฉพาะในสคริปต์ที่ประกาศสิ่งนี้หมายความว่า ชื่อฟังก์ชันสามารถใช้ในคนละไฟล์แต่อาจจะไปสู่ความสับสน และควรหลีกเลียง
ชื่อฟังก์ชันต่อไปนี้ถูกต้อง
name ()
name2 ()
name_three ()
_namefour ()
ชื่อไม่ถูกต้อง
5name ()
Name-six ()
fopen ()
การเรียกฟังก์ชันไม่มีผลจากชนิดตัวพิมพ์ ดังนั้นการเรียก function_name (), Function_Name() หรือ FUNCTION_NAME() สามารถทำได้และมีผลลัพธ์เหมือนกัน แต่แบบแผนการกำหนดชื่อฟังก์ชันใน PHP ให้ใช้ตัวพิมพ์เล็ก
ชื่อฟังก์ชันแตกต่างจากชื่อตัวแปร โดยชื่อตัวแปรเป็นชนิดตัวพิมพ์มีผล ดังนั้น $Name และ $name เป็น 2 ตัวแปร แต่ Name () และ name () เป็นฟังก์ชันเดียวกัน

การหยุดประมวลผลภายในฟังก์ชัน

คีย์เวิร์ด return หยุดการประมวลผลฟังก์ชัน ฟังก์ชันสิ้นสุดได้เพราะประโยคคำสั่งทั้งหมดได้รับการประมวลผล หรือ ใช้คีย์เวิร์ด return การประมวลผลกลับไปยังประโยคคำสั่งต่อจากการเรียกฟังก์ชัน
<?php
function division($x, $y)
{
if ($y == 0 || !isset($y))
{
echo " ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า" ;
return;
}
$result = $x / $y;
echo $result;
}
?>
ถ้าประโยคคำสั่ง return ได้รับการประมวลผล บรรทัดคำสั่งต่อไปในฟังก์ชันจะถูกข้ามไป และกลับไปยังผู้เรียกฟังก์ชันนี้ ในฟังก์ชันนี้ ถ้า y เป็น 0 จะหยุดการประมวลผล ถ้า y ไม่เท่ากับ 0 จะคำนวณผลหาร
สมมติป้อนค่าเป็น
x = 4, y = 0
x = 4
x = 4, y = 2
ผลลัพธ์ของคำสั่ง คือ
x = 4, y = 0 ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = 2 ผลลัพธ์ 2

การเรียกฟังก์ชัน

เมื่อฟังก์ชันได้รับการประกาศหรือสร้างขึ้นแล้ว การเรียกฟังก์ชันสามารถเรียกมาจากที่ใดๆ ภายในสคริปต์ หรือ จากไฟล์ที่มีการรวมด้วยประโยคคำสั่ง include() หรือ require()
ตัวอย่าง ฟังก์ชัน show_message() เก็บอยู่ในไฟล์ fn_ 03 _keeper.php ส่วนผู้เรียกอยู่ในสคริปต์ fn_ 03 _caller.php
<?php
include("fn_ 03 _keeper.php");
show_message();
?>

พารามิเตอร์

ตามปกติฟังก์ชันส่วนใหญ่ต้องการรับสารสนเทศจากผู้เรียกสำหรับการประมวลผล โดยทั่วไปเรียกว่า พารามิเตอร์

ไวยากรณ์พื้นฐาน

การกำหนดฟังก์ให้รับพารามิเตอร์ส่งผ่านโดยการวางข้อมูล ชื่อตัวแปรที่เก็บข้อมูลภายในวงเล็บหลังชื่อฟังก์ชัน การเรียกฟังก์ชันที่ประกอบด้วยพารามิเตอร์เขียนดังนี้
<?php
function show_parameter($param1, $param2, $param3)
{
echo <<<PARAM
รายการพารามิเตอร์ <br/>
param1: $param1 <br/>
param2: $param2 <br/>
param3: $param3 <br/>
PARAM;
}
?>
พารามิเตอร์ที่ส่งไปยังฟังก์ชันแยกกันเครื่องหมายจุลภาคภายในวงเล็บ โดยสามารถส่งเป็นนิพจน์สำหรับแต่ละพารามิเตอร์ด้วย ตัวแปร ค่าคงที่ ผลลัพธ์จากการคำนวณ รวมถึงการเรียกฟังก์ชัน
scope ของพารามิเตอร์จำกัดภายในฟังก์ชัน ถ้าชื่อตัวแปรเหมือนกับตัวแปรใน scope ระดับอื่น พารามิเตอร์นี้ "ระบุ" เป็นตัวแปรภายในที่ไม่มีผลกับตัวแปรภายนอกฟังก์ชัน

การส่งผ่านโดยค่า(By Value)

ตามปกติการส่งผ่านพารามิเตอร์ไปยังฟังก์ชันเป็นการส่งผ่านค่า การเปลี่ยนแปลงจะจำกัดภายในเฉพาะภายในฟังก์ชัน
ตัวอย่างฟังก์ชัน new_value () ที่ยอมให้เพิ่มค่า อาจจะเขียนคำสั่งดังนี้
<?php
function new_value($value, $increment= 1)
{
$value = $value + $increment;
}
$value = 10 ;
new_value($value);
echo "$value<br/>\n";
?>
คำสั่งนี้ใช้ไม่ได้ ผลลัพธ์จะเป็น "10" ค่าใหม่ของ $value ไม่มีการเปลี่ยนแปลง
สิ่งนี้เป็นเพราะกฎ scope คำสั่งนี้สร้างตัวแปรเรียกว่า $value เป็น 10 เมื่อเรียกฟังก์ชัน new_value () ตัวแปร $value ในฟังก์ชันได้รับการสร้างเมื่อเรียกฟังก์ชัน ค่า 1 ได้รับการเพิ่มให้กับตัวแปร ดังนั้นค่าของ $value คือ 11 ภายในฟังก์ชัน จนกระทั่งสิ้นสุดฟังก์ชัน แล้วกลับไปยังคำสั่งที่เรียกภายในคำสั่งนี้ ตัวแปร $value เป็นอีกตัวแปร global scope และไม่มีการเปลี่ยนแปลง

การส่งผ่านโดยการอ้างอิง (By Reference)

ตามตัวอย่างฟังก์ชัน new_value ถ้าต้องการให้ฟังก์ชันเปลี่ยนแปลงค่าได้ มีวิธีหนึ่งในการแก้ไขคือ ประกาศ $value ในฟังก์ชันเป็น global แต่หมายความว่าในการใช้ฟังก์ชันนี้ ตัวแปรที่ต้องการเพิ่มค่าต้องตั้งชื่อเป็น $value แต่มีวิธีดีกว่าคือ ใช้การส่งผ่านโดยการอ้างอิง
การอ้างอิงไปตัวแปรต้นทางแทนที่มีค่าของตัวเอง การปรับปรุงไปยังการอ้างอิงจะมีผลกับตัวแปรต้นทางด้วย
การระบุพารามิเตอร์ที่ใช้การส่งผ่านโดยการอ้างอิงให้วาง ampersand (&) หน้าชื่อพารามิเตอร์ในข้อกำหนดฟังก์ชัน
ตัวอย่าง new_value () ได้รับปรับปรุงให้มี 1 พารามิเตอร์ส่งผ่านโดยการอ้างอิงและทำงานได้อย่างถูกต้อง
<?php
function new_value(&$value, $increment=1)
{
$value = $value + $increment;
}
?>
คำสั่งทดสอบฟังก์ชัน ให้พิมพ์ 10 ก่อนการเรียก increment () และ 11 ภายหลัง
ในการส่งค่าโดยการอ้างอิงต้องส่งเป็นตัวแปรไม่สามารถกำหนดค่าคงที่โดยตรง

จำนวนตัวแปรของพารามิเตอร์

การส่งผ่านพารามิเตอร์ไปยังฟังก์ชันนั้น การควบคุมของ PHP ได้กำหนดฟังก์ชันจำนวนหนึ่งให้ยอมรับจำนวนตัวแปรของพารามิเตอร์ ได้แก่ func_num_args, func_get_arg และ func_get_args
func_num_args() บอกจำนวนพารามิเตอร์ไปยังฟังก์ชันที่เรียก func_get_arg() แสดงค่าของพารามิเตอร์ตามดัชนี และ func_get_args() ส่งออก array ของพารามิเตอร์
<?php
function show_pass_value()
{
$idx = count(func_get_args());
echo " จำนวนพารามิเตอร์ $idx <br/>\n";
if ($idx > 0)
    echo ">> ใช้ฟังก์ชัน func_get_arg<br/>\n";
for ($i = 0 ; $i < $idx; $i++)
{
echo " พารามิเตอร์ที่ $i ค่า: ". func_get_arg($i)."<br/>\n";
}
if ($idx > 0)
    echo ">> ใช้ฟังก์ชัน func_get_args<br/>\n";
$params = func_get_args();
foreach ($params as $index => $val)
{
echo " พารามิเตอร์ที่ $index ค่า: $val<br/>\n";
}
echo " *********<br/>\n";
}
$x = 4 ;
show_pass_value("one", "two", 3 , $x, " ห้า" , " หก") ;
show_pass_value();
?>
ผลลัพธ์
จำนวนพารามิเตอร์ 6
>> ใช้ฟังก์ชัน func_get_arg
พารามิเตอร์ที่ 0 ค่า: one
พารามิเตอร์ที่ 1 ค่า: two
พารามิเตอร์ที่ 2 ค่า: 3
พารามิเตอร์ที่ 3 ค่า: 4
พารามิเตอร์ที่ 4 ค่า: ห้า
พารามิเตอร์ที่ 5 ค่า: หก
>> ใช้ฟังก์ชัน func_get_args
พารามิเตอร์ที่ 0 ค่า: one
พารามิเตอร์ที่ 1 ค่า: two
พารามิเตอร์ที่ 2 ค่า: 3
พารามิเตอร์ที่ 3 ค่า: 4
พารามิเตอร์ที่ 4 ค่า: ห้า
พารามิเตอร์ที่ 5 ค่า: หก
*********
จำนวนพารามิเตอร์ 0
*********

Scope

เมื่อต้องการใช้ตัวแปรภายในไฟล์ที่รวม ต้องมีการประกาศตัวแปรเหล่านั้นก่อนประโยคคำสั่ง require () หรือ include () แต่เมื่อใช้ฟังก์ชันจะเป็นการส่งผ่านตัวแปรเชิงประจักษ์เหล่านั้นไปยังฟังก์ชัน บางส่วนเป็นเพราะไม่มีกลไกส่งผ่านตัวแปรเชิงประจักษ์ไปยังไฟล์ที่รวม และบางส่วนเป็นเพราะ scope ของตัวแปรของฟังก์ชันแตกต่างกัน
การควบคุม scope ของตัวแปรเป็นการทำให้ตัวแปรมองเห็นได้ ใน PHP มีกฎตั้งค่า scope ดังนี้
  • การประกาศตัวแปรภายในฟังก์ชันอยู่ใน scope จากประโยคคำสั่งซึ่งตัวแปรให้รับการประกาศภายในวงเล็บปีกกา สิ่งนี้เรียกว่า function scope ตัวแปรเรียกว่า local variable
  • การประกาศตัวแปรภายนอกฟังก์ชันอยู่ใน scope จากประโยคคำสั่งซึ่งตัวแปรได้รับการประกาศที่สิ้นสุดแต่ไม่ใช้ภายในฟังก์ชัน สิ่งนี้เรียกว่า global scope ตัวแปรเรียกว่า global variable
  • การใช้ประโยคคำสั่ง require () และ include () ไม่มีผลกับ scope ถ้าประโยคคำสั่งได้รับการใช้ภายในฟังก์ชัน ประยุกต์ด้วย function scope ถ้าไม่ได้อยู่ภายในฟังก์ชัน ประยุกต์ด้วย global scope
  • คีย์เวิร์ด global สามารถระบุได้เองเพื่อกำหนดหรือใช้ตัวแปรภายในฟังก์ชันให้มี scope เป็น global
  • ตัวแปร สามารถลบโดยการเรียก unset ($variable_name) และตัวแปรที่ unset จะไม่มี scope
  • ตัวแปรระดับ superglobal สามารถเข้าถึงได้ทุกส่วนในสคริปต์

ตัวแปรระดับฟังก์ชัน

ตัวแปรระดับฟังก์ชันหรือ local variable เป็นการประกาศเพื่อใช้เฉพาะภายในฟังก์ชัน ไม่สามารถเรียกจากภายนอกฟังก์ชันได้
<?php
$newline = <<<NLSTRING
<br/>\n
NLSTRING;
$var_global = 10 ;
function show_value()
{
global $newline;
$var_local= 75 ;
echo "\$var_local 1: $var_local";
echo $newline;
}
show_value();
echo "\$var_global : $var_global";
echo $newline;
echo "\$var_local 2: $var_local";
echo $newline;
?>
ผลลัพธ์
$var_global 1 :
$var_local 1: 75
$var_global 2: 10
$var_local 2:
ตามตัวอย่างนี้ ตัวแปรระดับฟังก์ชัน $var_local ไม่สามารถแสดงผลในการพิมพ์ภายนอกฟังก์ชัน show_value() และ $var_global ที่เป็นตัวแปรระดับ global ไม่สามารถแสดงผลภายใน show_value() เพราะมี scope ต่างกัน

ตัวแปรระดับ global

ถ้าต้องการนำตัวแปรระดับ global มาใช้ภายในฟังก์ชันต้องประกาศด้วยคีย์เวิร์ด global ก่อนประโยคคำสั่งที่ใช้ตัวแปรนั้น ตัวอย่าง ฟังก์ชัน show_value() ใช้ $newline จากภายนอกฟังก์ชัน
global $newline;

ตัวแปรสถิตย์

การประกาศตัวแปรสถิตย์ใช้ คีย์เวิร์ด static เมื่อมีการเรียกใช้ฟังก์ชัน โปรแกรมจะกำหนดค่าตัวแปรตามที่ระบุเพียงครั้งเดียว ถ้าเรียกซ้ำอย่างต่อเนื่องค่านี้จะเปลี่ยนแปลงตามการคำนวณ
<?php
function increment()
{
static $increase = 5 ;
$increase++;
echo $increase."<br/>\n";
}
$end = 5 ;
for ($i = 1 ; $i < $end; $i++)
    increment();
?>
ผลลัพธ์
6
7
8
9
ค่าของตัวแปรสถิตย์ได้รับการตั้งทุกครั้งเมื่อเรียกใช้ในครั้งต่อไป

การส่งออกค่าจากฟังก์ชัน

การส่งค่าออกจากฟังก์ชันใช้คีย์เวิร์ด return เช่นเดียวกับการออกจากฟังก์ชันได้ ถ้าไม่มีการระบุส่งออกฟังก์ชันจะส่งค่า NULL
ตัวอย่าง ฟังก์ชัน get_larger () สาธิตการส่งออกค่า
<?
function get_larger($x=NULL, $y=NULL)
{
if (!isset($x) || !isset($y))
    return " ไม่มีการส่งค่า" ;
if ($x > $y)
    return $x;
else if ($x < $y)
    return $y;
else
    return " ค่าเท่ากัน" ;
}
$sends = array();
$sends[0] = array('x' =>5);
$sends[1] = array('x' =>9, 'y'=>3);
$sends[2] = array('x' =>5, 'y'=>8);
$sends[3] = array('x' =>4, 'y'=>4);
foreach ($sends as $send)
{
echo "x = ".$send['x']." y = ".$send['y']." : ค่า - > "
.get_larger($send['x'], $send['y']);
echo "<br/>\n";
}
?>
ผลลัพธ์
x = 5 y = : ค่า - > ไม่มีการส่งค่า
x = 9 y = 3 : ค่า - > 9
x = 5 y = 8 : ค่า - > 8
x = 4 y = 4 : ค่า - > ค่าเท่ากัน
ฟังก์ชันที่ทำงานอาจเดียว แต่ไม่จำเป็นต้องส่งออกค่า มักจะส่งออก TRUE หรือ FALSE เพื่อระบุความสำเร็จหรือล้มเหลว ค่า TRUE หรือ FALSE สามารถได้รับการแสดงแทนด้วย 1 หรือ 0

Recursion

recursion ได้รับการสนับสนุนใน PHP ฟังก์ชันชนิดนี้เป็นการเรียกตัวเองและเป็นประโยชน์กับการบังคับโครงสร้างข้อมูลไดนามิคส์ เช่น รายการเชื่อมโยงและโครงสร้างต้นไม้ (tree)
โปรแกรมประยุกต์เว็บจำนวนไม่มากต้องการโครงสร้างข้อมูลซับซ้อนมากและจำกัดการใช้ เนื่องจาก recursion ช้ากว่าและใช้หน่วยความจำมากกว่าการทำงานวนรอบ ดังนั้นควรเลือกการทำงานแบบวนรอบปกติ ถ้าเป็นไปได้
ตัวอย่างการประยุกต์แบบย้อนกลับตัวอักษร
<?php
function word_reverse_r($str)
{
if (strlen($str)>0)
    word_reverse_r(substr($str, 1));
echo substr($str, 0, 1);
return;
}
function word_reverse_i($str)
{
for ($i=1; $i<=strlen($str); $i++)
{
echo substr($str, -$i, 1);
}
return;
}
?>
รายการคำสั่งของ 2 ฟังก์ชันนี้จะพิมพ์ข้อความย้อนกลับ ฟังก์ชัน word_reverse_r เป็น recursion ฟังก์ชัน word_reverse_i เป็นการวนรอบ
ฟังก์ชัน word_reverse_r ใช้ข้อความเป็นพารามิเตอร์ เมื่อมีการเรียกฟังก์ชันนี้ จะเกิดการเรียกตัวเองแต่ละครั้งส่งผ่านตัวอักษรที่ 2 ไปถึงตัวอักษรสุดท้าย
การเรียกฟังก์ชันแต่ละครั้งจะทำสำเนาใหม่ของคำสั่งในหน่วยความจำของแม่ข่าย แต่ด้วยพารามิเตอร์ต่างกัน ดังนั้นจึงเหมือนกับการเรียกคนละฟังก์ชัน

วันพฤหัสบดีที่ 25 กันยายน พ.ศ. 2557

ระบบการสื่อสารและเครือข่ายคอมพิวเตอร์


ระบบเครือข่าย (Network System) หมายถึง การเชื่อมต่อคอมพิวเตอร์ ตั้งแต่ 2 เครื่องขึ้นไปเข้าด้วยกัน เช่น กา
รเชื่อมต่อเครื่องคอมพิวเตอร์ภายในห้องเรียน ภายในองค์กร ระหว่าง อาคาร ระหว่างเมืองต่าง ๆ ตลอดไปจนถึงการเชื่อมต่อคอมพิวเตอร์ทั่วทั้งโลกที่เรียกว่า "อินเทอร์เน็ต" (Internet)การติดต่อสื่อสารข้อมูลในปัจจุบันมีรากฐานมาจากความพยายามในการเชื่อมต่อระหว่างคอมพิวเตอร์กับคอมพิวเตอร์เข้าด้วยกันโดยอาศัยระบบการสื่อสาร ต่อมาเมื่อมีการใช้คอมพิวเตอร์มากขึ้นความต้องการในการติดต่อระหว่างคอมพิวเตอร์หลายเครื่องในเวลาเดียวกัน เรียกว่า ระบบเครือข่าย (Network System)
ระบบสำนักงานอัตโนมัติ (Office Automation System) เป็นวิธีการทางด้านการสื่อสารข้อมูล ที่กำลังได้รับการนำมาประยุกต์ใช้ในระบบสำนักงาน ซึ่งเป็นระบบที่มี บุคคลากรในการทำงานน้อยที่สุดโดยอาศัยเครื่องมือแบบอัตโนมัติและระบบสื่อสารเชื่อมโยงข่าวสาร ระหว่างเครื่องมือเข้าด้วยกัน สำนักงานที่จัดว่าเป็นสำนักงานอัตโนมัติประกอบด้วยองค์ประกอบสำคัญ คือ
Networking System
คือ ระบบข่ายงานที่เชื่อมโยงระบบคอมพิวเตอร์ระหว่างกันทั่วองค์กร
Electronic Data Interchange
คือ การสื่อสารข้อมูลข่าวสารระหว่างกัน โดยอาศัยสัญญาณข้อมูลข่าวสาร
แบบอิเล็กทรอนิกส์ผ่านระบบข่ายงาน
Internet Working
คือ การรวมตัวกันของระบบข่ายงานที่กระจายอยู่ทั่วโลก จนกลายเป็นเครือข่ายขนาดใหญ่
Paperless System
คือ ระบบที่ไม่ใช้กระดาษบทบาทที่สำคัญอีกบทบาทหนึ่งคือการให้บริการข้อมูล








ประโยชน์ของการสื่อสารข้อมูล


1.
จัดเก็บข้อมูลได้ง่ายและสื่อสารได้รวดเร็ว


2.
ความถูกต้องของข้อมูล


3.
ความเร็วของการทำงาน


4.
ประหยัดต้นทุน

มาตรฐานสำหรับระบบเครือข่ายคอมพิวเตอร์
    การทำงานในสำนักงานจำเป็นต้องมีการแลกเปลี่ยนข้อมูลระหว่างกัน โต๊ะทำงานแต่ละตัวจะเป็นเสมือนจุดหนึ่งของการประมวลผล การวิเคราะห์ การแยกแยะข้อมูลและส่งให้โต๊ะอื่นๆ หรือหน่วยอื่น ๆ ต่อไป การเชื่อมโยงเครือข่ายทำให้เกิดเป็นระบบแห่งการประมวลผล หรือทำให้คอมพิวเตอร์หลาย ๆ ระบบเชื่อมเข้าด้วยกัน ระบบสำนักงานอัตโนมัติจึงเป็นเรื่องของการประมวลผลในจุดต่าง ๆ แล้วส่งข้อมูลถึงกันผ่านทางเครือข่ายคอมพิวเตอร์ เหตุผลของการเชื่อมโยงเครือข่ายคอมพิวเตอร์เข้าหากัน เนื่องจากราคาของคอมพิวเตอร์ถูกลงและมีความต้องการเพิ่มขีดความสามารถของระบบโดยรวม เพราะอุปกรณ์คอมพิวเตอร์เพียงอย่างเดียวก็ทำงานได้ในตัวเองอย่างหนึ่ง แต่เมื่อรวมกันจะทำงานได้เพิ่มขึ้นและสามารถใช้ทรัพยากรร่วมกันและแลกเปลี่ยนข้อมูลระหว่างกันได้ การส่งข้อมูลระหว่างคอมพิวเตอร์ในระบบเครือข่าย จำเป็นต้องมีมาตรฐานกลางที่ทำให้คอมพิวเตอร์และอุปกรณ์ต่างรุ่น ต่างยี่ห้อ ทุกเครื่องหรือทุกระบบสามารถเชื่อมโยงกันได้ ในระบบเครือข่าย จะมีการดำเนินพื้นฐานต่าง ๆ กัน เช่น การรับส่งข้อมูล การเข้าใช้งานเครือข่าย การพิมพ์งานโดยใช้อุปกรณ์ของเครือข่าย เป็นต้น องค์กรว่าด้วยเรื่องมาตรฐานระหว่างประเทศ จึงได้กำหนด มาตรฐานการจัดระบบการเชื่อมต่อสื่อสารเปิด (Open Systems Interconnection : OSI) ซึ่งเป็นมาตรฐานที่ใช้ในการรับส่งข้อมูลระหว่าง 2 ปลายทางใด ๆ บนเครือข่ายระบบสื่อสาร มีการแบ่งออกเป็นระดับ (Layer) ได้ 7 ระดับ โดยแต่ละระดับจะมีการกำหนดมาตรฐานในการติดต่อเป็นของตัวเอง และระดับหนึ่งจะติดต่อกับระดัที่เท่ากันของอีกปลายหนึ่ง ระดับที่สูงกว่าจะสั่งงานและรับข้อมูลที่ประมวลผลแล้วจากระดับที่ต่ำกว่า โดยไม่จำเป็นต้องทราบรายละเอียดของระดับที่ต่ำกว่า





  การสื่อสารในระดับต่าง ๆ จะอาศัยการควบคุมเพื่อให้ระบบการทำงานนั้นเป็นไปอย่างถูกต้องมีมาตรฐานโดยการสื่อสารข้อมูลแบบแพ็กเก็ต จะเกี่ยวพันกับ 3 ระดับล่าง ซึ่งได้แก่
1. ระดับฟิสิคัล (Physical Layer) เป็นระดับที่เกี่ยวข้องกับการรับข้อมูลเป็นบิต ซึ่งเกี่ยวข้องกับระดับแรงดันไฟฟ้าช่วงความถี่ คาบเวลา
2. ระดับดาต้าลิงค์ (Data Link Layer) เป็นระดับที่ทำการแปลงการรับส่งข้อมูล ที่มีความไม่แน่นอนให้แน่นอนขึ้น โดยการจัดรูปแบบข้อมูลเป็นบล็อก เช่น เฟรม (Frame) พร้อมทั้งมีการตรวจสอบข้อผิดพลาด
3. ระดับเนตเวอร์ค (Network Layer) ทำการส่งข้อมูลเป็นแพ็กเก็ตเข้าไปในเนตเวอร์ค แพ็กเก็ตก็อาจเดินทางไปอย่างอิสระ โดยมีการจ่าหน้าแอดเดรสของผู้รับและผู้ส่งวิธีนี้เรียกว่าDatagrame

ปัจจุบันมีผู้ใช้อินเทอร์เน็ตจำนวนมากทั่วโลก แต่ละคนก็ใช้คอมพิวเตอร์ต่างแบบต่างรุ่นกัน ดังนั้นการสื่อสารระหว่างเครื่องคอมพิวเตอร์จะต้องอาศัยภาษากลางที่คอมพิวเตอร์สามารถเข้ากันกันได้ ซึ่งภาษากลางนี้มีชื่อทางเทคนิคว่า "โปรโตคอล" (Protocol)สำหรับโปรโตคอลมาตรฐานที่ใช้ใน การสื่อสารบนอินเทอร์เน็ตมีชื่อเรียกว่าTCP/IPซึ่งได้แพร่หลายไปทั่วโลกพร้อมๆ กับเครือข่าย อินเทอร์เน็ต และเป็นโปรโตคอลที่กำลังได้รับความนิยมอย่างมากในปัจจุบัน

การทำงานของโปรโตคอล TCP/IP จะแบ่งข้อมูลที่เครื่องคอมพิวเตอร์ส่งไปยังเครื่องอื่นไปส่วนย่อยๆ(เรียกว่า แพ็คเก็ต : packet) และส่งไปตามเครือข่ายอินเตอร์เน็ต โดยการกระจายแพ็กเก็ตเหล่านั้นไปหลายทาง โดยในแต่ละเส้นทางจะไปรวมกันที่จุดปลายทาง และถูกนำมารวมกันเป็นข้อมูลที่สมบูรณ์อีกครั้งหนึ่ง
       รูปแบบการทำงานของโปรโตคอล TCP/IP ที่มีการแบ่งข้อมูลและจัดส่งเป็นส่วนย่อย จะสามารถช่วยป้องกันความผิดพลาดที่อาจเกิดขึ้นในการติดต่อสื่อสารได้ เพราะถ้าข้อมูลเกิด สูญหายก็จะเกิดเป็นเพียงบางส่วนเท่านั้นมิใช่หายไปทั้งหมด ซึ่งคอมพิวเตอร์ปลายทางสามารถ ตรวจหาข้อมูลที่สูญหายไปได้ และติดต่อให้คอมพิวเตอร์ต้นทางส่งเพียงเฉพาะข้อมูลที่หายไปมาใหม่อีกครั้งได้  โปรโตคอล TCP/IP ถูกคิดค้นโดยรัฐบาลสหรัฐและถูกนำมาใช้กับเครือข่ายคอมพิวเตอร์ เพี่อป้องกันความเสียหายที่อาจเกิดขึ้นได้ เช่น ในกรณีที่ศูนย์คอมพิวเตอร์ใหญ่ในรัฐใดรัฐหนึ่งถูกโจมตีจนได้รับความเสียหาย เครือข่ายคอมพิวเตอร์ส่วนที่เหลือก็ยังสามารถติดต่อถึงกันได้อยู่ เพราะข้อมูลจะถูกโอนย้ายไปตามเส้นทางอื่นในเครือข่ายแทน





 




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

1.
เครือข่ายเฉพาะที่ (Local Area Network :LAN)

2.
เครือข่ายเมือง (Metropolitan Area Network :MAN)

3.
เครือข่ายบริเวณกว้าง ( Wide Area Network :WAN )






 การต่อเชื่อมเครือข่ายคอมพิวเตอร์ระยะใกล้


หากต้องการที่จะนำเอาเครื่องคอมพิวเตอร์ส่วนบุคคลมาต่อเป็นระบบ โดยใช้ขีดความสามารถเดิมที่มีอยู่ สามารถทำได้ด้วยวิธีการง่าย ๆ ดังนี้
1. การเชื่อมต่อผ่านช่องทาง Com1, Com2 และ LPT เป็นวิธีที่นำคอมพิวเตอร์ที่มีอยู่ต่อผ่านช่องทาง COM1 หรือ COM2 เพื่อการเคลื่อนย้ายข้อมูลระหว่างกัน

2.
การเชื่อมต่อเข้ากับบัฟเฟอร์เครื่องพิมพ์ เป็นการแบ่งกันใช้เครื่องพิมพ์เพื่อให้การใช้ทรัพยากรเครื่องพิมพ์ (Printer) เกิดประโยชน์มากขึ้น

3.
การเชื่อมต่อโดยใช้ระบบสลับสายข้อมูล เป็นวิธีการต่อขยายระบบแบบง่าย ๆ ที่ใช้มือช่วยระบบสลับสายข้อมูลทำหน้าที่เหมือนชุมสายโทรศัพท์

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


โครงสร้างระบบเครือข่ายคอมพิวเตอร์ (Network Topology)
    เครือข่ายแบบบัส (Bus Network) เป็นเครือข่ายที่เชื่อมต่อคอมพิวเตอร์และอุปกรณ์ต่าง ๆ ด้วยสายเคเบิลยาวต่อเนื่องไปเรื่อย ๆ โดยจะมีคอนเน็กเตอร์เป็นตัวเชื่อมต่อคอมพิวเตอร์ และอุปกรณ์เข้ากับสายเคเบิล ในการส่งข้อมูลจะมีคอมพิวเตอร์เพียงตัวเดียวเท่านั้นที่สามารถส่งข้อมูลได้ในช่วงเวลาหนึ่งๆ

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

   เครือข่ายแบบวงแหวน (Ring Network) เป็นเครือข่ายที่เชื่อมต่อ คอมพิวเตอร์ด้วยสายคเบิลยาวเส้นเดียวในลักษณะวงแหวน การรับส่งข้อมูลในเครือข่ายวงแหวน จะใช้ทิศทางเดียวเท่านั้น เมื่อคอมพิวเตอร์เครื่องหนึ่งส่งข้อมูลมันก็จะส่งไปยังคอมพิวเตอร์เครื่องถัดไป ถ้าข้อมูลที่รับมาไม่ตรงตามที่คอมพิวเตอร์เครื่องต้นทางระบุ ก็จะส่งผ่านไปยังคอมพิวเตอร์เครื่องถัดไปซึ่งจะเป็นขั้นตอน อย่างนี้ไปเรื่อย ๆ จนกว่าจะถึงคอมพิวเตอร์ปลายทางที่ถูกระบุตามที่อยู่จากเครื่องต้นทาง

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









องค์ประกอบของเครือข่าย ประกอบด้วย
ฮาร์ดแวร์ (Hardware)
คอมพิวเตอร์ (Client Computer)
เซอร์เวอร์ (Server)
ฮับ (Hub)
บริดจ์ (Bridge)
เราท์เตอร์ (Router)
เกตเวย์ (Gateway)
โมเด็ม (Modem)
เน็ตเวอร์คการ์ด (Network Card)
ซอฟต์แวร์ (Software)


ระบบปฏิบัติการของระบบเครือข่าย (Network Operating Sytems) แอบพลิเคชั่นของเครือข่าย (Network Application Sytems)


ตัวนำข้อมูล (Media Transmission)


สายส่งข้อมูล หรือ Cable เป็นอุปกรณ์อย่างหนึ่งในระบบ Network ที่ใช้เป็นทางเดินของข้อมูลระหว่าง Workstation กับ Server มีลักษณะคล้ายสายไฟหรือสายโทรศัพท์แล้วแต่ชนิด ของ Cable แต่การเลือกใช้ Cable นั้นควรคำนึงถึงความปลอดภัย (Safety) และคลื่นรบกวน (Interference) เป็นสำคัญ สายส่งข้อมูลที่ดีไม่ควรเป็น ตัวนำไฟ เมื่อเกิดอัคคีภัยขึ้น และสามารถ ป้องกันคลื่นรบกวนจากอำนาจแม่เหล็ก และคลื่นวิทยุได้ ลักษณะของสายส่งข้อมูล แบ่งได้ดังนี้


สาย Coaxial Cable หรือ สาย Coax นอกจากใช้ในระบบ Network แล้วยังสามารถ นำไปใช้กับระบบTV และ Mainframe ได้ด้วย สาย Coax นั้นเป็นสายที่ประกอบไปด้วยแกนของ ทองแดงหุ้มด้วยฉนวน และสายดิน (ลักษณะเป็นฝอย) หุ้มด้วยฉนวนบางอีกชั้นหนึ่ง ในปัจจุบันได้เปลี่ยนจากลวดทองแดงมาเป็นลวดเงินที่พันกันหลาย ๆ เส้นแทน ทั้งนี้เพื่อป้องกันการรบกวน ที่เรียกว่า "Cross Talk" ซึ่งเป็นการรบกวนที่เกิดจากสายสัญญาณข้างเคียง


สาย Twisted Pair Cable เป็นสายส่งสัญญาณที่ประกอบไปด้วยสายทองแดง 2 เส้น ขึ้นไปบิดกันเป็นเกลียว (Twist) แล้วหุ้มด้วยฉนวน โดยแบ่งเป็น 2 แบบคือ แบบมี Shield และ แบบไม่มี Shield จะมีฉนวนในการป้องกันสัญญาณรบกวน หรือระบบป้องกันสัญญาณรบกวน โดยเรียกสาย Cable ทั้งสองนี้ว่า "Shielded Twisted Pair (STP)" และ "Unshielded Twisted Pair (UTP)"


สาย Shielded Twisted Pair (STP) หรือที่เรียกว่า "สายคู่บิดเกลียวชนิดหุ้มฉนวน" เป็นสายคู่บิดเกลียวที่หุ้มด้วยฉนวนชั้นนอกที่หนาอีกชั้นหนึ่ง เพื่อป้องกันการรบกวนของคลื่น แม่เหล็กไฟฟ้า


วันจันทร์ที่ 16 มิถุนายน พ.ศ. 2557

หน่วยความจำหลัก 
          หน่วยความจำหลัก มีหน้าที่เป็นแหล่งเก็บข้อมูลการทำงานของคอมพิวเตอร์
 ซึ่งรวมทั้งตัวคำสั่งในโปรแกรมและข้อมูลต่างๆ ที่จะใช้ในเครื่องคอมพิวเตอร์ขณะ
กำลังทำงานอยู่ แบ่งออกเป็น 2 ประเภท ดังนี้  
          1. แรม (Random Access Memory : RAM) เป็นหน่วยความจำที่เก็บ
ข้อมูลสำหรับใช้งานทั่วไป  การอ้างอิงตำแหน่งที่อยู่ของข้อมูลใดๆ เพื่อการเขียน
และการอ่านจะกระทำแบบการเข้าถึงโดยสุ่มคือ เรียกไปที่ตำแหน่งที่อยู่ข้อมูลใด
ก็ได้ หน่วยความจำนี้เรียกว่า แรม หน่วยความจำประเภทนี้จะเก็บข้อมูลไว้ตราบเท่า
ที่มีกระแสไฟฟ้ายังจ่ายให้วงจร หากไฟฟ้าดับเมื่อใด ข้อมูลก็จะสูญหายทันที
          เครื่องพีซีคอมพิวเตอร์ในปัจจุบันนี้ ถ้ามีหน่วยความจำแรมมากๆ จะทำให้
สามารถใช้งานโปรแกรมที่มีขนาดใหญ่ๆ ได้ดีด้วย หน่วยความจำที่นิยมในปัจจุบัน
จะประมาณ 32, 64, 128, 256 เมกะไบต์ เป็นต้น
          2.  รอม (Read Only Memory : ROM) เป็นหน่วยความจำอีกประเภท
หนึ่งที่มีการอ้างอิงตำแหน่งที่อยู่ข้อมูลแบบเข้าถึง โดยสุ่มหน่วยความจำประเภทนี้มี
ไว้เพื่อบรรจุโปรแกรมสำคัญบางอย่าง เพื่อว่าเมื่อเปิดเครื่องมา ซีพียูจะเริ่มต้นทำงาน
ได้ทันทีข้อมูลหรือโปรแกรมที่เก็บไว้ในรอมจะถูกบันทึกมาก่อนแล้ว ผู้ใช้สามารถ
อ่านข้อมูลได้ แต่ไม่สามารถเขียนข้อมูลใดๆ ลงไปได้ซึ่งข้อมูลหรือโปรแกรม
ที่อยู่ในรอมนี้จะอยู่อย่างถาวร แม้จะปิดเครื่องข้อมูลหรือโปรแกรมก็จะไม่ถูกลบไป     
       ไมโครคอมพิวเตอร์แต่ละเครื่องอาจมีขนาดของหน่วยความจำหลัก
แตกต่างกันตามแต่ความต้องการ ปัจจุบันเครื่องไมโครคอมพิวเตอร์มีหน่วยความจำ
ที่มีความจุมากขึ้น เพื่อให้สามารถบรรจุโปรแกรมขนาดใหญ่ได้