วันอังคารที่ 23 สิงหาคม พ.ศ. 2554

การพูดในที่ชุมชน

การพูดในที่ชุมชน  

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

การพูดในที่ชุมชนมีความสำคัญมากสรุปได้ดังนี้
                
 1.  เป็นวิธีเผยแพร่ความคิดเห็นของบุคคลที่สะดวกรวดเร็วให้ปรากฏแก่สาธารณชนทั้งในทางสนับสนุนและคัดค้าน                 
2.  เป็นวิถีทางถ่ายทอดทางวัฒนธรรม ปลูกฝังคุณธรรม  การเผยแพร่ความรู้ใหม่ ๆไปสู่ประชาชน                 

3.  เป็นวิถีทางทำให้มนุษย์ชี้แนะ การแก้ปัญหาต่าง ๆ ให้แก่สังคมได้

การพูดในที่ชุมชน   แบ่งตามวิธีทำเสนอมี  4  ประเภท  คือ  
1.  การพูดโดยฉับพลัน  คือ  การพูดโดยฉับพลันทันทีไม่รู้ตัวล่วงหน้ามาก่อน เช่นได้รับเชิญให้ขึ้นมาพูดอวยพรในงานมงคลสมรส                   
2.  การพูดโดยอาศัยต้นร่าง ผู้พูดรู้ตัวล่วงหน้า  ผู้พูดมักนำเค้าโครงเรื่องที่พูดทำให้เกิดความมั่นใจในการพูดเป็นอย่างมาก                   
3.  การพูดโดยวิธีการท่องจำมา ผู้พูดต้องเตรียมเขียนต้นฉบับแล้วท่องจำเนื้อหาทั้งหมดจนขึ้นใจ การพูดวิธีนี้เสียเวลามาก และไม่ใคร่เป็นธรรมชาติ                   
4.  การพูดโดยวิธีอ่านจากร่าง  คือ การอ่านต้นฉบับที่เตรียมไว้เป็นอย่างดี  ส่วนมากจะใช้ในโอกาสสำคัญ  เช่น  การกล่าวเป็นประชุม  ฯลฯ เป็นต้น
 
การพูดในที่ชุมชนแบ่งตามความมุ่งหมายได้เป็น  4  ประเภท คือ 
 

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

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

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


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

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

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

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


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

การวิเคราะห์และประเมินค่าพฤติกรรมการพูดในที่ชุมชน
      
การวิเคราะห์ควรวิเคราะห์ในด้านผู้พูด  สาร  ผู้ฟังและประเมินค่าไปตามหัวข้อที่ได้
วิเคราะห์ไว้แล้วดังนี้
-    ผู้พูดมีจุดมุ่งหมายชัดเจนหรือไม่
-    เตรียมตัวมาดีหรือไม่

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

วันจันทร์ที่ 25 กรกฎาคม พ.ศ. 2554

Resume



Resume (ประวัติส่วนตัว)

Personal Detail


Name : Ms.Pornsuda Intharaprasit

Address : 108/6 Seemara Road , A.mang , Phichit 66000

Age : 21 years

Height : 158 Cms.

Weight : 50 Kgs.

Date of birth : April 14 1990

Tel : 087-0000000

E-mail : Karn222@windowslive.com

Educationnal Backround : 2008-2011 Suan Dusit Rajabhat University ,Management

                                        Science Business Computer GPA : 2.78

                                        2003-2007 Phichitpittayakom School , Scinnce , GPA : 2.57

Training Experience : Nov 2011 – Jan 2012 , Company Thai SKK Industry

Working Experience : -


Special Abilities : Microsoft word , Excel , PowerPoint

                              Photoshop Cs4

                              Can speak , Write , Reading English

                              Interests : Travel , music , spot , fashion

-------------------------------------------------------------------

Cover Letter (จดหมายผ่าน E-mail)

Resume
 
Dear Sir

             Referring to your advertize in http://jobmarket.co.th in position of Administration. I would appreciate to apply for this Position. I very ensure that position . I very ensure that my background and experience as serve you well. Here with my resume with file attached . I look forward to hearing from you soon or your covenience time .  
             My contact number is 087-0000000 personal E-mail Karn222@windowslive.com





    Your sincerely
Mr. Intharaprasit Pornsuda































วันพฤหัสบดีที่ 21 กรกฎาคม พ.ศ. 2554

Conversation

การสัมภาษณ์งาน

ถาม     Good afternoon , How doyou do?

ตอบ    Good afternoon , How doyou do.

ถาม     Nice to meet you.

ตอบ    Nice to meet you too.

ถาม    Could you please introduce yourself  briefly?

ตอบ    My name is Pornsuda Intharaparssit. I'm now 21 year old. I have two sisters. I graduated 

form Suan dusit Rajabhat University.I did a bachelor in managementseince.My major was

businesscomputer.

ถาม    Where did you graduated?  

ตอบ    I graduated from Suandusit Rajabhat University. 

ถาม     What course did you you take?

ตอบ    I did a bachelor in managementseince.   

ถาม     What was you GPA?

ตอบ    Two point seven three.

ถาม     What company are you working for ?

ตอบ    I am still out of work.  

ถาม     What  salary do you expect ?

ตอบ    15,000. 

ถาม     When are you going to start?

ตอบ    July 1 , 2011

ถาม     What do you do during your free time ? 

ตอบ     Playing Batmintan.

ถาม     Can you drive a car ?

ตอบ     Yes,I can. 

ถาม      Have you been to abroad?

ตอบ     No, I can't

วันพฤหัสบดีที่ 7 กรกฎาคม พ.ศ. 2554

Joomla

การสร้างฐานข้อมูลใหม่โดยการให้พิมพ์ Joomla  เปลี่ยนแล้ว font   กดสร้าง จากนั้นเปิดหน้าต่างใหม่ขึ้นมาพิมพ์ http://localhost/joomla  แต่ต้องมีการย้าย Joomla ไปอยู่ใน www ก่อน ตรวจสอบก่อนการติดตั้งสำหรับ ต้องเป็นสีเขียวทั้งหมด ถ้ามี สีแดงอยู่ ให้ปรับแต่ server ก่อน แล้ว คลิก ตรวจสอบอีกครั้ง ถ้ามีสีเขียวทั้งหมดแล้ว ให้ คลิก ปุ่ม ถัดไป ได้เลย 

การติดตั้ง joomla เลือกถัดไปเรื่อยๆจนถึงการใส่ข้อมูลให้ใส่ข้อมูลดังนี้
ชนิดฐานข้อมูล  mysql โดยมากใช้ 'mysql'
  ชื่อโฮสต์  localhost ค่าทั่วไปคือ 'localhost'
  ชื่อผู้ใช้ฐานข้อมูล  root ชื่อผู้ใช้งานดาต้าเบส อาจจะใส่เป็น 'root' หรือชื่อผู้ใช้ที่ได้รับ จากผู้ให้บริการ     โฮสของท่าน
  รหัสผ่าน   root เพื่อความปลอดภัยท่านควรกำหนดรหัสผ่าน สำหรับเข้าใช้งานฐานข้อมูล
  ชื่อฐานข้อมูล  joomla โฮสบางแห่งมีเพียงดาต้าเบสเดียวให้ท่านใช้งาน กรณีนี้ท่านสามารถใช้ชื่อนำหน้า (prefix) ตารางเพื่อติดตั้งมากกว่าหนึ่งไซต์.

   จากนั้นคลิกถัดไป ถัดไป  ตั้งชื่อเว็บไซต์ว่า joomla program  ใส่อีเมล์ ใส่รหัสผ่าน addmin
ยืนยันเหมือนกัน คลิกถัดไป  คลิกตกลง เท่านี้ก็ติดตั้งเรียบร้อยแล้ว  เปลี่ยนชื่อที่ joomla   ที่ตัว  installation เป็น installation-1  (ถ้าทำจริงต้องลบทิ้ง)  คลิกดูหน้าเว็บไซต์ 
เปิดแท็บใหม่พิมพ์http://localhost/joomla/administrator/เพื่อเข้าสู่ระบบ admin (Username : admin   , Password: addmin)  ติดตั้ง font ภาษาไทย Extensions เลือก install   เลือกไฟล์   แล้วทำการอัฟโหลด ไปเช็ค ที่ตัว Languages เพื่อดูภาษาเป็นภาษาไทย  กลับไป Extensions    Languages Manager  เลือกไทย  Default  เพื่อพิมพ์ภาษาไทย  ไปส่วนขยาย  การจัดการเทมเพลต   เพื่อเปลี่ยนพื้นหลังให้กับเว็บ โมดูล เป็นตัวเสริมข้อมูลต่างๆ  บล็อกอินก็เช่นกัน

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

WordPress

         WordPress คือโปรแกรม สำเร็จรูปตัวหนึ่ง ที่เอาไว้สำหรับสร้างบล็อก หรือ เว็บไซต์ สามารถใช้งานได้ฟรี ถูกจัดอยู่ในประเภท CMS (Contents Management System) ซึ่งหมายถึง โปรแกรมสำเร็จรูปที่มีไว้สำหรับสร้างและบริหารจัดการเนื้อหาและข้อมูลบนเว็บไซต์

         WordPress ได้รับการพัฒนาและเขียนชุดคำสั่งมาจากภาษา PHP (เป็นภาษาโปรแกรมมิ่งตัวหนึ่ง) ทำงานบนฐานข้อมูล MYSQL ซึ่งเป็นโปรแกรมสำหรับจัดการฐานข้อมูลมีหน้าที่เก็บ เรียกดู แก้ไข เพิ่มและลบข้อมูล

         WordPress ได้รับความนิยนอย่างรวดเร็ว เพราะใช้ง่าย ไม่จำเป็นต้องมีความรู้ในเรื่องโปรแกรมมิ่ง มีรูปแบบที่สวยงาม อีกทั้งยังมีผู้พัฒนารูปแบบการแสดงผล และโปรแกรมเสริมให้เลือกใช้ฟรีอย่างมากมาย

วันศุกร์ที่ 24 มิถุนายน พ.ศ. 2554

อาร์เรย์ (Array)

 - โครงสร้างข้อมูลแบ่งออกเป็น 2 ประเภทใหญ่ๆ คือ

      - โครงสร้างข้อมูลแบบเชิงเส้น (Linear Lists) มีรูปแบบเป็นรายการต่อเนื่อง ข้อมูลที่จัดเก็บจะมีลักษณะเป็นแถวลำดับต่อเนื่อง เช่น อาร์เรย์(Array) สแต็ก(Stacks) และคิว(Queues) เป็นต้น
      - โครงสร้างข้อมูลแบบไม่เป็นเชิงเส้น (Non-Linear Lists) โครงสร้างข้อมูลชนิดนี้จะต้องข้ามกับแบบแรก เช่น ทรี(Trees) และกราฟ(Graphs) เป็นต้น  

-โครงสร้างข้อมูลแบบอาร์เรย์(Array)
        - อาร์เรย์ คือ การรวมกลุ่มของตัวแปรที่สามารถใช้ตัวแปรชื่อเดียวแทนข้อมูลสมาชิกได้หลายๆ ตัวด้วยการใช้ดรรชนี(Index) หรือซับสคริปต์(Subscript) เป็นตัวอ้างอิงตำแหน่ง

- คุณสมบัติสำคัญของอาร์เรย์

      - อาร์เรย์เป็นตัวแทนของกลุ่มที่มีความสัมพันธ์กันเช่น 12 เดือน ซึ่งประกอบด้วยเดือนมกราคมถึงเดือนธันวาคม ราคาหุ้นในรอบ 30 วัน เป็นต้น
      -  มีชนิดข้อมูลเหมือนกันทั้งหมด เช่น ชนิดข้อมูลของตัวแปร
      -  อาร์เรย์มีขนาดคงที่
      -  ผู้ใช้สามารถอ้างอิงเพื่อเข้าถึงข้อมูลที่ต้องการได้ทันที

- การอ้างอิงตำแหน่งสมาชิกในอาร์เรย์

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

- ขอบเขตของอาร์เรย์ (Bounds)
     - เลขดัชนี ในอาร์เรย์ประกอบด้วยช่วงขอบเขตของค่า ซึ่งประกแบด้วยขอบเขตล่างสุด และขอบเขตบนสุด
- การคำนวณจำนวนสามาชิกของอาร์เรย์ 1 มิติ

     - จำนวนสมาชิก  = U + L + 1

- การคำนวณจำนวนสามาชิกของอาร์เรย์ 2 มิติ

     - จำนวนสมาชิก = (U1 – L1 + 1) x (U2 – L2 + 1)

- การคำนวณจำนวนสามาชิกของอาร์เรย์ 3 มิติ

     - จำนวนสมาชิก = (U1 – L1 + 1) x (U2 – L2 + 1) x (U3 – L3 + 1)

 -การจัดเก็บอาร์เรย์ในหน่วยความจำ

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

- อาร์เรย์ 1 มิติ  รูปแบบโครงสร้างข้อมูลอาร์เรย์ 1 มิติ คือ

     - ArrayName [ L : U ]  

-สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 1 มิติ 

     - LOC(a[ i ])  = B + W(i + L)

 - อาร์เรย์ 2 มิติ รูปแบบโครงสร้างข้อมูลอาร์เรย์ 2 มิติ คือ 

     - ArrayName [ L1 : U1, L2 : U2 ] 

- สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 2 มิติ
 

     - รูปแบบการเรียงแถวเป็นหลัก

     -  LOC(K[ i,j ] ) = B + W[C(i – L1) + (j – L2) ]

โดยที่ R คือจำนวนคอลัมน์ของแถวลำดับ (R x C)

     - รูปแบบการเรียงคอลัมน์เป็นหลัก

     - LOC(K[ i,j ] ) = B + W[R(j – L2)]+ (i – L1) ]

โดยที่ R คือจำนวนแถวของแถวลำดับ (R x C)

- อาร์เรย์ 3 มิติ รูปแบบโครงสร้างข้อมูลอาร์เรย์ 3 มิติ คือ 

     - ArrayName [ L1 : U1, L2 : U2, L3 : U3 ]  

- สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 3 มิติ  

      - รูปแบบการเรียงแถวเป็นหลัก

      - LOC(S[ i,j,k ]  = B + [W x R x C(i – L1)]
                            + [W x C(j – L2)]
                            + [W(k - L3)] 

     - รูปแบบการเรียงคอลัมน์เป็นหลัก

     - LOC(S[ i,j,k ]  = B + [W x K x R x C(j – L2)]
                            + [W x K x R(i– L1)]
                            + [k - L3]  

 

วันอังคารที่ 21 มิถุนายน พ.ศ. 2554

ความรู้พื้นฐานเกี่ยวกับการออกแบบโปรแกรม

 บทที่ 1


1.Steps in program development
  กำหนดปัญหา
   - ร่างรายระเอียดการแก้ไขปัญหา
   - พัฒนาอัลกอลิทึ่ม
   - ตรวจสอบความถูกต้องของอัลกอลิทึ่ม
   - เขียนโปรแกรม
   - ทดสอบโปรแกรม
   - จัดทำเอกสารและบำรุงรักษาโปรแกรม

กำหนดปัญหาประกอบไปด้วย
   - Input
   - Output
   - Processing

Outline the solution
   - แตกงานให้เป็นชิ้นงานย่อยๆหรือเป็นขั้นเป็นตอน (หลังการกำหนดปัญหา)
   - การร่างรายละเอียดแนวทางการแก้ไขปัญหาต่างๆประกอบด้วย
      - ขั้นตอนการประมวลผลส่วนหลัก
      - ส่วนหลักของงานที่ได้มีการแตแย่อย
      - ส่วนความสัมพันธ์กับผู้ใช้งาน
      - โครงสร้างที่ใช้ควบคุม เช่น การวนซ้ำ หรือการกำหนดทางเลือก
      - ตัวแปรและโครงสร้างของเรคอร์ด
      - ตรรกะโปรแกรม

Develop and Algorithm
   - ขั้นตอนที่ใช้อธิบายลำดับการทำงาน และหากได้ปฏิบัติตามขั้นตอนของอัลกอริทึ่มที่ออกมา
   - ซูโดโค้ดเป็นตัวแทนอัลกอริทึ่มเพื่อใช้แก้ปัญหาทางคอมพิวเตอร์

Test the algorithm for Correctness
   - ตรวจสอบทั้งตรรกะของอัลกอลิทึ่ม ตัวแปรหลัก และการนำข้อมูลทดสอบเข้าไปประมวลผลในแต่ละขั้นตอน

Programming
   - นำอัลกอลิทึ่มที่ได้รับการออกแบบอย่างสมบูรณ์มาพัฒนาด้วยการเขียนโปรแกรม


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

Document and Maintain the Program
   - กาารจัดทำเอกสารประกอบโปรแกรมจะต้องจัดทำตั้งแต่ขั้นตอนการกำหนดปัญหาจนถึงขั้นตอนสุดท้าย คือ การทดสอบผลลัพธ์
   - เอกสารประกอบโปรแกรมจะประกอบไปด้วย
      - เอกสานภายนอก เช่น ผังโครงสร้าง
      - เอกสารภายใน คือ ชุดคำสั่งในโปรแกรม
   - การบำรุงรักษาโปรแกรมจะเกี่ยวข้องกับงานดูแลและปรับปรุงโปรแกรม

2.Program design Methodology
   - การออกแบบโปรแกรมแบบ Procedure-Driven
        - แนวความคิด>>มีกระบวนการ(Processes)หรือฟังก์ชัน(Function)
   - การออกแบบโปรแกรมแบบ Event-Driven
       - แนวความคิด>>เหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อ
โปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ
   - การออกแบบโปรแกรมแบบ Data-Driven
       - แนวความคิด>>ข้อมูลในโปรแกรมมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
ได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ

3. Procedural และ Object-Oriented
    - การเขียนโปรแกรมแบบบนลงล่าง(Top-Down Development)
   - การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design 
   - การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)


4.Objective of Structured Program  Design Techniques
  -  ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่าจะเกิดผลลัพธ์อะไรขึ้นในเงื่อนไขกรณีต่างๆ 
   - โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต 
   -  ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
   -  ลดเวลาในการพัฒนาโปรแกรม


5.Introduction to Algorithm and Pseude Code
    -  อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้ หรือขั้นตอนวิธีซึ่งจะใช้อธิบายว่า งานนั้นทำงานอย่างไร เมื่อได้ปฏิบัติตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
   - คุณสมบัติของอัลกอริทึมที่ดี
       -ไม่กำกวม อ่านแล้วเข้าใจง่าย
       - ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ
       - กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่ายเพียงพอต่อการดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้
       -ต้องมีจุดสิ้นสุด
     ซูโดโค้ด(Pseudo Code) สามารถนำมาใช้แทนอัลกอริทึมได้ โปรแกรมเมอร์สามารถนำอัลกอริทึมที่นำเสนอ ในรูปแบบซูโดโค้ดไปเขียนเป็นชุดคำสั่งภาษาโปรแกรมได้ทันที
หลักการเขียนซูโดโค้ด  
    - ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย 
    - ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
    - ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน  
    - แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว 
    - กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล 

6.Six Basic Computer Operations 
    - รับข้อมูลได้ (input device) 
  -อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บข้อมูล  เช่น ดิสก์ หรือเทป 
        -ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด 
            -read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล
            -get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
  ตัวอย่าง 
  read studentName
  get systemDate
  read number1,number2
  get taxCode

   - คอมพิวเตอร์สามารถแสดงผลลัพธ์ได้
      -print ใช้สำหรับการส่งผลลัพธ์ออกทางแป้นพิมพ์ 
      -write ใช้สำหรับการส่งออกเอาต์พุตเพื่อเก็บบันทึกลงในไฟล
      -put,output หรือ display ใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ

  ตัวอย่าง
  print “Program Completed”
  write customer record to master file
  put name,address and postcode
  output totalTax
  display “End of data”

   - คอมพิวเตอร์สามารถแสดงผลลัพธ์ได้(Cont)
        -คำสั่ง prompt ที่ใช้สำหรับแสดงข้อความก่อนที่จะใช้คำสั่ง get,เพื่อจะได้สามารถสือสารโต้ตอบกับยูสเซอร์ได้อย่างสมบูรณ์ยิ่งขึ้น 
      -คำกริยาที่ใช้ในการคำนวณจะใช้ compute และ calculate 
  
สัญลักษณ์ที่ใช้ในการคำนวณ
                                                            +   ใช้แทนการบวก (Add)
                                                            -    ใช้แทนการลบ (subtract)
                                                           *     ใช้แทนการคูณ (multiply)
                                                            /     ใช้แทนการหาร (divide)
                                                           ()     ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด
    ตัวอย่าง
   divide totalMarks by studentCount
   salesTax costPrice*0.10
   computeC=(F-32)*5/9
   - คอมพิวเตอร์สามารถกำหนดค่าตัวแปรได้สามารถทำได้ 3 รูปแบบ ดังนี้
       - ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
       - ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย ←เพื่อกำหนดค่าให้กับตัวแปร 
       - ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร


 ตัวอย่าง
  initialize totalPrice to zero
  set studentCount to o
  totalPrice = costPrice+salesTax
  totalPrice ← costPrice+salesTax
  store customerId lastCustomerID

   - คอมสามารถเปรียบเทียบ หรือเลือกทำงานได้
        - ใช้คำ if…then…else และจบด้วย end if เสมอ

  ตัวอย่าง
  if employeeStatus is partTime then
   add to partTimeCount
  else
   add to fullTimeCount
  end if

    - คอมพิวเตอร์สามารถทำงานซ้ำๆได้
       -ใช้คำ dowhile…enddo หรือ repeat..until

  ตัวอย่าง
 dowhile file_flag<>”eof”
  read student record
  print studentName,address to report
  add 1 to studentTotal
 enddo

 7. The Three Basic Control Structures  

     - Repetition  Format
                            dowhile 
                  dowhile condition p is ture                       
                       statement block
                  enddo

   - Repetition Format (Cont)
                            repeat….until  

                            repeatstatement  
                                statement 
                                statement
                                     :
                                     : 
                            until condition is true

----------------------------------------------------------------------------

 บทที่ 2

1.Revew C Language

   - คำสั่งพื้นฐานต่างๆ  
        เช่น printf( “abc” ); 
               printf( “%s”, ”abc” );
        เช่น scanf( “%d”,&x); 

   - Format Code ใช้ในการแสดงผลที่นิยมใช้ ได้แก่
       %d   ใช้กับข้อมูลแบบ integer
       %c    ใช้กับข้อมูลแบบ character
       %f     ใช้กับข้อมูลแบบ floating
       %s    ใช้กับข้อมูลแบบ string

2.Operator

แบ่งออกเป็น 3 ชนิด คือ
   - Arithmetic Operators ได้แก่  +, - , *, /, % , -- , ++
   - Relational and Equality Operators ได้แก่ < , > , <= , >= , == , !=
   - Logical Operators ได้แก่ ! , && , ||

3.selection/Condition

   - if statement
   - if - else statement
   - if - else statement (Nested if)
   - switch statement

4.Repetition/Loop

   -while statement

Format : 
    while (expression) {
                  statement-1;
                  statement-2;
                       ……
                  statement-n;
     }


   -for statement

Format :
  for (expression -1; expression-2; expression-3 )
{
                statement -1 ;
                statement -2 ;
                     …..
                statement -n ;
  }

   -do-while statement

Format :
         do {
                                  statement -1 ;
                                  statement -2 ;
                                        …..
                                 statement -n ;
            } while (
expression); 


5.Function

ข้อดี  
    -เขียนโค้ดครั้งเดียว แต่สามารถเรียกใช้ได้หลายครั้ง
    -สามารถนำหลับมาใช้ใหม่ในโปรแกรมอื่นได้
    -ถ้าต้องการเปลี่ยนแปลงแก้ไขเพียงที่เดียว
    -ทำให้โปรแกรมมีความเป็นโครงสร้าง  
    -สามารถแบ่งเป็นโมดูลย่อยๆได้

ฟังก์ชันแบ่งเป็น 2 ประเภท คือ
 
   - Library Function

  Format : 
  #include<file-name>

  ตัวอย่าง
  #include<stdio.h>
  #include<conio.h >
  etc. 

วิธีเรียกใช้งาน Library Function
    -เรียกชื่อของฟังก์ชันที่ต้องการใช้งาน
    -เอาค่าที่จะส่งไปทำงานในฟังก์ชัน ใส่ลงในวงเล็บตามหลังชื่อฟังก์ชันนั้น


  ตัวอย่าง Library Function
  strcpy () –อยู่ในแฟ้มข้อมูล string.h
  ทำหน้าที่ : คัดลอกข้อมูลจาก string หนึ่งไปยัง string หนึ่ง


  Format : 
  strcpy (str1, str2);


6.User Defined Function

   - คือ ฟังก์ชันที่ผู้เขียนโปรแกรมสามารถเขียนฟังค์ชันขึ้นใช้เอง โดยฟังก์ชันนี้อาจจะรวมอยู่กับโปรแกรมหลักเป็นแฟ้มเดียวกัน หรือยกฟังก์ชันเหล่านี้ไว้คนละแฟ้มข้อมูลก็ได้
   - การสร้างฟังก์ชัน ประกอบด้วย
      - Function Definition
      - Function Prototype
      - Invocation

   - Function Definition หรือนิยามฟังก์ชัน คือ รายละเอียดในการทำงานของฟังก์ชัน

   Format :
clip_image001/*…………..*/  >> heading comment
  data-type function-name(type argument )
   {
      declaration;
      statement;
    return(value);
}


    - Function Prototype
       - เป็นตัวบอกให้ Compiler ทราบว่าการประกาศฟังก์ชันขึ้นและฟังก์ชันนั้นมีค่าที่ส่งกลับเป็นอะไร มีการรับพารามิเตอร์อะไรบ้าง มีประโยชน์ในการตรวจสอบข้อผิดพลาดระหว่างการเรียกใช้ฟังก์ชัน
    - Invocation คือการเรียกใช้ฟังก์ชัน

   ลักษณะของฟังก์ชัน

    - ฟังก์ชันที่ไม่มีการส่งค่ากลับ การเรียกใช้ทำได้โดยอ้างถึงชื่อฟังก์ชัน
           ...........
  Print_banner () ;

   - ฟังก์ชันที่มีการส่งค่ากลับ การเรียกใช้ทำได้เหมือนแบบแรก แต่ต้องมีตัวแปรมารับค่าที่จะต้องส่งกลับด้วย
int main(void) {
 int k, j;
   j = prompt ()
   k = prompt ();
printf(“j = %d and k = %d”, j, k);

   - ฟังก์ชันที่มีการรับค่า argument
การเรียกใช้ฟังก์ชันทำได้โดยอ้างถึงชื่อของฟังก์ชันพร้อมทั้งส่งค่าของตัวแปร(parameter)ไปด้วย โดยจะ
ต้องมีชนิดสอดคล้องกับ argument ของฟังก์ชัน ที่เรียกใช้

   - การผ่านค่า argument ให้ฟังก์ชัน ทำได้ 2 แบบ คือ
       -  Pass by Value คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งค่าของตัวแปรหรือค่าที่ส่งไปโดยค่าคงที่ผ่านให้กับค่าฟังก์ชันจะถูกคัดลอกส่งให้กับ ฟังก์ชันและจะถูกเลี่ยนแปลงเฉพาะภายในฟังก์ชัน โดยค่าของ argumentในโปรแกรมที่เรียกใช้จะไม่เปลี่ยนแปลง

ตัวอย่าง :
 
void swap(int num1, int num2) {
        int tmp;
tmp = num1;
num1 = num2;
num2 = tmp;
print(“A is %d B is %d\n”, num1, num2);
}

    - Pass by Reference คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นตำแหน่งที่อยู่ของตัวแปรไป
ซึ่งหากภายในฟังก์ชันมีการเปลี่ยนแปลงค่าของ argument ที่ส่งไป ก็จะมีผลทำให้ค่าของ argument นั้นใน
โปรแกรมที่เรียกใช้เปลี่ยนไปด้วย

ตัวอย่าง :

void swap(int * num1, int * num2) {
       int tmp;
tmp = *num1;
*num1 =* num2;
*num2 = tmp;
}