วันพุธที่ 6 กรกฎาคม พ.ศ. 2559

องค์ประกอบและหลักการทำงานของคอมพิวเตอร์

1. องค์ประกอบของคอมพิวเตอร์คอมพิวเตอร์ จะทำงานได้ต้องประกอบไปด้วยส่วนสำคัญ 5 ส่วนด้วยกันคือ

1. หน่วยรับเข้า (Input Unit)
2. หน่วยประมวลผลกลาง (Central Processing Unit)
3. หน่วยความจำหลัก (Main Memory Unit)
4. หน่วยความจำรอง (Secondary Memory Unit)
5. หน่วยแสดงผล (Output Unit)

หน่วยรับเข้า (Input Unit)

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

หน่วยประมวลผลกลาง (Central Processing Unit)
ทำหน้าที่ประมวลผล คำนวณ และควบคุมการทำงานต่างๆ ของระบบคอมพิวเตอร์
1. หน่วยควบคุม (Control Unit : CU)
ทำหน้าที่อ่านคำสั่ง สั่งงาน และควบคุมการทำงานของระบบคอมพิวเตอร์ทั้งหมด
2. หน่วยคำนวณตรรกะ (Arithmetic and Logic Unit : ALU)
ทำหน้าที่คำนวณด้วยวิธีการทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร การเปรียบเทียบข้อมูลมากกว่า น้อยกว่า เป็นต้น

หน่วยความจำหลัก (Main Memory Unit)

เป็นหน่วยเก็บข้อมูลก่อนนำไปประมวลผล เก็บคำสั่งโปรแกรมขณะใช้งาน และเก็บผลลัพธ์ที่ได้จากการประมวลผลก่อนนำไปแสดงผล หน่วยความจำหลักแบ่งออกเป็น 2 ประเภท

1. หน่วยความจำหลักแบบอ่านได้อย่างเดียว (Read Only Memory : ROM)
เป็นหน่วยความจำที่บริษัทผู้ผลิตคอมพิวเตอร์ได้บรรจุชิปหน่วยความจำแบบติดตั้งถาวร หรือไบออส (Basic Input Output System : BIOS) ไว้บนแผงวงจรหลักเรียบร้อยแล้ว โดยข้อมูลที่บรรจุลงไปในหน่วยความจำจะยังคงอยู่แม้จะปิดเครื่องไปแล้ว แต่ไม่สามารถบรรจุข้อมูลเพิ่มเติมลงไปได้



2. หน่วยความจำหลักแบบแก้ไขได้ (Random Access Memory : RAM)
เป็นหน่วยความจำที่ใช้สำหรับเก็บข้อมูลและคำสั่ง มีหน้าที่จดจำคำสั่งที่เป็นโปรแกรมและข้อมูลที่จะทำการประมวลผล หากเกิดไฟฟ้าดับหรือไม่มีกระแสไฟฟ้าข้อมูลที่อยู่ภายในจะหายไปทั้งหมด


หน่วยความจำรอง (Secondary Memory Unit)
เป็นหน่วยความจำที่สามารถรักษาข้อมูลได้ตลอดไป ไม่มีทางสูญหายหลังจากเปิดเรื่องคอมพิวเตอร์แล้ว




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


2. หลักการทำงานของคอมพิวเตอร์

การทำงานของคอมพิวเตอร์เริ่มต้นจากผู้ใช้งานป้อนข้อมูล หรือคำสั่งผ่านอุปกรณ์รับข้อมูล (Input Unit) ไปประมวลผล (Central Processing Unit) เพื่อประมวลผลตามข้อมูลหรือคำสั่งที่ได้รับ อาจมีการเก็บข้อมูลไว้ในหน่วยความจำหลัก (Main Memory Unit) เพื่อการประมวลผล แล้วแสดงผลลัพธ์ผ่านทางอุปกรณ์แสดงผล (Output Unit) ชนิดต่างๆ หากผู้ใช้ต้องการการบันทึกข้อมูลเก็บไว้ ก็จะทำการบันทึกข้อมูลลงหน่วยความจำรอง (Secondary Memory Unit) ชนิดต่างๆ ต่อไป 
การแทนที่ข้อมูลในคอมพิวเตอร์
ข้อมูลต่างๆ ที่เก็บภายในเครื่องคอมพิวเตอร์จะเก็บอยู่ในรูปแบบเลขฐาน 2 คือ 0 และ 1 ไม่ใช่อย่างที่เราเห็น ไม่ว่าจะเป็นรูปภาพ เพลง ข้อความ ภาพเคลื่อนไหวต่างๆ โดยข้อมูลเลขฐาน 2 ที่ถูกเก็บไว้ เมื่อมีการเรียกใช้งานคอมพิวเตอร์จะทำการประมวลผลตัวเลขฐาน 2 ของข้อมูลนั้นๆ แล้วแสดงผลออกมาให้เราได้รับรู้ เช่น รูปภาพ เพลง ข้อความ ภาพเคลื่อนไหวต่างๆ

1. บิต (bit)
เป็นส่วนที่เล็กที่สุดของการเก็บข้อมูล เลขฐาน 2 คือ 0 และ 1 จำนวน 1 ตัว จะเรียกว่า 1 บิต เช่น 1001 จะเรียกว่า 4 บิต หากเปรียบเสมือนหลอดไฟ 0 หมายถึงปิดไฟ, 1 หมายถึงเปิดไฟ


2. ไบต์ (byte)
เกิดจากเลขฐาน 2 จำนวน 8 ตัวเรียงกัน หรือ 8 บิต นั่นเอง เข้าใจง่ายๆ คือ 8 บิต = 1 ไบต์ เช่น 10011001 แบบนี้เรียกว่า 1 ไบต์ ซึ่งตัวเลขจำนวน 8 หลักนี้ จะได้ค่าที่แตกต่างกันถึง 256 ค่า 1 ไบต์ มีชื่อเรียกอีกชื่อหนึ่งว่า ออกเทต (octet) แต่ถ้า 4 บิต จะมีชื่อเรียกอีกอย่างว่า นิบเบิล (nibble)





3. รหัสเอ็บซีดิก (Extended Binary Coded Decimal Interchange Code : EBCDIC)
เป็นรหัสที่พัฒนาโดยบริษัท IBM เพื่อใช้กับรบบปฏิบัติการขนาดใหญ่ เช่น OS-390 สำหรับเครื่องแม่ข่าย S/390 ถูกนำมาใช้กับเครื่องคอมพิวเตอร์ของ IBM ทั้งหมด รหัสเอ็บซีดิก มีขนาด 8 บิต แทนรหัสอักขระได้ 256 ตัว ปัจจุบันรหัสเอ็บซีดิกไม่เป็นที่นิยมและกำลังจะเลิกใช้งาน




4. รหัสแอสกี (American Standard Code for Information Interchange : ASCII)
เป็นรหัสมาตรฐานที่กำหนดโดยสถาบันมาตรฐานแห่งชาติอเมริกา (American National Standards Institute : ANSI) เป็นรหัสที่นิยมใช้งานกันมากที่สุดบนเครื่องคอมพิวเตอร์ เริ่มมีการใช้งานครั้งแรกเมื่อ ค.ศ.1967 รหัสแอสกี แต่เดิมประกอบด้วยรหัส 7 บิต เพื่อแทนอักขระทั้งหมด 128 ตัว ในปี ค.ศ. 1986 ได้ทำการปรับปรุงใหม่ให้เป็นรหัส 8 บิต โดยเพิ่มเข้ามาอีก 1 บิต เพื่อใช้ในการตรวสสอบความถูกต้อง เรียกบิตสุดท้ายนี้ว่า พาริตี้บิต (Parity bit)


5. ยูนิโค้ด (Unicode)
เป็นรหัสที่ถูกพัฒนามาในปี พ.ศ.2534 และมีการพัฒนาอย่างต่อเนื่อง ยูนิโค้ดช่วยให้คอมพิวเตอร์แสดงผล และจัดการข้อความตัวอักษรที่ใช้ระบบการเขียนของภาษาส่วนใหญ่ทั่วโลก ยูนิโค้ดเป็นเลขฐาน 2 ตั้งแต่ 1 ถึง 4 ไบต์ ทำให้สามารถรองรับการเก็บข้อมูลอักขระได้กว่า 100,000 ตัว

การประมวลผลของซีพียู

1. การรับเข้าข้อมูล (Fetch) รับรหัสคำสั่งและข้อมูล จากหน่วยความจำ
2. การถอดรหัส (Decode) ทำการถอดรหัสคำสั่งได้รับ และส่งต่อไปยังส่วนคำนวณและตรรกะ
3. การทำงาน (Execute) ทำการคำนวณข้อมูลที่ถอดรหัสแล้ว และสั่งให้ CPU ทำงานตามคำสั่ง
4. การเก็บข้อมูล (Store) ทำการเก็บข้อมูลไว้ในหน่วยความจำหลัก

การรับส่งข้อมูลภายในคอมพิวเตอร์
แผงวงจรหลัก หรือเมนบอร์ด (Motherboard/Mainboard)
เปรียบเสมือนศูนย์กลางของเครื่องคอมพิวเตอร์ เพราะอุปกรณ์ทุกอย่าง จะต้องทำการเชื่อมต่อกับแผงวงจรหลักนี้


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

องค์ประกอบของระบบสารสนเทศ

        ระบบสารสนเทศ เป็นระบบที่ช่วยเสริมประสิทธิภาพการทำงานโดยใช้เทคโนโลยีสารสนเทศและสื่อสาร ระบบสารสนเทศประกอบด้วย
1.2.1 ฮาร์ดแวร์ (hardware) หมายถึง ตัวเครื่องคอมพิวเตอร์และอุปกรณ์ต่อพ่วงต่างๆ เช่น คีย์บอร์ด (keyboard) เมาส์ (mouse) จอภาพ (monitor) จอภาพสัมผัส (touch screen) ปากกาแสง (light pen) เครื่องอ่านรหัสแท่ง (barcode reader) เครื่องพิมพ์ (printer) ฮาร์ดดิสก์ (hard disk) รวมทั้งอุปกรณ์สื่อสารสำหรับเสื่อมโยงคอมพิวเตอร์เข้าเป็นเครือข่าย เช่น โมเด็ม (modem) และสายสัญญาณ



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

-ซอฟต์แวร์ระบบ ( system software ) หมายถึง ชุดคำสั่งที่ทำหน้าที่ควบคุมการทำงานของเครื่องคอมพิวเตอร์ และอุปกรณ์ต่อพ่วงต่างๆ และทำหน้าที่เป็นตัวกลางระหว่างผู้ใช้กับเครื่องคอมพิวเตอร์ซอฟต์แวร์ระบบแบ่งออกเป็น
1) ระบบปฏิบัติการ(Operating System: OS) เป็นซอฟต์แวร์ที่หน้าที่ควบคุมการทำงานของอุปกรณ์และซอฟต์แวร์ทั้งหมดภายในเครื่องคอมพิวเตอร์ ดังรูปที่ 1.5 โดยจะทำหน้าที่ดูแลและจัดหาให้ฮาร์ดแวร์และซอฟต์แวร์ที่ติดตั้งอยู่ทำงานประสานกันอย่างเป็นระบบ ตัวอย่างระบบปฏิบัติการ เช่น วินโดวส์ (windows) ลินุกซ์ (Linux) และแมคโอเอส (mac OS)



2) โปรแกรมอรรถประโยชน์ (utilities program) เป็นโปรแกรมที่ช่วยเสริมการทำงานของคอมพิวเตอร์ หรือช่วยโปรแกรมใช้งานอื่นๆ ให้มีความสามารถใช้งานได้สะดวกและรวดเร็วยิ่งขึ้น เช่นโปรแกรมที่ใช้ในการจัดเก็บข้อมูล (file manager) โปรแกรมที่ใช้งานได้สะดวกและรวดเร็วยิ่งขึ้น เช่น (back and restore) โปรแกรมที่ใช้ในการบีบอัดแฟ้มข้อมูล (file compression) และโปรแกรมที่ใช้ในการจัดพื้นที่ของดิสก์ (disk defragmenter)

3) โปรแกรมขับอุปกรณ์ หรือดีไวซ์ไดร์ฟเวอร์ (device driver) เป็นโปรแกรมที่ช่วยในการติดตั้งระบบเพื่อให้คอมพิวเตอร์สามารถติดต่อหรือใช้งานอุปกรณ์ต่างๆ



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




-ซอร์ฟแวร์ประยุกต์ (application software) หมายถึง ชุดคำสั่งที่เขียนขึ้นเพื่อให้เครื่องคอมพิวเตอร์ทำงานตามวัตถุประสงค์เฉพาะอย่าง ซอร์ฟแวร์ประยุกต์อาจเขียนขึ้นโดยใช้โปรแกรมภาษาคอมพิวเตอร์ เช่น เบสิก (basic) ปาสคาล (pascal) โคบอล (cobol) ซี (C) ซีพลัสพลัส (C ++) และวาจา (Java) ซอฟต์แวร์ประยุกต์แบ่งตามกลุ่มการใช้งานได้

1.2.3. ข้อมูล(date) ข้อมูลจะถูกรวบรวมและป้อนข้อมูลเข้าสู่เครื่องคอมพิวเตอร์ โดยผ่านอุปกรณ์ของหน่วยรับเข้า เช่น คีย์บอร์ด และ สแกนเนอร์ (scanner) ข้อมูลต้องมีโครงสร้างในการจัดเก็บที่เป็นระบบเพื่อการสืบค้นที่รวดเร็วและมีประสิทธิภาพ ข้อมูลจะถูกจัดเก็บอยู่ในหน่วยความจำ (memory unit) ก่อนที่จะถูกย้ายไปเก็บที่หน่วยเก็บข้อมูล (storage unit) เช่น ฮาร์ดดิสก์ และแผ่นซีดี (compact Disc : CD) การป้องกันข้อมูลเข้าสู่เครื่องคอมพิวเตอร์ ดังรูปที่ 1.10


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


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



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




วันพฤหัสบดีที่ 23 มิถุนายน พ.ศ. 2559

HTML คืออะไร

การใช้งาน


ในบทที่แล้วเราได้ลองเขียน HTML กันดูบ้างแล้ว ในบทนี้เราจะลงรายละเอียดคำสั่งของ HTML โดยการใช้งานหลักจะมีดังนี้

1. คำสั่ง หรือ Tag

Tag เป็นลักษณะเฉพาะของภาษา HTML ใช้ในการระบุรูปแบบคำสั่ง หรือการลงรหัสคำสั่ง HTML ภายในเครื่องหมาย less-than bracket ( < ) และ greater-than bracket ( > ) โดยที่ Tag HTML แบ่งได้ 2 ลักษณะ คือ

Tag เดี่ยว เป็น Tag ที่ไม่ต้องมีการปิดรหัส เช่น <HR>, <BR> เป็นต้น

Tag เปิด/ปิด รูปแบบของ tag นี้จะเป็นแบบ <tag> .... </tag> โดยที่

<tag> เราเรียกว่า tag เปิด

</tag> เราเรียกว่า tag ปิด

2. Attributes

Attributes เป็นตัวบอกรายละเอียดของ tag นั้นเช่น <span align = 'left'> ... </span> เป็นการบอกว่าให้อักษรที่อยู่ใน tag นี้ชิดซ้าย

3. not case sensitive

หมายถึง คุณจะพิมพ์ <BR> หรือ <br> ก็ได้ ผลลัพธ์ออกมาไม่ต่างกัน



โครงสร้างของหลักของ HTML


โครงสร้างหลักของ HTML ก็จะเริ่มด้วย <html> และจบด้วย </html> เสมอ ซึ่งชุดคำสั่งที่ใช้จะแยกเป็น 2 ส่วนคือ

1. head คำสั่งที่อยู่ในส่วนนี้จะใช้บรรยายรายละเอียดเกี่ยวกับ web page ซึ่งจะไม่แสดงผลที่ web page โดยตรง

2. body คำสั่งที่อยู่ในส่วนนี้จะใช้ในการจัดรูปแบบตัวอักษร จัดหน้า ใส่รูปภาพ ซึ่งตัวอักษรในส่วนนี้จะแสดงที่ web brower โดยตรง
<html>

    <head>

             คำสั่งในหัวข้อของ head

    </head>

    <body>

             คำสั่งในหัวข้อของ body ในส่วนนี้จะเป็นส่วนที่ใช้แสดงผล

    </body>

</html>

1. คำสั่งในหัวข้อของ head (Head Section)


Head Section เป็นส่วนที่ใช้อธิบายเกี่ยวกับข้อมูลเฉพาะของหน้าเว็บนั้นๆ เช่น ชื่อเรื่องของหน้าเว็บ (Title), ชื่อผู้จัดทำเว็บ (Author), คีย์เวิร์ดสำหรับการค้นหา (Keyword) โดยมี Tag สำคัญ คือ
<HEAD>

            <TITLE>ข้อความอธิบายชื่อเรื่องของเว็บ</TITLE>

            <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">

            <META NAME="Author" CONTENT="ชื่อผู้พัฒนาเว็บ">

            <META NAME="KeyWords" CONTENT="ข้อความ 1, ข้อความ 2 ">

</HEAD>

TITLE

ข้อความที่ใช้เป็น TITLE ไม่ควรพิมพ์เกิน 64 ตัวอักษร, ไม่ต้องใส่ลักษณะพิเศษ เช่น ตัวหนา, เอียง หรือสี โดยข้อความในส่วนนี้จะแสดงผลใน title bar ของ web browser

META

Tag META จะไม่ปรากฏผลบนเบราเซอร์ แต่จะเป็นส่วนสำคัญ ในการจัดอันดับบัญชีเว็บ สำหรับผู้ให้บริการสืบค้นเว็บ (Search Engine เช่น google , yahoo)

charset=TIS-620 ใช้บอกว่าใช้ชุดตัวอักษรแบบใดในการแสดงผล ภาษาไทยเราใช้ charset=TIS-620 หรืออาจเป็น charset=windows-874 ก็ได้ ตอนนี้แนะนำให้ใช้เป็น charset=utf-8

keyword ดังภาพด้านบนจะเห็นว่าเราสามารถใช่ keywords มากกว่า 1 คำได้โดยใช้เครื่องหมาย (,) ในการคั่นระหว่างคำ

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

2. คำสั่งในส่วนของ (Body Section)


Body Section เป็นส่วนเนื้อหาหลักของหน้าเว็บ ซึ่งการแสดงผลจะต้องใช้ Tag จำนวนมาก ขึ้นอยู่กับลักษณะของข้อมูล เช่น ข้อความ, รูปภาพ, เสียง, วีดิโอ หรือไฟล์ต่างๆ

ส่วนเนื้อหาเอกสารเว็บ เป็นส่วนการทำงานหลักของหน้าเว็บ ประกอบด้วย Tag มากมายตามลักษณะของข้อมูล ที่ต้องการนำเสนอ การป้อนคำสั่งในส่วนนี้ ไม่มีข้อจำกัดสามารถป้อนติดกัน หรือ 1 บรรทัดต่อ 1 คำสั่งก็ได้ แต่มักจะยึดรูปแบบที่อ่านง่าย คือ การทำย่อหน้าในชุดคำสั่งที่เกี่ยวข้องกัน ทั้งนี้ให้ป้อนคำสั่งทั้งหมดภายใต้ Tag <BODY> </BODY> และแบ่งกลุ่มคำสั่งได้ดังนี้

1.กลุ่มคำสั่งเกี่ยวกับการจัดรูปแบบเอกสาร

2.กลุ่มคำสั่งจัดแต่ง/ควบคุมรูปแบบตัวอักษร

3.กลุ่มคำสั่งการทำเอกสารแบบรายการ (List)

4.กลุ่มคำสั่งเกี่ยวกับการทำลิงค์

5.กลุ่มคำสั่งจัดการรูปภาพ

6.กลุ่มคำสั่งจัดการตาราง (Table)

7.กลุ่มคำสั่งควบคุมเฟรม

8.กลุ่มคำสั่งอื่นๆ

วันพุธที่ 18 พฤษภาคม พ.ศ. 2559

Reponsive Web คืออะไร

ผลการค้นหารูปภาพสำหรับ Responsive Web คืออะไร



ความหมาย และ ความสำคัญ ของ Responsive Web Design

        ในปัจจุบัน Mobile Internet Users ได้มีจำนวนเพิ่มขึ้นอย่างรวดเร็ว และมีแนวโน้มที่จะแซง Desktop Internet Users ในปี 2013 อีกด้วย ซึ่ง Mobile Devices นั้นมีความหลากหลายมาก ไม่ว่าจะเป็น ขนาดและความละเอียดของหน้าจอแสดงผล(screen size and resolution) แนวของการแสดงผล(orientation) หรือแม้แต่ระบบปฏิบัติการ(OS)ถ้าเป็นสมัยก่อน เราต้องทำเว็บไซต์ออกมาหลายๆ version เช่น Desktop version กับ Mobile version เพื่อให้เว็บไซต์ของเรา สามารถแสดงผลได้อย่างเหมาะสมกับ Device นั้นๆ ซึ่งวิธีนี้จะทำให้ต้นทุนเพิ่มขึ้น ทั้งในด้านเวลาและค่าจ้างในการพัฒนา

หลักการของ Responsive Web Design

        การจะทำ Responsive Web Design มักใช้เทคนิคหลายๆ อย่าง ร่วมกัน ไม่ว่าจะเป็น Fluid Grid, Flexible Images และ CSS3 Media Queries
        เริ่มแรกคือการทำ Fluid Grid ซึ่งก็คือการออกแบบ Grid ให้เป็นแบบ Relative ซึ่งก็คือการที่ไม่ได้กำหนดขนาดของ Grid แบบตายตัว แต่จะกำหนดให้สัมพันธ์กับสิ่งอื่นๆ เช่น กำหนดความกว้างแบบเป็น % หรือการใช้ font-size หน่วยเป็น em เป็นต้น
        ต่อมาคือการทำ Flexible Images หรือการกำหนดขนาดของ Images ต่างๆ ให้มีความสัมพันธ์กับขนาดของหน้าจอแสดงผล หากรูปต้นฉบับมีขนาดใหญ่มาก เวลาแสดงในมือถือที่มีจอขนาดเล็ก ก็ควรลดขนาดลงมา เพื่อให้แสดงผลได้อย่างสวยงาม เป็นต้น
        สุดท้ายคือการใช้ CSS3 Media Queries ซึ่งจะช่วยให้เราสามารถกำหนด style sheets สำหรับ Devices ต่างๆ ได้ โดยส่วนใหญ่ เราจะเขียน style sheets พื้นฐานเอาไว้ ซึ่งกลุ่มนี้ จะไม่ขึ้นอยู่กับ Devices ใดๆ หลังจากนั้นให้เราเขียน style sheets สำหรับ Devices ที่มีขนาดหน้าจอที่เล็กสุด เพิ่มขึ้นไปเรื่อยๆ จนถึงขนาดใหญ่สุด ซึ่งการเขียนแบบนี้ จะช่วยลดความซ้ำซ้อนของโค้ด และยังทำให้การแก้โค้ดในภายหลังทำได้ง่ายอีกด้วย

ข้อเสียของ Responsive Web Design

       อย่างไรก็ตาม Responsive Web Design ก็ยังมีข้อเสียอยู่บ้าง เนื่องจากการเขียนโค้ดเดียว ให้รองรับหลายๆ Devices จึงอาจทำให้เกิดปัญหา เช่น โทรศัพท์มือถือที่มีหน้าจอขนาดเล็ก ถึงแม้เราจะซ่อนเนื้อหาบางส่วนที่ไม่จำเป็นเอาไว้ เช่น โฆษณา แต่ในบางเว็บบราวเซอร์ ข้อมูลเหล่านี้ยังจะถูกโหลดเข้ามาอยู่ รวมไปถึงเรื่องของ Image Resizing ที่เราไม่ได้ไปลด File Size ของตัว Image จริงๆ ทำให้โทรศัพท์มือถือจำเป็นต้องโหลดรูปเดียวกับรูปที่ใช้แสดงบน Desktop ทำให้เสียเวลาโดยไม่จำเป็น
        Responsive Web Design คือ การออกแบบเว็บไซต์ด้วยแนวคิดใหม่ ที่จะทำให้เว็บไซต์ สามารถแสดงผลได้อย่างเหมาะสม บนอุปกรณ์ที่แตกต่างกัน โดยใช้ โค้ดร่วมกัน URL เดียวกัน เพื่อแก้ปัญหาดังกล่าว

วันศุกร์ที่ 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
0 ถึง 255
ข้อมูลชนิดอักขระ ไม่คิดเครื่องหมาย
int
16
-32,768 ถึง 32,767
ข้อมูลชนิดจำนวนเต็ม ใช้เนื้อที่ 2 byte
unsigned int
16
0 ถึง 65,535
ข้อมูลชนิดจำนวนเต็ม ไม่คิดเครื่องหมาย
short
8
-128 ถึง 127
ข้อมูลชนิดจำนวนเต็มแบบสั้น ใช้เนื้อที่ 1 byte
unsigned short
8
0 ถึง 255
ข้อมูลชนิดจำนวนเต็มแบบสั้น ไม่คิดเครื่องหมาย
long
32
-2,147,483,648 ถึง 2,147,483,649
ข้อมูลชนิดจำนวนเต็มแบบยาว ใช้เนื้อที่ 4 byte
unsigned long
32
0 ถึง 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

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

ฟังก์ชัน ในภาษาซี มี 2 ชนิด คือ ฟังก์ชันมาตรฐาน(standard function)  กับ ฟังก์ชันที่ผู้เขียนโปรแกรมเขียนขึ้นเอง (user defined function)
ฟังก์ชันมาตรฐาน  
เป็นฟังก์ชันที่ผู้ผลิตคอมไพล์เลอร์เขียนขึ้นเพื่อผู้ใช้นำไปใช้ในการเขียนโปรแกรมเพื่อให้เขียนโปรแกรมได้สะดวกและง่ายขึ้น บางครั้งอาจเรียกว่า library functions  ปกติฟังก์ชันเหล่านี้จะจัดเก็บไว้ใน header files ดังนั้นผู้ใช้จะต้องรู้ว่าฟังก์ชันนั้นอยู่ใน header file ใด จึงจะนำไปเรียกใช้ในส่วนต้นของโปรแกรม ด้วย #include <header file.h> ได้ เช่น #include <stdio.h> ฟังก์ชันมีมากมาย อาจจำแนกดังนี้
ฟังก์ชันทางคณิตศาสตร์ เป็นฟังก์ชันที่ใช้ทางการคำนวณ ทางคณิตศาสตร์ ปกติอยู่ใน math.h ผลลัพธ์ ที่ได้จากฟังก์ชันกลุ่มนี้เป็นข้อมูลประเภท double ดังนั้นตัวแปรที่ใช้จึงเป็นพวกที่มีชนิดเป็น double
ฟังก์ชัน sin(x)  เป็นฟังก์ชันใช้คำนวณหาค่าของ sine โดย x มีค่าของมุมในหน่วย เรเดียน
ฟังก์ชัน cos(x) ใช้หาค่า cosine โดย  x มีหน่วยเป็นเรเดียน(radian)
ฟังก์ชัน tan(x) ใช้หาค่า tangent โดย  x มีหน่วยเป็นเรเดียน(radian)
ตัวอย่าง /* math1.c */
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{   float deg , angle, pi = 3.141592654;      clrscr();
    printf("Please enter value of angle in degree that you want to find tan cos sin :");
    scanf("%f",&deg);
    angle = deg * pi / 180;   /* เปลี่ยนค่า องศา ให้เป็นเรเดียน  */
    printf("\nvalue of tangent %4.0f degree is %4.2f ",deg,tan(angle));
    printf("\nvalue of sine %4.0f degree is %4.2f ",deg,sin(angle));
    printf("\nvalue of cosine %4.0f  degree is %4.2f ",deg,cos(angle));
}
ฟังก์ชัน sqrt(x)  ใช้หาค่ารากที่สองของ x โดย x เป็นตัวเลขหรือตัวแปรที่ไม่ติดลบ
ฟังก์ชัน exp(x)  ใช้หาค่า ex  โดย e มีค่าประมาณ 2.718282
ฟังก์ชัน  pow(x,y) ใช้หาค่า x y
ฟังก์ชัน log(x)  ใช้หาค่า log ฐาน e เรียกว่า natural logarithm โดย x เป็นตัวเลขหรือตัวแปรที่ไม่ติดลบ
ฟังก์ชัน log10(x)  ใช้หาค่า log ฐาน 10 โดย x เป็นตัวเลขหรือตัวแปรที่ไม่ติดลบ
ฟังก์ชัน ceil(x)  ใช้ในการปัดเศษทศนิยมของ x เมื่อ x เป็นเลขทศนิยม
ฟังก์ชัน floor(x)  ใช้ในการตัดเศษทศนิยมของ x ทิ้งเมื่อ x เป็นเลขทศนิยม
ฟังก์ชัน fabs(x)  ใช้ในการหาค่าสัมบูรณ์ของค่าคงที่หรือตัวแปรที่มีทศนิยม โดยเป็นบวกหรือลบก็ได้
ตัวอย่าง ให้นักเรียนศึกษาการทำงานของโปรแกรม /* math2.c */  แล้วป้อนโปรแกรมและตรวจสอบการทำงานว่าตรงกับที่คาดคะเนหรือไม่
/* math2.c */
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
    double x = 10.0 , y = 2.0 ,z = 16.0,a = 2.718282 , b = -2.718282 , m=1.0;
    clrscr();
    printf("\npow\(x,y\) = %4.2f  when x=10.0 y=2.0", pow(x,y));
    printf("\nsqrt\(z\) = %4.2f  when z=16.0", sqrt(z));
    printf("\nexp\(m\) = %4.6f  when  m=1.0",exp(m));
    printf("\nlog\(a\) = %4.2f  when a=2.718282",log(a));
    printf("\nlog10\(x\) = %4.2f  when x=10.0",log10(x));
    printf("\nceil\(a\) = %4.2f when a=2.718282",ceil(a));
    printf("\nceil\(b\) = %4.2f when b=-2.718282",ceil(b));
    printf("\nfloor\(a\) = %4.2f  when a=2.718282",floor(a));
    printf("\nfloor\(b\) = %4.2f  when b=-2.718282",floor(b));   
    printf("\nfabs\(a\) = %4.6f when a=2.718282" ,fabs(a));
    printf("\nfabs\(b\) = %4.6f when b=-2.718282" ,fabs(b));
}
ฟังก์ชันที่จัดการเกี่ยวกับตัวอักษร(character  functions)  เป็นฟังก์ชันที่จัดการกับตัวอักษร single char เท่านั้น ตัวอักษรนี้ใช้หน่วยความจำเพียง 1 ไบต์  ฟังก์ชันเหล่านี้อยู่ใน header file ชื่อ ctype.h ก่อนจะทำการเขียนโปรแกรมจึงต้อง #include <ctype.h> เข้ามาในส่วนต้นของโปรแกรม
ฟังก์ชัน  isalnum(cha) เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร(ซึ่งคือตัวแปรประเภท char ) เป็นตัวอักขระหรือตัวเลขหรือไม่ ถ้าเป็นตัวอักษรหรือตัวเลข ฟังก์ชันจะส่งค่าที่ไม่ใช่ 0 มาให้ ถ้าข้อมูลในตัวแปร เป็นอักขระพิเศษอื่นที่ไม่ตัวอักษรหรือตัวเลขจะส่งค่าออกมาเป็น 0
ฟังก์ชัน  isalpha(cha)  เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร(ซึ่งคือตัวแปรประเภท char ) เป็นตัวอักขระหรือไม่ ถ้าเป็นตัวอักษรฟังก์ชันจะให้ค่าที่ไม่ใช่ 0 ออกมาถ้าเป็นตัวเลขหรืออักขระพิเศษอื่นฟังก์ชันจะส่งค่า 0 ออกมา
 ฟังก์ชัน  isdigit(cha)  เป็นฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร(ซึ่งคือตัวแปรประเภท char )  ฟังก์ชัน เป็นตัวเลขหรือไม่ ถ้าเป็นตัวเลขฟังก์ชันจะให้ค่าที่ไม่ใช่  0 ออกมา ถ้าเป็นตัวอักษรหรืออักขระพิเศษอื่น ฟังก์ชันจะส่ง 0 ออกมา
ตัวอย่าง   /* isalnumPhadigit.c */
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
main()
{
    clrscr();
    char cha1 = 'B' ,cha2 ='3',cha3= '&';
    printf("\n %d is return value of isdigit\(cha1\) of %c",isdigit(cha1),cha1);
    printf("\n %d is return value of isdigit\(cha2\) of %c ",isdigit(cha2),cha2);
     printf("\n %d is return value of isalpha\(cha3\) of %c ",isalpha(cha3),cha3);
     printf("\n %d is return value of isalpha\(A\) of %c ",isalpha('A'),'A');
      printf("\n %d is return value of isalpha\('0'\) of %c ",isalpha('0'),'0');
       printf("\n %d is return value of isalpha\('$'\) of %c ",isalpha('$'),'$');
    printf("\n %d is return value of isalnum\(cha1\) of %c",isalnum(cha1),cha1);
    printf("\n %d is return value of isalnum\(cha2\) of %c ",isalnum(cha2),cha2);
    printf("\n %d is return value of isalnum\(cha3\) of %c ",isalnum(cha3),cha3);
    printf("\n %d is return value of isalnum\(A\) of %c ",isalnum('A'),'A');
    printf("\n %d is return value of isalnum\('0'\) of %c ",isalnum('0'),'0');  
    printf("\n %d is return value of isalnum\('$'\) of %c ",isalnum('$'),'$');
    }
ฟังก์ชัน  islower(cha)  ฟังก์ชันที่ใช้ตรวจสอบว่าตัวอักขระในตัวแปร cha เป็นตัวพิมพ์เล็กหรือไม่ ถ้าเป็นตัวพิมพ์เล็กฟังก์ชันจะส่งค่ากลับเป็นจำนวนเต็มที่ไม่ใช่ 0 แต่ถ้าไม่ใช่ตัวพิมพ์เล็กจะส่งค่ากลับเป็น 0
ฟังก์ชัน  isupper(cha)  ฟังก์ชันที่ใช้ตรวจสอบว่าตัวอักขระในตัวแปร cha เป็นตัวพิมพ์ใหญ่หรือไม่ ถ้าเป็นตัวพิมพ์ใหญ่ ฟังก์ชันจะส่งค่ากลับเป็นจำนวนเต็มที่ไม่ใช่ 0 แต่ถ้าไม่ใช่ตัวพิมพ์ใหญ่จะส่งค่ากลับเป็น 0
ฟังก์ชัน  tolower(cha)  ฟังก์ชันที่ใช้เปลี่ยนตัวพิมพ์ใหญ่ที่เก็บอยู่ในตัวแปรให้เป็นตัวพิมพ์เล็ก
ฟังก์ชัน  toupper(cha)  ฟังก์ชันที่ใช้เปลี่ยนตัวพิมพ์เล็กที่เก็บอยู่ในตัวแปรให้เป็นตัวพิมพ์ใหญ่
ตัวอย่าง /* upperlower.c */
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
 main()
{
   char cha1 = 'D' , cha2 = 'a' ,cha3 = 'f'  , cha4 = 'N' ;
    clrscr();
    printf("\ncheck cha1 = 'D' is uppercase yes or no : %d ",isupper(cha1));
    printf("\ncheck cha2 = 'a' is lower yes or no : %d ",islower(cha2));
    printf("\ncheck cha2 = 'a' is upper  yes or no : %d ",isupper(cha2));
    printf("\ncheck  'i' is lower yes or no : %d ",islower('i'));
    printf("\ncheck  'L' is uppercase yes or no : %d ",isupper('L'));
    printf("\nchange cha3 = 'f' to  uppercase %c : ", toupper(cha3));
    printf("\nchange cha4 = 'N' to  lowercase %c : ", tolower(cha4));
}
  ฟังก์ชัน  isspace(cha)  ฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร cha เป็น whitespace หรือไม่ whitespace ได้แก่ space ,tab ,vertical tab ,formfeed ,carriage retun ,newline ถ้ามี whitespace  จริง ฟังก์ชันจะส่งค่าไม่เท่ากับ 0  ถ้าไม่จริงจะส่งค่า 0
ฟังก์ชัน  isxdigit(cha)  ฟังก์ชันที่ใช้ตรวจสอบว่าข้อมูลในตัวแปร cha เป็น เลขฐานสิบหก ( คือ 0-9 , A-F , a – f) หรือไม่ ถ้าจริงส่งค่าตัวเลขที่ไม่ใช่ 0 ถ้าไม่จริงส่งตัวเลข 0
  ตัวอย่าง  /*isspaceisxdigit.c */
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
main()
{
    char cha1 ='\r',cha2= '\n',cha3='\v' ,cha4 ='A';
    clrscr();
    printf("\n%d is volue return from isspace %c ",isspace(cha1),cha1);
    printf("\n%d is volue return from isspace %c ",isspace(cha2),cha2);
    printf("\n%d is volue return from isspace %c ",isspace(cha3),cha3);
    printf("\n%d is volue return from isxdigit  %c ",isxdigit(cha4),cha4);
    printf("\n%d is volue return from isxdigit  %c ",isxdigit('0'),'0');
    printf("\n%d is volue return from isxdigit  %c ",isxdigit('g'),'g');
}
ฟังก์ชัน  gotoxy(x,y);  เป็นฟังก์ชันอยู่ใน conio.h ใช้สั่งให้เคอร์เซอร์เคลื่อนที่ไปตามตำแหน่งที่ระบุ โดย x คือ ตำแหน่งของสดมภ์บนจอภาพ (คล้ายค่า x ของกราฟ)ค่าเพิ่มจากซ้ายไปขวามีค่าตั้งแต่ 1 ถึง 79 ตำแหน่งที่ 80 สงวนไว้ไม่ให้ใช้
ส่วน y คือตำแหน่งแถวบนจอภาพนับจากบนลงล่าง มีค่าได้ตั้งแต่ 1 ถึง 24 ตำแหน่งที่25 สงวนไว้
ฟังก์ชัน  clreol();  เป็นฟังก์ชันอยู่ใน conio.h ใช้ลบข้อความตั้งแต่ตำแหน่งที่เคอร์เซอร์อยู่ไปจนจบบรรทัด
ฟังก์ชัน  delline();  เป็นฟังก์ชันอยู่ในconio.h ใช้ลบข้อความทั้งบรรทัดที่เคอร์เซอร์อยู่ไปจนจบบรรทัดและเลื่อนข้อความในบรรทัดล่างขึ้นมาแทน
ฟังก์ชัน  insline();  เป็นฟังก์ชันอยู่ในconio.h ใช้แทรกบรรทัดว่าง 1 บรรทัดใต้บรรทัดที่เคอร์เซอร์อยู่
ฟังก์ชัน system(“dos command”);  เป็นฟังก์ชันอยู่ในstdlib.h ใช้เรียกคำสั่งของ dos ขึ้นมาทำงาน เช่นคำสั่ง cls dir date time
         ฟังก์ชัน  abort();  ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้ ยกเลิกการทำงานของโปรแกรมทันทีไม่ว่าจะทำงานสำเร็จหรือไม่ และมีข้อความ Abnomal program termination แสดงทางจอภาพ
ฟังก์ชัน  abs(x);  ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้หาค่าสัมบูรณ์ของ x โดย x ต้องเป็นจำนวนเต็ม
ฟังก์ชัน  labs(x);  ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้หาค่าสัมบูรณ์ของ x โดย x ต้องเป็นlong integer
ฟังก์ชัน  atoi(s);  ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้เปลี่ยนข้อความให้เป็นเลขจำนวนเต็ม
ฟังก์ชัน  atol(s);  ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้เปลี่ยนข้อความให้เป็น long integer
ฟังก์ชัน  atof(s);  ฟังก์ชันที่อยู่ใน <stdlib.h> ใช้เปลี่ยนข้อความให้เป็น floating point
ตัวอย่าง  /* atoilf.c */
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{    char numstring1[10],numstring2[10],numstring3[10];
    int in1;    float flo1;    long lon1;     clrscr();
    printf("\nEnter number as string1 : ");
   scanf("%s",numstring1);
    printf("\nEnter number as string2 : ");
   scanf("%s",numstring2);
    printf("\nEnter number as string3 : ");
   scanf("%s",numstring3);
   in1 = atoi(numstring1);   flo1 = atof(numstring2);      lon1=atol(numstring3);
    printf("\nnumstring1 =%s change to integer %d ",numstring1,in1);
    printf("\nnumstring2 =%s change to floating point %4.4f ",numstring2,flo1);
    printf("\nnumstring3 =%s change to long integer %d ",numstring3,lon1);
    printf("\nsummation of in1,flo1,lon1 is %6.4f ",in1+flo1+lon1);
    printf("\nsummation of atoi(numstring1),atof(numstring2),atol(numstring2) is %6.4lf:",atoi(numstring1)+atof(numstring2)+atol(numstring3));

    }

ผังงาน Flowchart

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

ผมขอตอบอย่างสั้น ๆ ว่าทุกภาษาต้องมีหลักการ 3 อย่างนี้คือ การทำงานแบบตามลำดับ(Sequence) การเลือกกระทำตามเงื่อนไข(Decision) และ การทำซ้ำ(Loop) แม้ตำราหลาย ๆ เล่มจะบอกว่า decision แยกเป็น if กับ case หรือ loop นั้นยังแยกเป็น while และ until ซึ่งแตกต่างกัน แต่ผมก็ยังนับว่าการเขียนโปรแกรม แบบมีโครงสร้างนั้น มองให้ออกแค่ 3 อย่างก็พอแล้ว และหลายท่านอาจเถียงผมว่าบางภาษาไม่จำเป็นต้องใช้ Structure Programming แต่เท่าที่ผมศึกษามา ยังไม่มีภาษาใด เลิกใช้หลักการทั้ง 3 นี้อย่างสิ้นเชิง เช่น MS Access ที่หลายคนบอกว่าง่าย ซึ่งก็อาจจะง่ายจริง ถ้าจะศึกษาเพื่อสั่งให้ทำงานตาม wizard หรือตามที่เขาออกแบบมาให้ใช้ แต่ถ้าจะนำมาใช้งานจริง ตามความต้องการของผู้ใช้แล้ว ต้องใช้ประสบการณ์ในการเขียน Structure Programming เพื่อสร้าง Module สำหรับควบคุม Object ทั้งหมดให้ทำงานประสานกัน

1. การทำงานแบบตามลำดับ(Sequence)
รูปแบบการเขียนโปรแกรมที่ง่ายที่สุดคือ เขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์
2. การเลือกกระทำตามเงื่อนไข(Decision or Selection)
การตัดสินใจ หรือเลือกเงื่อนไขคือ เขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว
3. การทำซ้ำ(Repeation or Loop)
การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม หมายถึงการทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน ผู้เขียนโปรแกรมต้องจินตนาการด้วยตนเอง
การเขียนผังงานในการทำงาน
ผังงาน เป็นเครื่องมือสำหรับวาดภาพ 2 มิติ นำเสนอขั้นตอนการดำเนินการ มักใช้ในการแสดงแบบโปรแกรมที่ไม่ซับซ้อนมากนัก ต่อมาก็มีการประยุกต์ใช้แสดงขั้นตอนการทำงานของส่วนงานต่าง ๆ เพราะสัญลักษณ์ในแผนภาพช่วยในการอธิบายการทำงานแบบมีเงื่อนไขได้ดีกว่าการเขียนเชิงพรรณา
ประโยชน์ของการใช้ผังงาน
1. ทำให้เข้าใจ และแยกแยะปัญหาได้ง่าย (Problem Define)
2. แสดงลำดับการทำงาน (Step Flowing)
3. หาข้อผิดพลาดได้ง่าย (Easy to Debug)
4. ทำความเข้าใจโปรแกรมได้ง่าย (Easy to Read)
5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible Language)