วันจันทร์ที่ 28 กุมภาพันธ์ พ.ศ. 2554

สรุปผลการบฏิบัติงานการฝึกประสบการณ์วิชาชีพ ณ หน่วยเวชสารสนเทศ โรงพยาบาลศิริราช

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

สัปดาห์ที่18 (วันที่ 28 กุมภาพันธ์ 2554)

งานที่ปฏิบัติ
  1. ติดตั้งเครื่องคอมพิวเตอร์ HP 280 , Aser 5800 จำนวน 3 เครื่อง
  2. แก้ไขเครื่อง Printer พิมพ์งานไม่ได้จำนวน 2 เครื่อง
  3. เปลี่ยนหน้าจอคอมพิวเตอร์จำนวน 2 เครื่อง
  4. แก้ไขเครื่องคอมพิวเตอร์เข้า Windows ไม่ได้จำนวน 2 เครื่อง
  5. Ghost Windows เครื่องคอมพิวเตอร์จำนวน 1 เครื่อง
  6. ลงโปรแกรมเครื่องคอมพิวเตอร์จำนวน 1 เครื่อง ได้แก่โปรแกรม Antivirus Eset

ประโยชน์ที่ได้รับ

  1. เรียนรู้วิธีการแก้ไขปัญหาเครื่องคอมพิวเตอร์เข้า Windows ไม่ได้

ปัญหาและอุปสรรค

  1. User มีความรู้ในด้านคอมพิวเตอร์น้อย

วิธีแก้ไข

  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นแก่ User

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

สัปดาห์ที่17 (วันที่ 21 - 25 กุมภาพันธ์ 2554)

งานที่ปฏิบัติ
  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 4 เครื่อง
  2. ลงโปรแกรมของโรงพยาบาลเป็นจำนวน 15 เครื่อง ได้แก่โปรแกรม Lotus Notes , Eclair , SiPACs , E-Buddy
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 10 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Altilis , Internet Explorer , MSN , VNC , Adobe Flash CS3 , Firefox
  4. ติดตั้งเครื่อง Printer เป็นจำนวน 13 เครื่อง
  5. Scan Virus เป็นจำนวน 7 เครื่อง

ประโยชน์ที่ด้รับ

  1. ได้ศึกษาการใช้โปรแกรม VNC เพื่อใช้ Remote แก้ไขปัญหาต่างๆ
  2. ได้เรียนรู้วิธีการติดตั้งโปรแกรมของโรงพยาบาล

ปัญหาและอุปสรรค

  1. User มีความรู้ในด้านคอมพิวเตอร์น้อย

วิธีแก้ไข

  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นแก่ User

วันศุกร์ที่ 18 กุมภาพันธ์ พ.ศ. 2554

สัปดาห์ที่16 (วันที่ 14 - 17 กุมภาพันธ์ 2554)

งานที่ปฏิบัติ

  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 2 เครื่อง
  2. ติดตั้งเครื่องคอมพิวเตอร์ Dell 780 เป็นจำนวน 10 เครื่อง
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 15 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Symantec Endpoint , Internet Explorer , MSN , VNC
  4. ติดตั้งเครื่อง Printer เป็นจำนวน 17 เครื่อง
  5. Scan Virus เป็นจำนวน 5 เครื่อง

ประโยชน์ที่ด้รับ

  1. ได้ศึกษาการใช้โปรแกรม VNC เพื่อใช้ Remote แก้ไขปัญหาต่างๆ

ปัญหาและอุปสรรค

  1. User มีความรู้ในด้านคอมพิวเตอร์น้อย

วิธีแก้ไข

  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นแก่ User

วันเสาร์ที่ 12 กุมภาพันธ์ พ.ศ. 2554

สัปดาห์ที่15 (วันที่ 7 - 11 กุมภาพันธ์ 2554)

งานที่ปฏิบัติ

  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 5 เครื่อง
  2. ลงโปรแกรมของโรงพยาบาลเป็นจำนวน 5 เครื่อง ได้แก่โปรแกรม IPDex , Staging , Lotus Notes , Eclair , SiPACs
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 20 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Altiris , Adobe Reader , Acrobat 9
  4. ติดตั้งเครื่อง Printer เป็นจำนวน 10 เครื่อง
  5. Scan Virus เป็นจำนวน 6 เครื่อง

ประโยชน์ที่ได้รับ

  1. ได้เรียนรู้วิธีการติดตั้งโปรแกรมของโรงพยาบาล
  2. ได้เรียนรู้วิธีการลงโปรแกรม Altiris เพื่อใช้ Remote แก้ปัญหาต่างๆ
  3. ได้เรียนรู้วิธีการติดตั้งโปรแกรม Symantec Endpoint

ปัญหาและอุปสรรค

  1. User มีความรู้ในด้านคอมพิวเตอร์น้อย

วิธีแก้ไข

  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นแก่ User

วันเสาร์ที่ 5 กุมภาพันธ์ พ.ศ. 2554

สัปดาห์ที่14 (วันที่ 31 มกราคม - 4 กุมภาพันธ์ 2554)

งานที่ปฏิบัติ

  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 2 เครื่อง
  2. ติดตั้งเครื่องคอมพิวเตอร์ Dell 780 เป็นจำนวน 5 เครื่อง
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 25 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Symantec Endpoint , Altiris , Adobe Reader , Internet Explorer , Photoshop CS3 , Illustrator CS3
  4. ติดตั้งเครื่อง Printer เป็นจำนวน 15 เครื่อง
  5. Scan Virus เป็นจำนวน 20 เครื่อง

ประโยชน์ที่ได้รับ

  1. ได้เรียนรู้วิธีการลงโปรแกรม Altiris เพื่อใช้ Remote แก้ปัญหาต่างๆ
  2. ได้เรียนรู้วิธีการติดตั้งโปรแกรม Symantec Endpoint

ปัญหาและอุปสรรค

  1. User มีความรู้ในด้านคอมพิวเตอร์น้อย

วิธีแก้ไข

  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นแก่ User

วันอาทิตย์ที่ 30 มกราคม พ.ศ. 2554

สัปดาห์ที่13 (วันที่ 24 - 28 มกราคม 2554)

งานที่ปฏิบัติ

  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 3 เครื่อง
  2. ติดตั้งเครื่องคอมพิวเตอร์ Dell 780 , HP 8100 เป็นจำนวน 10 เครื่อง
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 20 เครื่อง ได้แก่โปรแกรม Microsoft Office2003 , Microsoft Office2007 , Antivirus Eset , Altiris , Symantec Endpoint , Internet Explorer , Adobe Reader
  4. ติดตั้งเครื่อง Printer เป็นจำนวน 10 เครื่อง
  5. Scan Virus เป็นจำนวน 10 เครื่อง

ประโยชน์ที่ได้รับ

  1. ได้เรียนรู้วิธีการลงโปรแกรม Altiris เพื่อใช้ Remote แก้ปัญหาต่างๆ
  2. ได้เรียนรู้วิธีการติดตั้งโปรแกรม Symantec Endpoint

ปัญหาและอุปสรรค

  1. User มีความรู้ในด้านคอมพิวเตอร์น้อย

วิธีแก้ไข

  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นแก่ User

วันอาทิตย์ที่ 23 มกราคม พ.ศ. 2554

สัปดาห์ที่12 (วันที่ 17 - 21 มกราคม 2554)

งานที่ปฏิบัติ
  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 5 เครื่อง
  2. ติดตั้งเครื่องคอมพิวเตอร์ Dell 780 เป็นจำนวน 3 เครื่อง
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 18 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office2007 , Antivirus Eset , Acrobat 8 , Acrobat 9 , Internet Explorer , Photoshop CS3 , Illustrator CS3
  4. ติดตั้งเครื่อง Printer เป็นจำนวน 3 เครื่อง
  5. Scan Virus เป็นจำนวน 9 เครื่อง

ประโยชน์ที่ได้รับ

  1. ได้เรียนรู้วิธีการติดตั้งเครื่องคอมพิวเตอร์
  2. ได้เรียนรู้วิธีการตั้งค่าหน้ากระดาษเครื่อง Printer
ปัญหาและอุปสรรค
  1. User มีความรุ้ในด้านคอมพิวเตอร์น้อย
วิธีแก้ไข
  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นแก่ User

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

สัปดาห์ที่11 (วันที่ 10 - 14 มกราคม 2554)

งานที่ปฏิบัติ
  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 10 เครื่อง
  2. ติดตั้งเครื่องคอมพิวเตอร์ Dell 780 เป็นจำนวน 8 เครื่อง
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 20 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Offioce 2007 , Antivirus Eset , VNC , Internet Explorer
  4. ติดตั้งเครื่อง Printer เป็นจำนวน 5 เครื่อง
  5. Scan Virus เป็นจำนวน 5 เครื่อง

ประโยชน์ที่ได้รับ

  1. ได้เรียนรู้การใช้โปรแกรม VNC เพื่อใช้ในการ Remote แก้ไขปัญหาต่างๆ
ปัญหาและอุปสรรค
  1. User มีความรุ้ในด้านคอมพิวเตอร์น้อย
วิธีแก้ไข
  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นแก่ User

วันเสาร์ที่ 8 มกราคม พ.ศ. 2554

สัปดาห์ที่10 (วันที่4 - 7 มกราคม 2554)

งานที่ปฏิบัติ
  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 8 เครื่อง
  2. ติดตั้งเครื่องคอมพิวเตอร์ Dell 780 , HP 8100 เป็นจำนวน 10 เครื่อง
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 18 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Adobe Reader , Acro bat 9 , MSN , Illustrator CS3
  4. ลงโปรแกรมของโรงพยาบาลเป็นจำนวน 5 เครื่อง ได้แก่โปรแกรม Eclair , SiPACs , IPD Cost , Lotus Notes
  5. ติดตั้งเครื่อง Printer เป็นจำนวน 12 เครื่อง
  6. Scan Virus เป็นจำนวน 7 เครื่อง

ประโยชน์ที่ได้รับ

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

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

สัปดาห์ที่9 (วันที่27 - 29 ธันวาคม 2553)

งานที่ปฏิบัติ
  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 10 เครื่อง
  2. ติดตั้งเครื่องคอมพิวเตอร์ Dell 780 , HP 8100 เป็นจำนวน 15 เครื่อง
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 17 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Photoshop CS3 , Internet Explorer
  4. ติดตั้งเครื่อง Printer เป็นจำนวน 8 เครื่อง
  5. Scan virus เครื่องคอมพิวเตอร์เป็นจำนวน 12 เครื่อง

ประโยชน์ที่ได้รับ

  1. ได้เรียนรู้วิธีการติดตั้งเครื่องคอมพิวเตอร์
  2. ได้เรียนรู้วิธีการ Set ค่าต่างๆ ของเครื่องคอมพิวเตอร์

ปัญหาและอุปสรรค

  1. User มีความรู้ในด้านคอมพิวเตอร์น้อย

วิธีแก้ไขปัญหา

  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นแก่ User

วันอาทิตย์ที่ 26 ธันวาคม พ.ศ. 2553

สัปดาห์ที่8 (วันที่20 - 24 ธันวาคม 2553)

งานที่ปฏิบัติ
  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 10 เครื่อง
  2. ติดตั้งเครื่องคอมพิวเตอร์ HP 8100 เป็นจำนวน 40 เครื่อง
  3. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 10 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Adobe Reader , VNC , Internet Explorer
  4. ลงโปรแกรมของโรงพยาบาลเป็นจำนวน 3 เครื่อง ได้แก่โปรแกรม Lotus Notes , Eclair , SiPACs , IPD Cost
  5. ติดตั้งเครื่อง Printer เป็นจำนวน 8 เครื่อง
  6. Scan Virus เป็นจำนวน 10 เครื่อง

ประโยชน์ที่ได้รับ

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

วันเสาร์ที่ 18 ธันวาคม พ.ศ. 2553

สัปดาห์ที่7 (วันที่ 13 - 17 ธันวาคม 2553)

งานที่ปฏิบัติ
  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 3 เครื่อง
  2. ลงโปรแกรมเครื่องคอมพิวเตอร์จำนวน 5 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Acrobat 9
  3. ติดตั้งเครื่อง Printer จำนวน 8 เครื่อง
  4. ติดตั้งเครื่องคอมพิวเตอร์ Dell 780 จำนวน 10 เครื่อง
  5. Scan Virus เครื่องคอมพิวเตอร์จำนวน 7 เครื่อง

ประโยชน์ที่ได้รับ

  1. เรียนรู้วิธีการติดตั้งเครื่องคอมพิวเตอร์
ปัญหาและอุปสรรค
  1. User มีความรู้ในด้านคอมพิวเตอร์น้อย
วิธีแก้ไข
  1. ให้คำแนะนำเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้น

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

สัปดาห์ที่6 (วันที่ 7 - 9 ธันวาคม 2553)

งานที่ปฏิบัติ
  1. Ghost Windows เครื่องคอมพิวเตอร์เป็นจำนวน 8 เครื่อง
  2. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 10 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Acrobat 9 , Adobe Raeder , VNC
  3. ติดตั้งเครื่อง Printer เป็นจำนวน 5 เครื่อง
  4. Scan Virus เครื่องคอมพิวเตอร์จำนวน 5 เครื่อง

ประโยชน์ที่ได้รับ

  1. ได้เรียนรู้วิธีการติดตั้งเครื่อง Printer
ปัญหาและอุปสรรค
  1. User มีความรู้ในด้านคอมพิวเตอร์น้อย
วิธีแก้ไข
  1. ให้คำแนะนำการใช้คอมพิวเตอร์เบื้องต้นแก่ User

วันเสาร์ที่ 4 ธันวาคม พ.ศ. 2553

สัปดาห์ที่5 (วันที่ 29 พฤศจิกายน - 3 ธันวาคม 2553)

งานที่ปฏิบัติ

  1. คีย์ข้อมูลการส่งอุปกรณ์คอมพิวเตอร์ลงในโปรแกรม Exel จำนวน 100 ชุด
  2. ติดตั้งเครื่องคอมพิวเตอร์จำนวน 5 เครื่อง และ เครื่อง Printer จำนวน 5 เครื่อง
  3. Ghost Windows จำนวน 5 เครื่อง
  4. Scan Virus เครื่องคอมพิวเตอร์จำนวน 8 เครื่อง
  5. ลงโปรแกรมเครื่องคอมพอวเตอร์เป็นจำนวน 15 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Photoshop CS3 , Illutrator CS3

ประโยชน์ที่ได้รับ

  1. ได้รู้ระบบการส่งเครื่องคอมพิวเตอร์ของโรงพยาบาล
  2. ได้เรียนรู้วิธีการติดตั้งเครื่องคอมพิวเตอร์ และ เครื่อง Printer และการ Set ค่าต่างๆ

ปัญหาและอุปสรรค

  1. User มีความรู้ในด้านการใช้คอมพิวเตอร์เบื้องต้นน้อย

วิธีแก้ไข

  1. ให้คำแนะนำการใช้คอมพิวเตอร์เบื้องต้นแก่ User

วันเสาร์ที่ 27 พฤศจิกายน พ.ศ. 2553

สัปดาห์ที่4 (วันที่22-26 พฤศจิกายน 2553)

งานที่ปฏิบัติ
  1. คีย์ข้อมูลการส่งอุปกรณ์คอมพิวเตอร์ลงในโปรแกรม Exel จำนวน 150 ชุด
  2. Ghost Windows เครื่องคอมพิวเตอร์จำนวน 3 เครื่อง
  3. แก้ไขเครื่อง Printer พิมพ์งานไม่ได้จำนวน 7 เครื่อง
  4. Scan Virus เครื่องคอมพิวเตอร์จำนวน 5 เครื่อง
  5. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 10 เครื่อง ได้แก่โปรแกรม Antivirus Eset , Microsoft Office 2003 , Microsoft Office 2007 , Photoshop CS3 , VNC , Acrobat 8 , Acrobat 9

ประโยชน์ที่ได้รับ

  1. ได้รู้ระบบการส่งคอมพิวเตอร์ของโรงพยาบาล
  2. ได้เรียนรู้วิธีแก้ไขปัญหาเกี่ยวกับเครื่อง Printer
ปัญหาและอุปสรรค
  1. User มีความรู้ด้านคอมพิวเตอร์น้อยเกินไป
วิธีแก้ไขปัญหา
  1. ให้คำแนะนำที่เหมาะสมในการแก้ไขปัญหาเกี่ยวกับคอมพิวเตอร์เบื้องต้นแก่ User

วันเสาร์ที่ 20 พฤศจิกายน พ.ศ. 2553

สัปดาห์ที่3(วันที่15-19 พฤศจิกายน 2553)

งานที่ปฏิบัติ

  1. Ghost Windows คอมพิวเตอร์จำนวน 3 เครื่อง
  2. ลงโปรแกรมของโรงพยาบาลเป็นจำนวน 2 เครื่อง ได้แก่โปรแกรม Eclair , SiPACs , Lotus Notes
  3. ลงโปรแกรมเครื่องคอมพิวเอตร์เป็นจำนวน 8 เครื่อง ได้แก่โปรแกรม Microsoft Office 2003 , Microsoft Office 2007 , Antivirus Eset , Adobe Reader , Acrobat 9
  4. แก้ไขปัญหาเรื่องคอมพิวเตอร์เปิดแล้วมีเสียงร้องจำนวน 5 เครื่อง
  5. Scan Virus เครื่องคอมพิวเตอร์จำนวน 3 เครื่อง

ประโยชน์ที่ได้รับ

  1. ได้รู้จักวิธีการลงโปรแกรมของโรงพยาบาล
  2. รู้จักวิธีการแก้ปัญหาเครื่องมีเสียงดัง

ปัญหาและอุปสรรค

  1. การลงโปรแกรมของโรงพยาบาลต้องมีการเรียนรู้ก่อน
  2. โปรแกรม Anti Virus บางตัวไม่สามารถ Scan หา Virus พบได้

วิธีแก้ไขปัญหา

  1. ศึกษาและเรียนรู้โปรแกรมของโรงพยาบาล
  2. หาโปรแกรม Anti Virus ที่ดีกว่ามาทดแทน

วันอาทิตย์ที่ 14 พฤศจิกายน พ.ศ. 2553

สัปดาห์ที่2(วันที่8-12 พฤศจิกายน 2553)

งานที่ปฏิบัติ

  1. Ghost Windows เคื่องคอมพิวเตอร์จำนวน 2 เครื่อง
  2. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 6 เครื่อง ได้แก่โปรแกรม Internet Explorer , Antivirus Eset , Microsoft Office 2003 , Microsoft Office 2007 , Potoshop CS3 , Illustrator CS3 , Acrobat pro9
  3. Scan Virus และแก้ไขปัญหาเครื่องคอมพิวเตอร์ช้าจำนวน 4 เครื่อง
  4. ประกอบเครื่องคอมพิวเตอร์ Dell 780 จำนวน 3 เครื่อง

ประโยน์ที่ได้รับ

  1. ได้รู้จักวิธี Ghost Windows เครื่องคอมพิวเตอร์
  2. ได้เรียนรู้วิธีประกอบเครื่องคอมพิวเตอร์ และวิธีการ Set ค่าต่างๆ

ปัญหาและอุปสรรค

  1. ในการ Set ค่าบางอย่างเรายังไม่สามารถทำได้ ทำให้ต้องเสียเวลาในการศึกษา
  2. การสื่อสารระหว่าง User กับเราไม่ตรงกัน

วิธีแก้ไขปัญหา

  1. เรียนรู้สิ่งที่ทำให้ได้เร็วที่สุด
  2. แนะนำ User เกี่ยวกับการแก้ไขปัญหาคอมพิวเตอร์เบื้องต้น

วันจันทร์ที่ 8 พฤศจิกายน พ.ศ. 2553

สัปดาห์ที่1(วันที่1-5 พฤศจิกายน 2553)

งานที่ปฏิบัติ

  1. ลงโปรแกรมเครื่องคอมพิวเตอร์เป็นจำนวน 5 เครื่อง ได้แก่โปรแกรม Pothshop CS3 , Microsoft Office 2003 , Microsoft Office 2007 , Illustrator CS3 , Adobe Reader
  2. Add Driver เครื่อง Printer ให้กับ User จำนวน 5 เครื่อง
  3. ทำการ Share Printer ให้กับ User จำนวน 5 เครื่อง
  4. Update Windows ให้กับ User จำนวน 2 เครื่อง
  5. ให้คำปรึกษาเกี่ยวกับปัญหาเรื่องคอมพิวเตอร์แก่ผู้ใช้คอมพิวเตอร์

ประโยชน์ที่ได้รับ

  1. รู้จักวิธีการ Add Driver Printer และ Share Printer
  2. รู้จักวิธีการ Update Windows

ปัญหาและอุปสรรค

  1. User มีความรู้และความเข้าใจน้อย ทำให้ทำความเข้าใจกับเราลำบาก

วิธีแก้ไขปัญหา

  1. แนะนำหรือจัดการอบรมวิธีการแก้ไขปัญหาทางคอมพิวเตอร์เบื้องต้นแก่ User

วันพฤหัสบดีที่ 15 ตุลาคม พ.ศ. 2552

ลูกแรดเตรียมพร้อมล่าเหยื่อ

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

DTS 12-15/09/2009

สรุป Sorting
การเรียงลำดับแบบเร็ว (quick sort)
เป็นวิธีการเรียงลำดับที่ใช้เวลาน้อยเหมาะสำหรับข้อมูลที่มีจำนวนมากที่ต้องการความรวดเร็วในการทำงาน วิธีนี้จะเลือกข้อมูลจากกลุ่มข้อมูลขึ้นมาหนึ่งค่าเป็นค่าหลัก แล้วหาตำแหน่งที่ถูกต้องให้กับค่าหลักนี้ เมื่อได้ตำแหน่งที่ถูกต้องแล้ว ใช้ค่าหลักนี้เป็นหลักในการแบ่งข้อมูลออกเป็นสองส่วนถ้าเป็นการเรียงลำดับจากน้อยไปมาก ส่วนแรกอยู่ในตอนหน้าข้อมูล ทั้งหมดจะมีค่าน้อยกว่าค่าหลักที่เป็นตัวแบ่งส่วน อีกส่วนหนึ่งจะอยู่ในตำแหน่งตอนหลังข้อมูลทั้งหมด จะมีค่ามากกว่าค่าหลัก แล้วนำแต่ละส่วนย่อยไปแบ่งย่อยในลักษณะเดียวกันต่อไปจนกระทั่งแต่ละส่วนไม่สามารถแบ่งย่อยได้อีกต่อไปจะได้ข้อมูลที่มีการเรียงลำดับตามที่ต้องการ
การเรียงลำดับแบบแทรก (insertion sort)
เป็นวิธีการเรียงลำดับที่ทำการเพิ่มสมาชิกใหม่เข้าไปในเซต ที่มีสมาชิกทุกตัวเรียงลำดับอยู่แล้ว และทำให้เซตใหม่ที่ได้นี้มีสมาชิกทุกตัวเรียงลำดับด้วย
วิธีการเรียงลำดับ
1. เริ่มต้นเปรียบเทียบจากข้อมูลในตำแหน่งที่ 1 กับ 2 หรือข้อมูลในตำแหน่งสุดท้ายและรองสุดท้ายก็ได้ถ้าเป็นการเรียงลำดับจากน้อยไปมาก
2. จะต้องจัดให้ข้อมูลที่มีค่าน้อยอยู่ในตำแหน่งก่อนข้อมูลที่มีค่ามาก และถ้าเรียงจากมากไปน้อยจะก็จะจัดให้ข้อมูลที่มีค่ามากอยู่ในตำแหน่งก่อน
การเรียงลำดับแบบฐาน (radix sort)
เป็นการเรียงลำดับโดยการพิจารณาข้อมูลทีละหลัก
1. เริ่มพิจารณาจากหลักที่มีค่าน้อยที่สุดก่อน นั่นคือถ้าข้อมูลเป็นเลขจำนวนเต็มจะพิจารณาหลักหน่วยก่อน
2. การจัดเรียงจะนำข้อมูลเข้ามาทีละตัว แล้วนำไปเก็บไว้ที่ซึ่งจัดไว้สำหรับค่านั้น เป็นกลุ่ม ๆตามลำดับการเข้ามา
3. ในแต่ละรอบเมื่อจัดกลุ่มเรียบร้อยแล้ว ให้รวบรวมข้อมูลจากทุกกลุ่มเข้าด้วยกัน โดยเริ่มเรียงจากกลุ่มที่มีค่าน้อยที่สุดก่อนแล้วเรียงไปเรื่อย ๆ จนหมดทุกกลุ่ม
4. ในรอบต่อไปนำข้อมูลทั้งหมดที่ได้จัดเรียงในหลักหน่วยเรียบร้อยแล้วมาพิจารณาจัดเรียงในหลักสิบต่อไป ทำเช่นนี้ไปเรื่อย ๆ จนกระทั่งครบทุกหลักจะได้ข้อมูลที่เรียงลำดับจากน้อยไปมากตามต้องการ

วันจันทร์ที่ 14 กันยายน พ.ศ. 2552

DTS 11-08/09/2009

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

(1)การเรียงลำดับแบบภายใน (internal sorting) เป็นการเรียงลำดับที่ข้อมูลทั้งหมดต้องอยู่ในหน่วยความจำหลัก เวลาที่ใช้ในการเรียงลำดับจะคำนึงถึงเวลาที่ใช้ในการเปรียบเทียบและเลื่อนข้อมูลภายในความจำหลัก
(2) การเรียงลำดับแบบภายนอก(external sorting) เป็นการเรียงลำดับข้อมูลที่เก็บอยู่ในหน่วยความจำสำรอง ซึ่งเป็นการเรียงลำดับข้อมูลในแฟ้มข้อมูล (file) เวลาที่ใช้ในการเรียงลำดับต้องคำนึงถึงเวลาที่เสียไประหว่างการถ่ายเทข้อมูลจากหน่วยความจำหลัก
การเรียงลำดับแบบเลือก (selection sort)
ทำการเลือกข้อมูลมาเก็บในตำแหน่งที่ ข้อมูลนั้นควรจะอยู่ทีละตัว โดยทำการค้นหาข้อมูลนั้นในแต่ละรอบแบบเรียงลำดับถ้าเป็นการเรียงลำดับ

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

การเรียงลำดับแบบฟอง (Bubble Sort)
เป็นวิธีการเรียงลำดับที่มีการเปรียบเทียบข้อมูลในตำแหน่งที่อยู่ติดกัน
1. ถ้าข้อมูลทั้งสองไม่อยู่ในลำดับที่ถูกต้องให้สลับตำแหน่งที่อยู่กัน
2. ถ้าเป็นการเรียงลำดับจากน้อยไปมากให้นำข้อมูลตัวที่มีค่าน้อยกว่าอยู่ในตำแหน่งก่อนข้อมูลที่มีค่ามาก ถ้าเป็นการเรียงลำดับจากมากไปน้อยให้นำข้อมูล ตัวที่มีค่ามากกว่าอยู่ในตำแหน่งก่อนข้อมูลที่มีค่าน้อย

การเรียงลำดับแบบเร็ว (quick sort)
วิธีนี้จะเลือกข้อมูลจากกลุ่มข้อมูลขึ้นมาหนึ่งค่าเป็นค่าหลัก แล้วหาตำแหน่งที่ถูกต้องให้กับค่าหลักนี้ เมื่อได้ตำแหน่งที่ถูกต้องแล้ว ใช้ค่าหลักนี้เป็นหลักในการแบ่งข้อมูลออกเป็นสองส่วน ถ้าเป็นการเรียงลำดับจากน้อยไปมาก ส่วนแรกอยู่ในตอนหน้าข้อมูล ทั้งหมดจะมีค่าน้อยกว่าค่าหลักที่เป็นตัวแบ่งส่วน อีกส่วนหนึ่งจะอยู่ในตำแหน่งตอนหลังข้อมูลทั้งหมด จะมีค่ามากกว่าค่าหลัก แล้วนำแต่ละส่วนย่อยไปแบ่งย่อยในลักษณะเดียวกันต่อไปจนกระทั่งแต่ละส่วนไม่สามารถแบ่งย่อยได้อีก ต่อไปจะได้ข้อมูลที่มีการเรียงลำดับตามที่
ต้องการ
การเรียงลำดับแบบแทรก (insertion sort)
เป็นวิธีการเรียงลำดับที่ทำการเพิ่มสมาชิกใหม่เข้าไปในเซต ที่มีสมาชิกทุกตัวเรียงลำดับอยู่แล้ว และทำให้เซตใหม่ที่ได้นี้มีสมาชิกทุกตัวเรียงลำดับด้วย วิธีการเรียงลำดับจะ
1. เริ่มต้นเปรียบเทียบจากข้อมูลในตำแหน่งที่ 1 กับ 2 หรือข้อมูลในตำแหน่งสุดท้ายและรองสุดท้ายก็ได้
ถ้าเป็นการเรียงลำดับจากน้อยไปมาก
2. จะต้องจัดให้ข้อมูลที่มีค่าน้อยอยู่ในตำแหน่งก่อนข้อมูลที่มีค่ามาก และถ้าเรียงจากมากไปน้อยจะก็จะ

การเรียงลำดับแบบฐาน (radix sort)
เป็นการเรียงลำดับโดยการพิจารณาข้อมูลทีละหลัก
1. เริ่มพิจารณาจากหลักที่มีค่าน้อยที่สุดก่อน นั่นคือถ้าข้อมูลเป็นเลขจำนวนเต็มจะพิจารณาหลักหน่วยก่อน
2. การจัดเรียงจะนำข้อมูลเข้ามาทีละตัว แล้วนำไปเก็บไว้ที่ซึ่งจัดไว้สำหรับค่านั้น เป็นกลุ่ม ๆ ตามลำดับการเข้ามา

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

วันจันทร์ที่ 7 กันยายน พ.ศ. 2552

DTS 10-01/09/2009

เรื่อง Graph
กราฟ (Graph) เป็นโครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น อีกชนิดหนึ่ง กราฟเป็นโครงสร้างข้อมูลที่มีการนำไปใช้ในงานที่เกี่ยวข้องกับการแก้ปัญหาที่ค่อนข้างซับซ้อน นิยามของกราฟ กราฟ เป็นโครงสร้างข้อมูลแบบไม่ใช่เชิงเส้นที่ประกอบ ด้วยกลุ่มของสิ่งสองสิ่งคือ

(1) โหนด (Nodes) หรือ เวอร์เทกซ์(Vertexes)
(2) เส้นเชื่อมระหว่างโหนด เรียก เอ็จ (Edges)
การเขียนกราฟเพื่อแสดงให้เห็นความสัมพันธ์ ของสิ่งที่เราสนใจแทนโหนดด้วย จุด (pointes) หรือวงกลม (circles) ที่มีชื่อหรือข้อมูลกำกับ เพื่อบอกความแตกต่างของแต่ละโหนดและเอ็จแทนด้วยเส้นหรือเส้นโค้งเชื่อมต่อระหว่างโหนดสองโหนด
กราฟแบบไม่มีทิศทางเป็นเซตแบบจำกัดของโหนดและเอ็จ โดยเซตอาจจะว่างไม่มีโหนดหรือเอ็จเลยเป็นกราฟว่าง (Empty Graph)แต่ละเอ็จจะเชื่อมระหว่างโหนดสองโหนด หรือเชื่อมตัวเอง เอ็จไม่มีทิศทางกำกับ ลำดับของการเชื่อมต่อกันไม่สำคัญ นั่นคือไม่มีโหนดใดเป็นโหนดแรก (First Node) หรือไม่มีโหนดเริ่มต้น และไม่มีโหนดใดเป็นโหนดสิ้นสุด
กราฟแบบมีทิศทาง เป็นเซตแบบจำกัดของโหนดและเอ็จ โดยเซตอาจจะว่างไม่มีโหนดหรือเอ็จเลยเป็นกราฟว่าง (Empty Graph) แต่ละเอ็จจะเชื่อมระหว่างโหนดสองโหนด เอ็จมีทิศทางกำกับแสดงลำดับของการเชื่อมต่อกัน โดยมีโหนดเริ่มต้น (Source Node) และ โหนดสิ้นสุด (Target Node)รูปแบบต่าง ๆ ของกราฟแบบมีทิศทางเหมือนกับรูปแบบ ของกราฟไม่มีทิศทาง ต่างกันตรงที่กราฟแบบนี้จะมีทิศทางกำกับด้วยเท่านั้น

วันอาทิตย์ที่ 6 กันยายน พ.ศ. 2552

DTS 09-25/08/2009

สรุปเรื่อง Treeทรี (Tree)
Tree เป็นโครงสร้างข้อมูลที่ความสัมพันธ์ระหว่าง โหนดจะมีความสัมพันธ์ลดหลั่นกันเป็นลำดับชั้น เช่น แผนผังองค์ประกอบของหน่วยงานต่างๆ เป็นต้นโหนดมีความสัมพันธ์กับโหนดในระดับต่ำลงมา หนึ่งระดับได้หลายๆ โหนด เรียกว่าโหนดว่า โหนดแม่ (Parent or Mother Node)โหนดที่อยู่ต่ำกว่าโหนดแม่อยู่หนึ่งระดับเรียกว่า โหนดลูก (Child or Son Node) โหนดที่อยู่ในระดับสูงสุดและไม่มีโหนดแม่เรียกว่า โหนดราก (Root Node) โหนดที่มีโหนดแม่เป็นโหนดเดียวกันเรียกว่า โหนดพี่น้อง (Siblings) โหนดที่ไมมีโหนดลูกเรียกว่า โหนดใบ (Leave Node) เส้นเชื่อมแสดงความสัมพันธ์ระหว่างโหนดสองโหนดเรียกว่า กิ่ง (Branch)
นิยามที่เกี่ยวข้องกับทรี
1.ฟอร์เรสต์ (Forest) หมายถึง กลุ่มของทรีที่เกิดจากการเอาโหนดรากของทรีออกหรือเซตของทรีที่แยกจากัน (Disjoint Trees)
2.ทรีที่มีแบบแผน (Ordered Tree) หมายถึง ทรีที่โหนดต่างๆ ในทรีนั้นมีความสัมพันธ์ที่แน่นอน เช่น ไปทางขวา ไปทางซ้าย เป็นต้น
3.ทรีคล้าย (Similar Tree) คือ ทรีที่มีโครงสร้างเหมือนกัน หรือทรีที่มีรูปร่างของทรีเหมือนกัน โดยไม่คำนึงถึงข้อมูลที่อยู่ในแต่ละโหนด
4.ทรีเหมือน (Equivalent Tree) คือ ทรีที่เหมือนกันโดยสมบูรณ์ โดยต้องเป็นทรีที่คล้ายกันและแต่ละโหนดในตำแหน่งเดียวกันมีข้อมูลเหมือนกัน
5.กำลัง (Degree) หมายถึง จำนวนทรีย่อยของโหนดนั้นๆ
6.ระดับของโหนด (Level of Node) คือ ระยะทางในแนวดิ่งของโหนดนั้นๆ
การแทนที่ทรีในหน่วยความจำหลัก
การแทนที่โครงสร้างข้อมูลแบบทรีในความจำหลักจะมีพอยเตอร์เชื่อมโยงจากโหนดแม่ไปยังโหนดลูก การแทนที่ทรี แต่ละโหนดมีจำนวนลิงค์ฟิลด์ไม่เท่ากัน วิธีการแทนที่ง่ายที่สุด คือ ทำให้แต่ละโหนดมีจำนวนลิงค์ฟิลด์ที่เท่ากัน โดย
1.โหนดแต่ละโหนดเก็บพอยเตอร์ชี้ไปยังโหนดลูกทุกโหนด
2.แทนทรีด้วยไบนารีทรี โดยกำหนดให้แต่ละโหนดมีจำนวนลิงค์ฟิลด์สองลิงค์ฟิลด์
- ลิงค์ฟิลด์แรกเก็บที่อยู่ของโหนดลูกคนโต
- ลิงค์ฟิลด์ที่สองเก็บที่อยู่ของโหนดพี่น้องที่เป็นโหนดถัดไป โหนดใดไม่มีโหนดลูกหรือไม่มีโหนดพี่น้องให้ค่าพอยเตอร์ในลิงค์ฟิลด์มีค่าเป็น Null
โครงสร้างทรีที่แต่ละโหนดมีจำนวนโหนดลูดไม่เกินสองหรือแต่ละโหนดมีจำนวนทรีย่อยไม่เกินสองนี้ว่า ไบนารีทรี (Binary Tree)
ไบนารีทรีที่ทุกๆ โหนดมีทรีย่อยทางซ้ายและทรีย่อยทางขวา ยกเว้นโหนดใบ และโหนดใบทุกโหนดจะต้องอยู่ที่ระดับเดียวกัน
การแปลงทรีทั่วไปให้เป็นไบนารีทรี
1.ให้โหนดแม่ชี้ไปยังโหนดลูกคนโต แล้วลบความสัมพันธ์ระหว่างโหนดแม่และโหนดลูกอื่นๆ
2.ให้เชื่อมความสัมพันธ์ระหว่างโหนดพี่น้อง
3.จับให้ทรีย่อยทางขวาเอียงลงมา 45 องศา
การท่องไปในไบนารีทรี คือ การท่องไปในไบนารีทรี (Traversing Binary Tree) เพื่อเข้าไปเยือนทุกๆ โหนดในทรี โหนดแม่ (แทนด้วย N) ทรีย่อยทางซ้าย (แทนด้วย L) ทรียอ่ยทางขวา (แทนด้วย R)
วิธีการท่องเข้าไปในทรี 6 วิธี คือ NLR LNR LRN NRL RNL และ RLN วิธีที่นิยมใช้ คือ การท่องจากซ้ายไปขวา 3 แบบแรก คือ NLR LNR และ LRN
ลักษณะการนิยามเป็นนิยามแบบ รีเคอร์ซีฟ
1.)การท่องไปแบบพรีออร์เดอร์ (Preorder Traversal)
ในวิธี NLR มีชั้นตอนการเดิน
1.เยือนโหนดราก
2.ท่องไปในทรีย่อยทางซ้ายแบบพรีออร์เดอร์
3.ท่องไปในทรีย่อยทางขวาแบบพรีออร์เดอร์
2.)การท่องไปแบบอินออร์เดอร์ (Inorder Traversal)
ในวิธี LNR มีขั้นตอนการเดิน
1.ท่องไปในทรีย่อยทางซ้ายแบบอินออร์เดอร์
2.เยือนโหนดราก
3.ท่องไปในทรีย่อยทางขวาแบบอินออร์เดอร์
3.)การท่องไปแบบโพสออร์เดอร์ (Postorder Traversal)
ในวิธี LRN มีขั้นตอนการเดิน
1.ท่องไปในทรีย่อยทางซ้ายแบบโพสต์ออร์เดอร์
2.ท่องไปในทรีย่อยทางขวาแบบโพสต์ออร์เดอร์
3.เยือนโหนดราก

วันจันทร์ที่ 24 สิงหาคม พ.ศ. 2552

DTS 08-11/08/2009

สรุปเรื่อง คิว (Queue)
คิวหรือแถวคอย (อังกฤษ: queue) เป็นประเภทข้อมูลอย่างย่อที่มีลักษณะการเรียงลำดับข้อมูล ในการเข้า-ออกในลักษณะเข้าก่อนออกก่อน FIFO (First In First Out) กล่าวคือข้อมูลที่เข้าแรกๆจะได้ออกก่อน คล้ายคนต่อคิวที่มาก่อนจะได้ซื้อของก่อน จึงเรียกว่า แถวคอย หรือ คิว
แถวคอย หรือ คิว จึงจัดเป็นวิธีการจัดการเข้า-ออกของข้อมูลอีกแบบหนึ่ง เป็นโครงสร้างข้อมูลที่นำมาใช้ในการทำงานของโปรแกรมคอมพิวเตอร์หลายประการ อาทิการเข้าคิวในการทำงานของเครือข่าย การออกแบบการทำงานระบบท่อ (pipeline) เป็นต้น
จุดเด่นของคิว
คิวสามารถจัดการการเข้า-ออกของข้อมูล ใช้เก็บข้อมูลที่ต้องการจัดเรียงเป็นระบบ โดยพิจารณาข้อมูลตามลำดับ ในทำนอง ใครถึงก่อนมีสิทธิ์ได้ใช้ก่อน จึงใช้ในการเรียงลำดับในการแบ่งปันทรัพยากรที่มีอยู่จำกัดในการทำงาน เช่น การรอคิวการทำงานของเครื่องพิมพ์ในสำนักงาน เป็นต้น
บริการที่มักจะมีเอาข้อมูลใหม่เข้าท้ายคิว (enqueue)
เอาข้อมูลออกจากหัวคิว (dequeue)
ดูข้อมูลที่อยู่หัวคิว (peek) ทำคิวว่าง ตรวจสอบความว่างของคิว (empty)
ความเร็วที่ใช้ในการทำงานการทำงานของคิว
ไม่จำเป็นต้องไล่พิจารณาสมาชิกทุกตัว เป็นเพียงแต่การพิจารณาข้อมูลที่เข้าแรกสุดออกจากคิว และเอาข้อมูลใหม่เข้าท้ายคิว การทำงานของคิวจึงมีความเร็วคงที่ (O (1))
วิธีการสร้างคิวการสร้างคิวทำได้โดยแถวลำดับประกอบกับจำนวนเต็ม ที่เก็บดัชนีของหัวคิวและท้ายคิว สองตัว หรือใช้ รายการโยงสองชั้นวน(circular doubly linked list)
คิวแถวลำดับสำหรับการใช้แถวลำดับในการทำคิวนั้น (array queue) ตอนเริ่มต้นเราจะให้ดัชนีของหัวคิวและท้ายคิวชี้ที่ศูนย์ เมื่อเข้าคิว (enqueue) ก็จะเก็บข้อมูลตรงดัชนีท้าย พร้อมทั้งเพิ่มค่าดัชนีท้ายคิวจะไปอีกหนึ่ง (increament) ในทางตรงกันข้ามหากเอาข้อมูลตัวแรกออกจากคิว (dequeue) ก็คืนค่าสมาชิกตัวที่ดัชนีหัวคิวชี้อยู่พร้อมทั้งเพิ่มค่าดัชนีหัวคิวไปอีกหนึ่ง (decrement) หากดัชนีหัวคิววิ่งไล่ทับดัชนีท้ายคิวแสดงว่า คิวนั้นเป็นคิวว่าง (empty queue) ไม่ควร dequeue อีกเพราะจะทำให้การทำงานรวนได้ (ควรตรวจสอบก่อน dequeue)
เนื่องจากแถวลำดับมีขนาดจำกัดในบางครั้งอาจมีการทำคิววนรอบ (circular array queue) กล่าวคือบางครั้งคิวอาจมีการ enqueue และ dequeue สลับกันทำให้ดัชนีหัวคิวเลื่อนๆออกไปจนจะตกขอบขวาของแถวลำดับ ทำให้มีเนื้อที่ของแถวลำดับด้านหน้าเหลือไม่ได้ใช้จึงมีการวนเอาหางคิว มาแทนส่วนหน้าของแถวลำดับ กล่าวคือเมื่อท้ายคิวตกขอบขวาของแถวลำดับ ก็จะมีการเริ่มดัชนีท้ายคิวที่ศูนย์ใหม่และต่อท้ายคิวมาเรื่อยๆ ข้อด้อยของวิธีนี้คือ เมื่อท้ายคิวมาทับหัวคิวอีกครั้งจะตีความไม่ได้ว่าคิวเต็มแถวลำดับ หรือคิวว่างกันแน่ จึงอาจใช้ตัวแปรขนาด (size) หรือตัวแปรอื่นๆช่วยในการบอกว่าคิวว่างหรือไม่
คิวรายการโยงสองชั้นวนสำหรับการใช้รายการโยงสองชั้นวน(circular doubly linked list) ในการทำนั้น โดยหัวคิวจะอยู่ที่ปมสุดท้ายนี้ (กล่าวคือเป็นปมก่อนที่จะชี้ปมหัว เพราะว่าเป็นรายการวน) ส่วนท้ายคิวอยู่ที่ปมแรก เมื่อเข้าคิว (enqueue) ก็เพิ่มปมใหม่หลังปมหัว เมื่อจะเอาข้อมูลแรกออกจากคิว (dequeue) ก็จะเอาข้อมูลก่อนปมหัวออก ก็คือข้อมูลที่เข้าแรกๆสุด เมื่อใดที่รายการหรือคิวว่าง ก็คือตอนที่ปมหัวชี้มาที่ตัวเองนั่นเอง

วันจันทร์ที่ 10 สิงหาคม พ.ศ. 2552

DTS 07-04/08/2009

สรุปเรื่อง Stack
สแตก (Stack) เป็นโครงสร้างข้อมูลที่ข้อมูลแบบลิเนียร์ลิสต์ ที่มีคุณสมบัติที่ว่า การเพิ่มหรือลบข้อมูลในสแตก จะกระทำที่ ปลายข้างเดียวกัน ซึ่งเรียกว่า Top ของสแตก (Top Of Stack) และ ลักษณะที่สำคัญของสแตก คือ ข้อมูลที่ใส่หลังสุดจะถูกนำออกมา จากสแตกเป็นลำดับแรกสุด เรียกคุณสมบัตินี้ว่า LIFO (Last In First Out)
การดำเนินงานพื้นฐานของสแตก
การทำงานต่าง ๆ ของสแตกจะกระทำที่ปลายข้างหนึ่งของ สแตกเท่านั้น ดังนั้นจะต้องมีตัวชี้ตำแหน่งข้อมูลบนสุดของสแตกด้วยการทำงานของสแตกจะประกอบด้วย
กระบวนการ 3 กระบวนการที่สำคัญ คือ
1.Push คือ การนำข้อมูลใส่ลงไปในสแตก เช่น สแตก s ต้องการใส่ข้อมูล i ในสแตก จะได้ push (s,i) คือ ใส่ข้อมูล i ลงไปที่ทอปของสแตก s ในการเพิ่มข้อมูลลงในสแตก จะต้องทำการตรวจสอบว่าสแตก เต็มหรือไม่ ถ้าไม่เต็มก็สามารถเพิ่มข้อมูลลงไปในสแตกได้ แล้วปรับตัวชี้ตำแหน่งให้ไปชี้ที่ตำแหน่งข้อมูลใหม่ ถ้า
สแตกเต็ม (Stack Overflow) ก็จะไม่สามารถเพิ่มข้อมูลเข้าไปในสแตกได้อีก
2. Pop คือ การนำข้อมูลออกจากส่วนบนสุดของสแตก เช่น ต้องการนำข้อมูลออกจากสแตก s ไปไว้ที่ตัวแปร i จะได้ i = pop (s) การนำข้อมูลออกจากสแตก ถ้าสแตกมีสมาชิกเพียง 1 ตัว แล้วนำสมาชิกออกจากสแตก จะเกิดสภาวะสแตกว่าง (Stack Empty) คือ ไม่มีสมาชิกอยู่ในสแตกเลย แต่ถ้าไม่มีสมาชิกในสแตก แล้วทำการ pop สแตก จะทำให้ เกิดความผิดพลาดที่เรียกว่า Stack Underflow เพราะฉะนั้นก่อนนำข้อมูลออกจากสแตกจะต้องตรวจสอบ ก่อนว่าสแตกว่างหรือเปล่า จึงจะนำข้อมูลออกจากสแตกได้และ ปรับตัวชี้ตำแหน่งให้ไปชี้ตำแหน่งของข้อมูลที่ต่อจากข้อมูลที่ถูกนำ ออกไป
3. Stack Top เป็นการคัดลอกข้อมูลที่อยู่บนสุดของสแตก แต่ไม่ได้นำเอาข้อมูลนั้นออกจากสแตกการแทนที่ข้อมูลของสแตก
การแทนที่ข้อมูลของสแตกสามารถทำได้ 2 วิธี คือ
1. การแทนที่ข้อมูลของสแตกแบบลิงค์ลิสต์จะประกอบไปด้วย 2 ส่วน คือ ส่วนของ Head Node จะประกอบไปด้วย 2 ส่วนคือ top pointer และจำนวนสมาชิกในสแตก และ Data Node จะประกอบไปด้วยข้อมูล (Data) และพอยเตอร์ ที่ชี้ไปยังข้อมูลตัวถัดไป
การดำเนินการเกี่ยวกับสแตก
การดำเนินการเกี่ยวกับสแตก ได้แก่
1. Create Stack จัดสรรหน่วยความจำให้แก่ Head Node และส่งค่าตำแหน่งที่ชี้ไปยัง Head ของสแตก
กลับมา
2. Push Stack การเพิ่มข้อมูลลงไปในสแตก
3. Pop Stack การนำข้อมูลบนสุดออกจากสแตก
4. Stack Top เป็นการคัดลอกข้อมูลที่อยู่บนสุดของสแตก โดยไม่มีการลบข้อมูลออกจากสแตก
5.Empty Stack เป็นการตรวจสอบการว่างของสแตก เพื่อไม่ให้เกิดความผิดพลาดในการนำข้อมูลออกจากสแตกที่เรียกว่า Stack Underflow
6. Full Stack เป็นการตรวจสอบว่าสแตกเต็มหรือไม่ เพื่อไม่ให้เกิดความผิดพลาดในการนำข้อมูลเข้าสแตกที่เรียกว่า Stack Overflow
7. Stack Count เป็นการนับจำนวนสมาชิกในสแตก
8. Destroy Stack เป็นการลบข้อมูลทั้งหมดที่อยู่ในสแตก
2. การแทนที่ข้อมูลของสแตกแบบอะเรย์
การดำเนินการเกี่ยวกับสแตก ได้แก่
1. Create Stack
2. Push Stack
3. Pop Stack
4. Stack Top
5. Empty Stack
6. Full Stack
7. Stack Count
8. Destroy Stack
การคำนวณนิพจน์ทางคณิตศาสตร์
ในการเขียนนิพจน์ทางคณิตศาสตร์เพื่อการคำนวณ จะต้องคำนึงถึงลำดับความสำคัญของเครื่องหมาสำหรับการคำนวณด้วย โดยทั่วไปนิพจน์ทางคณิตศาสตร์สามารถเขียนได้ 3 รูปแบบ คือ
1. นิพจน์ Infix นิพจน์รูปแบบนี้ operatorจะอยู่ตรงกลางระหว่างตัวถูกดำเนินการ 2 ตัว
2. นิพจน์ Postfix นิพจน์รูปแบบนี้ จะต้องเขียนตัวถูกดำเนินการตัวที่ 1 และ 2 ก่อน แล้วตามด้วย operator
3. นิพจน์ Prefix นิพจน์รูปแบบนี้ จะต้องเขียน operator ก่อนแล้วตามด้วยตัวถูกดำเนินการตัวที่ 1 และ 2
ขั้นตอนการแปลงจากนิพจน์ Infix เป็นนิพจน์ Postfix
1. อ่านอักขระในนิพจน์ Infix เข้ามาทีละตัว
2. ถ้าเป็นตัวถูกดำเนินการจะถูกย้ายไปเป็นตัวอักษรในนิพจน์ Postfix
3. ถ้าเป็นตัวดำเนินการ จะนำค่าลำดับความสำคัญของตัว ดำเนินการที่อ่านเข้ามาเทียบกับค่าลำดับความสำคัญของตัวดำเนินการที่อยู่บนสุดของสแตก
- ถ้ามีความสำคัญมากกว่า จะถูก push ลงในสแตก
- ถ้ามีความสำคัญน้อยกว่าหรือเท่ากัน จะต้อง pop ตัวดำเนินการที่อยู่ในสแตกขณะนั้นไปเรียงต่อกับตัวอักษรในนิพจน์ Postfix
4. ตัวดำเนินการที่เป็นวงเล็บปิด “)” จะไม่ push ลงในสแตกแต่มีผลให้ตัวดำเนินการอื่น ๆ ถูก pop ออกจากสแตกนำไป เรียงต่อกันในนิพจน์ Postfix จนกว่าจะเจอ “(” จะ pop วงเล็บเปิดออกจากสแตกแต่ไม่นำไปเรียงต่อ
5. เมื่อทำการอ่านตัวอักษรในนิพจน์ Infix หมดแล้ว ให้ทำการ Pop ตัวดำเนินการทุกตัวในสแตกนำมาเรียงต่อในนิพจน์Postfix

วันเสาร์ที่ 8 สิงหาคม พ.ศ. 2552

DTS 06-28/07/2009

#include
int main ()
{
char name[25],title[25];
cout << "Enter your name: ";
cin.getline(name,25);
cout << "Enter your favourite movie: ";
cin.getline(title,25);
cout << name << "'s favourite movie is" << title;
return 0;
}

วันเสาร์ที่ 1 สิงหาคม พ.ศ. 2552

DTS 05-28/07/2009

สรุปเรื่อง Linked List
ลิงค์ลิสต์ (Linked List) เป็นวิธีการเก็บข้อมูลอย่างต่อเนื่องของอิลิเมนต์ต่าง ๆ โดยมีพอยเตอร์เป็นตัวเชื่อมต่อ แต่ละอิลิเมนท์ เรียกว่าโนด (Node) ซึ่งในแต่ละโนดจะประกอบไปด้วย 2 ส่วน คือ Data จะเก็บข้อมูลของอิลิเมนท์ และ ส่วนที่สอง คือ Link Field จะทำหน้าที่เก็บตำแหน่งของโนดต่อไปในลิสต์
ในส่วนของ data อาจจะเป็นรายการเดี่ยวหรือเป็นเรคคอร์ดก็ได้
ในส่วนของ link จะเป็นส่วนที่เก็บตำแหน่งของโหนดถัดไป ในโหนดสุดท้ายจะเก็บค่า Null ซึ่งไม่ได้ชี้ไปยังตำแหน่งใด ๆ เป็นตัวบอกการสิ้นสุดของลิสต์
ในลิงค์ลิสต์จะมีตัวแปรสำหรับชี้ตำแหน่งลิสต์ (List pointer variable)ซึ่งเป็นที่เก็บตำแหน่งเริ่มต้นของลิสต์ ซึ่งก็ คือ โหนดแรกของลิสต์นั่นเอง ถ้าลิสต์ไม่มีข้อมูล ข้อมูลในโหนดแรกของลิสต์จะเป็น Null
โครงสร้างข้อมูลแบบลิงค์ลิสต์
โครงสร้างข้อมูลแบบลิงค์ลิสต์จะแบ่งเป็น 2 ส่วน คือ
1. Head Structure จะประกอบไปด้วย 3 ส่วนได้แก่ จำนวนโหนดในลิสต์ (Count) พอยเตอร์ที่ชี้ไปยัง
โหนดที่เข้าถึง (Pos) และพอยเตอร์ที่ชี้ไปยังโหนดข้อมูลแรกของลิสต์ (Head)
2. Data Node Structure จะประกอบไปด้วยข้อมูล (Data) และพอยเตอร์ที่ชี้ไปยังข้อมูลตัวถัดไป
กระบวนงานและฟังก์ชั่นที่ใช้ดำเนินงานพื้นฐาน
1. กระบวนงาน Create List หน้าที่ คือ สร้างลิสต์ว่าง ผลลัพธ์ คือ ลิสต์ว่าง
2. กระบวนงาน Insert Node หน้าที่ คือ เพิ่มข้อมูลลงไปในลิสต์บริเวณตำแหน่งที่ต้องการ ข้อมูลนำเข้า คือลิสต์ ข้อมูล และตำแหน่ง ผลลัพธ์ คือ ลิสต์ที่มีการเปลี่ยนแปลง
3. กระบวนงาน Delete Node หน้าที่ คือ ลบสมาชิกในลิสต์บริเวณตำแหน่งที่ต้องการ ข้อมูลนำเข้า คือ ข้อมูลและตำแหน่ง ผลลัพธ์ คือ ลิสต์ที่มีการเปลี่ยนแปลง
4. กระบวนงาน Search list หน้าที่ คือ ค้นหาข้อมูลในลิสต์ที่ต้องการ ข้อมูลนำเข้าลิสต์ ผลลัพธ์ คือ ค่าจริงถ้าพบข้อมูล ค่าเท็จถ้าไม่พบข้อมูล
5. กระบวนงาน Traverse หน้าที่ คือ ท่องไปในลิสต์เพื่อเข้าถึงและประมวลผลข้อมูลนำเข้าลิสต์ ผลลัพธ์ คือ ขึ้นกับการประมวลผล เช่น เปลี่ยนแปลงค่าใน node , รวมฟิลด์ในลิสต์ ,คำนวณค่าเฉลี่ยของฟิลด์
เป็นต้น
6. กระบวนงาน Retrieve Node หน้าที่ คือ หาตำแหน่งข้อมูลจากลิสต์ ข้อมูลนำเข้าลิสต์ ผลลัพธ์ คือตำแหน่งข้อมูลที่อยู่ในลิสต์
7. ฟังก์ชั่น EmptyList หน้าที่ คือ ทดสอบว่าลิสต์ว่างข้อมูลนำเข้า ลิสต์ ผลลัพธ์ คือ เป็นจริง ถ้าลิสต์ว่าง
เป็นเท็จ ถ้าลิสต์ไม่ว่าง
8. ฟังก์ชั่น FullList หน้าที่ คือ ทดสอบว่าลิสต์เต็มหรือไม่ข้อมูลนำเข้าลิสต์ ผลลัพธ์ คือ เป็นจริง ถ้าหน่วยความจำเต็ม เป็นเท็จ ถ้าสามารถมีโหนดอื่น
9. ฟังก์ชั่น list count หน้าที่ คือ นับจำนวนข้อมูลที่อยู่ในลิสต์ ข้อมูลนำเข้าลิสต์ ผลลัพธ์ คือ จำนวนข้อมูลที่อยู่ในลิสต์
10. กระบวนงาน destroy list หน้าที่ คือ ทำลายลิสต์ ข้อมูลนำเข้า คือ ลิสต์ ผลลัพธ์ คือ ไม่มีลิสต์
Linked List แบบซับซ้อน
1. Circular Linked List เป็นลิงค์ลิสต์ที่สมาชิกตัวสุดท้ายมีตัวชี้ (list) ชี้ไปที่สมาชิกตัวแรกของลิงค์ลิสต์ จะมีการทำงานไปในทิศทางเดียวเท่านั้น คือเป็นแบบวงกลม
2. Double Linked List เป็นลิงค์ลิสต์ที่มีทิศทางการทำงานแบบ 2 ทิศทาง ในลิงค์ลิสต์แบบ 2 ทิศทาง ส่วนข้อมูลจะมีตัวชี้ไปที่ข้อมูลก่อนหน้า (backward pointer) และตัวชี้ข้อมูลถัดไป(forward pointer)

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

DTS 04-15/07/2009

สรุปเรื่อง Set and String
โครงสร้างข้อมูลแบบเซ็ต เป็นโครงสร้างข้อมูลที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กัน ในภาษาซี จะไม่มีประเภทข้อมูลแบบเซ็ตนี้เหมือนกับในภาษาปาสคาล แต่สามารถใช้หลักการของการดำเนินงานแบบเซ็ตมาใช้ได้
ตัวดำเนินการของเซ็ต (Set operators)ประกอบด้วย
- set intersection
- set union
- set difference เป็นต้น
โครงสร้างข้อมูลแบบสตริง สตริง (String) หรือ สตริงของอักขระ (Character String) เป็นข้อมูลที่ประกอบไปด้วย ตัวอักษร ตัวเลข หรือเครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่างการประยุกต์ใช้คอมพิวเตอร์ที่เกี่ยวกับข้อมูลที่เป็นสตริงมีการนำไปใช้สร้างโปรแกรมประเภทบรรณาธิการข้อความ(text editor) หรือโปรแกรมประเภทประมวลผลคำ (word processing) ซึ่งมีการทำงานที่อำนวยความสะดวกหลายอย่าง เช่น การตรวจสอบข้อความ การจัดแนวข้อความในแต่ละย่อหน้า และการค้นหาคำ เป็นต้น
สตริงกับอะเรย์ สตริง คือ อะเรย์ของอักขระ เช่น char a[6] อาจจะเป็นอะเรย์ขนาด 6 ช่องอักขระ หรือเป็นสตริงขนาด 5 อักขระก็ได้ โดยจุดสิ้นสุดของstring จะจบด้วย \0 หรือ null character เช่น
char a[ ]={‘H’, ‘E’, ‘L’, ‘L’, ‘O’, ‘\0’};
char a[ ]=“HELLO”;
การกำหนดสตริง การกำหนดสตริงทำได้หลายแบบ คือ
1. กำหนดเป็นสตริงที่มีค่าคงตัว(String Constants)
2. กำหนดโดยใช้ตัวแปรอะเรย์หรือพอยเตอร์
การกำหนดค่าคงตัวสตริง สามารถกำหนดได้ทั้งนอกและในฟังก์ชัน เมื่อกำหนดไว้นอกฟังก์ชัน ชื่อค่าคงตัวจะเป็นพอยเตอร์ชี้ไปยังหน่วยความจำที่เก็บสตริงนั้น เมื่อกำหนดไว้ในฟังก์ชัน จะเป็นพอยเตอร์ไปยังหน่วยความจำที่เก็บตัวมันเองการกำหนดค่าให้กับสตริงนั้น เราจะใช้เครื่องหมาย double quote (“ ”) เช่น “abc” คือ ชุดของอักขระที่มีขนาด 4 (รวม \0 ด้วย)
การกำหนดตัวแปรสตริง ในการกำหนดตัวแปรของสตริง อาศัยหลักการของอะเรย์ เพราะ สตริงก็คืออะเรย์ของอักขระที่ปิดท้ายด้วย null character (\0) และมีฟังก์ชันพิเศษสำหรับทำงานกับสตริงโดยเฉพาะ
อะเรย์ของสตริง ถ้าหากมีสตริงจำนวนมาก ก็ควรจะทำให้เป็นอะเรย์ของสตริง เพื่อที่จะเขียนโปรแกรมได้สะดวก การสร้างอะเรย์ของสตริง สามารถสร้างได้ทั้งแบบที่ให้ค่าเริ่มต้นและแบบที่กำหนดเป็นตัวแปร
อะเรย์ของสตริงที่ยาวเท่ากัน อะเรย์ในลักษณะนี้จะถือว่าเป็นอะเรย์ที่แท้จริง และสามารถกำหนดได้ทั้งเมื่อมีการให้ค่าเริ่มต้น และเมื่อกำหนดเป็นตัวแปร โดยดำเนินการตามแบบการกำหนดอะเรย์ 2 มิติ การกำหนดตัวแปรในลักษณะนี้ จะแตกต่างจากการกำหนดตัวแปรแบบความยาวไม่เท่ากัน คือ ในแบบความยาวไม่เท่ากัน ท้ายของสตริงจะเครื่องจะเติม null character ให้เพียงตัวเดียว แต่ในแบบความยาวเท่ากัน จะเติม null character ให้จนครบทุกช่อง
การดำเนินการเกี่ยวกับสตริง ในการดำเนินการเกี่ยวกับสตริง จะมีฟังก์ชันที่อยู่ในแฟ้ม ข้อมูล stdio.h เก็บอยู่ใน C Library อยู่แล้วสามารถนำมาใช้ได้ โดยการใช้คำสั่ง #include ในการเรียกใช้ เช่น
- ฟังก์ชัน strlen(str) ใช้หาความยาวของสตริง
- ฟังก์ชัน strcpy (str1,str2) ใช้คัดลอกข้อมูลจาก string หนึ่งไปยังอีก string หนึ่ง
- ฟังก์ชัน strcat(str1,str2) ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน
- ฟังก์ชัน strcmp(str1,str2 ) ใช้เปรียบเทียบข้อความ 2 ข้อความว่ามีค่าเท่ากันหรือไม่ ถือหลักการเปรียบเทียบแบบพจนานุกรม เช่น abcda จะมีค่าน้อยกว่า abcde และ abcdf จะมีค่ามากกว่า abcde ค่าที่เท่ากัน คือ ค่าที่เหมือนกัน เช่น abcd กับ abcd สำหรับอักษรตัวเล็กตัวใหญ่ จะถือว่าอักษรตัวใหญ่มีค่าน้อยกว่าอักษรตัวเล็ก ตามลำดับรหัส ASCII

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

DTS 03-30/06/2009

สรุป Array and Record
อะเรย์เป็นโครงสร้างข้อมูลที่เรียกว่า Linear List มีลักษณะคล้ายเซ็ตในคณิตศาสตร์ คือ อะเรย์จะประกอบด้วยสมาชิกที่มีจำนวนคงที่ มีรูปแบบข้อมูลเป็นแบบเดียวกัน สมาชิกแต่ละตัวใช้เนื้อที่จัดเก็บที่มีขนาดเท่ากัน เรียงต่อเนื่องในหน่วยความจำหลัก การกำหนด Array การกำหนดอะเรย์จะต้องกำหนดชื่ออะเรย์ พร้อม subscript ซึ่งเป็นตัวกำหนดขอบเขตของอะเรย์ มีได้มากกว่า 1 ตัวจำนวน subscript จะเป็น ตัวบอกมิติของอะเรย์นั้น อะเรย์ที่มี subscript มากกว่า 1 ตัวขึ้นไป จะเรียกว่า อะเรย์หลายมิติ
ข้อกำหนดของการกำหนดค่าต่ำสุดและ ค่าสูงสุดของ subscript คือ
1. ค่าต่ำสุดต้องมีค่าน้อยกว่าหรือเท่ากับค่าสูงสุดเสมอ
2. ค่าต่ำสุด เรียกว่า ขอบเขตล่าง (lower bound)
3. ค่าสูงสุด เรียกว่า ขอบเขตบน (upper bound)
ค่า subscript ที่ใช้อ้างอิงถึงสมาชิก จะต้องมีค่ามากกว่า หรือเท่ากับขอบเขตล่าง และน้อยกว่าหรือเท่ากับขอบเขตบน lower bound ≤ subscript ≤ upper bound ขนาดของ index แต่ละตัว ของ Array หาได้จากขนาดของ subscript = upper bound – lower bound + 1
จำนวนสมาชิกหรือขนาดของอะเรย์ n มิติ หาได้จากขนาดของอะเรย์ = ผลคูณของขนาดของ subscript แต่ละตัว
เราสามารถกำหนดอะเรย์เป็นพารามิเตอร์ส่งให้กับฟังก์ชันได้ 2 ลักษณะ

1. การกำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน ทำได้โดยอ้างถึงชื่ออะเรย์พร้อมระบุsubscript
2. ส่งอะเรย์ทั้งชุดให้ฟังก์ชันทำได้โดยอ้างถึงชื่ออะเรย์โดยไม่มี
การประกาศอาร์กิวเมนต์ในฟังก์ชันเป็นอะเรย์ถ้าเป็นอะเรย์มิติเดียว สามารถทำได้ทั้งหมด 3 วิธี

1. มีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
2. ไม่ต้องมีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
3. ตัวแปรที่ทำหน้าที่รับค่าถูกกำหนดเป็นพอยน์เตอร์
Record or Structureเป็นโครงสร้างข้อมูลที่ประกอบขึ้นมาจากข้อมูลพื้นฐานต่างประเภทกัน รวมเป็น 1 ชุดข้อมูล คือจะประกอบด้วย data element หรือ field ต่างประเภทกันอยู่รวมกัน ในภาษา C ก็คือการกำหนดข้อมูลเป็นรูปแบบของ Structure Structure คือ โครงสร้างที่สมาชิกแต่ละตัวมีประเภทข้อมูลแตกต่างกันได้ โดยที่ใน structure อาจมีสมาชิกเป็นจำนวนเต็ม ทศนิยม อักขระ อะเรย์หรือพอยเตอร์ หรือแม้แต่ structure ด้วยกันก็ได้
struct เป็นคำหลักที่ต้องมีเสมอ

struc-name ชื่อกลุ่ม structure
type ชนิดของตัวแปรที่อยู่ในกลุ่ม structure
name-n ชื่อของตัวแปรที่อยู่ในกลุ่ม structure
struc-variable ชื่อตัวแปรชนิดโครงสร้าง
คือ ตัวแปรที่มีโครงสร้าง เหมือนกับที่
ประกาศไว้ใน ชื่อของกลุ่ม structure
อาจมีหรือไม่มีก็ได้ถ้ามีมากกว่า 1 ชื่อ แยกกันด้วยเครื่องหมายคอมม่า (,)
การประกาศสมาชิกแต่ละตัวของ structure สมาชิกแต่ละตัวของ structure จะเป็นตัวแปรธรรมดาพอยน์เตอร์ อะเรย์หรือ structure ตัวอื่นก็ได้ โดยชื่อของสมาชิกแต่ละตัวต้องแตกต่างกัน
การกำหนดให้ตัวแปรมีโครงสร้างข้อมูลเหมือนกับ structure ที่ประกาศไว้แล้วสามารถกำหนดให้ตัวแปรอื่น ๆ มีโครงสร้างข้อมูลเหมือนกับ structure ที่ประกาศไว้ได้โดยใช้คำสั่ง struct รูปแบบ struct struc-name struc-variable; ถ้ามีหลายตัวแปรจะคั่นด้วยเครื่องหมายคอมม่า ( ,)
การกำหนดค่าเริ่มต้นให้กับสมาชิกของ structure สามารถกำหนดค่าเริ่มต้นให้กับสมาชิกของ structure ได้โดยค่าเริ่มต้นที่จะกำหนดให้กับสมาชิกตัวใด จะต้องอยู่ในตำแหน่งที่ตรงกับสมาชิกตัวนั้นค่าเริ่มต้นจะต้องอยู่ในวงเล็บปีกกาและข้อมูลค่าเริ่มต้นแต่ละตัวแยกกันด้วยเครื่องหมาย ,
Structure กับ pointer เราสามารถที่จะอ้างถึงที่อยู่เริ่มต้นของ structure ได้เหมือนกับตัวแปรอื่น ๆ โดยใช้ตัวดำเนินการ & ดังนั้น ถ้า variable เป็นตัวแปรประเภท structure & variable จะเป็นเลขที่อยู่เริ่มต้นของตัวแปร นอกจากนี้ยังสามารถประกาศตัวแปรพอยน์เตอร์สำหรับ structure ดังนี้

type *ptvar
type คือ ประเภทข้อมูลที่เป็น structure
ptvar คือ ชื่อของตัวแปรพอยน์เตอร์
การผ่าน structure ให้ฟังก์ชันประเภทของการส่งผ่าน structure ให้ฟังก์ชันนั้น มี 2 ประเภท คือ

1. ส่งสมาชิกแต่ละตัวของ structure
2. ส่งทั้ง structure
Pointer เป็นตัวแปรชนิดหนึ่งที่ทำหน้าที่เก็บตำแหน่งที่อยู่ (Address) ของตัวแปรที่อยู่ในหน่วยความจำ

วันจันทร์ที่ 29 มิถุนายน พ.ศ. 2552

วันอาทิตย์ที่ 28 มิถุนายน พ.ศ. 2552

DTS 02-23/06/2009

#include<stdio.h>
#include<string.h>
void main()
{
struct MyIpod{
char name[15];
char generation[20];
char color[10];
char from[20];
float weight;
float thick;
int memory;
int price;
}data;
strcpy(data.name,"I Pod ");
strcpy(data.generation,"Nano");
strcpy(data.color,"Pink");
strcpy(data.from,"Japan");
data.weight=0.049;
data.thick=0.065;
data.memory=8;
data.price=7900;
printf("######################## \n");
printf("###### My I_Pod ######## \n");
printf("######################## \n");
printf(" name : %s\n",data.name);
printf(" Generation : %s\n",data.generation);
printf(" Color : %s\n",data.color);
printf(" From : %s\n",data.from);
printf(" Weight : %.3f\n",data.weight);
printf(" Thick : %.3f\n",data.thick);
printf(" Memory : %d\n",data.memory);
printf(" Price : %.2f\n",data.price);
}

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

วันจันทร์ที่ 22 มิถุนายน พ.ศ. 2552

DTS 01-16/06/2009


นาย สิทธิศักดิ์ โลตศิริ รหัสประจำตัว 50132792022

Mr. Sittisak Lohitsiri

ชื่อเล่น หนุ่ย

หลักสูตร การบริหารธุรกิจ (คอมพิวเตอร์ธุรกิจ) คณะวิทยาการจัดการ

มหาวิทยาลัย ราชภัฏสวนดุสิต

E-mail
www.sittisak50132792022@gmail.com