วันจันทร์ที่ 29 ธันวาคม พ.ศ. 2557

โครงสร้างภาษาซี

โครงสร้างของภาษา C


ภาษา C เป็นภาษาคอมพิวเตอร์ที่ถูกค้นคิดขึ้นโดย Denis Ritchie ในปี ค.ศ. 1970  โดยใช้ระบบปฏิบัติการของยูนิกซ์ (UNIX) นับจากนั้นมาก็ได้รับความนิยมเพิ่มขั้นจนถึงปัจจุบัน ภาษา C สามารถติดต่อในระดับฮาร์ดแวร์ได้ดีกว่าภาษาระดับสูงอื่น ๆ ไม่ว่าจะเป็นภาษาเบสิกฟอร์แทน ขณะเดียวกันก็มีคุณสมบัติของภาษาระดับสูงอยู่ด้วย ด้วยเหตุผลดังกล่าวจึงจัดได้ว่าภาษา C เป็นภาษาระดับกลาง (Middle –lever language)  ภาษา C เป็นภาษาคอมพิวเตอร์ชนิดคอมไพล์ (compiled Language) ซึ่งมีคอมไพลเลอร์ (Compiler) ทำหน้าที่ในการคอมไพล์ (Compile) หรือแปลงคำสั่งทั้งหมดในโปรแกรมให้เป็นภาษาเครื่อง (Machine Language) เพื่อให้เครื่องคอมพิวเตอร์นำคำสั่งเหล่านั้นไปทำงานต่อไป โครงสร้างของภาษา Cทุกโปรแกรมของภาษา C  มีโครงสร้างเป็นลักษณะดังรูป


    Int main (void)
{
เฮดเดอร์ไฟล์ (Header Files)
เป็นส่วนที่เก็บไลบรารี่มาตรฐานของภาษา C ซึ่งจะถูกดึงเข้ามารวมกับโปรแกรมในขณะที่กำลังทำการคอมไพล์ โดยใช้คำสั่ง
#include<ชื่อเฮดเดอร์ไฟล์> หรือ
#include  “ชื่อเฮดเดอร์ไฟล์
ตัวอย่าง
#include<stdio.h>
                เฮดเดอร์ไฟล์นี้จะมีส่วนขยายเป็น .h เสมอ และเฮดเดอร์ไฟล์เป็นส่วนที่จำเป็นต้องมีอย่างน้อย 1 เฮดเดอร์ไฟล์ ก็คือ เฮดเดอร์ไฟล์ stdio.h ซึ่งจะเป็นที่เก็บไลบรารี่มาตรฐานที่จัดการเกี่ยวกับอินพุตและเอาท์พุต
ส่วนตัวแปรแบบ Global (Global Variables)
เป็นส่วนที่ใช้ประกาศตัวแปรหรือค่าต่าง ๆ ที่ให้ใช้ได้ทั้งโปรแกรม ซึ่งใช้ได้ทั้งโปรแกรม  ซึ่งในส่วนไม่จำเป็นต้องมีก็ได้


ฟังก์ชัน (Functions)
เป็นส่วนที่เก็บคำสั่งต่าง ๆ ไว้ ซึ่งในภาษา C จะบังคับให้มีฟังก์ชันอย่างน้อย 1 ฟังก์ชั่นนั่นคือ ฟังก์ชั่น Main() และในโปรแกรม 1 โปรแกรมสามารถมีฟังก์ชันได้มากกว่า 1 ฟังก์ชั่น
ส่วนตัวแปรแบบ Local (Local Variables)
เป็นส่วนที่ใช้สำหรับประกาศตัวแปรที่จะใช้ในเฉพาะฟังก์ชันของตนเอง ฟังก์ชั่นอื่นไม่สามารถเข้าถึงหรือใช้ได้ ซึ่งจะต้องทำการประกาศตัวแปรก่อนการใช้งานเสมอ  และจะต้องประกาศไว้ในส่วนนี้เท่านั้น

ตัวแปรโปรแกรม (Statements)
เป็นส่วนที่อยู่ถัดลงมาจากส่วนตัวแปรภายใน ซึ่งประกอบไปด้วยคำสั่งต่าง ๆ ของภาษา C และคำสั่งต่าง ๆ จะใช้เครื่องหมาย ; เพื่อเป็นการบอกให้รู้ว่าจบคำสั่งหนึ่ง ๆ แล้ว ส่วนใหญ่ คำสั่งต่าง ๆ ของภาษา C เขียนด้วยตัวพิมพ์เล็ก เนื่องจากภาษา C จะแยกความแตกต่างชองตัวพิมพ์เล็กและพิมพ์ใหญ่หรือ Case Sensitive นั่นเอง ยกตัวอย่างใช้ Test, test หรือจะถือว่าเป็นตัวแปรคนละตัวกัน นอกจากนี้ภาษา C ยังไม่สนใจกับการขึ้นบรรทัดใหม่ เพราะฉะนั้นผู้ใช้สามารถพิมพ์คำสั่งหลายคำสั่งในบรรทัดเดียวกันได้ โดยไม่เครื่องหมาย ; เป็นตัวจบคำสั่ง

ค่าส่งกลับ (Return Value)
เป็นส่วนที่บอกให้รู้ว่า ฟังก์ชันนี้จะส่งค่าอะไรกลับไปให้กับฟังก์ชั่นที่เรียกฟังก์ชั่น ซึ่งเรื่องนี้ผู้เขียนจะยกไปกล่าวในเรื่องฟังก์ชั่นอย่างละเอียดอีกทีหนึ่ง

หมายเหตุ (Comment)
       เป็นส่วนที่ใช้สำหรับแสดงข้อความเพื่ออธิบายสิ่งที่ต้องการในโปรแกรม ซึ่งจะใช้เครื่องหมาย /*และ */ ปิดหัวและปิดท้ายของข้อความที่ต้องการ

การตั้งชื่อ
        การตั้งชื่อ (Identifier) ให้กับตัวแปร ฟังก์ชันหรืออื่น ๆ มีกฎเกณฑ์ในการตั้งชื่อ ดังนี้
        1.  ตัวแรกของชื่อจะต้องขึ้นต้องด้วยตัวอักษรหรือเครื่องหมาย _ เท่านั้น
        2.  ตัวอักษรตั้งแต่ตัวที่ 2 สามารถเป็นตัวเลข หรือเครื่องหมาย_ก็ได้
        3.  จะต้องไม่มีการเว้นวรรคภายในชื่อ แต่สามารถใช้เครื่อง_คั่นได้
        4.  สามารถตั้งชื่อได้ยาไม่จำกัด แต่จะใช้ตัวอักษรแค่ 31 ตัวแรกในการอ้างอิง
        5.  ชื่อที่ตั้งด้วยตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก จะถือว่าเป็นคนละตัวกัน
        6.  ห้ามตั้งชื่อซ้ำกับคำสงวนของภาษา C

ชนิดข้อมูล
        ในการเขียนโปรแกรมภาษา C นั้น ผู้ใช้จะต้องกำหนดชนิดให้กับตัวแปรนั้นก่อนที่จะนำไปใช้งาน โดยผู้ใช้จะต้องรู้ว่าในภาษา C นั้นมีชนิดข้อมูลอะไรบ้าง เพื่อจะเลือกใช้ได้อย่างถูก
ต้องและเหมาะสม ในภาษา C จะมี 4 ชนิดข้อมูลมาตรฐาน ดังนี้
ชนิดข้อมูลแบบไม่มีค่า หรือ Void Type (Void)
ข้อมูลชนิดนี้ จะไม่มีค่าและจะไม่ใช้ในการกำหนดชนิดตัวแปร แต่ส่วนใหญ่จะใช้เกี่ยวกับฟังก์ชั่น ซึ่งจะขอยกไปอธิบายในเรื่องฟังก์ชั่น
          ชนิดข้อมูลมูลแบบจำนวนเต็ม หรือ Integer Type (int)
เป็นชนิดข้อมูลที่เป็นตัวเลขจำนวนเต็ม ไม่มีทศนิยม ซึ่งภาษา C จะแบ่งข้อมูลชนิดนี้ออกได้เป็น 3 ระดับ คือ short int,int และ long int ซึ่งแต่ละระดับนั้นจะมีขอบเขตการใช้งานที่แตกต่างกัน 
           ชนิดข้อมูลแบบอักษร หรือ Character Type (char)
ข้อมูลชนิดนี้ก็คือ ตัวอักษรตั้งแต่ A-Z เลข 0-9 และสัญลักษณ์ต่าง ๆ ตามมาตรฐาน ACSII (American Standard Code Information Interchange) ซึ่งเมื่อกำหนดให้กับตัวแปรแล้วตัวแปรนั้นจะรับค่าได้เพียง 1 ตัวอักษรเท่านั้น และสามารถรับข้อมูลจำนวนเต็มตั้งแต่ถึง 127 จะใช้ขนาดหน่วยความจำ 1ไบต์หรือ 8 บิต
            ชนิดข้อมูลแบบทศนิยม หรือ Floating Point Type (flat)
เป็นข้อมูลชนิดตัวเลขที่มีจุดทศนิยม ซึ่งสามารถแบ่งออกเป็น 3 ระดับ คือ float, double และ long double แต่ละระดับนั้นจะมีขอบเขตที่แตกต่างกันในการใช้งาน
             ตัวแปร
ตัวแปร คือ ชื่อที่ใช้อ้างถึงตำแหน่งต่าง ๆ ในหน่วยความจำ ซึ่งใช้เก็บข้อมูลต่าง ๆ ด้วยขนาดตามชนิดข้อมูล
             การประกาศตัวแปร
การประกาศตัวแปรในภาษา C นั้นสามรถทำได้ 2 ลักษณะ คือ การประกาศตัวแปรแบบเอกภาพ หรือการประกาศตัวแปรแบบ Global คือ ตัวแปรที่จะสามารถเรียกใช้ได้ทั้งโปรแกรม และแบบที่สองการประกาศตัวแปรแบบภายใน หรือการประกาศตัวแปรแบบ Local ซึ่งตัวแปรแระเภทนี้จะใช้ได้ในเฉพาะฟังก์ชั่นของตัวเองเท่านั้น
#include<stdio.h>
int total; /*การประกาศตัวแปรแบบ Global */
main()
{
int price,money; /*การประกาศตัวแปรแบบ Local*/
}
              การกำหนดค่าให้กับตัวแปร
การกำหนดค่าให้กับตัวแปรนั้น จะสามารถกำหนดได้ตั้งแต่ตอนที่ประกาศตัวแปรเลยหรือจะกำหนดให้ภายในโปรแกรมก็ได้ ซึ่งการกำหนดค่าจะใช้เครื่องหมาย = กั้นตรงกลาง
int total = 0;
ถ้ามีตัวแปรข้อมูลชนิดเดียวกัน ก็สามารถทำแบบนี้ได้
int total =0,sum
หรือ
int total =0,sum=0;
ถ้าเป็นการกำหนดภายในโปรแกรม ซึ่งตัวแปรนั้นได้ประกาศไว้แล้วสามารถทำแบบนี้
total = 50;
หรือ
total = total+sum
หรือกำหนดค่าจาการพิมพ์ข้อมูลเข้าทางคีย์บอร์ด
scanf(“%d”,&total);
โปรแกรมที่ 2-2 การประกาศและใช้ตัวแปร
#include<stdio.h>
/*การประกาศตัวแปร Global*/
int sum = 0;
int main(void)
{
/*การประกาศตัวแปรแบบ Local */
int a;
int b;
int c;

/*คำสั่ง */
printf(“\nWelcome. This Program adds\n”);
printf(“threenumbers.Enter three numbers\n”);
printf(“in the form: nnn nnn nnn <retur>\n”);
scanf(“%d %d %d”,&a,&b,&c);
/* ทำการบวกค่าระหว่าง a,b และ c เข้าด้วยกันแล้วกำหนดค่าให้ sum*/
sum=a+b+c;
printf(“The total is: %d\n”,sum);
printf(“Thant you. Have a good day.\n”);
return 0;
}
ผลการทำงาน:
Welcome. This Program adds
Three numbers. Enter three number
In the form: nnn nnn nnn <return>
11 22 23
The total is: 56
Thank you. Have a good day.
          การกำหนดชนิดข้อมูลแบบชั่วคราว
เมื่อผู้ใช้ได้กำหนดชนิดข้อมูลให้กับตัวแปรใด ๆ ไปแล้ว ตัวแปรตัวนั้นจะมีชนิดข้อมูลเป็นแบบที่กำหนดให้ตลอดไป บางครั้งการเขียนโปรแกรมอาจจะต้องมีความจำเป็นต้องเปลี่ยนชนิดข้อมูลของตัวแปรตัวนั้น ซึ่งภาษาซี ก็มีความสามารถที่จะทำเช่นนั้นได้
รูปแบบ
([ชนิดข้อมูล])[ตัวแปร]
ตัวอย่าง
(float)a
(int)a
โปรแกรมที่ 2-3 แสดงการใช้ตัวแปรแบบชั่วคราว
#include<stdio.h>
int main(void)
{
float a= 25.3658;
printf(“Value of a : %\n”,a);
printf(“Value of a when set is integer : %d\n”,(int)a);
return 0;
}
ผลการทำงาน :
Value of a : 25.365801
Value of a when change is integer : 25
ชนิดข้อมูลแบบค่าคงที่ (Constants)
ชนิดข้อมูลประเภทนี้ ชื่อก็บอกอยู่ว่าเป็นชนิดข้อมูลแบบค่าคงที่ ซึ่งก็คือข้อมูลตัวแปรประเภทที่เป็น Constants ผู้ใช้จะไม่สามารถเปลี่ยนแปลงค่าของตัวแปรตัวนั้น ในขณะที่โปรแกรมทำงานอยู่
รูปแบบ
Const[ชนิดข้อมูล][ตัวแปร]=[ค่าหรือ นิพจน์]
ตัวอย่าง
const folat a = 5.23;
const int b = a%2;
โปรแกรมที่ 2-4 การใช้ตัวแปรชนิดข้อแบบค่าคงที่
#include<stdio.h>
imt main(void)
{
const float pi = 3.14159;
float radius;
radius = 3;
printf(“Value of pi  : %f\n”,pi);
printf(“Value of area : %f\n”,pi*(radius*radius));
return 0;
}
ผลการทำงาน:
Value of pi : 3.141590
Value of area : 28.274311
constant นั้นสามารถแบ่งออกได้ ดังนี้
Integer Constants เป็นค่าคงที่ชนิดข้อมูลแบบตัวเลขจำนวนเต็มไม่มีจุดทศนิยม
const int a = 5;
Floating-Point Constants เป็นค่าคงที่ชนิดข้อมูลแบบตัวเลขที่มีจุดทศนิยม
const float b = 5.6394;
Character Constants เป็นค่าคงที่ชนิดตัวอักษร ซึ่งจะต้องอยู่ภายในเครื่องหมาย ‘’เท่านั้น
const char b = ‘t’;
String Constants เป็นค่าคงที่เป็นข้อความ ซึ่งจะต้องอยู่ภายใต้เครื่องหมาย “”เท่านั้น
“”
“h”
“Hello world\n”
“HOW ARE YOU”
“Good Morning!”
โปรแกรมที่ 2-5 การใช้ตัวแปรชนิดข้อมูลแบบค่าคงที่แบบต่าง ๆ
#includ<stdio.h>
int main(void)
{
const int a = 3; /*Integer Constats*/
const flat b = 3.14159; /*Floating – Point Constants*/
const cahr c = ‘P’; /*Character Constants*/
printf(“Value of a: %d\n”,a);
printf(“Value of b: %d\n”,b);
printf(“Value of c: %d\n”,c);
printf(“Good Bye”); /*String Constants*/
return 0;
}
ผลการทำงาน
Value of  a : 3
Value of  b : 3.141590
Value of  c : P
Good Bye
Statements
                    statements ในภาษา c คือ คำสั่งต่าง ไ ที่ประกอบขึ้นจนเป็นตัวโปรแกรม ซึ่งในภาษา c นั้นได้แบ่งออกเป็น 6 แบบ คือ Expression Statement และ Compound Statement ณ.ที่นี้จะมีด้วยกัน 2 แบบ
Expression Statement  หรือเรียกอีกอย่างหนึ่งว่า Single Statement ซึ่ง Statement  แบบนั้นจะต้องมีเครื่องหมาย; หลังจาก statement เมื่อภาษา C พบเครื่องหมาย ; จะทำให้มันรู้ว่าจบชุดคำสั่งแล้ว แล้วจึงข้ามไปทำ Statement ชุดต่อไป
       a = 2;
หรือ
printf(“x contains %d, y contains %d\n”,x,y);
Compound Statement คือ ชุดคำสั่งที่มีคำสั่งต่าง ๆ รวมอยู่ด้านใน Block ซึ่งจะใช้เครื่องหมาย {เป็นการเปิดชุดคำสั่ง และใช้} เป็นตัวปิดชุดคำสั่ง ตัวอย่างที่เห็นได้ชัดเจนสำหรับ Statement แบบนี้ คือ ตัวฟังก์ชั่น Main โดยทั่ว ๆ ไปในภาษา C Compound Statement จะเป็นตัวฟังชั่น
            ผังงาน
ผังงาน (Flowchart)  มีไว้เพื่อให้ผู้ใช้ออกแบบขั้นตอนการทำงนของโปรแกรมก่อนที่จะลงมือเขียนโปรแกรม ซึ่งจะช่วยให้ผู้ใช้เขียนโปรแกรมได้ง่ายขึ้นและไม่สับสนซึ่งผังงานที่นิยมใช้มีมาตรฐานมากมายหลายแบบ  โดยมีสัญลักษณ์ของผังงานดังนี้












ประวัติความเป็นมา

ภาษาซี (C) เป็นภาษาโปรแกรมสำหรับวัตถุประสงค์ทั่วไป เริ่มพัฒนาขึ้นระหว่าง พ.ศ. 2512-2516 (ค.ศ. 1969-1973) โดยเดนนิส ริชชี่ (Denis Retchie) ที่เอทีแอนด์ทีเบลล์แล็บส์ (AT&T Bell Labs) [4][5] ภาษาซีมีเครื่องมืออำนวยความสะดวกสำหรับการเขียนโปรแกรมเชิงโครงสร้างและอนุญาตให้มีขอบข่ายตัวแปร (scope) และการเรียกซ้ำ (recursion) ในขณะที่ระบบชนิดตัวแปรอพลวัตก็ช่วยป้องกันการดำเนินการที่ไม่ตั้งใจหลายอย่าง เหมือนกับภาษาโปรแกรมเชิงคำสั่งส่วนใหญ่ในแบบแผนของภาษาอัลกอล การออกแบบของภาษาซีมีคอนสตรักต์ (construct) ที่โยงกับชุดคำสั่งเครื่องทั่วไปได้อย่างพอเพียง จึงทำให้ยังมีการใช้ในโปรแกรมประยุกต์ซึ่งแต่ก่อนลงรหัสเป็นภาษาแอสเซมบลี คือซอฟต์แวร์ระบบอันโดดเด่นอย่างระบบปฏิบัติการคอมพิวเตอร์ ยูนิกซ์ [6] ภาษาซีเป็นภาษาโปรแกรมหนึ่งที่ใช้กันอย่างแพร่หลายมากที่สุดตลอดกาล [7][8] และตัวแปลโปรแกรมของภาษาซีมีให้ใช้งานได้สำหรับสถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการต่าง ๆ เป็นส่วนมาก ภาษาหลายภาษาในยุคหลังได้หยิบยืมภาษาซีไปใช้ทั้งทางตรงและทางอ้อม ตัวอย่างเช่น ภาษาดี ภาษาโก ภาษารัสต์ ภาษาจาวา จาวาสคริปต์ ภาษาลิมโบ ภาษาแอลพีซี ภาษาซีชาร์ป ภาษาอ็อบเจกทีฟ-ซี ภาษาเพิร์ล ภาษาพีเอชพี ภาษาไพทอน ภาษาเวอริล็อก (ภาษาพรรณนาฮาร์ดแวร์) [3] และซีเชลล์ของยูนิกซ์ ภาษาเหล่านี้ได้ดึงโครงสร้างการควบคุมและคุณลักษณะพื้นฐานอื่น ๆ มาจากภาษาซี ส่วนใหญ่มีวากยสัมพันธ์คล้ายคลึงกับภาษาซีเป็นอย่างมากโดยรวม (ยกเว้นภาษาไพทอนที่ต่างออกไปอย่างสิ้นเชิง) และตั้งใจที่จะผสานนิพจน์และข้อความสั่งที่จำแนกได้ของวากยสัมพันธ์ของภาษาซี ด้วยระบบชนิดตัวแปร ตัวแบบข้อมูล และอรรถศาสตร์ที่อาจแตกต่างกันโดยมูลฐาน ภาษาซีพลัสพลัสและภาษาอ็อบเจกทีฟ-ซีเดิมเกิดขึ้นในฐานะตัวแปลโปรแกรมที่สร้างรหัสภาษาซี ปัจจุบันภาษาซีพลัสพลัสแทบจะเป็นเซตใหญ่ของภาษาซี [9] ในขณะที่ภาษาอ็อบเจกทีฟ-ซีก็เป็นเซตใหญ่อันเคร่งครัดของภาษาซี [10] ก่อนที่จะมีมาตรฐานภาษาซีอย่างเป็นทางการ ผู้ใช้และผู้พัฒนาต่างก็เชื่อถือในข้อกำหนดอย่างไม่เป็นทางการในหนังสือที่เขียนโดยเดนนิส ริตชี และไบรอัน เคอร์นิกัน (Brian Kernighan) ภาษาซีรุ่นนั้นจึงเรียกกันโดยทั่วไปว่า ภาษาเคแอนด์อาร์ซี (K&R C) ต่อมา พ.ศ. 2532 สถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา (ANSI) ได้ตีพิมพ์มาตรฐานสำหรับภาษาซีขึ้นมา เรียกกันว่า ภาษาแอนซีซี (ANSI C) หรือ ภาษาซี89 (C89) ในปีถัดมา องค์การระหว่างประเทศว่าด้วยการมาตรฐาน (ISO) ได้อนุมัติให้ข้อกำหนดเดียวกันนี้เป็นมาตรฐานสากล เรียกกันว่า ภาษาซี90 (C90) ในเวลาต่อมาอีก องค์การฯ ก็ได้เผยแพร่ส่วนขยายมาตรฐานเพื่อรองรับสากลวิวัตน์ (internationalization) เมื่อ พ.ศ. 2538 และมาตรฐานที่ตรวจชำระใหม่เมื่อ พ.ศ. 2542 เรียกกันว่า ภาษาซี99 (C99) มาตรฐานรุ่นปัจจุบันก็ได้รับอนุมัติเมื่อเดือนธันวาคม พ.ศ. 2554 เรียกกันว่า ภาษาซี11 (C11) [11]

วันเสาร์ที่ 26 กรกฎาคม พ.ศ. 2557

การปลูกต้นไม้

การปลูกและบำรุงรักษาต้นไม้   มีลำดับขั้นตอนดังนี้

1. กำหนดวัตถุประสงค์ที่จะปลูก
   ข้อคำนึงถึงเบื้องต้น

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


2. สำรวจพื้นที่เพื่อกำหนดเป็นที่ปลูก และคัดเลือกชนิดพันธุ์ไม้ที่จะปลูก รวมทั้งจัดหากล้าไม้
   การกำหนดพื้นที่ปลูก

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

    การจัดหากล้าไม้   ประสานงานกับกรมป่าไม้ หรือหน่วยงานในสังกัดกรมป่าไม้ เพื่อขอรับกล้าไม้

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

5. การปลูก

        ต้นไม้ที่นำมาปลูกส่วนใหญ่มักจะบรรจุในถุงพลาสติกให้ใช้มีดกรีดถุงออก ควรระวังคือ อย่าให้รากของต้นไม้ได้รับความกระทบกระเทือนมากนัก เสร็จแล้ววางต้นไม้ลงในหลุมที่ขุดให้ระดับรอยต่อระหว่างลำต้นกับรากอยู่เสมอกับระดับขอบหลุม แล้วกลบหลุมด้วยดินผสมที่เตรียมไว้สำหรับปลูกหรือใช้ดินที่ขุดขึ้นจากหลุมที่เป็นดินร่วนปนทราย หรือดินที่มีความร่วนซุยดี อย่าใช้ดินเหนียวที่แน่นหรือดินที่มีกรวดหินมาก ๆ กลบหลุม เพราะจะเป็นปัญหาทำให้รากต้นไม้เจริญเติบโตได้ไม่ดี เมื่อกลบหลุมเสร็จแล้วใช้เท้าเหยียบดินให้แน่นพอประมาณ นำเศษใบไม้หญ้าหรือฟางมาคลุมรอบโคนต้นเพื่อรักษาความชื้นและป้องกันการกัดเซาะของน้ำในขณะรดน้ำต้นไม้ หาไม้หลักซึ่งมีความสูงมากกว่าต้นไม้พอประมาณมาปักข้าง ๆ ผูกเชือกยึดกับต้นไม้อย่างหลวม ๆ เพื่อช่วยในการทรงตัวของต้นไม้และป้องกันลมพัดโยก เมื่อปลูกเสร็จรดน้ำให้ชุ่มและถ้าเป็นไปได้ควรรดน้ำวันละครั้ง จนต้นไม้ตั้งตัวได้ กรณีที่ปลูกเป็นพื้นที่มากๆ ควรปลูกในช่วงฤดูฝน ขณะฝนตกหรือหลังฝนตกใหม่ ๆ เพื่อประหยัดค่าใช้จ่ายในการรดน้ำต้นไม้ ภายหลังการปลูกต้นไม้โดยปกติควรรดน้ำติดต่อกันทุกวันในเวลาเย็นอย่างน้อยวันละ 1 ครั้ง ตลอด 1 สัปดาห์ การรดน้ำควรรดน้ำให้ชุ่ม ถ้าต้องการทราบว่าได้รดน้ำเพียงพอแล้วหรือไม่ ให้ทดลองขุดดินดูว่าน้ำซึมลง
ไปถึงบริเวณรากต้นไม้หรือยัง ถ้ารดน้ำน้อยไปน้ำจะซึมลงไปไม่ถึงบริเวณรากต้นไม้   การพรวนดินใส่ปุ๋ยและการกำจัดวัชพืช  วัชพืชเป็นตัวการที่ทำให้ต้นไม้เจริญเติบโตช้า ควรมีการกำจัดวัชพืชโดยการถากถาง และพรวนดินรอบโคนต้นไม้ในรัศมี 1 เมตร ปีละ 2 ครั้ง ในขณะพรวนดินถ้ามีปุ๋ยวิทยาศาสตร์จะโรยรอบ ๆ โคนต้นประมาณ 1-2 ช้อนโต๊ะ แล้วรดน้ำหรือใส่ปุ๋ยคอกเพิ่มเติมก็ได้

6.  การดูแลบำรุงรักษา

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

        - ภายหลังการปลูกต้นไม้โดยปกติควรรดน้ำติดต่อกันทุกวันในเวลาเย็นอย่างน้อยวันละ 1 ครั้ง ตลอด 1 สัปดาห์ หลังจากนั้นอาจให้ลดลงเป็นวันเว้นวัน หรือ 2 วัน ครั้งจนสังเกตเห็นต้นไม้ตั้งตัวได้
        การพรวนดินใส่ปุ๋ยและการกำจัดวัชพืช วัชพืชเป็นตัวการที่ทำให้ต้นไม้เจริญเติบโตช้าควรมีการกำจัดวัชพืชโดยการ ถากถาง และพรวนดินรอบโคนต้นไม้ในรัศมี 1 เมตร ปีละ 2 ครั้ง ในขณะพรวนดินถ้ามีปุ๋ยวิทยาศาสตร์จะโรยรอบ ๆ โคนต้นประมาณ 1-2 ช้อนโต๊ะ แล้วรดน้ำหรือใส่ปุ๋ยคอกเพิ่มเติมก็ได้

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