วันอาทิตย์ที่ 28 ธันวาคม พ.ศ. 2557

การเขียนโปรแกรมภาษา C

            ในการเขียนโปรแกรมคอมพิวเตอร์ เขียนโปรแกรมจะต้องเข้าใจหลักเกณฑ์ของภาษา
โปรแกรม และระบบการทำงานของคอมพิวเตอร์ ว่ามีโครงสร้างและวิธีการใช้คำสั่งอย่างไร ซึ่งในการเขียนโปรแกรมคอมพิวเตอร์ มีหลักเกณฑ์การเขียนโปรแกรม ประกอบด้วย 5 ขั้นตอนดังนี้คือ
                         1. ทำความเข้าใจและวิเคราะห์ปัญหา
                         2. กำหนดแผนในการแก้ปัญหา
                         3. เขียนโปรแกรมตามแผนที่กำหนด
                         4. ทดสอบและตรวจสอบความถูกต้องของโปรแกรม
                         5. นำโปรแกรมที่ผ่านการทดสอบไปใช้งาน
ทำความเข้าใจและวิเคราะห์ปัญหา
           ผู้เขียนโปรแกรมจะต้องทำความเข้าใจและทำการวิเคราะห์ปัญหาเปํนลำดับแรก เพราะการทำความเข้าใจและวิเคราะห์ปัญหาเป็นสิ่งที่สำคัญโดยที่ผู้เขียนโปรแกรมจะต้อง
วิเคราะห์ปัญหาร่วมกับนักวิเคราะห์ระบบว่าโจทย์ต้องการผลลัพธ์อะไร และการให้ได้มาซึ่งผลลัพธ์นั้น ต้องป้อนข้อมูลอะไรบ้าง และเมื่อป้อนข้อมูลเข้าไปแล้ว
จะทำการประมวลผลอย่างไร สิ่งหล่านี้ผู้เขียนโปรแกรมจะต้องทำความเข้าใจให้ถูกต้อง เพราะถ้าผู้เขียนโปรแกรมวิเคราะห์ปัญหาไม่ถูกต้อง ผลลัพธ์ที่ได้ออกมาก็อาจจะไม่ตรงกับ
ความต้องการของโจทย์ได้

กำหนดแผนในการแก้ปัญหา
             หลังจากทำความเข้าใจและวิเคราะห์ปัญหาโจทย์จนได้ข้อสรปุว่าโจทย์ต้องการอะไรแล้ว
ผู้เขียนโปรแกรมก็จะทำการกำหนดแผนในการแก้ไขปัญหาโดยการเขียนผังงาน (Flowchart) ซึ่งการเขียนผังงานคือการเขียนแผนภาพที่เป็นลำดับ เพื่อแสดงขั้นตอนการทำงาน
ของโปรแกรมเพื่อให้ง่ายต่อการทำความเข้าใจ การเขียนผังงานมี 3 แบบคือ แบบเรียงลำดับ(Sequential) แบบมีการกำหนดเงื่อนไข(Condition) และแบบมีการทำงานวนรอบ(Looping)  ซึ่งสัญลักษณ์ของผังงาน(Flowchart Symbol)
มีดังนี้คือ
สัญลักษณ์
ความหมาย
เริ่มต้นทำงาน
กำหนดค่าหรือประมวลผล
รับข้อมูลและแสดงผลข้อมูล
รับข้อมูลทางแป้นพิมพ์
การตัดสินใจ
ใช้แสดงผลข้อมูลทางจอภาพ
ใช้แสดงผลข้อมูลออกทางเอกสาร
ทิศทางการดำเนินงาน
ตัวเชื่อมต่อภายในหน้าเดียวกัน
ตัวเชื่อมต่อไปหน้าอื่น


 
             โปรแกรมภาษาซีมีองค์ประกอบที่สำคัญ 2 ส่วนคือไฟล์ส่วนหัวโปรแกรม และไฟล์โปรแกรม ไฟล์ส่วนหัวโปรแกรมเป็นไฟล์ที่ใช้เก็บไลบราลีเพื่อใช้รวม (include) ในการคอมไพล์โปรแกรมซึ่งจะมีส่วนขยายเป็น *.h มีชื่อเรียกว่า Compiler Directive ไฟล์โปรแกรมจะเริ่มต้นด้วยฟังก์ชัน main() และตามด้วยเครื่องหมายปีกกาเปิด เพื่อเริ่มต้นเขียนโปรแกรม การเขียนโปรแกรมจะต้องเขียนด้วยอักษาภาษาอังกฤษตัวพิมพ์เล็กเสอม และเมื่อจบประโยคคำสั่ง จะใช้เครื่องหมายเซมิโคล่อน ( ; ) ในการคั่นแต่ละคำสั่ง ภายในโปรแกรมจะประกอบด้วยฟังก์ขันและส่วนของคำอธิบาย เมื่อเขียนคำสั่งเสร็จจะปิดท้ายโปรแกรมด้วยเครื่องหมายปีกกาปิดเสมอ
รูปภาพ แสดงโครงสร้างของโปรแกรมภาษาซี
#include<library>/* ไฟล์ส่วนหัวโปรแกรม*/
void main(void)/*ฟังก์ชันหลักของโปรแกรม*/
{/*เริ่มต้นการเขียนโปรแกรมด้วยเครื่องหมายปีกกาเปิด*/
    variable declaration;/*การประกาศค่าตัวแปรที่ใช้ในโปรแกรม*/
    program statement;/*ประโยคคำสั่งในโปรแกรม*/
}/*จบการเขียนโปรแกรมด้วยเครื่องหมายปีกกาปิด*/


#include<library>
เป็นส่วนหัวหัวโปรแกรมที่จะต้องเขียนไว้เพื่อให้ใช้งานฟังก์ชันต่างๆ ในกรณีที่ต้องการทราบว่าฟังก์ชันใดถูกนิยามไว้ที่ใดให้ทำแถบสีที่ฟังก์ชันดังกล่าวและกดปุ่ม Ctrl+f1
main
เป็นฟังก์ชันหลักของโปรแกรม
( )
ภายในวงเล็บเป็นค่าพารามิเตอร์ที่จะส่งผ่านไปทำงานยังฟังก์ชันอื่นๆ ถ้าไม่มีการ
ใส่ค่าแสดงว่าไม่ต้องการมีค่าพารามิเตอร์
{
ปีกกาเปิดแสดงการเริ่มต้นการเขียนโปรแกรม
variable declarations
ประกาศตัวแปร
program statement
การเขียนประโยคคำสั่ง
}
ปีกกาปิดแสดงการจบการเขียนโปรแกรม
/*ข้อความ*/
คำอธิบายโปรแกรม ใช้ในการอธิบายความหมายของคำสั่งหรือสิ่งที่ต้องการเขียน
ไว้กันลืมจะไม่มีผลใดๆกับโปรแกรม แต่การเขียนจะต้องเริ่มต้นด้วยเครื่องหมาย /* และจบด้วยเครื่องหมาย*/
 
               ตัวแปร (variable)  คือชื่อที่ผู้เขียนโปรแกรมตั้งขึ้น เพื่อใช้เก็บค่าที่ต้องการนำมาใช้งานในการเขียนโปรแกรม เพื่อทำการประมวลผลข้อมูล โดยมีกฏในการตั้งชื่อตัวแปรดังนี้

1.
ต้องขึ้นต้นด้วยตัวอักษร ตัวต่อไปอาจจะเป็นตัวอักษรหรือตัวเลขก็ได้
2.
ห้ามใช้สัญลักษณ์อื่นใด ยกเว้นเครื่องหมายสตริงก์ ($) และขีดล่าง (Underscore)
3.
ตัวแปรอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่มีความหมายแตกต่างกัน
4.
ห้ามเว้นวรรคระหว่างตัวแปร
5.
ห้ามตั้งชื่อซ้ำกับคำสงวนในภาษาซ
                ก่อนที่จะนำตัวแปรไปใช้งาน ในภาษาซีจะต้องมีการประกาศค่าตัวแปรให้สอดคล้องกับข้อมูลที่จะนำไปใช้โดยมีรูปแบบดังนี้ 

รูปแบบ
Type varible name
type
ชนิดของตัวแปร ซึ่งอาจจะป็น char, int, float, double หรือตัวแปรชนิดอื่นๆ เป็นต้น
variable name
ชื่อของตัวแปร ถ้ามีมากกว่า 1 ตัวให้ใช้เครื่องหมายคอมม่าคั่น
ตัวอย่างการประกาศตัวแปร
char n;ประกาศค่าตัวแปรชื่อ n เป็นข้อมูลชนิด character
float a,b,c;ประกาศค่าตัวแปรชื่อ a,b,c เป็นข้อมูลชนิด float
int number=1;ประกาศค่าตัวแปรชื่อ number เป็นข้อมูลชนิด integer และกำหนดให้ตัวแปร count มีค่าเท่ากับ 1
char name[15];ประกาศตัวแปรชื่อ name เป็นลักษณะตัวแปรชุดเก็บชื่อยาวไม่เกิน 15 ตัวอักษร
           
      
        ภาษาซีเป็นอีกภาษาหนึ่งที่มีชนิดของข้อมูลให้ใช้งานหลายอย่างด้วยกัน ซึ่งชนิดของข้อมูลแต่ละอย่างมีขนาด
เนื้อที่ที่ใช้ในหน่วยความจำที่แตกต่างกัน และเนื่องจากการที่มีขนาดที่แตกต่างกันนั้นเอง ทำให้มีความสามารถใน
การจัดเก็บข้อมูลแต่ละประเภทแตกต่างกันไป ดังนั้นในการเลือกงานประเภทข้อมูลก็ควรจะคำนึงถึงความจำเป็นใน
การใช้งานด้วย สำหรับประเภทของข้อมูลมีดังนี้คือ


1
ข้อมูลชนิดตัวอักษร (Character)
คือข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าจำนวนเต็ม ได้แก่ ตัวอักษร ตัวเลขและกลุ่มตัวอักขระพิเศษใช้พื้นที่ในการเก็บข้อมูล 1 ไบต ์
2

ข้อมูลชนิดจำนวนเต็ม (Integer)คือข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ และศูนย์ ข้อมูลชนิดจำนวนเต็มใช้พื้นที่ในการเก็บข้อมูล ขนาด 2 ไบต์
3
ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer)คือข้อมูลที่เป็นเลขจำนวนเต็ม ใช้พื้นที่ในการเก็บเป็น 2 เท่าของ Integer คือมีขนาด 4 ไบต ์
4
ข้อมูลชนิดเลขทศนิยม (Float)คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์
5
ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double)คือข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บข้อมูลเป็น 2 เท่าของ float คือมีขนาด 8 ไบต์


             คำสงวนคือคำที่กำหนดขึ้นในภาษาซีเพื่อให้มีความหมายอย่างใดอย่างหนึ่ง และนำไปใช้งานแตกต่างกัน การประกาศค่าตัวแปรจะต้องไม่ให้ซ้ำกับคำสงวน


Auto
Break
Case
Char
Const
Default
Do
Double
Else
Enum
Short
Signed
Sizeof
Extern
Float
For
Goto
If
Int
Long
Return
Register
Continue
While
Static
Struct
Switch
Typedef
Unon
Unsigned
Void
volatile


ฟังก์ชัน clrscr(); เป็นฟังก์ชันที่ใช้ในการลบจอภาพ


ฟังก์ชัน printf(); เป็นฟังก์ชันที่ใช้ในการแสดงผลข้อมูลที่อยู่ในตัวแปร ค่าคงที่ และนิพจน์ออกจอภาพ
ตัวอย่างที่ 1printf(“Lampang”);   ความหมาย แสดงข้อความ Lampang ออกทางจอภาพ
ตัวอย่างที่ 2printf(“%d”,num);     ความหมาย แสดงค่าตัวแปร num ในรูปเลขจำนวนเต็ม
ตัวอย่างที่ 3printf(“5.2f”,area);   ความหมาย แสดงค่าที่เก็บอยู่ในตัวแปร area โดยจองพื้นที่ไว้ 5 ช่อง
                                                ทศนิยม 2 ตำแหน่ง


ฟังก์ชัน scanf(); เป็นฟังก์ชันที่ใช้ในการรับข้อมูลจากแป้นพิมพ์เข้ามาเก็บไว้ในตัวแปร
ตัวอย่างscanf(“%d”,&num);   ความหมาย รับค่าตัวเลขจำนวนเต็มแล้วนำมาเก็บไว้ในตัวแปร num


ฟังก์ชัน getch();  เป็นฟังก์ชันที่ใช้ในการรอรับการกดแป้นพิมพ์หนึ่งครั้ง โดยไม่ต้องกดปุ่ม Enter
                          และตัวอักษรที่ป้อนเข้ามาจะไม่ปรากฏบนจอภาพ


ฟังก์ชัน getchar(); เป็นฟังก์ชันที่ใช้ในการรับข้อมูลเข้ามาทางแป้นพิมพ์ทีละ 1 ตัวอักษร แล้วกด Enter 1 ครั้ง
                            ข้อมูลที่ป้อนจะแสดงบนจอภาพ


ฟังก์ชัน gets();  เป็นฟังก์ชันที่ใช้ในการรับข้อมูลที่เป็นข้อความจากแป้นพิมพ์เข้ามาเก็บไว้ในตัวแปรแบบอาเรย์
                        การใช้ฟังก์ชัน gets(); จะต้องมีการประกาศตัวแปรแบบอาเรย์ และกำหนดจำนวนตัวอักษรที่ต้องการป้อน
                        โดยคอมพิวเตอร์จะจองพื้นที่ไว้ตามจำนวนตัวอักษร แต่จะป้อนได้น้อยกว่าที่จองไว้ 1 ตัว เพื่อให้ตัวแปรเก็บ 0
                        อีก 1 ตัว


ฟังก์ชัน textcolor();  เป็นฟังก์ชันที่ใช้ในการกำหนดสีตัวอักษร โดยจะต้องใช้ร่วมกับฟังก์ชัน cprintf ซึ่งมีสีต่างๆ ให้เลือก
                               ตัวเลขค่าสีอาจจะพิมพ์เป็นตัวเลขหรือชื่อสีเป็นภาษาอังกฤษตัวพิมพ์ใหญ่ก็ได้
ตัวอย่างที่ 1textcolor(4);
cprintf(“Lampang”);
ความหมาย แสดงข้อความ Lampang เป็นสีแดง
ตัวอย่างที่ 2textcolor(MAGENTA);
cprintf(“BANGKOK”);
ความหมาย แสดงข้อความ BANGKOK เป็นสีม่วง


ตัวเลขค่าสี
สีที่ปรากฏ
(BLACK) ดำ
(BLUE) น้ำเงิน
(GREEN) เขียว
(CYAN) ฟ้า
(RED) แดง
5
(MAGENTA) ม่วง
(BROWN) น้ำตาล
(LIGHTGRAY) เทาสว่าง
(DARKGRAY) เทาดำ
(LIGHTBLUE) น้ำเงินสว่าง
10 
(LIGHTGREEN) เขียวสว่าง
11 
(LIGHTCYAN) ฟ้าสว่าง
12 
(LIGHTRED) แดงสว่าง
13 
(LIGHTMAGENTA) ม่วงสว่าง
14 
(YELLOW) เหลือง
15
(WHITE) ขาว


ฟังก์ชัน cprintf(); เป็นฟังก์ชันที่ใช้ในการพิมพ์ข้อความเหมือนฟังก์ชัน printf แต่จะแสดงเป็นสีต่างๆ ตามที่กำหนดไว้ในฟังก์ชัน                           textcolor การใช้ฟังก์ชัน cprintf ต้องกำหนดสีของตัวอักษรใน ฟังก์ชัน textcolor ก่อน
ตัวอย่างที่ 1
textcolor(5);
printf(“Lampang”);   ความหมาย แสดงข้อความ Lampang ออกทางจอภาพ
ตัวอย่างที่ 2textcolor(15);
printf(“%d”,num);
     
ความหมาย แสดงค่าตัวแปร num ในรูปเลขจำนวนเต็ม
ตัวอย่างที่ 3textcolor(7);
printf(“5.2f”,area);
   
ความหมาย แสดงค่าที่เก็บอยู่ในตัวแปร area โดยจองพื้นที่ไว้ 5 ช่อง
                                                ทศนิยม 2 ตำแหน่ง


้ฟังก์ชัน textbackground(); เป็นฟังก์ชันที่ใช้ในการกำหนดสีพื้นให้กับตัวอักษร
ตัวอย่างtextbackground(14)ความหมาย กำหนดสีพื้นเป็นสีเหลือง


       ในส่วนของฟังก์ชัน switch จะทำการตรวจสอบตัวแปรว่ามีค่าเท่ากับ case ใด ถ้าตรงกับ case ใดก็จะทำงาน
ตามประโยคคำสั่งของ case นั้น การเปรียบเทียบของฟังก์ชัน switch ไม่สามารถเปรียบเทียบค่ามากกว่า น้อยกว่า
เหมือนฟังก์ชัน if ได้ และที่สำคัญตัวแปรที่นำมาใช้กับฟังก์ชัน switch จะต้องเป็นข้อมูลชนิดเลขจำนวนเต็ม
หรือตัวอักษรเท่านั้น ดังนั้น a1, a2 และ a3 อาจจะเป็นค่าคงที่ ตัวอักษร หรือตัวแปรก็ได้ โดยทั่วไปฟังก์ชัน
switch นิยมใช้ในการตรวจสอบเงื่อนไข จำนวนหลาย ๆ เงื่อนไขเพราะถ้าใช้ฟังก์ชัน if จะทำให้เกิดความยุ่งยากได้

รูปแบบ switch(ตัวแปร)
                  {
                     case a1;
                            ประโยคคำสั่ง 1;
                            break;
                     case a2;
                            ประโยคคำสั่ง 2;
                             break;
                      case a3;
                             ประโยคคำสั่ง 3;
                             break;
                      default;
                             ประโยคคำสั่ง ;
                    }



     ฟังก์ชัน switch จะทำการตรวจสอบเงื่อนไข case a1 ว่าถูกต้องตรงกับเงื่อนไขหรือไม่ ถ้าตรงตามเงื่อนไขจะทำงาน
ตามประโยคคำสั่งชุดที่ 1 ในกรณีที่ไม่ตรงกับ case a1 ก็จะทำการตรวจสอบเงื่อนไขไปจนถึง case สุดท้าย ถ้าไม่ตรงกับ
case ใดเลย โปรแกรมจะไปทำงานตามประโยคคำสั่งชุดที่4 ซึ่งเป็นประโยคคำสั่งที่อยู่หลัง default :

              เงื่อนไขแบบทางเลือกเดียว (ฟังก์ชัน if ทางเลือกเดียว) จะทำการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งภายในวงเล็บปีกกา แต่ถ้าเป็นเท็จจะข้ามไปทำชุดคำสั่งถัดไป ซึ่งประโยคคำสั่งภายในวงเล็บปีกกาอาจจะมีเพียงประโยคคำสั่งเดียว หรือหลายประโยคคำสั่งก็ได้ ถ้ามีเพียงประโยคคำสั่งเดียวจะไม่ใส่เครื่องหมาย ปีกกาเปิดและปิด
รูปแบบ
if (เงื่อนไข)
  {
    ประโยคคำสั่ง 1;
     ประโยคคำสั่ง 2;
     ประโยคคำสั่ง n;
   }

            
     เงื่อนไขแบบสองทางเลือก (ฟังก์ชัน if  สองทางเลือก) จะทำการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งชุดที่ 1 ถ้าเป็นเท็จจะทำงานตามประโยคคำสั่งชุดที่ 2 ที่อยู่หลัง Else


รูปแบบ         if (เงื่อนไข)
                        {
                           ประโยคคำสั่งชุดที่ 1;
                        }
                     else
                        {
                            ประโยคคำสั่งชุดที่ 2;
                        }
              
              นิพจน์คณิตศาสตร์ในโปรแกรมภาษาซี คือการนำค่าคงที่หรือตัวแปรมาเชื่อมต่อกัน ด้วยเครื่องหมายทางคณิตศาสตร์ นิพจน์คณิตศาสตร์จะมีลักษณะคล้ายกับสมการทางคณิตศาสตร์ ดังนี้
c = a * b
(10 + 5 ) * 10 % 9 = 15
(8 * a + 2 * b)/c
5 + (5 – 1 ) * 4 = 21
ลำดับการประมวลผลของนิพจน์
               ลำดับการประมวลผลของนิพจน์คณิตศาสตร์จะทำการประมวลผลในส่วนของวงเล็บก่อนในกรณีที่มีวงเล็บ จากนั้นจะคำนวณไปตามลำดับของการประมวลดังตารางข้างล่างนี้ และหากมีเครื่องหมายที่อยู่ในลำดับการประมวลผล
เดียวกันจะทำการคำนวณจากด้านซ้ายไปด้านขวา
เครื่องหมาย
ลำดับการประมวลผล
( )
1
++,--
2
* / %
3
+ -
4


ตัวอย่าง 1   (10 -34) * 5 = 35ลำดับการประมวลผล
10 - 3 = 7 แล้วคูณกับ 5 ได้ผลลัพธ์ 35
ตัวอย่าง 2   5 + 10 *2 = 25ลำดับการประมวลผล 
10 * 2 = 20 แล้วบวกดับ 5 ได้ผลลัพธ์ 25
ตัวอย่าง 3   (2 + 7) * 4 % 10 = 6
ลำดับการประมวลผล2 + 7 = 9 แล้วคูณกับ 4 ได้ 36 หารแบบเอาเศษด้วย 10 ได้ 6
ตัวอย่าง 4   2 + 7 * 4 % 10 = 10ลำดับการประมวลผล
7 * 4 = 28 แล้วหารแบบเอาเศษด้วย 10 ได้ 8 บวกกับ 2 เป็น 10
ตัวอย่าง 5   10 + 2 * 8 / 4 * 3 – 5 = 17ลำดับการประมวลผล
1. 2 * 8 = 16
2. 16 / 4 = 4
3. 4 * 3 = 12
4. 12 + 10 = 22
5. 22 – 5 = 17

วันพฤหัสบดีที่ 7 พฤศจิกายน พ.ศ. 2556

        Wow Amazing Place!

1. The Door to Hell
สถานที่ประหลาดที่สุดในโลก Unusual_door_to_hell_1Unusual_door_to_hell_2
Door to Hell หรือแปลตามตัวว่า ประตูสู่นรก ซึ่ง แท้จริงแล้วคือ ปล่องไฟจนาดยักษ์ที่มีการเผาไหม้ตลอดเวลา ตั้งอยู่ที่ เติร์กเมนิสถาน มานานกว่า 40 ปี ถูกค้นพบโดยนักธรณีวิทยา เกิดจากการขุดเจาะหลุมโพรงที่เต็มไปด้วยก๊าซธรรมชาติ และเกิดการทรุดตัวของพื้นดิน เพื่อให้ก๊าซหมดไป ต้องทำการเผาไหม้ แต่เปลวไฟดันคุกรุ่นมาจนถึงปัจจุบัน
สถานที่ประหลาดที่สุดในโลก 2. Arizona Meteor Crater
Unusual_Arizona_Meteor_1 Unusual_Arizona_Meteor_2
แอ่งอุกาบาต หนึ่ง สถานที่ประหลาด แห่ง แอริโซนา แผ่ขยายวงกว้างประมาณ 4,000 ฟุต ถือเป็นหนึ่งในโครงสร้างธรรมชาติที่ใหญ่ที่สุดในสหรัฐอเมริกา ถูกเรียกอีกชื่อหนึ่งว่า แอ่ง Barringer ตั้งจากชื่อของ Daniel Barringer ผู้ สังเกตการณ์คนแรกและสันนิษฐานว่า แอ่งนี้น่าจะเป็นผลกระทบครั้งใหญ่จากเหตุการณ์ทางธรรมชาติ ปัจจุบันกลายเป็นเขตอนุรักษ์สำคัญแห่งหนึ่งของประเทศ
สถานที่ประหลาดที่สุดในโลก 3. Rotorua, New Zealand
สถานที่ประหลาดที่สุดในโลก Rotorua Unusual_Rotorua_2
โรโตรัว เมืองริมทะเล แห่ง นิวซีแลนด์ เป็นสถานที่ท่องเที่ยวที่ มีชื่อเสียงทางภูมิศาสตร์ เนื่องจากความมหัศจรรย์ของบ่อโคลนเดือด และ น้ำพุร้อน ที่สามารถพบได้ทั่วเมือง และเป็นที่ทราบกันดีว่าเป็นเขตที่มีกลิ่นกำมะถันแรงมาก ทะเลสาบโรโตรัว เป็น ทะเลสาบที่ใหญ่เป็นอันดับสองของ North Island เกิดจากการก่อตัวของหินหนืดขนาดยักษ์ของภูเขาไฟที่ทรุดตัวลงจนกลายเป็นหลุม ยักษ์ และกักเก็บน้ำในเวลาต่อมา
สถานที่ประหลาดที่สุดในโลก 4. Don Juan Pond
Unusual_Don_Juan_Pond_1 Unusual_Don_Juan_Pond_2
Don Juan Pond ตั้งอยู่ที่ แอนตาร์กติกา มี ระดับความเค็มในน้ำสูงที่สุด ถึง 42% เมื่อเทียบกับแหล่งน้ำใดๆ ในโลก เนื่องจากความประหลาดทางสารเคมีซึ่งแทบจะไม่เคยแข็งตัวแม้แต่ในอุณหภูมิที่ ติดลบ สภาพอากาศที่ร้ายแรงมากของที่นี่กลายเป็นเรื่องที่น่าสนใจของนักวิทยาศาสตร์ ซึ่งหวังว่าจะใช้ Don Juan เป็นแหล่งวิจัยสภาพน้ำเค็มบนดาวอังคาร ซึ่งเชื่อว่าน่าจะมีความคล้ายคลึงกัน
สถานที่ประหลาดที่สุดในโลก 5. Great Dune of Pyla
สถานที่ประหลาดที่สุดในโลก Dune Unusual_Dune_of_Pila_2
Great Dune of Pyla ถือ เป็นภูมิศาสตร์ที่น่าสนใจที่สุดในฝรั่งเศส ไม่น่าเชื่อว่ายุโรปจะมีหาดทราย และนี่คือหาดทรายที่ใหญ่ที่สุดในยุโรป ซึ่งถูกล้อมรอบด้วยป่า ลักษณะโดยรวมเหมือนสันทรายทั่วไป มีการเคลื่อนตัวสูงถึง 3 หรือ 4 เมตรต่อปี บางครั้งรุนแรงถึงขั้นดูดกลืนต้นไม้ ถนน และบ้านคน อย่างไม่ปราณี!
สถานที่ประหลาดที่สุดในโลก 6. Mount Roraima
Unusual_Mount_Roraima_1 Unusual_Mount_Roraima_2
ภูเขา Roraima ประเทศ บราซิล คือ หนึ่งในภูเขาที่ประหลาดที่สุดในโลก มียอดแบนเรียบ ด้านข้างตั้งตรง มีความสูงกว่า 400 เมตร เรียกว่าสูงเทียมเมฆ จนกลายเป็นแรงบันดาลใจในการสร้างหนัง The Lost Worldและเป็นฉากหนึ่งในเรื่อง Up ทั้งยังมีอายุกว่า 2 พันล้านปี จึงพ่วงตำแหน่ง หนึ่งในภูเขาที่เก่าแก่ที่สุดในโลก
สถานที่ประหลาดที่สุดในโลก 7. Roswell, New Mexico
Unusual_Roswell_1 Unusual_Roswell_2
Roswell จากเมืองหลับใหล แห่ง นิว เม็กซิโก กลาย เป็นที่โจษจันนับตั้งแต่ปี ค.ศ. 1947 เมื่อเล่าขานกันว่ายูเอฟโอเกิดอุบัติเหตุร่วงลงสู่พื้นดินในย่านนี้ แม้รัฐบาลจะยืนยันว่าแท้จริงแล้วเป็นเพียงการทดลองการขับเคลื่อนของบอลลูน แต่ Roswell ก็ได้กลายเป็นเมืองสัญลักษณ์ของมนุษย์ต่างดาวไปซะแล้ว
สถานที่ประหลาดที่สุดในโลก 8. North Pole
Unusual_Aurora_Borealis_1 สถานที่ประหลาดที่สุดในโลก Aurora Borealis
ขั้วโลกเหนือ เป็นสถานที่สุดประหลาด ที่โดดเด่นที่สุดคือ ปรากฏการณ์ Aurora Borealis หนึ่ง ในทัศนียภาพแห่งแสงสีที่สวยมหัศจรรย์ราวกับภาพในจินตนาการ แต่สามารถสัมผัสได้ในชีวิตจริง ซึ่งในซีกโลกใต้นั้นก็มีความงามของแสงสีแบบนี้เหมือนกัน เรียกว่า Aurora Australis ทั้งสองปรากฏการณ์นี้เกิดจากการเปลี่ยนเป็นอิออนของไนโตรเจนและออกซิเจนในชั้นบรรยากาศ ไม่ต้องพึ่งความสามารถ 3D!
สถานที่ประหลาดที่สุดในโลก 9. Bermuda Triangle
Unusual_Bermuda_Triangle_1 Unusual_Bermuda_Triangle_2
ที่สุดแห่งตำนาน สามเหลี่ยมเบอร์มิวด้า สถานที่ลึกลับซึ่งอ้างกันว่า เครื่องบินและเรือจำนวนหนึ่งหายสาบสูญไปโดยไม่ทราบสาเหตุในบริเวณดังกล่าว ซึ่งครอบคลุมพื้นที่ระหว่าง ไมอามี่ เปอร์โตริโก และเกาะเบอร์มิวดาในกลางมหาสมุทรแอตแลนติก ถือเป็นเส้นทางเดินเรือที่คึกคักที่สุดในโลก
สถานที่ประหลาดที่สุดในโลก 10. Kauai, Hawaii
Unusual_Kauai_Hawaii_1
เกาะ Kauai แห่ง ฮาวาย หนึ่งในสถานที่ที่สวยที่สุดในโลก เปรียบได้กับ สวนอีเดน ใน ตำนาน งดงามด้วยผาขอบมีด ช่องแคบตามเขา และทิวทัศน์สุดตื่นตา เป็นเกาะที่ใหญ่เป็นลำดับ 4 ของหมู่เกาะฮาวาย และกลายเป็นสถานที่ท่องเที่ยวที่ทำรายได้มากที่สุดแห่งหนึ่งของเกาะ
ข้อมูล : http://www.lifeinthefastlane.ca เรียบเรียง : travel.mthai.com
http://travel.mthai.com/world-travel/43246.html