วันพุธที่ 25 กุมภาพันธ์ พ.ศ. 2558

ตัวดำเนินการ ภาษาซี

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

การใช้งานภาษาซี

การเขียนโปรแกรมระบบเป็นการใช้งานหลักของภาษาซี ซึ่งรวมไปถึงการพัฒนาระบบปฏิบัติการและโปรแกรมประยุกต์ระบบฝังตัว เนื่องจากลักษณะเฉพาะอันเป็นที่ต้องการถูกรวมเข้าไว้ด้วยกัน อย่างเช่น ความสามารถในเคลื่อนย้ายได้กับประสิทธิภาพของรหัสต้นฉบับ ความสามารถในการเข้าถึงที่อยู่ของฮาร์ดแวร์ที่ระบุ ความสามารถเรื่อง type punning เพื่อให้เข้ากับความต้องการการเข้าถึงข้อมูลที่กำหนดไว้จากภายนอก และความต้องการทรัพยากรระบบขณะทำงานต่ำ ภาษาซีสามารถใช้เขียนโปรแกรมเว็บไซต์โดยใช้ซีจีไอเป็น "เกตเวย์" เพื่อแลกเปลี่ยนสารสนเทศระหว่างเว็บแอปพลิเคชัน เซิร์ฟเวอร์ และเบราว์เซอร์ [16] ปัจจัยบางอย่างที่ทำให้เลือกภาษาซีแทนที่จะเป็นภาษาอินเทอร์พรีตเตอร์ คือความเร็ว เสถียรภาพ และความอ่อนไหวต่อการเปลี่ยนแปลงในสภาพแวดล้อมของการดำเนินงาน เนื่องจากเป็นธรรมชาติของภาษาคอมไพเลอร์ [17]
ผลจากการยอมรับในระดับกว้างขวางและประสิทธิภาพของภาษาซี ทำให้ตัวแปลโปรแกรม ตัวแปลคำสั่ง ไลบรารีต่าง ๆ ของภาษาอื่น มักพัฒนาขึ้นด้วยภาษาซี ตัวอย่างเช่น ตัวแปลโปรแกรมภาษาไอเฟลหลายโปรแกรมส่งข้อมูลออกเป็นรหัสภาษาซีเป็นภาษากลาง เพื่อส่งต่อให้ตัวแปลโปรแกรมภาษาซีต่อไป การพัฒนาสายหลักของภาษาไพทอน ภาษาเพิร์ล 5 และภาษาพีเอชพี ทั้งหมดถูกเขียนขึ้นด้วยภาษาซี
ภาษาซีมีประสิทธิภาพสำหรับคอมพิวเตอร์เพื่องานคำนวณและวิทยาศาสตร์ เนื่องจากความสิ้นเปลืองต่ำ ธรรมชาติของภาษาระดับต่ำ ธรรมชาติของภาษาที่ถูกแปล และมีส่วนคณิตศาสตร์ที่ดีในไลบรารีมาตรฐาน ตัวอย่างของการใช้ภาษาซีในงานคำนวณและวิทยาศาสตร์ เช่นจีเอ็มพี ไลบรารีวิทยาศาสตร์ของกนู แมเทอแมติกา แมตแล็บ และแซส
ภาษาซีบางครั้งใช้เป็นภาษาระหว่างกลางในการทำให้เกิดผลของภาษาอื่น แนวคิดนี้อาจใช้เพื่อความสะดวกต่อการเคลื่อนย้าย โดยให้ภาษาซีเป็นภาษาระหว่างกลาง ซึ่งไม่จำเป็นต้องพัฒนาตัวสร้างรหัสแบบเจาะจงเครื่อง ตัวแปลโปรแกรมที่ใช้ภาษาซีในทางนี้เช่น บิตซี แกมบิต จีเอชซี สควีก และวาลา เป็นต้น อย่างไรก็ตามภาษาซีถูกออกแบบมาเพื่อเป็นภาษาเขียนโปรแกรม ไม่ใช่ภาษาเป้าหมายของตัวแปลโปรแกรม จึงเหมาะสมน้อยกว่าสำหรับการใช้เป็นภาษาระหว่างกลาง ด้วยเหตุผลนี้นำไปสู่การพัฒนาภาษาระหว่างกลางที่มีพื้นฐานบนภาษาซีเช่น ภาษาซีไมนัสไมนัส
ผู้ใช้ขั้นปลายใช้ภาษาซีอย่างแพร่หลายเพื่อสร้างแอปพลิเคชันของผู้ใช้เอง แต่เมื่อแอปพลิเคชันใหญ่ขึ้น การพัฒนาเช่นนั้นมักจะย้ายไปทำในภาษาอื่นที่พัฒนามาด้วยกัน เช่นภาษาซีพลัสพลัส ภาษาซีชาร์ป ภาษาวิชวลเบสิก เป็นต้น

คุณลักษณะที่ขาดหายไปของ ภาษาซี

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

ลักษณะเฉพาะของภาษาซี

ภาษาซีมีสิ่งอำนวยสำหรับการเขียนโปรแกรมเชิงโครงสร้าง และสามารถกำหนดขอบข่ายตัวแปรและเรียกซ้ำ เช่นเดียวกับภาษาโปรแกรมเชิงคำสั่งส่วนใหญ่ในสายตระกูลภาษาอัลกอล ในขณะที่ระบบชนิดตัวแปรแบบอพลวัตช่วยป้องกันการดำเนินการที่ไม่ได้ตั้งใจ รหัสที่ทำงานได้ทั้งหมดในภาษาซีถูกบรรจุอยู่ในฟังก์ชัน พารามิเตอร์ของฟังก์ชันส่งผ่านด้วยค่าของตัวแปรเสมอ ส่วนการส่งผ่านด้วยการอ้างอิงจะถูกจำลองขึ้นโดยการส่งผ่านค่าตัวชี้ ชนิดข้อมูลรวมแบบแตกต่าง (struct) ช่วยให้สมาชิกข้อมูลที่เกี่ยวข้องกันสามารถรวมกันและจัดการได้ในหน่วยเดียว รหัสต้นฉบับของภาษาซีเป็นรูปแบบอิสระ ซึ่งใช้อัฒภาค (;) เป็นตัวจบคำสั่ง (มิใช่ตัวแบ่ง)
ภาษาซียังมีลักษณะเฉพาะต่อไปนี้เพิ่มเติม
  • ตัวแปรอาจถูกซ่อนในบล็อกซ้อนใน
  • ชนิดตัวแปรไม่เคร่งครัด เช่นข้อมูลตัวอักษรสามารถใช้เป็นจำนวนเต็ม
  • เข้าถึงหน่วยความจำคอมพิวเตอร์ในระดับต่ำโดยแปลงที่อยู่ในเครื่องด้วยชนิดตัวแปรตัวชี้ (pointer)
  • ฟังก์ชันและตัวชี้ข้อมูลรองรับการทำงานในภาวะหลายรูปแบบ (polymorphism)
  • การกำหนดดัชนีแถวลำดับสามารถทำได้ด้วยวิธีรอง คือนิยามในพจน์ของเลขคณิตของตัวชี้
  • ตัวประมวลผลก่อนสำหรับการนิยามแมโคร การรวมไฟล์รหัสต้นฉบับ และการแปลโปรแกรมแบบมีเงื่อนไข
  • ความสามารถที่ซับซ้อนเช่น ไอ/โอ การจัดการสายอักขระ และฟังก์ชันทางคณิตศาสตร์ รวมอยู่ในไลบรารี
  • คำหลักที่สงวนไว้มีจำนวนค่อนข้างน้อย
  • ตัวดำเนินการแบบประสมจำนวนมาก อาทิ +=-=*=++ ฯลฯ
โครงสร้างการเขียน คล้ายภาษาบีมากกว่าภาษาอัลกอล ตัวอย่างเช่น
  • ใช้วงเล็บปีกกา { ... } แทนที่จะเป็น begin ... end ในภาษาอัลกอล 60 หรือวงเล็บโค้ง ( ... ) ในภาษาอัลกอล 68
  • เท่ากับ = ใช้สำหรับกำหนดค่า (คัดลอกข้อมูล) เหมือนภาษาฟอร์แทรน แทนที่จะเป็น := ในภาษาอัลกอล
  • เท่ากับสองตัว == ใช้สำหรับเปรียบเทียบความเท่ากัน แทนที่จะเป็น .EQ. ในภาษาฟอร์แทรนหรือ = ในภาษาเบสิกและภาษาอัลกอล
  • ตรรกะ "และ" กับ "หรือ" แทนด้วย && กับ || ตามลำดับ แทนที่จะเป็นตัวดำเนินการ ∧ กับ ∨ ในภาษาอัลกอล แต่ตัวดำเนินการดังกล่าวจะไม่ประเมินค่าตัวถูกดำเนินการทางขวา ถ้าหากผลลัพธ์จากทางซ้ายสามารถพิจารณาได้แล้ว เหตุการณ์เช่นนี้เรียกว่าการประเมินค่าแบบลัดวงจร (short-circuit evaluation) และตัวดำเนินการดังกล่าวก็มีความหมายต่างจากตัวดำเนินการระดับบิต & กับ |

การออกแบบ ภาษาซี

ภาษาซีเป็นภาษาที่ใช้ในการมีปฏิสัมพันธ์เช่น เชิงคำสั่ง (หรือเชิงกระบวนงาน) ถูกออกแบบขึ้นเพื่อใช้แปลด้วยตัวแปลโปรแกรมแบบการเชื่อมโยงที่ตรงไปตรงมา สามารถเข้าถึงหน่วยความจำในระดับล่าง เพื่อสร้างภาษาที่จับคู่อย่างมีประสิทธิภาพกับชุดคำสั่งเครื่อง และแทบไม่ต้องการสนับสนุนใด ๆ ขณะทำงาน ภาษาซีจึงเป็นประโยชน์สำหรับหลายโปรแกรมที่ก่อนหน้านี้เคยเขียนในภาษาแอสเซมบลีมาก่อน
หากคำนึงถึงความสามารถในระดับล่าง ภาษานี้ถูกออกแบบขึ้นเพื่อส่งเสริมการเขียนโปรแกรมที่ขึ้นอยู่กับเครื่องใดเครื่องหนึ่ง (machine-independent) โปรแกรมภาษาซีที่เขียนขึ้นตามมาตรฐานและเคลื่อนย้ายได้ สามารถแปลได้บนแพลตฟอร์มคอมพิวเตอร์และระบบปฏิบัติการต่าง ๆ อย่างกว้างขวาง โดยแก้ไขรหัสต้นฉบับเพียงเล็กน้อยหรือไม่ต้องแก้ไขเลย ภาษานี้สามารถใช้ได้บนแพลตฟอร์มได้หลากหลายตั้งแต่ไมโครคอนโทรลเลอร์ฝังตัวไปจนถึงซูเปอร์คอมพิวเตอร์

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

การใส่ปุ๋ยสนามหญ้า

การใส่ปุ๋ยสนามหญ้า

ในการจัดสวน ปุ๋ยเป็นสิ่งจำเป็นในการเจริญเติบโต จะทำให้สนามหญ้ามีสีเขียวสวยงาม หากขาดปุ๋ย หญ้าก็มีใบสีเหลือง ต้นหญ้าจะแคระแกร็น ปุ๋ยที่ใช้ควรใส่ธาตุอาหาร N-P-K หรือเท่ากับ 3-1-2 หรือสูตร 30-10-20  โดยใส่ 1-2 เดือน/ครั้ง โดยการหว่านหรือละลายน้ำรด ควรให้อย่างสม่ำเสมอทั่วสนาม หลังให้ควรรดน้ำตาม เพื่อล้างปุ๋ยที่ติดอยู่ที่ใบของหญ้า เพื่อป้องกันไม่ได้เกิดรอยไหม้
    องค์ประกอบทางศิลปะที่ช่วยสร้างรูปลักษณ์ของสวนให้เกิดจุดเด่นสวยงาม
    ความสมดุล การจัดสวนแบบประดิษฐ์มักใช้ความสมดุลแบบสมมาตร คือทำเหมือนกันทั้งซ้าย-ขวา, หน้า-หลัง  ส่วนการจัดสวนแบบธรรมชาติ อาจใช้ความสมดุลของน้ำหนัก การจัดวางองค์ประกอบในสวน
    สัดส่วนและจังหวะ การจัดสวนที่ดีความอาศัยความสมดุล สัดส่วน ปริมาณ ต้นไม้ที่เหมาะสม
    ความกลมกลืนและความขัดแย้ง “ความกลมกลืน” จะช่วยให้เกิดความเป็นเอกภาพ ซึ่งความเป็นเอกภาพจะช่วยสร้างจุดเด่นขึ้นมา อย่างเราปลูกไม้คลุมดินสีขาวเป็นกลุ่มใหญ่ก็จะกลายเป็นจุดเด่น แต่หากเรานำโอ่งดินเผาวางลงไปในแปลง สีขาวของไม้คลุมดินจะตัดกับสีน้ำตาลของโอ่งดินเผา ลักษณะเช่นนี้เราเรียกว่าการสร้าง “ความขัดแย้ง” ความขัดแย้งดังกล่าวช่วยสร้างให้โอ่งดินเผาดูเด่นขึ้นมาและเพิ่มความน่าสนใจมากขึ้น เราสามารถสร้างความขัดแย้งได้หลายวิธี เช่น ขัดแย้งด้วยสี ด้วยผิวด้วยขนาด ด้วยทิศทาง ฯลฯ
    สีและผิวสัมผัส การใช้สีช่วยให้เกิดความหลากหลายและสวยงาม เหมือนการระบายสีรูปภาพบนกระดาษ นอกจากสีของดอกไม้ใบไม้แล้ว อาจใช้สีของวัสดุแต่งสวนเพื่อสร้างจุดเด่นให้สวน ส่วนความหยาบละเอียดของใบไม้แต่ละชนิดก็คือผิวสัมผัส ซึ่งทำให้เกิดความขัดแย้ง เช่น ใบไม้ขนาดใหญ่กับใบเล็กละเอียดความแตกต่างตรงนี้คือจุดเด่นนั่นเอง

องค์ประกอบทางศิลปะที่นำมาใช้ในการจัดสวน

งค์ประกอบทางศิลปะที่นำมาใช้ในการจัดสวน

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

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