วันศุกร์ที่ 24 กรกฎาคม พ.ศ. 2558

ชนิดของข้อมูลและตัวแปรในภาษาซี

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


ตัวแปร (variable) เนื่องจากข้อมูลถูกเก็บอยู่ในหน่วยความจำ การอ้างถึงตำแหน่งของข้อมูลนี้
จึงมีความซับซ้อน ไม่สะดวกต่อการเขียนโปรแกรม จึงมีการเรียกหน่วยความจำ ในตำแหน่งที่สนใจผ่านตัวแปร



การประกาศตัวแปร (variable declaration) คือการจองเนื้อที่ในหน่วยความจำสำหรับเก็บค่าบางอย่าง
พร้อมทั้งกำหนดชื่อเรียกแทนหน่วยความจำในตำแหน่งนั้นเพื่อให้ผู้เขียนโปรแกรมมีความสะดวกในการเข้าถึง
ค่าที่เก็บอยู่ในหน่วยความจำดังกล่าว



รูปแบบการประกาศตัวแปร 


type variable-name;
โดย
type คือชนิดของตัวแปร (ตามตารางด้านล่าง)
variable-name คือชื่อของตัวแปร (ควรตั้งชื่อให้มีความหมายสอดคล้องกับการใช้งานและจำง่าย)


ตัวอย่างการประกาศตัวแปรแบบต่างๆ

int num; /*ประกาศตัวแปรชนิิดจำนวนเต็ม ชื่อ num*/
float x;
char grade, sex; /*ประกาศตัวแปรชนิิดอักขระ ชื่อ grade และ sex (ประกาศพร้อมกันในบรรทัดเดียว)*/
float temp = 123.45; /*ประกาศตัวแปรชนิดเลขทศนิยมพร้อมกำหนดค่า 123.45*/
char c = "A", t = "B"; /*ประกาศตัวแปรชนิดอักขระสองตัว พร้อมกำหนดค่าให้แต่ละตัว*/
int oct = 0555; /*ประกาศตัวแปรชนิดจำนวนเต็มชื่อ num พร้อมกำหนดค่าคือ 555 (เป็นเลขฐานแปดเพราะมี 0 นำหน้า)*/
int hex = 0x88; /*ประกาศตัวแปรชนิดจำนวนเต็มชื่อ hex พร้อมกำหนดค่าคือ 88 (เป็นเลขฐาน 16 เพราะมี 0x นำหน้า)*/

ข้อควรระวัง!!
  • ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมาย "_" เท่านั้น
  • ภายในชื่อตัวแปรให้ใช้ตัวอักษร, ตัวเลข 0-9 หรือเครื่องหมาย "_"
  • ห้ามมีช่องว่างในชื่อตัวแปร
  • อักษรตัวพิมพ์เล็ก-ใหญ่ มีความแตกต่างกัน (case sensitive) เช่น Name, NAME และ name
    ถือเป็นชื่อที่แตกต่างกัน
  • ห้ามซ้ำกับชื่อตัวแปรสงวน (reserved word)

ตัวแปรชนิดข้อความ (string)

ถ้าเราต้องการเก็บข้อความ "C programming language" ไว้ในตัวแปร จะทำได้อย่างไร?


ที่ผ่านมาเราทราบว่าเราสามารถเก็บข้อมูลชนิดตัวอักขระไว้ในตัวแปรชนิด char ได้ แต่ตัวแปรชนิด char นั้น
สามารถเก็บตัวอักขระได้เพียงตัวเดียวเท่านั้น ไม่สามารถเก็บทั้งข้อความได้ แล้วเราจะแก้ปัญหาได้อย่างไร?



หากพิจาณาให้ดี ข้อความดังกล่าวประกอบด้วยตัวอักขระ (ตัวอักษร+สัญลักษณ์) หลายๆ ตัวเรียงต่อกันเป็นสาย
ซึ่งเป็นลักษณะของตัวแปรแบบ array (จะได้กล่าวภายหลัง)



การประกาศตัวแปรแบบ array เพื่อเก็บข้อมูลดังกล่าวสามารถทำได้ดังนี้
type variable-name[size];
โดย
size คือขนาดของข้อความ+1 โดยขนาดที่เพิ่มขึ้นเพราะต้องเก็บอักขระสุดท้ายของข้อความเป็นอักขระ
\0 หรือ NULL เพื่อบอกว่าสิ้นสุดข้อความแล้ว

ตัวอย่างการประกาศตัวแปรแบบ array เพื่อเก็บข้อความ "C programming language" (22 ตัวอักษร) 
ทำได้หลายวิธีดังนี้
char[23] text = "C programming language";

/*กำหนดขนาดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่า \0 หรือ NULL ในตำแหน่งสุดท้าย*/



char[23] text = {'C',' ','p','r','o','g','r','a','m','m','i','n','g',' ','l','a','n','g','u','a','g','e','\0'};
/*กำหนดขนาดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่า \0 หรือ NULL ในตำแหน่งสุดท้าย*/



char[] text = "C programming language";
/*ถ้าไม่กำหนดขนาดของ array แล้ว ตัวแปรภาษาซีจะกำหนดให้โดยมีขนาดเท่ากับขนาดข้อความ+1*/


นอกจากนี้เรายังสามารถแก้ไขตัวอักษรที่เก็บอยู่ใน array ได้โดยการอ้างอิงตำแหน่งเช่น
text[0] = 'A'; /*แก้ตัวอักษรตัวแรก (เริ่มนับจาก 0) จะได้ผลลัพธ์คือ A programming language*/
text[2] = ' '; /*ผลลัพธ์คือ A  rogramming language (ใส่ช่องว่างแทนตัว p)*/


ชนิดของตัวแปรในภาษาซี

ชนิดของตัวแปร
ขนาด (bits)
ขอบเขต
ข้อมูลที่เก็บ
char
8
-128 ถึง 127
ข้อมูลชนิดอักขระ ใช้เนื้อที่ 1 byte
unsigned char
8
ถึง 255
ข้อมูลชนิดอักขระ ไม่คิดเครื่องหมาย
int
16
-32,768 ถึง 32,767
ข้อมูลชนิดจำนวนเต็ม ใช้เนื้อที่ 2 byte
unsigned int
16
ถึง 65,535
ข้อมูลชนิดจำนวนเต็ม ไม่คิดเครื่องหมาย
short
8
-128 ถึง 127
ข้อมูลชนิดจำนวนเต็มแบบสั้น ใช้เนื้อที่ 1 byte
unsigned short
8
ถึง 255
ข้อมูลชนิดจำนวนเต็มแบบสั้น ไม่คิดเครื่องหมาย
long
32
-2,147,483,648 ถึง 2,147,483,649
ข้อมูลชนิดจำนวนเต็มแบบยาว ใช้เนื้อที่ 4 byte
unsigned long
32
ถึง 4,294,967,296
ข้อมูลชนิดจำนวนเต็มแบบยาว ไม่คิดเครื่องหมาย
float
32
3.4*10e(-38) ถึง 3.4*10e(38)
ข้อมูลชนิดเลขทศนิยม ใช้เนื้อที่ 4 byte
double
64
3.4*10e(-308) ถึง 3.4*10e(308)
ข้อมูลชนิดเลขทศนิยม ใช้เนื้อที่ 8 byte
long double
128
3.4*10e(-4032) ถึง 1.1*10e(4032)
ข้อมูลชนิดเลขทศนิยม ใช้เนื้อที่ 16 byte

ฟังชั่นในภาษาซี

ในการทำงานบางอย่างจำเป็นต้องใช้คำสั่งมากกว่า 1 คำสั่งเพื่อทำงานนั้นให้สำเร็จ ซึ่งคำสั่งที่เขียนรวมกันไว้ใช้งานจะเรียกว่าฟังก์ชัน (Function)

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

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

ฟังก์ชันมาตรฐานหรือไลบราลีฟังก์ชัน

lเป็นฟังก์ชันที่มีมาให้พร้อมกับตัวแปลภาษา C เพื่อใช้งานได้ทันที และใช้ในงานด้านต่างๆ โดยเน้นงานพื้นฐาน เช่น ฟังก์ชันคำนวณทางคณิตศาสตร์ ฟังก์ชันสำหรับจัดการข้อความ ฟังก์ชันเวลา เป็นต้น เพื่อให้ผู้เขียนภาษา C มีความสะดวกมากขึ้น
lไลบราลีฟังก์ชันภาษา C จะเก็บอยู่ในไฟล์นามสกุล .h หรือที่เรียกว่า header file ยกตัวอย่างเช่น ฟังก์ชันเกี่ยวกับการคำนวณจะเก็บอยู่ในไฟล์ชื่อ math.h หรือฟังก์ชันเกี่ยวกับการจัดการข้อความอยู่ในไฟล์ชื่อ string.h เป็นต้น
1. ฟังก์ชันมาตรฐานหรือไลบราลีฟังก์ชัน
lในการเรียกใช้งานฟังก์ชันต้องเขียนรูปแบบการใช้คำสั่ง คือ
#include<header file>

และเขียนไว้ในส่วนหัวของโปรแกรม เพื่อให้ตัวแปลภาษา C เข้าใจว่าภายในโปรแกรมของเรามีการเรียกใช้ไลบราลีฟังก์ชัน



ฟังก์ชันสตริง

lสตริง (string) หรืออะเรย์ตัวอักษร  คือ  ข้อมูลที่ประกอบไปด้วยตัวอักษรที่มีการเรียงต่อเนื่องกันไป  โดยมีจุดสิ้นสุดของข้อมูลสตริงที่ตัวอักษร NULL  character เขียนด้วย ‘’
lในภาษาซีรูปแบบข้อมูลประเภทสตริงไม่มีการกำหนดไว้  การประกาศตัวแปรแบบสตริงทำได้ 2 วิธี  คือ ในรูปของอะเรย์  กับในรูปของพอยน์เตอร์
lตัวอย่างการประกาศตัวแปรสตริง
char  p[9]  =  “ I  think !” ;


ฟังก์ชันมาตรฐานที่เกี่ยวกับสตริงที่ภาษาซีเตรียมไว้ให้เรียกใช้  ดังนี้

ผังงาน Flowchart

FLOWCHART
ความหมายของผังงาน
ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่า
ผังงานแบ่งได้ 2 ประเภท
1. ผังงานระบบ (System Flowchart)
คือ ผังงานที่แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย
2. ผังงานโปรแกรม (Program Flowchart)

คือ ผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ตั้งแต่รับข้อมูล คำนวณ จนถึงแสดงผลลัพธ์

ซอฟแวร์ที่ใช้ในงานออกแบบ (3มิติ)

Google SketchUp
Google SketchUp (โปรแกรมออกแบบบ้าน 3 มิติ สร้างโมเดล 3 มิติ) : โปรแกรม SketchUp เป็นโปรแกรมที่ถูกพัฒนาขึ้นโดย Google ชื่อเสียงเรียงนามของผู้พัฒนา ก็คงไม่ต้องบรรยายแล้วว่าดีหรือไม่ดี ที่คราวนี้เข็นเจ้า โปรแกรมออกแบบบ้าน หรือเอาไว้ สร้างโมเดล 3 มิติ ออกมาภายใต้ชื่อ Google SketchUp ออกมาให้คนอยากออกแบบ อยากเล่น อยากลอง อยากฝึกใช้ได้ทดลองใช้ หรือจะให้เด็กๆ ลองใช้ โปรแกรมออกแบบบ้าน ฝึกจินตนาการ ของเด็ก และเยาวชน กับ โปรแกรม SketchUp ตัวนี้ก็ไม่เลว นะ
โปรแกรมออกแบบบ้าน ชั่วหัวว่าใช้ออกแบบบ้าน แต่จริงๆ ไม่ได้เป็นแค่ โปรแกรมออกแบบบ้าน อย่างเดียวแต่ โปรแกรม Google SketchUp ยังสามารถ ออกแบบงานด้านสถาปัตยกรรม วิศวกรรม หรือ เครื่องจักร เครื่องกล กันได้อย่างง่ายๆ แถมเผลอๆ หาก ออกแบบ กันดีๆ ยังเอาไปใช้งานจิงๆ ได้อีกด้วย รวมถึง โปรแกรม SketchUp นี้ยังสามารถนำไป ออกแบบ วัตถุเล็กๆ น้อยๆ อาทเช่น ทั้ง ออกแบบระเบียงบ้าน ออกแบบหน้าต่าง ออกแบบประตู ออกแบบตู้ ออกแบบโต๊ะ ออกแบบเฟอร์นิเจอร์ งานไม้ งานต่อเติมบ้าน ออกแบบรถ (เหมือนภาพประกอบด้านบน) หรือแม้แต่ ออกแบบยานอวกาศ ในฝัน ยังออกแบบได้ เอากับเค้าสิ จะเป็นยังไงบ้างลองกันเลยครับ
นอกจากนี้แล้ว Google SketchUp หรือ โปรแกรมออกแบบบ้าน 3 มิติ สร้างโมเดล 3 มิติ ตัวนี้ ยังสามารถส่งออกผลงาน (Export) ที่ออกแบบเสร็จ (วาดเสร็จ) มาในรูปแบบของไฟล์ .BMP, .PNG, .JPG, .TIF สำหรับเวอร์ชั่นฟรี และ ส่งออกเป็นไฟล์ .pdf, .eps, .epx, .dwg, and .dxf. สำหรับเวอร์ชั่นโปร
หมายเหตุ : ตั้งแต่ วันอังคารที่ 21 พฤษภาคม พ.ศ. 2556 (ค.ศ. 2013) เป็นต้นมา โปรแกรม Google SketchUp ได้ถูกเปลี่ยนชื่อเป็น โปรแกรมออกแบบบ้าน SketchUp Make หลังถูกบริษัท Trimble ซื้อไปจาก Google Inc. ทำให้เป็น โปรแกรมออกแบบบ้าน ที่เปลี่ยนเจ้าของบ่อยที่สุดนับตั้งแต่เริ่มพัฒนามา

โดยประวัติของโปรแกรมนี้ เริ่มแรกเดิมทีมาจากบริษัท @Last Software ในปี ค.ศ. 1999 หลังจากนั้นโดน Google Inc. เข้าซื้อในปี ค.ศ. 2006 และก็หลังจากนั้นอีกหกปี ในวันที่ 1 มิถุนายน ค.ศ. 2012 ทางบริษัท Trimble ซึ่งเป็นบริษัทที่มีชื่อเสียงด้านการออกแบบ วาดแบบชั้นนำของสหรัญอเมริกา ก็ได้เข้าซื้อโปรแกรม SketchUp มาจาก Google Inc. อีกทีหนึ่ง

ซอฟแวร์ที่ใช้ในการออกแบบ(2มิติ)

LibreCAD Download
LibreCAD (โปรแกรมออกแบบ โปรแกรมวาดแบบ 2 มิติ) : โปรแกรมออกแบบ LibreCAD เป็น โปรแกรมออกแบบ 2 มิติ หรือที่เรียกว่า CAD 2D (Computer-Aided Design Program) ที่อยู่ในโปรเจคโอเพ่นซอร์ส (Open-Source) หากได้ยินชื่อนี้เมื่อไหร่ พึงระลึกเอาไว้เลยว่า แจกฟรี แน่นอน เพราะเป็นการพัฒนาที่เกิดขึ้นจากนักพัฒนาโปรแกรมฝีมือดีจากทั่วโลก ที่มีความเชี่ยวชาญด้าน โปรแกรมออกแบบ ตรงนี้ได้เป็นพื้นที่ ที่จะมาร่วมออกแบบแลัพัฒนาร่วมกัน โดย โปรแกรมออกแบบ ตัวนี้สามารถออกแบบวัตถุต่างๆ ได้ 2 มิติ (2D) เท่านั้น ซึ่งสามารถใช้ออกแบบวัตถุ สื่งของ หรืออะไรก็ได้ที่ง่ายๆ อาทิเช่น กลไกของเครื่องจักรกล วิศวกรออกแบบสิ่งก่อสร้างต่างๆ เช่น เป็น โปรแกรมออกแบบบ้าน ได้ดี หรือจะไปใช้ ออกแบบครัวเรือน ออกแบบตึก ออกแบบอาคาร ออกแบบห้อง เพื่อใช้สอยในกิจการ หรือ สถานการณ์ ต่างๆ รวมไปถึงการ ออกแบบถุงพลาสติก ออกแบบเสื้อผ้า ด้านหน้าด้านหลัง ได้เป็นอย่างดี แล้วแต่ตามใจชอบละครับ
Program Features (คุณสมบัติและความสามารถหลักๆ ของ โปรแกรมออกแบบ 2 มิติ LibreCAD)
เป็นโปรเจคโอเพ่นซอร์ส พัฒนาขึ้นมาเพื่อ แจกฟรี 100% ไม่มีค่าใช้จ่ายใดๆ ไม่มีโฆษณาแฝง ใดๆ ติดพ่วงมากับโปรแกรม ให้คุณไปใช้ออกแบบ วาดแบบ กันเลยฟรีๆ แต่หากต้องการบริจาค สามารถบริจาคเพื่อสนับสนุนทีมผู้พัฒนา ได้ที่หน้าเว็บของเขาได้เลย
มีหลากหลายภาษาให้เลือก มากถึงเกือบ 30 ภาษา จากทั่วโลก
ใช้งานได้กับทุกระบบปฏิบัติการ (Operating Systems) อย่าง Windows และ Mac OS หรือแม้กระทั่ง Linux OS
มีเครื่องมีช่วยวาดแบบ ออกแบบ หลากหลาย อาทิเช่น เส้นตรง ส่วนโค้ง วงกลม ทรงเหลี่ยม วาดเส้น ลากเส้นอิสระ กำหนดจุดต่างๆ ฯลฯ อีกมากมาย
สามารถกำหนดขนาดสเกล (Scale) ของวัตถุได้แบบสมจริง
มีเครื่องมือการวัดขนาดของเส้น วัตถุต่างๆ ในโปรแกรมออกแบบ ตัวนี้ที่แม่นยำ
มีความสามารถในการขยายภาพเพื่อ ออกแบบ วาดแบบ ได้หลายเท่า และเสียความคมชัด ไปอย่างน้อยที่สุด เพื่อเพิ่มทัศนวิสัย ในการมองเห็นภาพที่ชัดเจน มากยิ่งขึ้น
มีระบบการสอนการใช้งาน การสนับสนุนการใช้งานโปรแกรมที่ดีมากๆ
ข้อเสียของมันคือ ไม่สนับสนุนภาพแบบ 3 มิติใดๆ และ สนับสนุนไฟล์เฉพาะ DXF และ CXF เท่านั้น
โปรแกรมมีขนาดเล็ก ไม่ถึง 30 MB.

และความสามารถอื่นๆ อีกมากมาย

เทคโนโลยีสะอาด

เทคโนโลยีสะอาด

ส่งผลกระทบต่อคุณภาพชีวิตของประชาชนที่อยู่ใกล้เคียง ดังนั้นในช่วงทศวรรษที่ผ่านมามีการพิจารณาถึง ทางออกที่ลงตัวระหว่างปัญหาทางเศรษฐกิจ และสิ่งแวดล้อม และพัฒนามาเป็นหลักการของเทคโนโลยีสะอาด (Clean(er) Technology, CT) หรือ การผลิตที่สะอาด (Clean(er) Production, CP) หรือการป้องกันมลพิษ (Pollution Prevention, P2) หรือการลดของเสียให้น้อยที่สุด (Waste Minimization) ซึ่งคำเหล่านี้มีความหมายเดียวกันในการที่จะใช้แก้ปัญหาสิ่งแวดล้อม ทั้งนี้ขึ้นอยู่กับความนิยมของผู้ใช้แต่ละกลุ่มอุตสาหกรรม
เทคโนโลยีสะอาด คืออะไร
            เทคโนโลยีสะอาด คือ กลยุทธ์ที่ใช้ในการผลิตเชิงอุตสาหกรรม เพื่อเพิ่มประสิทธิภาพในการใช้วัตถุดิบ และพลังงานในการผลิต ทำให้สามารถลดต้นทุนการผลิต โดยการปรับปรุงผลิตภัณฑ์ บริการ และกระบวนการผลิตอย่างต่อเนื่อง เพื่อลดของเสียที่แหล่งกำเนิด เป็นการลดภาระในการกำจัดของเสีย  ช่วยประหยัดวัตถุดิบและพลังงาน เพิ่มความปลอดภัยในการทำงาน ป้องกันและรักษาสิ่งแวดล้อม รวมทั้งช่วยสร้างภาพพจน์ที่ดีให้แก่ผู้ประกอบการ ซึ่งเป็นการเสริมสร้างความสามารถในการแข่งขันในตลาดโลกอีกทั้งเป็นการพัฒนาขีดความสามารถ และประสิทธิภาพของการประกอบธุรกิจ นอกจากนี้ยังเป็นจุดเริ่มต้นในการก้าวไปสู่มาตรฐาน ISO 14000 ของอุตสาหกรรมอีกด้วย
หลักการของเทคโนโลยีสะอาด
            หลักการของเทคโนโลยีสะอาดเน้นการแก้ปัญหาที่ต้นเหตุ คือ การลดการใช้พลังงาน การใช้น้ำและทรัพยากรธรรมชาติอื่นๆ ซึ่งจะเห็นว่าหลักการของเทคโนโลยีสะอาดเป็นการป้องกันปัญหามากกว่าการแก้ปัญหานั่นเอง  โดยหลักการของเทคโนโลยีสะอาด สรุปได้ดังนี้
1.  การลดมลพิษที่แหล่งกำเนิด แบ่งได้เป็น 2 แนวทางใหญ่ๆ คือ การเปลี่ยนแปลงผลิตภัณฑ์ และการเปลี่ยนแปลงกระบวนการผลิต
1.1  การเปลี่ยนแปลงผลิตภัณฑ์ อาจทำได้โดยการออกแบบให้มีผลกระทบต่อสภาพแวดล้อมน้อยที่สุด หรือให้มีอายุการใช้งานยาวนานขึ้น

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

เทคนิคของเทคโนโลยีสะอาด
            เทคโนโลยีสะอาด จะเน้นการลดที่แหล่งกำเนิดและการนำกลับมาใช้ใหม่ โดยในการทำจะต้องมีการศึกษาถึงกระบวนการผลิต เพื่อหาแนวทางที่จะปรับปรุงกระบวนการในการลดการใช้และการนำกลับมาใช้ใหม่ของพลังงาน สารเคมี หรือน้ำ
            ในการเสนอทางเลือกเทคโนโลยีสะอาด (CT option) และการดำเนินงานในการนำเทคโนโลยีสะอาดมาใช้ มีขั้นตอนในการประยุกต์ใช้ตามหลักของเทคโนโลยีสะอาด 5 ขั้นตอน คือ
1.       การวางแผนและการจัดองค์กร (Planning & Organization)
2.       การประเมินเบื้องต้น (Pre-Assessment)
3.       การประเมินผล (Assessment)
4.       การศึกษาความเป็นไปได้ (Feasibility)
5.       การลงมือปฏิบัติ (Implementation)

หลังจากที่มีการตัดสินใจที่จะใช้เทคโนโลยีสะอาดในอุตสาหกรรม ต้องมีการวางแผนและจัดการ มีการสำรวจข้อมูล ทำการประเมินเบื้องต้น และทำการประเมินในขั้นตอนต่อมา โดยในขั้นตอนการประเมินเบื้องต้นและการประเมินเกี่ยวข้องกับการสร้างแผนภาพกระบวนการผลิต (Process Flow Chart) พิจารณาการป้อนเข้า (Input) และการจ่ายออก (Output) ของแต่ละปฏิบัติการหน่วย (Unit operation) และสมดุลมวลสารและสมดุลพลังงานขึ้น ทำให้สามารถวิเคราะห์หาสาเหตุและปริมาณของ ของเสียที่ได้จากกระบวนการผลิตเพื่อหาวิธีแก้ปัญหาต่อไป โดยทางเลือกที่นำเสนอต้องมีความเป็นไปได้ในทางเศรษฐศาสตร์ ไม่มีการลงทุนที่สูงเกินไป และสามารถคืนทุนได้ในระยะสั้น เมื่อวิธีการสอดคล้องกับเศรษฐศาสตร์จึงลงมือปฏิบัติการ และดำเนินการอย่างต่อเนื่องเพื่อนำไปสู่การพัฒนาที่ยั่งยืนต่อไป
 การเริ่มต้นประยุกต์ใช้เทคโนโลยีสะอาด
         1.       ผู้บริหารเห็นความสำคัญและมีความมุ่งมั่น
         2.       พนักงานมีความเข้าใจ และเห็นความสำคัญ
         3.       ระบุสาเหตุ แนวโน้มของปัญหาการใช้ทรัพยากรของเสียและสิ่งแวดล้อม
         4.       ประเมินวิธีการแก้ไข ปรับปรุงโดยอาศัยความรู้แขนงต่างๆ
         5.       เริ่มดำเนินการในส่วนที่มีค่าใช้จ่ายต่ำ หรือคุ้มค่าสูงสุด

5W1H

5W1H: วิธีที่มีประสิทธิภาพเพื่อรวบรวมและนำเสนอข้อมูลที่สำคัญ





5W1 หนึ่งในเครื่องมือที่ใช้มากที่สุดในระดับสากลสำหรับการรวบรวมข้อมูล,วิเคราะห์และการนำเสนอเป็นกรอบ 5W1H
วิธีนี้จะใช้ในช่วงของกระบวนการนักวิเคราะห์วิศวกรที่มีคุณภาพที่จะเข้าใจและอธิบายความจริงปัญหาใด ๆ หรือปัญหาวิธีการเดียวกันสามารถที่ใช้ในการจัดระเบียบการเขียนของรายงานบทความเอกสารและแม้ทั้งหนังสือ
วิธีการพื้นฐาน

วิธีการนี้พยายามที่จะตอบคำถามพื้นฐานในการรวบรวมข้อมูลเกี่ยวกับเรื่องใด ๆ ของ: ใครอะไรเมื่อไหร่ที่ไหนทำไมและวิธีการ บางครั้งขึ้นอยู่กับบริบทที่สอง"H"อย่างไร

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

Who.
สิ่งแวดล้อมอื่นๆ คนหรือกลุ่มความกังวลมันอาจอธิบายเอกสารหรือผู้ที่ได้รับผลกระทบจากนโยบายการหรือขั้นตอน

When.
หมายถึงเมื่อไหร่ในเวลาใดที่เกี่ยวข้อง มันอาจจะเป็นส่วนหนึ่งกับจุดที่เหมาะสมที่จะต้องดำเนินการ บางครั้งมันอาจจะเป็นส่วนหนึ่งของสถานการณ์ของการกระทำตามเงื่อนไข
Where.
เหตุการณ์หรือกระบวนการนั้น เกิดขึ้นที่ไหนเมื่อไหร่
Why.
เหตุใดถึงทำสิ่งนั้นหรือ เพราะเหตุใดถึงเกิดเหตุการณ์นั้นๆ อาจมีการพิจารณาที่ไม่เกี่ยวข้องอาจจะเกิดจากนโยบายหรือขั้นตอน
How.
เหตุการณ์หรือสิ่งที่ทำนั้นเป็นอย่างไรบ้าง เมื่ออธิบายนโยบายกระบวนการหรือขั้นตอนอาจ
เป็นส่วนสำคัญที่สุด
Conclusion.

5W1H สามารถนำไปใช้หัวข้อใด ๆ เพื่อรวบรวมวิเคราะห์และนำเสนอข้อมูลจากข้อมูลที่ซับซ้อนทำให้เป็นข้อมูลง่าย