1 มีนาคม 2554

สรุปการฝึกประสบการณ์วิชาชีพ

ประโยชน์ที่ได้รับ
- ฝึกตัวเองให้มีความอดทน ความพยายาม และความรับผิดชอบต่อหน้าที่ ต่องานที่ได้รับมอบหมาย
- ฝึกการทำงานร่วมกับผู้อื่น และสังคมการทำงาน
- มีความรู้เกี่ยวกับอุปกรณ์สำนักงานเพิ่มมากขึ้นและใช้อุปกรณ์สำนักงานได้อย่างถูกต้องเช่น เครื่องสแกน
เครื่อง Print เครื่องถ่ายเอกสารและ เครื่อง Fax
- ได้รับความรู้ใหม่ และประสบการณ์ ในสภาวะการทำงานจริง
- เรียนรู้โปรแกรมต่างๆ ที่องค์กรนำมาใช้ในการทำงาน เช่น การทำแผนพัฒนาพนักงานรายบุคคล (Individual Development Plan : IDPs)
-ได้เรียนรู้การทำงานที่ต้องมีความละเอียดรอบคอบ
- ได้เรียนรู้การตั้งใจจริงในการทำงาน เพื่อให้งานเสร็จทันกำหนดเวลา
- ฝึกฝนตัวเองให้เป็นคนช่างสังเกตและรู้จักปรับปรุงการพัฒนาการทำงานของตน
- ได้รู้จักการทำงานต่าง ๆ ภายในธนาคารออมสิน
- มีโอกาสได้เรียนรู้การทำงานกับผู้ใหญ่ และมีโอกาสได้เสนอความคิดเห็น

28 กุมภาพันธ์ 2554

รายงานการปฏิบัติงาน สัปดาห์ที่ 18 วันที่ 28 กุมภาพันธ์ 2554

การปฏิบัติ
1. ส่งเอกสาร จำนวน 3 แฟ้ม
2. ตรวจเช็คคะแนนของผู้สมัคร GSB Idea ของคนที่ผ่านและไม่ผ่าน
- ด้านการตลาด จำนวน จำนวน 38 คน
- ด้านการบริการลูกค้า จำนวน 24 คน
- ด้านการนำเทคโนโลยีสารสนเทศมาช่วยในการปฏิบัติงาน จำนวน 21 คน
- ด้านลดขั้นตอน จำนวน 17 คน
- ด้านภาษาอังกฤษ จำนวน 10 คน

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

การแก้ไขปัญหา
-

ประโยชน์ที่ได้รับ
1.มีความรอบคอบในการทำงาน

ข้อเสนอแนะ

-

25 กุมภาพันธ์ 2554

รายงานการปฏิบัติงาน สัปดาห์ที่ 17 ระหว่างวันที่ 21–25 กุมภาพันธ์ 2554

การปฏิบัติ
1. ถ่ายเอกสาร จำนวน 24 ชุด
2. ตรวจเช็คคะแนนของผู้สมัคร GSB Idea จำนวน 100 คน
3. ส่งแฟ็กซ์ จำนวน 5 แผ่น
4. เดินเอกสารไปตึก 1 หน้าห้องท่านรองยงยุทธ จำนวน 4 ชุด
5. พิมพ์ใบปะหน้า
- ด้านภาษาอังกฤษ จำนวน 1 แผ่น
- ด้านการตลาด จำนวน จำนวน 1 แผ่น
- ด้านการบริการลูกค้า จำนวน 1 แผ่น
- ด้านการนำเทคโนโลยีสารสนเทศมาช่วยในการปฏิบัติงาน จำนวน 1 แผ่น
- ด้านลดขั้นตอน จำนวน 1 แผ่น
6. จัดทำแฟ้มคะแนนผู้สมัคร GSB Idea จำนวน 1 แฟ้ม
7. จัดเรียงใบคะแนนของผู้สมัคร GSB Idea ของคณะกรรมการรอบกลั่นกรองผลงาน จำนวน 100 คน
8. รับโทรศัพท์ จำนวน 20 ครั้ง
9. คัดเลือกคะแนนผู้สมัคร GSB Idea ที่มีคะแนนไม่ถึง 60 คะแนน แล้วนำมาจัดเรียงลำดับจากมากไปน้อย ในด้านต่างๆ ดังนี้
- ด้านการตลาด จำนวน จำนวน 26 คน
- ด้านการบริการลูกค้า จำนวน 13 คน
- ด้านการนำเทคโนโลยีสารสนเทศมาช่วยในการปฏิบัติงาน จำนวน 8 คน
- ด้านลดขั้นตอน จำนวน 12 คน
- ด้านภาษาอังกฤษ จำนวน 6 คน
10. คัดเลือกคะแนนผู้สมัคร GSB Idea ที่มีคะแนนตั้งแต่ 60 คะแนน ขึ้นไป แล้วนำมาจัดเรียงลำดับจากมากไปน้อย ในด้านต่างๆ ดังนี้
- ด้านการตลาด จำนวน จำนวน 12 คน
- ด้านการบริการลูกค้า จำนวน 11 คน
- ด้านการนำเทคโนโลยีสารสนเทศมาช่วยในการปฏิบัติงาน จำนวน 13 คน
- ด้านลดขั้นตอน จำนวน 5 คน
- ด้านภาษาอังกฤษ จำนวน 4 คน

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

การแก้ไขปัญหา
1. พักสายตาสักพัก แล้วตรวจใหม่
2. ศึกษาเครื่องถ่ายเอกสารด้วยตนเอง เมื่อรู้ขั้นตอนแล้ว ก็สามารถถ่ายเอกสารได้
3. ถ่ายเอกสารใหม่อีกครั้ง

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

ข้อเสนอแนะ
-

18 กุมภาพันธ์ 2554

รายงานการปฏิบัติงาน สัปดาห์ที่ 16 ระหว่างวันที่ 14-17 กุมภาพันธ์ 2554

การปฏิบัติ
1. ตรวจสอบความถูกต้องของเอกสารที่บริษัททัวร์ต่าง ๆ ส่งเข้าร่วมประมูล เพื่อนำผู้ชนะเลิศโครงการ GSB Idea ไปศึกษาดูงานยังประเทศญี่ปุ่น
2. ตรวจเช็คคะแนนของผู้สมัคร GSB Idea
- ด้านภาษาอังกฤษ จำนวน 10 คน
- ด้านการตลาด จำนวน 38 คน
- ด้านการบริการลูกค้า จำนวน 24 คน
- ด้านการนำเทคโนโลยีสารสนเทศมาช่วยในการปฏิบัติงาน จำนวน 21 คน
- ด้านลดขั้นตอน จำนวน 17 คน
3. ถ่ายเอกสาร จำนวน 12 ชุด
4. ตรวจเช็คเอกสารบริษัททัวร์ต่าง ๆ ว่าในเอกสารมีชื่อของบริษัททัวร์นั้น ๆ อยู่หรือไม่ ถ้าตรวจเจอ ก็ทำการลบทิ้ง เพื่อที่จะนำเอกสารดังกล่าวไปให้คณะกรรมการตัดสินใจว่าจะเลือกใช้บริการบริษัทใด
5. พิมพ์รายชื่อผู้เข้าประกวดโครงการ GSB Idea ลงในแบบการให้คะแนนของคณะกรรมการรอบกลั่นกรองผลงาน
- ด้านการตลาด จำนวน 38 คน
- ด้านการบริการลูกค้า จำนวน 24 คน
- ด้านการนำเทคโนโลยีสารสนเทศมาช่วยในการปฏิบัติงาน จำนวน 21 คน
- ด้านลดขั้นตอน จำนวน 17 คน
6. ใส่เลขที่หนังสือที่ออกจากฝ่ายพัฒนาบุคลากรและนำไปถ่ายเอกสาร จำนวน 3 ชุด
7. สรุปตารางแสดงระดับความสามารถของตำแหน่งงานทั้งหมด 4 ฝ่าย
8. ตรวจเช็คคะแนนของผู้สมัคร GSB Idea ให้ละเอียดรอบคอบใหม่อีกครั้ง จำนวน 4 ด้าน
9. สรุปยอดการติดตามและประเมินผลแผนพัฒนาพนักงานรายบุคคล (IDP Monitoring) สำหรับธนาคารออมสินเขต สังกัดสายงานกิจการสาขา 1-6 ทั้งหมด 18 ภาค
ภาคที่ 1 จำนวน 0 คน
ภาคที่ 2 จำนวน 23 คน
ภาคที่ 3 จำนวน 9 คน
ภาคที่ 4 จำนวน 27 คน
ภาคที่ 5 จำนวน 12 คน
ภาคที่ 6 จำนวน 35 คน
ภาคที่ 7 จำนวน 23 คน
ภาคที่ 8 จำนวน 20 คน
ภาคที่ 9 จำนวน 9 คน
ภาคที่ 10 จำนวน 34 คน
ภาคที่ 11 จำนวน 21 คน
ภาคที่ 12 จำนวน 12 คน
ภาคที่ 13 จำนวน 8 คน
ภาคที่ 14 จำนวน 21 คน
ภาคที่ 15 จำนวน 23 คน
ภาคที่ 16 จำนวน 34 คน
ภาคที่ 17 จำนวน 21 คน
ภาคที่ 18 จำนวน 21 คน


ปัญหาและอุปสรรค
1. ช่องในตารางเล็กและมีหลายช่อง หลายภาค จึงเกิดความสับสนในการใส่คะแนนลงไป

การแก้ไขปัญหา
1. นำไม้บรรทัดมาวางใต้ภาคที่เรานับอยู่ จะได้ไม่ใส่คะแนนลงผิดช่อง


ประโยชน์ที่ได้รับ
1. มีความรอบคอบในการทำงาน

2. ได้เรียนรู้การทำงานร่วมกับผู้อื่น

ข้อเสนอแนะ
- เครื่องถ่ายเอกสารมีน้อยเกินไป ไม่เพียงพอต่อความต้องการใช้งาน จึงควรจัดหาเครื่องถ่ายเอกสารมาเพิ่มเติม

11 กุมภาพันธ์ 2554

รายงานการปฏิบัติงาน สัปดาห์ที่ 15 ระหว่างวันที่ 7-11 กุมภาพันธ์ 2554

การปฏิบัติ
1. สแกนเอกสารผู้เข้าประกวดโครงการ GSB Idea เพิ่มเติม จำนวน 1 คน
2. ปริ้นท์ตารางปฏิบัติงานใน Excel เดือน มกราคม-ธันวาคม 2554 จำนวน 4 แผ่น
3. ถ่ายเอกสาร จำนวน 7 แผ่น
4. แก้ไขตารางเปรียบเทียบบริษัททัวร์ใน Excel จำนวน 3 บริษัท
5. ติดหางปลาแฟ้มเอกสาร จำนวน 10 แฟ้ม
7. ตรวจเช็คแผนพัฒนาพนักงานรายบุคคล (IDP) ของผู้จัดการสาขา ภาค 2-3 จำนวน 25 คน
8. สรุปตารางแสดงระดับความสามารถของตำแหน่งงานทั้งหมด 3 ฝ่าย
10. สรุปยอดการติดตามและประเมินผลแผนพัฒนาพนักงานรายบุคคล (IDP Monitoring) สำหรับธนาคารออมสินเขตสายงานกิจการสาขาธนาคารออมสินภาค จำนวน 244 คน

ปัญหาและอุปสรรค
1. ตารางปฏิบัติงานในเดือน มกราคม - มีนาคม 2554 เมื่อปริ้นท์ออกมาแล้วมีเส้นขาด

การแก้ไขปัญหา
1. ไปแก้ไขไฟล์ใหม่ แล้วจัดให้มีเส้นครบ แล้วปริ้นท์ออกมาใหม่อีกครั้ง

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

ข้อเสนอแนะ
- เครื่องถ่ายเอกสารมีน้อยเกินไป ไม่เพียงพอต่อความต้องการใช้งาน จึงควรจัดหาเครื่องถ่ายเอกสารมาเพิ่มเติม

4 กุมภาพันธ์ 2554

รายงานการปฏิบัติงาน สัปดาห์ที่ 14 ระหว่างวันที่ 31 มกราคม-4 กุมภาพันธ์ 2554

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

การปฏิบัติ

1. Print แบบติดตามและประเมินผลแผนพัฒนารายบุคคล (IDP) Monitoring ภาคที่มีการเปลี่ยนแปลง จำนวน 35 คน
2. เขียนเพิ่มรายชื่อและอีเมล์ ของผู้ส่งงานเข้าประกวดโครงการ GSB Idea จำนวน 10 คน
3. พิมพ์หน้าปกรายชื่อผู้ส่งผลงานเข้าประกวดโครงการ GSB Idea ด้านความคิดเชิงนวรรตกรรม เรื่อง ภาษาอังกฤษ จำนวน 10 คน
4. ปั้มตรายางแบบประเมินความคิดเห็นจำนวน 1,000 แผ่น
5. ตรวจสอบความถูกต้องแบบประเมิน IDP ในต้นฉบับและรายงาน
6. ตรวจสอบ CD ผลงานที่ส่งเข้าประกวดโครงการ GSB Idea ด้านภาษาอังกฤษ จำนวน 10 แผ่น
7. ทำแฟ้มแยกเอกสาร โครงการ GSB Idea ออกเป็นด้านต่างๆ คือ ด้านการตลาด การบริการการนำเทคโนโลยีสารสนเทศมาช่วยในการปฏิบัติงาน การปรับปรุงกระบวนการทำงาน/ลดขั้นตอนงาน และภาษาอังกฤษ
8. สแกนเอกสาร ประวัติผู้ส่งผลงานเข้าประกวดโครงการ GSB Idea จำนวน 99 แผ่น
9. ทำงานด้านธุรการเกี่ยวกับการรับหนังสือมายังส่วนแผนและกลยุทธ์
10. เขียนด้านที่ส่งผลงานเข้าประกวดโครงการ GSB Idea จำนวน 56 คน
11. พิมพ์สายงานและเบอร์โทรศัพท์ของผู้สมัครเข้าประกวดโครงการ GSB Idea จำนวน 107 คน
12. จัดทำตารางเปรียบเทียบบริษัททัวร์ใน Excel จำนวน 10 บริษัท
13. ปริ้นสรุปผลงานด้านต่างๆ ของผู้เข้าประกวดโครงการ GSB Idea จำนวน 65 คน
14. ถ่ายเอกสาร จำนวน 20 ชุด

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


การแก้ไขปัญหา
-

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

ข้อเสนอแนะ

- ปั้มตรายางสัญลักษณ์ของธนาคารมีน้อยเกินไป ทำให้เสียเวลาในการปั้ม เพราะปั้มได้เพียงแค่คนเดียว จึงควรเพิ่มตรายางอีก 1-2 อัน

28 มกราคม 2554

รายงานการปฏิบัติงาน สัปดาห์ที่ 13 ระหว่างวันที่ 24-28 มกราคม 2554

การปฏิบัติ
1. พิมพ์หน้าปกรายชื่อผู้ส่งผลงานเข้าประกวดโครงการ GSB Idea ด้านความคิดเชิงนวรรตกรรม เรื่อง การตลาด จำนวน 38 คน
2. พิมพ์หน้าปกรายชื่อผู้ส่งผลงานเข้าประกวดโครงการ GSB Idea ด้านความคิดเชิงนวรรตกรรม เรื่อง การบริการ จำนวน 24 คน
3. พิมพ์หน้าปกรายชื่อผู้ส่งผลงานเข้าประกวดโครงการ GSB Idea ด้านความคิดเชิงนวรรตกรรม เรื่อง การนำเทคโนโลยีสารสนเทศมาช่วยในการปฏิบัติงาน จำนวน 21 คน
4. พิมพ์หน้าปกรายชื่อผู้ส่งผลงานเข้าประกวดโครงการ GSB Idea ด้านความคิดเชิงนวรรตกรรม เรื่อง การปรับปรุงกระบวนการทำงาน/ลดขั้นตอนงาน จำนวน 14 คน
5. บันทึกแบบติดตามและประเมินผลแผนพัฒนารายบุคคล (IDP) Monitoring ของผู้จัดการสาขา
6. เขียนรายชื่อและอีเมล์ของผู้ส่งผลงานเข้าประกวดโครงการ GSB Idea จำนวน 107 คน
7. จัดทำตารางปฏิบัติงานใน Excel เดือนมกราคม – ธันวาคม 2554 จำนวน 4 แผ่น
8. เดินเอกสาร จำนวน 2 แฟ้ม
9. ถ่ายเอกสาร จำนวน 17 ชุด

ปัญหาและอุปสรรค
1. แบบประเมินจัดทำใน Access ไม่สามารถ Copy มาวางใน Excel ได้

การแก้ไขปัญหา
1. ต้องพิมพ์ใหม่อีกครั้ง

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


ข้อเสนอแนะ
- อยากให้พนักงานที่ทำแผนพัฒนารายบุคคล IDP Monitoring ตรวจสอบข้อมูลที่ตนเองจะพัฒนาให้เรียบร้อยและครบถ้วนมากยิ่งขึ้น ผู้ที่ตรวจสอบจะได้ไม่เสียเวลาแก้ไข และพนักงานก็จะได้ไม่ต้องกลับไปทำใหม่อีกครั้ง

รายงานการปฏิบัติงาน สัปดาห์ที่ 12 ระหว่างวันที่ 17-21 มกราคม 2554

การปฏิบัติ
1. ออกแบบฟอร์มรายชื่อผู้เข้าร่วมประชุมทั้งหมด จำนวน 18 ภาค
2. ออกแบบฟอร์มสำหรับให้กรอกข้อมูลขนาดเสื้อที่จะใส่เข้าประชุม ทั้งหมด 8 Size จำนวน 1 แบบ
3. ออกแบบฟอร์มสรุปขนาดเสื้อ จำนวน 1 แบบ
4. ส่งข้อมูลแบบฟอร์มที่ได้จัดทำไว้ให้กับหน่วยงานสายงานกิจการสาขา จำนวน 18 ภาค โดยส่งทางอีเมล์ของแต่ละภาค
5. จัดหมวดหมู่เอกสาร เพื่อเตรียมความพร้อมในการจัดทำข้อมูล
6. จัดรายชื่อผู้เข้าพัก จำนวน 18 ภาค จำนวน 884 คน
7. พิมพ์ข้อมูลลงใน Excel และจัดหมวดหมู่ ทั้งหมด 18 ภาค
8. ตรวจสอบการเข้าพักระหว่างวันที่ 27-29 ม.ค. 54 ให้มีความถูกต้อง และส่งรายชื่อผู้เข้าพักให้ทางโรงแรมเพื่อเตรียมห้องพักสำหรับการสัมมนา จำนวน 18 ภาค
9. ตรวจสอบขนาดเสื้อ จำนวน 884 คน ให้ตรงกับข้อมูลที่ส่งมาให้
10. จัดพิมพ์สรุปยอดจำนวนขนาดเสื้อ จำนวน 884 คน
11. ทำแบบสรุปข้อมูลที่เข้าร่วมประชุมเชิงปฏิบัติการและอบรมสำหรับผู้บริหารระดับผู้จัดการสาขา
12. ตรวจเช็ครายชื่อผู้เข้าร่วมประชุมเชิงปฏิบัติการที่พัทยา จำนวน 884 คน
13. ถ่ายเอกสาร จำนวน 15 ชุด

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

การแก้ไขปัญหา

1. แก้ไขข้อมูลตามที่ได้รับมา
2. แก้ไขรายชื่อผู้เข้าร่วมประชุมเสร็จแล้ว ก็แก้ไขขนาดเสื้อ


ประโยชน์ที่ได้รับ
- มีความรู้เกี่ยวกับการใช้โปรแกรม Microsoft Excel มากยิ่งขึ้น

ข้อเสนอแนะ
- ควรทำงานให้เป็นระบบมากกว่านี้

รายงานการปฏิบัติงาน สัปดาห์ที่ 11 ระหว่างวันที่ 10-14 มกราคม 2554

การปฏิบัติ
1. จัดทำปฏิทินตารางงานใน Excel
2. ถ่ายเอกสาร A3 จำนวน 4 แผ่น
3. นำเอกสาารไปส่งตึก 3 ชั้น 2
4. เดินไปรับงานที่ส่งไปแก้ไข พร้อมทั้งบันทึกข้อมูล จำนวน 5 คน
5. พิมพ์รายชื่อพนักงาน เบอร์โทรศัพท์ และอีเมล์ ลงใน Excel จำนวน 100 รายชื่อ
6. เดินไปรับเอกสารแบบประเมิน Competency ลงในคอมพิวเตอร์ จำนวน 25 ชุด
7. ทำการบันทึกข้อมูลแบบประเมิน Competency ลงในคอมพิวเตอร์ จำนวน 50 คน
8. ถ่ายเอกสาร จำนวน 15 ชุด
9. ติดหางปลา จำนวน 9 ชุด
10. ติดต่อฝ่ายธุรการ เพื่อเบิกแฟ้ม จำนวน 5 แฟ้ม
11. จัดทำเอกสาร จำนวน 2 แฟ้ม
12. ช่วยพี่ๆ ฝ่ายฝึกอบรมทำลายเอกสารธนาคารตั้งแต่ปี 2548-2550 และแยกแฟ้มตั้งแต่ปี 2548-2550 ออกมาจากตู้เอกสาร
13. พิมพ์ขนาดเสื้อของผู้จัดการสาขาทั้ง 18 ภาค ที่จะเข้าร่วมประชุมเชิงปฏิบัติการและอบรมสำหรับผู้จัดการสาขาขึ้นไป ประจำปี 2554 ในระหว่างวันที่ 28-29 ม.ค. 54 จำนวน 884 คน
14. ออกแบบฟอร์มการจัดคู่พักของผู้เข้าร่วมประชุม จำนวน 18 ภาค

ปัญหาและอุปสรรค
1.ปฏิทินตารางงานมีความกว้างเกินไป ทำให้ไม่สามารถบันทึกข้อมูลได้ทั้งหมด
2.ไม่ถัดใช้ Excel
3.ตั้งค่าหัวข้อหน้ากระดาษไม่เป็น


การแก้ไขปัญหา
1. จัดทำทีละไตรมาส
2. เมื่อไม่เข้าใจตรงไหนก็ถามเพื่อนที่รู้
3. ถามเพื่อนที่ฝึกงานด้วยกันว่าทำอย่างไร

ประโยชน์ที่ได้รับ
- มีความรู้เกี่ยวกับการใช้โปรแกรม Microsoft Excel มากยิ่งขึ้น

ข้อเสนอแนะ
- ควรเตรียมกระดาษ A4 ให้เพียงพอต่อความต้องการ เพราะเมื่อกระดาษหมด จึงไม่สามารถถ่ายเอกสารได้

9 มกราคม 2554

รายงานการปฏิบัติงาน สัปดาห์ที่ 10 ระหว่างวันที่ 4-7 มกราคม 2554

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

ลากิจ (คุณตาเสียชีวิต)

รายงานการปฏิบัติงาน สัปดาห์ที่ 9 ระหว่างวันที่ 27-30 ธันวาคม 2553

การปฏิบัติ
1. ทำการแก้ไขและบันทึกแผนพัฒนาพนักงานรายบุคคล (Individual Development Plan : IDPs) ของส่วนต่าง ๆ ดังนี้
1.1 ส่วนปฏิบัติการศูนย์คอมพิวเตอร์ จำนวน 15 คน
1.2 ส่วนบริหารพัสดุและควบคุม จำนวน 20 คน
1.3 ส่วนสนับสนุนคอมพิวเตอร์ภาคใต้ จำนวน 20 คน
1.4 คอมพิวเตอร์ภาคกลาง จำนวน 30 คน
1.5 ส่วนจัดการระบบคอมพิวเตอร์ จำนวน 5 คน
2. ถ่ายเอกสาร จำนวน 40 ชุด
3. จัดทำแฟ้มเอกสาร จำนวน 5 แฟ้ม

ปัญหาและอุปสรรค
1. พนักงานเลือกเครื่องมือไม่ตรงกับหัวหน้าที่จัดทำแผนในระบบ

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


ประโยชน์ที่ได้รับ
- ได้ความรู้เกี่ยวกับเอกสารต่าง ๆ คือ การจัดเอกสารเข้าแฟ้มโดยแยกตามหมวดหมู่

ข้อเสนอแนะ
- อยากให้พนักงานที่ทำแผนพัฒนารายบุคคล IDP Monitoring ตรวจสอบข้อมูลที่ตนเองจะพัฒนาให้เรียบร้อยและครบถ้วนมากยิ่งขึ้น ผู้ที่ตรวจสอบจะได้ไม่เสียเวลาแก้ไข และพนักงานก็จะได้ไม่ต้องกลับไปทำใหม่อีกครั้ง

รายงานการปฏิบัติงาน สัปดาห์ที่ 8 ระหว่างวันที่ 20-24 ธันวาคม 2553

การปฏิบัติ
1. ทำการแก้ไขและบันทึกแผนพัฒนาพนักงานรายบุคคล (Individual Development Plan : IDPs) ของส่วนต่าง ๆ ดังนี้
1.1 ส่วนสนับสนุนคอมพิวเตอร์ภาคเหนือ จำนวน 20 คน
1.2 ส่วนสนับสนุนคอมพิวเตอร์ภาคตะวันออกเฉียงเหนือ จำนวน 25 คน
1.3 ส่วนพัฒนาระบบงานบริการลูกค้าด้านสินเชื่อ จำนวน 25 คน
1.4 ส่วนพัฒนาระบบงานบริการลูกค้าด้าน Self Service จำนวน 30 คน
1.5 ส่วนประกันคุณภาพระบบงานบริการลูกค้า จำนวน 35 คน
1.6 ส่วนจัดการระบบคอมพิวเตอร์ จำนวน 15 คน
2. ถ่ายเอกสาร จำนวน 10 ชุด
3. เดินเอกสาร จำนวน 2 ชุด

ปัญหาและอุปสรรค
1. โปรแกรมของเครื่องคอมพิวเตอร์ เกิดความขัดข้อง เมื่อต้องการบันทึกข้อมูล
2. รหัสพนักงานไม่ตรงกับ ชื่อ-สกุล
3. พนักงานเอก BI ไม่ถูก
4. มาตรฐานการวัดผลมีไม่ครบถ้วน

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

ประโยชน์ที่ได้รับ
- ได้เรียนรู้การทำงานร่วมกับผู้อื่น

ข้อเสนอแนะ
- เครื่องถ่ายเอกสารมีน้อยเกินไป ไม่เพียงพอต่อความต้องการใช้งาน จึงควรจัดหาเครื่องถ่ายเอกสารมาเพิ่มเติม

17 ธันวาคม 2553

รายงานการปฏิบัติงาน สัปดาห์ที่ 7 ระหว่างวันที่ 13-17 ธันวาคม 2553

การปฏิบัติ
1. ถ่ายเอกสาร จำนวน 11 ชุด
2. เดินเอกสาร จำนวน 4 ชุด
3. บันทึกแผนพัฒนารายบุคคล Development Catalog ของพนักงานในระบบของธนาคารในส่วนต่างๆ ดังนี้
3.1 ส่วนสถาปัตยกรรม จำนวน 20 คน
3.2 ส่วนเครือข่ายสื่อสาร จำนวน 15 คน
3.3 ส่วนพัฒนาระบบงานบริการลูกค้าด้าน e-Banking จำนวน 30 คน
3.4 ส่วนพัฒนาระบบงานบริการลูกค้าด้านสินเชื่อ จำนวน 25 คน
3.5 ส่วนพัฒนาระบบงานด้านสาขาและข้อมูลลูกค้า จำนวน 23 คน
3.6 ส่วนบริหารคลังข้อมูล จำนวน 20 คน
3.7 ส่วนพัฒนาระบบงานบริการลูกค้าด้านเงินฝาก จำนวน 15 คน
3.8 ส่วนสถาปัตยกรรมเทคโนโลยีสารสนเทศ จำนวน 12 คน
3.9 ส่วนวางแผนเทคโนโลยีสารสนเทศ จำนวน 34 คน
3.10 ส่วนสถาปัตยกรรมพัฒนาระบบงาน จำนวน 22 คน

ปัญหาและอุปสรรค
1. ระบบมีความยุ่งยากและซับซ้อน ทำให้เกิดความผิดพลาดในการบันทึกข้อมูล
2. เดินเอกสารผิดชั้น ทำให้ต้องเสียเวลา


การแก้ไขปัญหา
1. ให้พี่ที่สามารถแก้ไขข้อมูลได้ มาช่วยสอนและแก้ปัญหาที่เกิดขึ้น
2. เดินไปยังชั้นที่ต้องการจะไปส่งเอกสารใหม่อีกครั้ง


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

1. ฝึกการทำงานร่วมกับผู้อื่น และสังคมการทำงาน
2. มีโอกาสได้เรียนรู้การทำงานกับผู้ใหญ่

ข้อเสนอแนะ
- เครื่องถ่ายเอกสารมีน้อยเกินไป ไม่เพียงพอต่อความต้องการใช้งาน จึงควรจัดหาเครื่องถ่ายเอกสารมาเพิ่มเติม

10 ธันวาคม 2553

รายงานการปฏิบัติงาน สัปดาห์ที่ 6 ระหว่างวันที่ 7-9 ธันวาคม 2553

การปฏิบัติ
1. ถ่ายเอกสาร จำนวน 32 ชุด
2. ค้นหายอดเงินจากหลักสูตรอสังหาลิมทรัพย์ จำนวน 1 หลักสูตร
3. ติดหางปลาเอกสาร จำนวน 4 เล่ม
4. พิมพ์ชื่อ IDP FC001-FC070 จำนวน 70 รายชื่อ
5. จัดรูปแบบ IDP FC001-FC088 จำนวน 88 รายชื่อ
6. จัดทำแฟ้มเอกสาร จำนวน 8 แฟ้ม
7. ช่วยพี่ๆ ถือของที่ระลึกไปยังตึก 1 เพื่อที่จะนำไปมอบให้พนักงานที่มาดูงานจากประเทศเนปาล จำนวน 25 ถุง
8. ช่วยพี่ๆ นับจำนวนเสื้อ Size ต่างๆ เพื่อที่จะนำไปให้พนักงานในกิจกรรม CSR จำนวน 650 ตัว
9. ช่วยพี่ๆ นำเสื้อใส่ถุง จำนวน 12 ถุง

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

-

การแก้ไขปัญหา
-


ประโยชน์ที่ได้รับ
1. ได้เรียนรู้การทำงานร่วมกับผู้อื่น
2. ได้ฝึกตัวเอง ในด้านความอดทน ความพยายาม และความรับผิดชอบต่อหน้าที่ต่องานที่ได้รับมอบหมาย


ข้อเสนอแนะ
-


3 ธันวาคม 2553

รายงานการปฏิบัติงาน สัปดาห์ที่ 5 ระหว่างวันที่ 29 พฤศจิกายน-3 ธันวาคม 2553

การปฏิบัติ
1.ถ่ายเอกสาร จำนวน 21 ชุด
2.นับจำนวนรายชื่อผู้รับการอบรมหลักสูตร การวิเคราะห์การจัดการตลาดและการบริการทางการเงิน รุ่นที่1-5 จำนวน 350 คน
3.เดินเอกสาร จำนวน 2 แฟ้ม
4.แก้ไขข้อมูล Development Catalog แนวทางเลือกเครื่องมือการพัฒนาบุคลากร จำนวน 60 ชุด ชุดละ 5 Level
5.ทำการคัดลอกไฟล์ข้อมูล IDP ที่มีข้อมูล FC001-FC088 ที่ซ้ำกันมาวางไว้ในไฟล์ Excel อีกไฟล์ จำนวน 88 ชุด

ปัญหาและอุปสรรค
1.ต้องแยกพนักงานและผู้บริหารในตำแหน่งต่างๆให้ถูกต้อง แต่รายชื่อมีจำนวนมาก จึงเกิดความสับสน

การแก้ไขปัญหา
1.ต้องใจเย็น ๆ และมีสมาธิในการนับ
2. มีความรอบคอบในการทำงาน


ประโยชน์ที่ได้รับ
- ได้เรียนรู้การทำงานร่วมกับผู้อื่น และเพิ่มทักษะการเรียนรู้ระบบการทำงานในองค์กร

ข้อเสนอแนะ
- ระบบที่ใช้ในการทำงานควรมีความพร้อมมากกว่านี้

26 พฤศจิกายน 2553

รายงานการปฏิบัติงาน สัปดาห์ที่ 4 ระหว่างวันที่ 22-26 พฤศจิกายน 2553

การปฏิบัติ
1. ถ่ายเอกสาร จำนวน 40 ชุด
2. ช่วยงานใต้ร่มในการอบรมพนักงานใหม่รุ่นที่ 8 ณ ห้องบูรฉัตร
3. สรุปผลการปฏิบัติงานและค่าใช้จ่ายหลักสูตรปี 2553 โครงการพัฒนาบุคลากรประจำปี 2553 เป็น Power point จำนวน 9 รุ่น
4. นับจำนวนรายชื่อผู้รับการอบรมหลักสูตร การวิเคราะห์และธุรกิจรายอุตสาหกรรม รุ่นที่ 2 จำนวน 116 คน
5. นับจำนวนรายชื่อผู้รับการอบรมหลักสูตร เพิ่มทักษะและองค์ความรู้อำนวยสินเชื่อแก่ธุรกิจ SME รุ่นที่ 1-2 จำนวน 561 คน
6. นำกล่องเอกสารไปอาคาร 1 จำนวน 2 กล่อง
7. เช็ครายชื่อพนักงานที่ Early Retirement จำนวน 360 คน
8. พับป้ายสามเหลี่ยม จำนวน 80 คน
9. บันทึกข้อมูล Development Catalog แนวทางเลือกเครื่องมือพัฒนาบุคลากร จำนวน 5 ชุด ชุดละ 5 Level
10. นับจำนวนรายชื่อผู้เข้ารับการอบรมหลักสูตร การวิเคราะห์งบการเงินและประมาณการทางการเงิน รุ่นที่ 1-4 จำนวน 160 คน
11. เดินเอกสาร จำนวน 1 แฟ้ม

ปัญหาและอุปสรรค
1. เครื่องมือใน Power point บางอย่างยังไม่ถนัด
2. กล่องเอกสารมีน้ำหนักมาก
3. เนื่องจากเอกสารมี 2 ชุด และมีจำนวนของคนที่ไม่ได้ Early Retirement รวมอยู่ด้วยทำให้สับสน

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

ประโยชน์ที่ได้รับ
1. ได้เรียนรู้โปรแกรมต่างๆ ที่องค์กรนำมาใช้ในการทำงาน
2. มีความรู้เกี่ยวกับการใช้โปรแกรม Power point มากยิ่งขึ้น
3. มีความรอบคอบในการทำงาน
4. มีสติในการทำงานมากยิ่งขึ้น

ข้อเสนอแนะ
- เครื่องถ่ายเอกสารมีน้อยเกินไป ไม่เพียงพอต่อความต้องการใช้งาน จึงควรจัดหาเครื่องถ่ายเอกสารมาเพิ่มเติม

19 พฤศจิกายน 2553

รายงานการปฏิบัติงาน สัปดาห์ที่ 3 ระหว่างวันที่ 15-19 พฤศจิกายน 2553

การปฏิบัติ
1. บันทึกข้อมูล Development Catalog แนวทางเลือกเครื่องมือการพัฒนาบุคลากร จำนวน 14 ชุด ชุดละ 5 Level
2. นับจำนวนรายชื่อพนักงานในฝ่ายหัวหน้าส่วน/ผู้เชี่ยวชาญ, พนักงานปฏิบัติการ/ช่างเทคนิค , หัวหน้าหน่วย ทั้งหมด 4 รุ่น จำนวน 240 คน
3. ถ่ายเอกสาร จำนวน 5 ชุด
4. เดินเอกสารจำนวน 1 ชุด
5. หาข้อมูลพนักงานที่เข้าอบรมหลักสูตรการวิเคราะห์โครงการอสังหาริมทรัพย์ จำนวน 3 รุ่น มีจำนวน 190 คน และหลักสูตรกฎหมายอสังหาริมทรัพย์ จำนวน 3 รุ่น มีจำนวน 201 คน
6. นับรายชื่อพนักงานที่เข้าอบรมหลักสูตรการเงินสำหรับนักการธนาคาร จำนวน 15 รุ่น ทั้งหมด 1793 คน
7. สืบค้นรหัสพนักงานจากฐานข้อมูลของธนาคาร จำนวน 140 คน
8. ทำ Presentation ของกิจกรรม CSR OCEAN TO OCEAN (มหาสมุทร สู่ มหาสมุทร) (สงขลา – สตูล)
9. พับป้าย 3 เหลี่ยม ของรายชื่อผู้เข้ารับการอบรม จำนวน 50 ชิ้น
10. นำแผ่นดีวีดี จำนวน 32 แผ่น และหนังสือ IDP จำนวน 16 เล่ม ใส่พัสดุ เพื่อที่จะจัดส่งไปให้สาขาที่อยู่ต่างจังหวัดทั้งหมด 7 สาขา
11. เดินเอกสาร จำนวน 1 ชุด
12. ถ่ายเอกสาร จำนวน 10 ชุด
13. ตรวจสอบรายชื่อพนักงานที่เข้าอบรมหลักสูตร ธุรกิจสงเคราะห์ชีวิตเชิงปฏิบัติการ ว่ามีชื่อกับรหัสตรงกันหรือไม่ จำนวน 19 คน
14. ค้นหาชื่อและรหัสพนักงานที่เข้าอบรมหลักสูตร ธุรกิจสงเคราะห์ชีวิตเชิงปฏิบัติการ ว่ามีเงินฝากเป็นเงินเท่าไหร่ ตั้งแต่รหัส 50-53 จำนวน 300 คน

ปัญหาและอุปสรรค
1. อ่านลายมือพี่ที่แก้ไขข้อมูลไม่ออก
2. ไม่เข้าใจงานที่พี่สั่งว่าต้องการให้หาอะไร
3. แบ่งงานกันทำกับเพื่อน แต่เพื่อนพิมพ์ผิด
4. สำเนาที่จะนำไปถ่ายมีหลายชุด และแต่ละชุดไม่ได้ถ่ายทั้งหมด ทำให้สับสนว่าชุดไหนถ่ายแล้วหรือยัง
5. รายชื่อและรหัสของพนักงานบางคนที่อยู่ในไฟล์ข้อมูลที่สืบค้นกับรายชื่อและรหัสของพนักงานที่เป็น paper บางคนไม่ตรงกัน
6. พนักงานที่มีรหัส 50-53 บางคน ที่มีรายชื่ออยู่ใน paper แต่ไม่มีรายชื่ออยู่ในไฟล์ข้อมูลที่สืบค้น

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


ประโยชน์ที่ได้รับ
1. มีความรอบคอบในการทำงาน

2. มีสติในการทำงานมากยิ่งขึ้น
3. ได้มีโอกาสรู้จักผู้คนมากมายมากขึ้น

ข้อเสนอแนะ
- การทำงานควรเป็นระบบให้มากกว่านี้


12 พฤศจิกายน 2553

รายงานการปฏิบัติงาน สัปดาห์ที่ 2 ระหว่างวันที่ 8-12 พฤศจิกายน 2553

งานที่ปฏิบัติ
1. ตรวจสอบแบบฟอร์มแผนพัฒนาพนักงานรายบุคคล จำนวน 116 คน
2. คีย์ข้อมูลแบบสอบถามเรื่องภาพรวมการฝึกอบรมหลักสูตรธุรกิจแลกเปลี่ยนและโอนเงินตราต่างประเทศ รุ่นที่ 2-3 จำนวน 90 ชุด ใน Excel
3. คีย์ข้อมูลแบบสอบถามเรื่องภาพรวมการฝึกอบรมหลักสูตร การวิเคราห์งบการเงินและการประมาณการทางการเงิน รุ่นที่ 3 จำนวน 72 ชุด ใน Excel
4. ถ่ายเอกสาร จำนวน 10 ชุด
5. พิมพ์ข้อมูลแบบสอบถามเรื่องภาพรวมการฝึกอบรมหลักสูตรธุรกิจแลกเปลี่ยนและโอนเงินตราต่างประเทศ ที่เป็นชข้อมูลแบบแสดงความคิดเห็น รุ่นที่ 3 จำนวน 43 ชุด
6. เข้าเล่มเอกสารข้อมูลงบประมาณทุนการศึกษาพนักงานประจำปี 2553 จำนวน 6 เล่ม
ดับปริญญาเอก จำนวน 6 ชุด
7. ตรวจสอบแผนพัฒนาพนักงานรายบุคคลในสายงานตรวจสอบภายใน (ที่แก้ข้อมูลใหม่อีกรอบ) จำนวน 116 คน ในส่วนสนับสนุนงานตรวจสอบภายใน ฝ่ายตรวจสอบภายในสายสาขา ฝ่ายตรวจสอบเทคโนโลยีสารสนเทศและฝ่ายตรวจสอบภายในสำนักงานใหญ่ จำนวน 116 คน
8. ค้นหารายชื่อพนักงานในฟ้มแผนพัฒนางานรายบุคคล เนื่องจากมีวันที่เริ่มต้น กับ วันที่สิ้นสุดไม่ตรงกับ Report จำนวน 2 คน

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

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


ประโยชน์ที่ได้รับ
1. เพิ่มพูนทักษะในการใช้อุปกรณ์สำนักงาน

2. มีความรอบคอบในการทำงาน
3. มีสติในการทำงานมากกว่านี้
4. มีความรู้เกี่ยวกับ ชื่อย่อของตำแหน่งต่าง ๆ ในธนาคารมากขึ้น

ข้อเสนอแนะ

- ควรแบ่งงานกันทำให้มากกว่านี้ ไม่ควรใช้นักศึกษาฝึกงานเพียงคนเดียว

11 พฤศจิกายน 2553

รายงานการปฏิบัติงาน สัปดาห์ที่ 1 ระหว่างวันที่ 1-5 พฤศจิกายน 2553

งานที่ปฏิบัติ
1. ตรวจสอบรายชื่อผู้เข้ารับการรอบรมประชุมสัมมนาทั้งภายในและภายนอกองค์การ ในตำแหน่ง ผู้อำนวยการธนาคารออมสิน รองผู้อำนวยการธนาคารออมสินอาวุโส รองผู้อำนวยการธนาคารออมสิน ผู้ช่วยผู้อำนวยการธนาคารออมสิน ผู้จัดการฝ่าย ผู้จัดการภาค ผู้จัดการเขต และหัวหน้าส่วน ที่เข้ารับการอบรมในเดือนกรกฎาคม สิงหาคม กันยายน และตุลาคม จำนวน 2,031 คน
2. เช็คประวัติข้อมูลการอบรมหลักสูตรในเดือนกรกฎาคม สิงหาคม กันยายน และตุลาคม จำนวน 98 ชุด
3. ถ่ายเอกสาร จำนวน 12 ชุด
4. ตรวจสอบรายชื่อพนักงาน 20 คน
5. พิมพ์รายงานการประชุมคณะกรรมการการกำหนดหลักเกณฑ์และกิจกรรมโครงการบริหารจัดการคนเก่งคนดี
6. พิมพ์เอกสารบันทึกข้อความ จำนวน 5 แผ่น
7. คีย์แบบสอบถามเรื่องภาพรวมการฝึกอบรมหลักสูตรธุรกิจแรกเปลี่ยนและโอนเงินตราต่างประเทศ รุ่นที่ 1 จำนวน 42 คน ใน Excel

ปัญหาและอุปสรรค
1. ถ่ายเอกสารไม่เป็น
2. ไม่เข้าใจงานที่ได้รับมอบหมาย
3. อ่านลายมือไม่ออก

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

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

ข้อเสนอแนะ
- ควรเตรียมกระดาษ A4 ให้เพียงพอต่อความต้องการ เพราะเมื่อกระดาษหมด จึงไม่สามารถถ่ายเอกสารได้

16 ตุลาคม 2552

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

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

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

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

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

4.ได้เข้าไปดูทีวีช่อง 3 ของทางมหาวิทยาลัยในรายการต่างๆ ก็ได้รู้จักมหาวิทยาลัยในมุมต่างๆมากยิ่งขึ้น

5.ได้เรียนรู้เกี่ยวกับวัฒนธรรมข้ามชาติมากยิ่งขึ้น เพราะโลกของเรามีหลายชาติ หลายภาษาเราจึงควรศึกษาวัฒนธรรมของชาติอื่นไปด้วยนอกจากประเทศของเราเอง

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

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

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

9.รู้จักการทำรายรับ-รายจ่าย ที่ใช้ในชีวิตประจำวันมากขึ้น ได้รู้ว่าเดือนนี้เราจ่ายเงินไปเท่าไหร่และในเดือนถัดไปเราควรใช้จ่ายเงินให้น้อยกว่าเดิมและรู้จักการออมเงินมากขึ้น

10.ได้รู้จักการจัดทำโครงการร่วมกับเพื่อนๆในกลุ่มโครงการ โดยในกลุ่มของข้าพเจ้ามีชื่อโครงการว่าโครงการเผยแพร่การดำเนินชีวิตตามหลักเศรษฐกิจพอเพียงของชุมชนคลองลัดมะยมเขตตลิ่งชัน กรุงเทพฯ
โดยในโครงการนี้ได้รับความรู้ในเรื่องต่างๆเกี่ยวกับเศษฐกิจพอเพียงมากยิ่งขึ้น และได้นำความรู้ที่ได้ไปใช้ในชีวิตประจำวันและมีโอกาศได้นำความรู้ที่ได้ไปเผยแพร่ให้กับน้องๆโรงเรียนอยู่เย็นวิทยา

17 กันยายน 2552

สรุปการเรียน เรื่อง Summary B4 Final

Tree

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


การท่องไปในไบนารีทรี
ปฏิบัติการที่สำคัญในไบนารีทรี คือ การท่องไปในไบนารีทรี (Traversing Binary Tree) เพื่อเข้าไปเยือนทุก ๆโหนดในทรี ซึ่งวิธีการท่องเข้าไปต้องเป็นไปอย่างมีระบบแบบแผน สามารถเยือนโหนดทุก ๆ โหนด ๆ ละหนึ่งครั้งวิธีการท่องไปนั้นมีด้วยกันหลายแบบแล้วแต่ว่าต้องการลำดับขั้นตอนการเยือนอย่างไร โหนดที่ถูกเยือนอาจเป็นโหนดแม่ (แทนด้วย N)
ทรีย่อยทางซ้าย (แทนด้วย L) หรือทรีย่อยทางขวา (แทนด้วย R)

มีวิธีการท่องเข้าไปในทรี 6 วิธี คือ
NLR LNR LRN NRL RNL และ RLN
แต่วิธีการท่องเข้าไปไบนารีทรีที่นิยมใช้กันมากเป็นการท่องจากซ้ายไปขวา 3 แบบแรกเท่านั้นคือNLR LNR และ LRN ซึ่งลักษณะการนิยามเป็นนิยามแบบ รีเคอร์ซีฟ(Recursive) ซึ่งขั้นตอนการท่องไปในแต่ละแบบมีดังนี้
1. การท่องไปแบบพรีออร์เดอร์(Preorder Traversal)เป็นการเดินเข้าไปเยือนโหนดต่าง ๆ ในทรี
2.การท่องไปแบบอินออร์เดอร์
3. การท่องไปแบบโพสออร์เดอร์


ไบนารีเซิร์ชทรี
ไบนารีเซิร์ชทรี (Binary Search Tree)เป็นไบนารีทรีที่มีคุณสมบัติที่ว่าทุก ๆ โหนดในทรี ค่าของโหนดรากมีค่ามากกว่าค่าของทุกโหนดในทรีย่อยทางซ้าย และมีค่าน้อยกว่าหรือเท่ากับค่าของทุกโหนดในทรีย่อยทางขวาและในแต่ละทรีย่อยก็มี คุณสมบัติเช่นเดียวกัน

Graph
กราฟที่มีการเปลี่ยนแปลงตลอดเวลาอาจจะใช้วิธีแอดจาเซนซีลิสต์(Adjacency List) ซึ่งเป็นวิธีที่คล้ายวิธีจัดเก็บกราฟด้วยการเก็บโหนดและพอยน์เตอร์ แต่ต่างกันตรงที่ จะใช้ ลิงค์ลิสต์แทนเพื่อความสะดวกในการเปลี่ยนแปลงแก้ไข

การท่องไปในกราฟ มี 2 แบบ คือ
1. การค้นหาแบบกว้าง (Breadth-first Search)
2. การค้นหาแบบลึก (Depth-first Search)


กราฟ มีน้ำหนัก หมายถึง กราฟที่ทุกเอดจ์ มีค่าน้ำหนักกำกับ ซึ่งค่าน้ำหนักอาจสื่อถึงระยะทาง เวลาค่าใช้จ่าย เป็นต้น นิยมนำไปใช้แก้ปัญหาหลัก ๆ 2 ปัญหา คือ
1. การสร้างต้นไม้ทอดข้ามน้อยที่สุด(Minimum Spanning Trees :MST) Prim’s Algorithm and Kruskal’s Algorithm
2. การหาเส้นทางที่สั้นที่สุด (Shortest path) Dijkstra’s Algorithmหาเส้นทางที่สั้นที่สุดจากโหนดต้นทางไปโหนดใด ๆ ในกราฟ มีน้ำหนัก และน้ำหนักไม่เป็นลบ

Sorting
การเรียงลำดับในลักษณะนี้ เป็นการปรับปรุงมาจากการเรียงลำดับแบบ Bubble เพื่อให้การเรียงลำดับเร็วขึ้น วีธีนี้เหมาะกับการเรียงข้อมูลที่มีจำนวนมาก หรือมีขนาดใหญ่ และเป็นวิธีการเรียงข้อมูลที่ให้ค่าเฉลี่ยของเวลาน้อยที่สุดเท่าที่ค้นพบวิธีหนึ่งการเรียงลำดับแบบ Quick Sortจะเป็นการเปรียบเทียบสมาชิกที่ไม่อยู่ติดกัน โดยกำหนดข้อมูลค่าหนึ่ง เพื่อแบ่งชุดข้อมูลที่ต้องการเรียงลำดับออกเป้น 2 ส่วน จากนั้นก็จะทำการแบ่งย่อยชุดข้อมูล 2 ส่วนนั้นลงไปอีก ทำแบบนี้ไปเรื่อยๆจนข้อมูลแต่ละชุดมีสมาชิกเหลือเพียงตัวเดียวและทำให้ชุดข้อมูลทั้งหมดมีการเรียงลำดับ

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

Searching
การค้นหาข้อมูล (Searching)
การค้นหา คือการใช้วิธีการค้นหากับโครงสร้างข้อมูล เพื่อดูว่าข้อมูลตัวที่ต้องการถูกเก็บอยู่ในโครงสร้างแล้วหรือยังวัตถุประสงค์ของการค้นหาโดยทั่วไป ได้แก่ เพื่อดูรายละเอียดเฉพาะข้อมูลส่วนที่ต้องการดึงข้อมูลตัวที่ค้นหาออกจากโครงสร้างเปลี่ยนแปลงแก้ไขรายละเอียดบางอย่างของข้อมูลตัวที่ค้นพบ และ/หรือเพิ่มข้อมูลตัวที่ค้นหาแล้วพบว่ายังไม่เคยเก็บไว้ในโครงสร้างเลย เข้าไปเก็บไว้ในโครงสร้าง เพื่อใช้งานต่อไป
การค้นหา แบ่งเป็น 2 ประเภท ตามแหล่งที่จัดเก็บข้อมูลเช่นเดียวกับการเรียงลำดับ
การค้นหาข้อมูลแบบภายใน (Internal Searching)
การค้นหาข้อมูลแบบภายนอก (External Searching)
1. การค้นหาแบบเชิงเส้นหรือการค้นหาตามลำดับ(Linear)
2. การค้นหาแบบเซนทินัล (Sentinel)
3. การค้นหาแบบไบนารี (Binary Search)

การค้นหาแบบไบนารี (Binary Search)
เริ่มการค้นหาแบบไบนารีด้วยการเปรียบเทียบกับค่ากลางในลิสต์ คือค่า a[4] ซึ่งเก็บค่า 8 ซึ่ง 12 > a[4] หมายความว่าค่า 12 ควรจะอยู่ในข้อมูลด้านขวาของ a[4] คือ ช่วง a[5] …a[8]
โดยไม่สนใจช่วงข้อมูล a[1] …a[3] และใช้วิธีการค้นหาแบบไบนารีเช่นเดิมอีกกับชุดข้อมูลครึ่งหลัง คือa[5] …a[8] นั่นคือ เปรียบเทียบกับค่ากลางของชุดข้อมูลครึ่งหลัง(a[5] …a[8] ) คือค่า a[6] ซึ่งเก็บค่า 12 ซึ่ง 12 = a[6] จะได้ว่าค่า 12 อยู่ในตำแหน่งที่ 6 ในลิสต์


DTS 11-16-09-2552

10 กันยายน 2552

สรุปการเรียน เรื่อง Sorting

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

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



การเรียงลำดับแบบเลือก (selection sort)
ทำการเลือกข้อมูลมาเก็บในตำแหน่งที่ ข้อมูลนั้นควรจะอยู่ทีละตัว
โดยทำการค้นหาข้อมูลนั้นในแต่ละรอบแบบเรียงลำดับ ถ้าเป็นการเรียงลำดับจากน้อยไปมาก
1. ในรอบแรกจะทำการค้นหาข้อมูลตัวที่มีค่าน้อยที่สุดมาเก็บ ไว้ที่ตำแหน่งที่ 1
2. ในรอบที่สองนำข้อมูลตัวที่มีค่าน้อยรองลงมาไปเก็บไว้ที่ ตำแหน่งที่สอง
3. ทำเช่นนี้ไปเรื่อย ๆ จนกระทั่งครบทุกค่า ในที่สุดจะได้ข้อมูลเรียงลำดับจากน้อยไปมากตามที่ต้องการ



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


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

การเรียงลำดับแบบแทรก (insertion sort)
เป็นวิธีการเรียงลำดับที่ทำการเพิ่มสมาชิกใหม่เข้าไปในเซต ที่มีสมาชิกทุกตัวเรียงลำดับอยู่แล้ว และทำให้เซตใหม่ที่ได้นี้มีสมาชิกทุกตัวเรียงลำดับด้วย วิธีการเรียงลำดับ

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


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

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

ต่อไป ทำเช่นนี้ไปเรื่อย ๆ จนกระทั่งครบทุกหลักจะได้ข้อมูลที่เรียงลำดับจากน้อยไปมากตามต้องการ

ข้อมูลเริ่มต้น 12 ตัว
35 67 58 47 22 99 82 43 11 40 29 55

รอบที่ 1 พิจารณาในหลักหน่วย
กลุ่ม 0 40
กลุ่ม 1 11
กลุ่ม 2 22 82

กลุ่ม 3 43
กลุ่ม 4

กลุ่ม 5 35 55
กลุ่ม 6

กลุ่ม 7 67 47
กลุ่ม 8 58


เมื่อจัดกลุ่มในรอบแรกเสร็จแล้วรวบรวมข้อมูลในทุกกลุ่มเริ่มตั้งแต่ข้อมูลในกลุ่ม 0 จนถึงกลุ่ม 9ได้ข้อมูลเรียงตามลำดับดังนี้
40 11 22 82 43 35 55 67 47 58 99 29
รอบที่ 2 พิจารณาในหลักสิบ
กลุ่ม 0
กลุ่ม 1 11
กลุ่ม 2 22 29
กลุ่ม 3 35
กลุ่ม 4 40 43 47
กลุ่ม 5 55 58
กลุ่ม 6 67
กลุ่ม 7
กลุ่ม 8 82
กลุ่ม 9 99
ในรอบที่ 2 เมื่อทำการจัดกลุ่มเรียบร้อยแล้ว
ให้รวบรวมข้อมูลในทุกกลุ่มเริ่มจากข้อมูลในกลุ่ม 0
จนถึงกลุ่ม 9 ได้ข้อมูลเรียงตามลำดับดังนี้
11 22 29 35 40 43 47 55 58 67 82 99

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

DTS 10-09-09-2552


2 กันยายน 2552

สรุปการเรียน Lecture 8 เรื่อง Graph

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

นิยามของกราฟ
กราฟ เป็นโครงสร้างข้อมูลแบบไม่ใช่เชิงเส้นที่ประกอบ ด้วยกลุ่มของสิ่งสองสิ่งคือ
(1) โหนด (Nodes) หรือ เวอร์เทกซ์(Vertexes)
(2) เส้นเชื่อมระหว่างโหนด เรียก เอ็จ (Edges)กราฟที่มีเอ็จเชื่อมระหว่างโหนดสองโหนดถ้าเอ็จไม่มีลำดับ ความสัมพันธ์จะเรียกกราฟนั้นว่ากราฟแบบไม่มีทิศทาง (Undirected Graphs) และถ้ากราฟนั้นมีเอ็จที่มีลำดับความสัมพันธ์หรือมีทิศทางกำกับด้วยเรียกกราฟนั้นว่า กราฟแบบมีทิศทาง(Directed Graphs)บางครั้งเรียกว่า ไดกราฟ (Digraph)ถ้าต้องการอ้างถึงเอ็จแต่ละเส้นสามารถเขียนชื่อเอ็จกำกับไว้ก็ได้

กราฟแบบไม่มีทิศทาง เป็นเซตแบบจำกัดของโหนดและเอ็จ โดยเซตอาจจะว่างไม่มีโหนดหรือเอ็จเลยเป็นกราฟว่าง (Empty Graph)แต่ละเอ็จจะเชื่อมระหว่างโหนดสองโหนด หรือเชื่อมตัวเอง เอ็จไม่มีทิศทางกำกับ ลำดับของการเชื่อมต่อกันไม่สำคัญ นั่นคือไม่มีโหนดใดเป็นโหนดแรก (First Node) หรือไม่มีโหนดเริ่มต้น และไม่มีโหนดใดเป็นโหนดสิ้นสุด
โหนดสองโหนดในกราฟแบบไม่มีทิศทางถือว่าเป็นโหนดที่ใกล้กัน (Adjacent) ถ้ามีเอ็จเชื่อมจากโหนดที่หนึ่งไปโหนดที่สอง
กราฟ (ก) แสดงกราฟที่มีลักษณะ ต่อเนื่อง(Connected) เป็นกราฟที่มีเส้นทางเชื่อมจากโหนดใด ๆ ไปยังโหนดอื่นเสมอ
กราฟ (ข) แสดงกราฟที่มีลักษณะเป็น วีถี(Path) มีเส้นทางเชื่อมไปยังโหนดต่าง ๆ อย่างเป็น
ลำดับ โดยแต่ละโหนดจะเป็นโหนดที่ใกล้กันกับโหนดที่อยู่ถัดไป
กราฟ (ค) แสดงกราฟที่เป็นวัฎจักร (Cycle)ซึ่งต้องมีอย่างน้อย 3 โหนด ที่โหนดสุดท้ายต้องเชื่อมกับโหนดแรก
กราฟ (ง) แสดงกราฟที่มีลักษณะ ไม่ต่อเนื่อง(Disconnected) เนื่องจากไม่มีเส้นทางเชื่อมจากโหนด 3 ไปยังโหนดอื่นเลย
กราฟ (จ) แสดงกราฟที่เป็นทรี โดยทรีเป็นกราฟที่ต่อเนื่อง ไม่มีทิศทาง และไม่เป็นวัฏจักร

กราฟแบบมีทิศทาง เป็นเซตแบบจำกัดของโหนดและเอ็จ โดยเซตอาจจะว่างไม่มีโหนดหรือเอ็จเลยเป็นกราฟว่าง (Empty Graph) แต่ละเอ็จจะเชื่อมระหว่างโหนดสองโหนด เอ็จมีทิศทางกำกับแสดงลำดับของการเชื่อมต่อกัน โดยมีโหนดเริ่มต้น(Source Node) และ โหนดสิ้นสุด (Target Node)รูปแบบต่าง ๆ ของกราฟแบบมีทิศทางเหมือนกับรูปแบบ ของกราฟไม่มีทิศทาง ต่างกันตรงที่กราฟแบบนี้จะมีทิศทางกำกับด้วยเท่านั้น
การแทนกราฟในหน่วยความจำในการปฏิบัติการกับโครงสร้างกราฟ สิ่งที่ต้องการจัดเก็บ จากกราฟโดยทั่วไปก็คือ เอ็จ ซึ่งเป็นเส้นเชื่อมระหว่างโหนดสองโหนด มีวิธีการ จัดเก็บหลายวิธี วิธีที่ง่ายและตรงไปตรงมาที่สุดคือ การเก็บเอ็จในแถวลำดับ 2 มิติ

วิธีแทนกราฟในความจำหลัก อีกวิธีหนึ่งซึ่งเป็นที่นิยมใช้ กันมากที่สุดคือ การแทนด้วยแอดจาเซนซีเมทริกซ์(Adjacency Matrix) โดยที่ถ้ากราฟ G มีทั้งหมด nโหนด แอดจาเซนซีเมทริกซ์เป็นเมทริกซ์จัตุรัสขนาด n x n สมมติว่าคือเมทริกซ์ M แต่ละ M(i,j) เมื่อ i, j = 1, 2, 3, . . ., n จะมีค่าเป็น 1 ถ้ามีเอ็จเชื่อมความสัมพันธ์ระหว่างโหนด iไปยังโหนด j และมีค่าเป็น 0 ถ้าไม่มีเอ็จเชื่อมความสัมพันธ์จากโหนด i ไปยังโหนด j หรืออาจจะกำหนดด้วย ค่าตรรกะ (Boolean Value) ก็ได้

อาจกล่าวได้ว่า เมทริกซ์ M บอกให้ทราบว่ามีเส้นทางจากโหนดในแถวที่ i ไปยังโหนดในคอลัมน์ที่ j ขนาดหนึ่งจำนวนเส้นทางเมทริกซ์ M2 บอกให้เราทราบว่ามีเส้นทางจากโหนดในแถวที่ i ไปยังโหนดในคอลัมน์ที่ jขนาดสองจำนวนเส้นทาง เมทริกซ์ M3 บอกให้เราทราบว่ามีเส้นทางจากโหนดในแถวที่ iไปยังโหนดในคอลัมน์ที่ j ขนาดสามจำนวนเส้นทาง และสมาชิก ใด ๆ มีค่าดังนี้
- ถ้า Mk ij = 0 จะได้ว่าไม่มีเส้นทางขนาดk จากโหนดในแถวที่ i ไปยังโหนดในคอลัมน์ที่ j
- ถ้า Mk ij = p เมื่อ p เป็นจำนวนเต็มบวก ได้ว่ามีเส้นทางขนาด k จำนวน p
เส้นทาง จากโหนดในแถวที่ i ไปยังโหนดในคอลัมน์ที่ j

การท่องไปในกราฟ (graph traversal) คือกระบวนการเข้าไปเยือนโหนดในกราฟ โดยมีหลักในการทำงานคือ แต่ละโหนดจะถูกเยือนเพียงครั้งเดียว สำหรับการท่องไปในทรีเพื่อเยือนแต่ละโหนดนั้นจะมีเส้นทางเดียวแต่ในกราฟระหว่างโหนดอาจจะมีหลายเส้นทาง ดังนั้นเพื่อป้องกันการท่องไปในเส้นทางที่ซ้ำเดิมจึงจำเป็นต้องทำเครื่องหมายบริเวณที่ได้เยือนเสร็จเรียบร้อยแล้วเพื่อไม่ให้เข้าไปเยือนอีก สำหรับเทคนิคการท่องไปในกราฟมี 2 แบบดังนี้
1. การท่องแบบกว้าง (Breadth First Traversal)วิธีนี้ทำโดยเลือกโหนดที่เป็นจุดเริ่มต้น ต่อมาให้เยือนโหนดอื่นที่ใกล้กันกับโหนดเริ่มต้นทีละระดับจนกระทั่งเยือนหมดทุกโหนดในกราฟ
2. การท่องแบบลึก (Depth First Traversal)การทำงานคล้ายกับการท่องทีละระดับของทรี โดยกำหนดเริ่มต้นที่โหนดแรกและเยือนโหนดถัดไปตามแนววิถีนั้นจนกระทั่งนำไปสู่ปลายวิถีนั้น จากนั้นย้อนกลับ (backtrack) ตามแนววิถีเดิมนั้น จนกระทั่งสามารถดำเนินการต่อเนื่องเข้าสู่แนววิถีอื่น ๆ เพื่อเยือนโหนดอื่น ๆ ต่อไปจนครบทุกโหนด


DTS 09-02-09-2552

26 สิงหาคม 2552

สรุปการเรียน Lecture 7 เรื่อง Tree

ทรี (Tree) เป็นโครงสร้างข้อมูลที่ความสัมพันธ์ระหว่าง โหนดจะมีความสัมพันธ์ลดหลั่นกันเป็นลำดับชั้น (Hierarchical Relationship)ได้มีการนำรูปแบบทรีไปประยุกต์ใช้ในงานต่าง ๆ อย่างแพร่หลาย ส่วนมากจะใช้สำหรับแสดงความสัมพันธ์ระหว่างข้อมูลเช่น แผนผังองค์ประกอบของหน่วยงานต่าง ๆโครงสร้างสารบัญหนังสือ เป็นต้น
แต่ละโหนดจะมีความสัมพันธ์กับโหนดในระดับที่ต่ำลงมา หนึ่งระดับได้หลาย ๆ โหนดเรียกโหนดดังกล่าวว่า โหนดแม่ (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และกิ่งแต่ละกิ่งมีความเท่ากันหมด คือ ยาวเท่ากับ 1หน่วย ซึ่งระดับของโหนดจะเท่ากับจำนวนกิ่งที่น้อยที่สุดจากโหนดรากไปยังโหนดใด ๆ บวกด้วย 1และจำนวนเส้นทางตามแนวดิ่งของโหนดใด ๆ ซึ่งห่างจากโหนดราก เรียกว่า ความสูง (Height) หรือความลึก (Depth)
การแทนที่ทรีในหน่วยความจำหลัก
การแทนที่โครงสร้างข้อมูลแบบทรีในความจำหลักจะมีพอยเตอร์เชื่อมโยงจากโหนดแม่ไปยังโหนดลูก แต่ละโหนดต้องมีลิงค์ฟิลด์เพื่อเก็บที่อยู่ของโหนดลูกต่าง ๆ นั่นคือ จำนวน ลิงค์ฟิลด์ของแต่ละโหนดขึ้นอยู่กับจำนวนของโหนดลูก การแทนที่ทรี ซึ่งแต่ละโหนดมีจำนวนลิงค์ฟิลด์ไม่เท่ากัน ทำให้ยากต่อการปฏิบัติการ วิธีการแทนที่ที่ง่ายที่สุดคือ ทำให้แต่ละโหนดมี จำนวนลิงค์ฟิลด์เท่ากัน โดยอาจใช้วิธีการต่อไปนี้
1. โหนดแต่ละโหนดเก็บพอยเตอร์ชี้ไปยังโหนดลูกทุกโหนด การแทนที่ทรีด้วยวิธีนี้ จะให้จำนวนฟิลด์ในแต่ละโหนดเท่ากันโดยกำหนดให้มีขนาดเท่ากับจำนวนโหนดลูกของโหนดที่มีลูกมากที่สุด โหนดใดไม่มีโหลดลูกก็ให้ค่าพอยเตอร์ในลิงค์ฟิลด์นั้นมีค่าเป็น Nullและให้ลิงค์ฟิลด์แรกเก็บค่าพอยเตอร์ชี้ไปยังโหนด ลูกลำดับที่หนึ่ง ลิงค์ฟิลด์ที่สองเก็บค่าพอยเตอร์ชี้ไปยังโหนดลูกลำดับที่สอง และลิงค์ฟิลด์อื่นเก็บค่าพอยเตอร์ของโหนดลูกลำดับ ถัดไปเรื่อย ๆ
2. แทนทรีด้วยไบนารีทรีเป็นวิธีแก้ปัญหาเพื่อลดการ สิ้นเปลืองเนื้อที่ในหน่วยความจำก็คือกำหนดลิงค์ฟิลด์ให้มีจำนวนน้อยที่สุดเท่าที่จำเป็นเท่านั้นโดยกำหนดให้แต่ละโหนดมีจำนวนลิงค์ฟิลด์สองลิงค์ฟิลด์
-ลิงค์ฟิลด์แรกเก็บที่อยู่ของโหนดลูกคนโต
-ลิงค์ฟิลด์ที่สองเก็บที่อยู่ของโหนดพี่น้องที่เป็นโหนดถัดไปโหนดใดไม่มีโหนดลูกหรือไม่มีโหนดพี่น้องให้ค่าพอยน์เตอร์ในลิงค์ฟิลด์มีค่าเป็น Null
โครงสร้างทรีที่แต่ละโหนดมีลิงค์ฟิลด์แค่สองลิงค์ฟิลด์ ซึ่งช่วยให้ประหยัดเนื้อที่ในการจัดเก็บได้มาก เรียกโครงสร้างทรีที่แต่ละโหนดมีจำนวนโหนดลูกไม่เกินสองหรือแต่ละโหนดมีจำนวนทรีย่อยไม่เกินสองนี้ว่า ไบนารีทรี (Binary Tree)

ไบนารีทรีที่ทุก ๆ โหนดมีทรีย่อยทางซ้ายและทรีย่อยทางขวา ยกเว้นโหนดใบ และโหนดใบทุกโหนด
จะต้องอยู่ที่ระดับเดียวกันเรียกว่า ไบนารีทรีแบบสมบูรณ์ (complete binary tree)สามารถคำนวณจำนวนโหนดทั้งหมดในไบนารีทรีแบบสมบูรณ์ได้ถ้ากำหนดให้ L คือระดับของโหนดใด ๆและN คือจำนวนโหนดทั้งหมดในทรีจะได้ว่า
ระดับ 1 มีจำนวนโหนด 1 โหนด
ระดับ 2 มีจำนวนโหนด 3 โหนด
ระดับ 3 มีจำนวนโหนด 7 โหนด
การแปลงทรีทั่วไปให้เป็นไบนารีทรี
ขั้นตอนการแปลงทรีทั่วๆ ไปให้เป็นไบนารีทรี มีลำดับขั้นตอนการแปลง ดังต่อไปนี้
1. ให้โหนดแม่ชี้ไปยังโหนดลูกคนโต แล้วลบ
ความสัมพันธ์ ระหว่างโหนดแม่และโหนดลูกอื่น ๆ
2. ให้เชื่อมความสัมพันธ์ระหว่างโหนดพี่น้อง
3. จับให้ทรีย่อยทางขวาเอียงลงมา 45 องศา
การท่องไปในไบนารีทรี
มีวิธีการท่องเข้าไปในทรี 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) เยือนโหนดราก
ปฏิบัติการในไบนารีเซิร์ชทรี ปฏิบัติการ
มีปฏิบัติการดังต่อไปนี้
(1) การเพิ่มโหนดใหม่เข้าไปในไบนารีเซิร์ชทรี ถ้าทรีว่างโหนดที่เพิ่มเข้าไปก็จะเป็นโหนดรากของทรี ถ้าทรีไม่ว่างต้องทำการตรวจสอบว่าโหนดใหม่ที่เพิ่มเข้ามานั้นมีค่ามากกว่าหรือน้อยกว่าค่าที่โหนดราก ถ้ามีค่ามากกว่าหรือเท่ากันจะนำโหนดใหม่ไปเพิ่มในทรีย่อยทางขวาและถ้ามีค่าน้อยกว่านำโหนดใหม่ไปเพิ่มในทรีย่อยทางซ้ายในทรีย่อยนั้นต้องทำการเปรียบเทียบในลักษณะเดียวกันจนกระทั่งหาตำแหน่งที่สามารถเพิ่มโหนดได้ ซึ่งโหนดใหม่ที่เพิ่มในทรีในที่สุดจะต้องเป็นโหนดใบ
(2) การดึงโหนดในไบนารีเซิร์ชทรีหลังจากดึงโหนดที่ต้องการออกจากทรีแล้วทรีนั้นต้องคงสภาพไบนารี
เซิร์ชทรีเหมือนเดิมก่อนที่จะทำการดึงโหนดใด ๆ ออกจากไบนารีเซิร์ชทรี ต้องค้นหาก่อนว่าโหนดที่ต้องการดึงออกอยู่ที่ตำแหน่งไหนภายในทรีและต้องทราบที่อยู่ของโหนดแม่โหนดนั้นด้วยแล้วจึงทำการดึงโหนดออกจากทรีได้


DTS 08-26-08-2552

5 สิงหาคม 2552

สรุปการเรียน Lecture 6 เรื่อง Queue


คิว (Queue) เป็นโครงสร้างข้อมูลแบบเชิงเส้นหรือลิเนียร์ลิสต์ซึ่งการเพิ่มข้อมูลจะกระทำที่ปลายข้างหนึ่งซึ่งเรียกว่าส่วนท้ายหรือเรียร์ (rear) และการนำข้อมูลออกจะกระทำที่ปลายอีกข้างหนึ่งซึ่งเรียกว่า ส่วนหน้า หรือฟรอนต์(front)ลักษณะการทำงานของคิวเป็นลักษณะของการเข้าก่อนออกก่อนหรือที่เรียกว่า FIFO (First In First Out)

การทำงานของคิว
การใส่สมาชิกตัวใหม่ลงในคิวเรียกว่า Enqueue ซึ่งมีรูปแบบคือenqueue (queue, newElement)หมายถึง การใส่ข้อมูลnewElement ลงไปที่ส่วนเรียร์ของคิว

การนำสมาชิกออกจากคิว เรียกว่าDequeue ซึ่งมีรูปแบบคือdequeue (queue, element)หมายถึง การนำออกจากส่วนหน้าของคิวและให้ ข้อมูลนั้นกับ element

การนำข้อมูลที่อยู่ตอนต้นของคิวมาแสดงจะเรียกว่า Queue Front แต่จะไม่ทำการเอาข้อมูลออกจากคิว

การนำข้อมูลที่อยู่ตอนท้ายของคิวมาแสดงจะ เรียกว่าQueue Rear แต่จะไม่ทำการเพิ่มข้อมูลเข้าไปในคิว

การแทนที่ข้อมูลของคิว
การแทนที่ข้อมูลของคิวสามารถทำได้ 2 วิธี คือ
1. การแทนที่ข้อมูลของคิวแบบลิงค์ลิสต์
2. การแทนที่ข้อมูลของคิวแบบอะเรย์

การแทนที่ข้อมูลของสแตกแบบลิงค์ลิสต์
จะประกอบไปด้วย 2 ส่วน คือ
1. Head Node จะประกอบไปด้วย 3 ส่วนคือพอยเตอร์จำนวน 2 ตัว คือ Front และ rearกับจำนวนสมาชิกในคิว
2. Data Node จะประกอบไปด้วย ข้อมูล (Data) และพอยเตอร์ที่ชี้ไปยังข้อมูลตัวถัดไป

การดำเนินการเกี่ยวกับคิว
การดำเนินการเกี่ยวกับคิว ได้แก่
1. Create Queue 6. Empty Queue
2. Enqueue 7. Full Queue
3. Dequeue 8. Queue Count
4. Queue Front 9. Destroy Queue
5. Queue Rear

1. Create Queue จัดสรรหน่วยความจำให้แก่ Head Node และให้ค่า pointer ทั้ง 2 ตัวมีค่าเป็น null และจำนวนสมาชิกเป็น 0
2. Enqueueการเพิ่มข้อมูลเข้าไปในคิว
3. Dequeueการนำข้อมูลออกจากคิว
4. Queue Front เป็นการนำข้อมูลที่อยู่ส่วนต้นของคิวมาแสดง
5. Queue Rear เป็นการนำข้อมูลที่อยู่ส่วนท้ายของคิวมาแสดง
6. Empty Queue เป็นการตรวจสอบว่าคิวว่างหรือไม่
7. Full Queue เป็นการตรวจสอบว่าคิวเต็มหรือไม่
8. Queue Count เป็นการนับจำนวนสมาชิกที่อยู่ในคิว
9. Destroy Queue เป็นการลบข้อมูลทั้งหมดที่อยู่ในคิว

การนำข้อมูลเข้าสู่คิว จะไม่สามารถนำเข้าในขณะที่คิวเต็ม หรือไม่มีที่ว่าง ถ้าพยายามนำเข้าจะทำให้เกิดความผิดพลาดที่เรียกว่า overflowการนำข้อมูลออกจากคิว จะไม่สามารถนำอะไรออกจากคิวที่ว่างเปล่าได้ ถ้าพยายามจะทำให้เกิดความผิดพลาดที่เรียกว่าunderflow ในการใส่สมาชิกลงในคิวจะต้องตรวจสอบก่อนว่าคิวเต็ม หรือไม่

จากตัวอย่าง จะเห็นได้ว่าอาจจะมีปัญหาในการนำเข้าข้อมูลในกรณีที่คิวเต็ม แต่สภาพความเป็นจริงแล้ว front ไม่ได้อยู่ในช่องแรกของคิว จะไม่สามารถนำที่ว่างในส่วนหน้ามาใช้ได้อีก
วิธีการแก้ปัญหาดังกล่าว จะใช้คิวที่เป็นแบบคิววงกลม (Circular Queue)ซึ่งคิวช่องสุดท้ายนั้นต่อกับคิวช่องแรกสุด
ในกรณีที่เป็นคิวแบบวงกลมคิวจะเต็มก็ต่อเมื่อมีการเพิ่มข้อมูลเข้าไปในคิวเรื่อย ๆ จนกระทั่ง rearมีค่าน้อยกว่า front อยู่หนึ่งค่า
คือ rear = front - 1

การประยุกต์ใช้คิว
คิวถูกประยุกต์ใช้มากในการจำลองระบบงานธุรกิจ เช่น การให้บริการลูกค้า ต้องวิเคราะห์จำนวนลูกค้าในคิวที่เหมาะสมว่าควรเป็นจำนวนเท่าใด เพื่อให้ลูกค้าเสียเวลาน้อยที่สุด ในด้านคอมพิวเตอร์ ได้นำคิวเข้ามาใช้ คือในระบบปฏิบัติการ (Operation System) ในเรื่องของคิวของงานที่เข้ามาทำงาน (ขอใช้ทรัพยากรระบบของ CPU) จะจัดให้งานที่เข้ามาได้ทำงานตามลำดับความสำคัญ

DTS 07-05-08-2552

30 กรกฎาคม 2552

สรุปการเรียน Lecture 5 เรื่อง Stack ต่อจากสัปดาห์ที่แล้ว

การแทนที่ข้อมูลของสแตกการแทนที่ข้อมูลของสแตกสามารถทำได้ 2 วิธี คือ
1. การแทนที่ข้อมูลของสแตกแบบลิงค์ลิสต์2. การแทนที่ข้อมูลของสแตกแบบอะเรย์ การแทนที่ข้อมูลของสแตกแบบลิงค์ลิสต์จะประกอบไปด้วย2 ส่วน คือ1. Head Node จะประกอบไปด้วย 2ส่วนคือ top pointer และจำนวนสมาชิกในสแตก
2. Data Node จะประกอบไปด้วยข้อมูล (Data) และพอยเตอร์ ที่ชี้ไปยังข้อมูลตัวถัดไป การดำเนินการเกี่ยวกับสแตกการดำเนินการเกี่ยวกับสแตก ได้แก่
1. Create Stack 5. Empty Stack
2. Push Stack 6. Full Stack
3. Pop Stack 7. Stack Count
4. Stack Top 8. Destroy Stack

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

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

ขั้นตอนการแปลงจากนิพจน์ Infix เป็นนิพจน์ Postfix
1. อ่านอักขระในนิพจน์ Infix เข้ามาทีละตัว
2. ถ้าเป็นตัวถูกดำเนินการจะถูกย้ายไปเป็นตัวอักษรในนิพจน์ Postfix
3. ถ้าเป็นตัวดำเนินการ จะนำค่าลำดับความสำคัญของตัว ดำเนินการที่อ่านเข้ามาเทียบกับค่าลำดับความสำคัญของตัวดำเนินการที่อยู่บนสุดของสแตก
- ถ้ามีความสำคัญมากกว่า จะถูก push ลงในสแตก- ถ้ามีความสำคัญน้อยกว่าหรือเท่ากัน จะต้อง pop ตัวดำเนินการที่อยู่ในสแตกขณะนั้นไปเรียงต่อกับตัวอักษรในนิพจน์ Postfix4. ตัวดำเนินการที่เป็นวงเล็บปิด “)” จะไม่ push ลงในสแตกแต่มีผลให้ตัวดำเนินการอื่น ๆ ถูก pop ออกจากสแตกนำไป เรียงต่อกันในนิพจน์ Postfix จนกว่าจะเจอ “(” จะ popวงเล็บเปิดออกจากสแตกแต่ไม่นำไปเรียงต่อ
5. เมื่อทำการอ่านตัวอักษรในนิพจน์ Infixหมดแล้ว ให้ทำการ Pop ตัวดำเนินการทุกตัวในสแตกนำมาเรียงต่อในนิพจน์Postfix
ในการคำนวณค่า Postfix ที่แปลงมาแล้ว ตัวแปลภาษาจะทำการคำนวณโดยใช้โครงสร้างสแตกช่วยอีกเช่นกันขั้นตอนในการคำนวณ1. อ่านตัวอักษรในนิพจน์ Postfix จากซานไปขวาทีละตัวอักษร2. ถ้าเป็นตัวถูกดำเนินการ ให้ทำการ push ตัวถูกดำเนินการนั้นลงในสแตก แล้วกลับไปอ่านอักษรตัวใหม่เข้ามา3. ถ้าเป็นตัวดำเนินการ ให้ทำการ pop ค่าจากสแตก 2 ค่าโดย ตัวแรกเป็นตัวถูกดำเนินการตัวที่ 2 และตัวที่ 1ตามลำดับ
4. ทำการคำนวณ ตัวถูกดำเนินการตัวที่ 1ด้วยตัวถูก ดำเนินการตัวที่ 2 โดยใช้ตัวดำเนินการในข้อ 35. ทำการ push ผลลัพธ์ที่ได้จากการคำนวณในข้อ 4 ลงสแตก6. ถ้าตัวอักษรในนิพจน์ Postfix ยังอ่านไม่หมดให้กลับไปทำข้อ 1 ใหม่

DTS 06-29-07-2552

29 กรกฎาคม 2552

สรุปการเรียน Lecture 5 เรื่อง Stack

สแตก (Stack) สแตคเป็นโครงสร้างข้อมูลที่มีลักษณะแบบลำดับ (sequential) คือการกระทำกับข้อมูลจะกระทำที่ปลายข้างเดียวกันที่ส่วนปลายสุดของสแตค การกระทำกับข้อมูลของสแตคประกอบไปด้วยการนำเข้าข้อมูลเข้า (PUSH) ที่ส่วนบนสุดของสแตค และการนำข้อมูลออก (POP) ที่ส่วนบนสุดของสแตคเช่นกัน ในการจะ Push ข้อมูลเข้าก็ต้องตรวจสอบด้วยว่าข้อมูลในสแตคเต็มหรือไม่ หากสแตคเต็มก็จะไม่สามารถ Push หรือนำข้อมูลเข้าได้ เช่นเดียวกับการ Pop ข้อมูลออกก็ต้องตรวจสอบด้วยว่ามีข้อมูลอยู่ในสแตคหรือไม่ หากไม่มีข้อมูลอยู่ในสแตคหรือสแตคว่าง (empty stack) ก็ไม่สามารถ pop ได้การนำข้อมูลเข้า-ออก จากสแตค (push , pop) จะมีลักษณะแบบเข้าหลัง ออกก่อน (LIFO : Last In , First Out) คือ ข้อมูลที่เข้าไปในสแตคลำดับหลังสุด จะถูกนำข้อมูลออกจากสแตคเป็นลำดับแรก ยกตัวอย่างการทำงานแบบ LIFO เช่น การวางจานซ้อนกัน

สแตกจะประกอบด้วยกระบวนการ 3 กระบวนการ คือ
1. Push คือ การนำข้อมูลใส่ในสแตก และสามารถตรวจสอบว่าสแตกเต็มหรือไม่ ถ้าไม่เต็มสามารถเพิ่มข้อมูลลงไปได้ แล้วปรับตัวชี้ตำแหน่งให้ไปชี้ที่สแตกว่าง ถ้าเต็ม (Stack Overflow) ก็ไม่สามารถเพิ่มข้อมูลได้
2. Pop คือ การนำข้อมูลออกจากส่วนบนสุดของสแตก ถ้ามีข้อมูลออกจากสแตกเพียงหนึ่งตัว จะเกิดสภาวะว่าง (Stack Empty) คือการไม่มีข้อมูลในสแตก ถ้าไม่มีข้อมูลในสแตก แล้วทำการ Pop จำทำให้เกิดความผิดพราดที่เรียกว่า Stack Underflow ดังนั้นก่อนการนำข้อมูลออกจากสแตกต้องทำการตรวจสอบก่อนว่าว่างหรือเปล่า จึงจะนำข้อมูลออกได้ และปรับตัวชี้ตำแหน่งให้ไปชี้ตำแหน่งข้อมูลที่ต่อจากข้อมูลที่ถูกนำออกไป
3. Stack Top คือ การคัดลอกข้อมูลที่อยู่บนสุดของสแตก แต่ไม่ได้นำข้อมูลออกจากสแตก

DTS 05-22-07-2552

28 กรกฎาคม 2552

เขียนโปรแกรมเปรียบเทียบการใช้ฟังก์ชั่น iostream.h กับ stdio.hผลลัพธ์ต้องเหมือนกัน

โปรแกรมคำนวณการคิดเกรด โดยให้รับคะแนนจากผู้ใช้ หากคะแนนมีค่า

-มากกว่าหรือเท่ากับ 80 และน้อยกว่าหรือเท่ากับ 100 แสดงเกรด ‘A’

-มากกว่าหรือเท่ากับ 75 และน้อยกว่าหรือเท่ากับ 79 แสดงเกรด ‘B+’

-มากกว่าหรือเท่ากับ 70 และน้อยกว่าหรือเท่ากับ 74 แสดงเกรด ‘B’

-มากกว่าหรือเท่ากับ 65 และน้อยกว่าหรือเท่ากับ 69 แสดงเกรด ‘C+’

-มากกว่าหรือเท่ากับ 60 และน้อยกว่าหรือเท่ากับ 64 แสดงเกรด ‘C’

-มากกว่าหรือเท่ากับ 55 และน้อยกว่าหรือเท่ากับ 59 แสดงเกรด ‘D+’

-มากกว่าหรือเท่ากับ 50 และน้อยกว่าหรือเท่ากับ 54 แสดงเกรด ‘D’

-และถ้ามีคะแนนน้อยกว่าหรือเท่ากับ 49 แสดงเกรด ‘F’


iostream.h

stdio.h

DTS 05-22-07-2552

26 กรกฎาคม 2552

last in first out (LIFO) สิ่งที่เกิดขึ้นในชีวิตประจำวัน

1. การซื้อของบนชั้นวางของใน Seven ต้องหยิบจากข้างนอกก่อน

2. การพับผ้าเก็บไว้ในตู้ ต้องหยิบตัวที่ผับหลังสุดใส่ก่อนเสมอ

3. การหยิบแก้วน้ำจากโรงพยาบาล(แก้วที่เป็นกรวยกระดาษ)

4. เทปกาวสองหน้าใช้ข้างนอกก่อนเสมอ

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

DTS 05-22-07-2552

15 กรกฎาคม 2552

สรุปการเรียน Lecture 4 เรื่อง Linked List

จากการที่ได้เรียนเรื่อง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)


DTS 04-15-07-2552

สรุปการเรียน Lecture 3 เรื่อง Set and String

จากการที่ได้เรียนเรื่องโครงสร้างข้อมูลแบบเซ็ต ในวันนี้ก็เข้าใจได้ว่า
โครงสร้างข้อมูลแบบเซ็ต เป็นโครงสร้างข้อมูลที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กัน ในภาษาซีจะไม่มีประเภทข้อมูลแบบเซ็ตนี้เหมือนกับในภาษาปาสคาล แต่สามารถใช้หลักการของการดำเนินงานแบบเซ็ตมาใช้ได้
ตัวดำเนินการของเซ็ต (Set operators)
ประกอบด้วย
- set intersection
- set union
- set difference

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

สตริงกับอะเรย์
สตริง คือ อะเรย์ของอักขระเช่น char a[6]อาจจะเป็นอะเรย์ขนาด 6 ช่องอักขระ หรือเป็นสตริงขนาด 5 อักขระก็ได้ โดยจุดสิ้นสุดของ
string จะจบด้วย \0 หรือ null character เช่น
char a[ ]={‘H’, ‘E’, ‘L’, ‘L’, ‘O’, ‘\0’};
char a[ ]=“HELLO”;


การกำหนดสตริง
การกำหนดสตริงทำได้หลายแบบ คือ
1. กำหนดเป็นสตริงที่มีค่าคงตัว
(String Constants)
2. กำหนดโดยใช้ตัวแปรอะเรย์หรือพอยเตอร์

การกำหนดตัวแปรสตริง
ในการกำหนดตัวแปรของสตริง อาศัยหลักการ ของอะเรย์ เพราะ สตริงก็คืออะเรย์ของอักขระที่ปิดท้าย
ด้วย null character (\0) และมีฟังก์ชันพิเศษสำหรับทำงานกับสตริงโดยเฉพาะ เช่น ต้องการสตริงสำหรับเก็บชื่อบุคคลยาวไม่เกิน 30 อักขระ ต้องกำหนดเป็นอะเรย์ขนาด 31 ช่อง เพื่อเก็บ null character อีก 1ช่อง


การดำเนินการเกี่ยวกับสตริง
ในการดำเนินการเกี่ยวกับสตริง จะมีฟังก์ชันที่อยู่ในแฟ้ม ข้อมูล 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


DTS 04-15-07-2552

2 กรกฎาคม 2552

แบบฝึกหัด Lecture 2

1.ให้นักศึกษากำหนดค่าของ Array 1 มิติ และ Array 2 มิติ

- Array 1 มิติ คือ char surname[40];

- Array 2 มิติ คือ int name[7][8];



2.ให้นักศึกษาหาค่าของ A[2] , A[6] จากค่าA={2,8,16,24,9,7,3,8,}

- A[2] คือ 16 และ A[6] คือ 3



3.จากค่าของ int a [2][3] = {{6,5,4},{3,2,1}}; ให้นักศึกษาหาค่าของ a[1][0]และa[0][2]

- a[1][0] คือ 3 และ a[0][2] คือ 4



4.ให้นักศึกษากำหนด structure ที่มีค่าของข้อมูลจากน้อย 6 Records

- struct employee
{char name[60];
char lastname[60];
int id;
int age;
char address [80];
int day;
int month;
int year;
}emp;

5. ให้นักศึกษาบอกความแตกต่างของการกำหนดตัวชนิด Array กับตัวแปร Pointer ในสภาพของการกำหนดที่อยู่ของข้อมูล

- array หมายถึง ตัวแปรชุดที่ใช้เก็บตัวแปรชนิดเดียวกันไว้ด้วยกัน เช่น เก็บ ข้อมูล char ไว้กับ char เก็บ int ไว้กับ int ไม่สามารถเก็บข้อมูลต่างชนิดกันได้ เช่น char กับ int เรียก array อีกอย่างว่าหน่วยความจำแบ่งเป็นช่อง การกำหนดสมาชิกชิกของ array จะเขียนภายในเครื่องหมาย [ ]pointer หมายถึง ตัวเก็บตำแหน่งที่อยู่ของหน่วยความจำ (Address) หรือเรียกว่า ตัวชี้ ตำแหน่งที่อยู่ สัญลักษณ์ของ pointer จะแทนด้วยเครื่องหมาย *



DTS 03-01-07-2552

1 กรกฎาคม 2552

สรุปการเรียน Lecture 2 เรื่อง Pointer



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


การกำหนด address ให้ pointer
วิธีนำเลข address ไปใส่ pointer ทำได้โดยใช้เครื่องหมาย & (address operator)

Pointer ที่เกิดจากเครื่องหมาย &
เมื่อเครื่องหมาย & ถูกใส่ไว้หน้าตัวแปรใดๆ ก็ตาม จะมีความหมายถึงค่าของตำแหน่งในหน่วยความจำที่ใช้เก็บค่าของตัวแปรนั้น ที่เราจะเห็นกันอยู่บ่อยๆ ก็คือ ในคำสั่ง scanf เช่น
int x;
scanf(“%d”,&x);
มีความหมายว่า ให้รับค่าทางคีย์บอร์ดแล้วให้แปลงเป็น integer แล้วนำไปใส่ในหน่วยความจำที่เป็นตำแหน่งของ x

*** เราสามารถอ้างถึงค่าที่อยู่ในตัวแปร x ได้โดยการใส่ * หน้า &x ก็จะมีความหมายเช่นเดียวกับ x นั่นเอง เช่น
x=5;
printf(“%d %d”, x, *(&x) );
ผลรัน จะเป็น 5

Pointer ที่เกิดจากการกำหนดตัวแปร array
การอ้างถึงชื่อของตัวแปร array โดยไม่ได้ระบุตัวชี้ลำดับ(subscript) จะหมายถึงตำแหน่ง(ในหน่วยความจำ)ของ array ตัวแรก ในภาษาซีจะไม่อนุญาตให้เปลี่ยนแปลงตำแหน่งของตัวแปร array ดังกล่าวได้ เช่น
char a[100];
a+=10; // error
ในกรณีนี้ &a จะมีความหมายเช่นเดียวกับ a ซึ่งก็คือค่าตำแหน่งในหน่วยความจำของ array ตัวแรกนั่นเอง
การประกาศชนิดของตัวแปรพอยน์เตอร์

รูปแบบ
type *variable-name
type หมายถึง ชนิดของตัวแปร
* หมายถึง เป็นเครื่องหมายที่แสดงว่าตัวแปรที่
ตามหลังเครื่องหมายนี้เป็นตัวแปรพอยน์เตอร์
variable-name เป็นชื่อของตัวแปรที่ต้องการประกาศว่าเป็น
ชนิดพอยน์เตอร์


ข้อสรุปเรื่อง pointer
• ทำหน้าที่ชี้ไปยังตำแหน่งเก็บข้อมูลในหน่วยความจำ
• การประกาศ pointer ต้องกำหนด data type ด้วย
• ใช้ pointer ชี้ไปยัง pointer หรือชี้ไปยัง array หรือ array ของ pointer ก็ได้
• pointer ที่ชี้ไปยัง pointer ใช้ดอกจันสองตัว เช่น int** p
• pointer arithmetic เป็นไปตาม data type




DTS 03-01-07-2552

25 มิถุนายน 2552

Structure

#include"stdio.h"
struct employee
{
char name[60];
char lastname[60];
int id;
int age;
char address [80];
int day;
int month;
int year;
}date;
void main()
{
printf("employee data\n");
printf(" name:");
scanf("%s",&date.name);
printf(" lastname:");
scanf("%s",&date.lastname);
printf(" id:");
scanf("%d",&date.id);
printf(" age:");
scanf("%d",&date.age);
printf(" address:");
scanf("%s",&date.address);
printf("date is (dd/mm/yy): ");
scanf("%d/%d/%d",&date.day,&date.month,&date.year);
{
printf("Display Data of employee \n");
printf("Name : %s\n",date.name);
printf("Lastname : %s\n",date.lastname);
printf("ID : %d\n",date.id);
printf("Age : % d\n",date.age);
printf("address : %s\n",date.address);
printf("birthday : %d/%d/%d \n",date.day,date.month,date.year);
}
}



DTS 02-24-06-2552

24 มิถุนายน 2552

สรุปการเรียน Lecture 2 เรื่อง Array and Record

1.ทราบถึงความหมายและองค์ประกอบของอะเรย์


2.ทราบวิธีการดำเนินการของ Array มิติเดียวและ Array หลายมิติ


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


4. ได้ทราบว่าค่า subscript ที่ใช้อ้างอิงถึงสมาชิก จะต้องมีค่ามากกว่า หรือเท่ากับขอบเขตล่าง และน้อยกว่าหรือเท่ากับขอบเขตบน


5.ทราบถึงการส่งอะเรย์ให้ฟังก์ชัน สามารถกำหนดอะเรย์เป็นพารามิเตอร์ส่งให้กับฟังก์ชันได้ 2 ลักษณะ
5.1การกำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน ทำได้โดยอ้างถึงชื่ออะเรย์พร้อมระบุ subscript
5.2ส่งอะเรย์ทั้งชุดให้ฟังก์ชันทำได้โดยอ้างถึงชื่ออะเรย์โดยไม่มี subscript


6.ทราบถึงความสัมพันธ์ของข้อมูลที่เกิดขึ้นของเรคคอร์ดกับอะเรย์ข้อมูล

7.ทราบถึงการกำหนด Subscript แต่ละตัวจะกำหนดค่าสูงสุด และต่ำสุด ของSubscript นั้นการประกาศค่าตัวแปรอะเรย์ในภาษาคอมพิวเตอร์ บางภาษา เช่น
ภาษาปาสคาล var A:arrary [1...10]

DTS 02-24-06-2552

17 มิถุนายน 2552





DTS 01-17-06-2552

สรุปการเรียน Lecture 1 เรื่อง Introduction

1. ทราบถึงความหมายของโครงสร้างข้อมูล

2. ทราบถึงประเภทของโครงสร้างข้อมูลว่าโครงสร้างข้อมูลในคอมพิวเตอร์ที่ใช้กันอยู่ในปัจจุบัน แบ่งออก เป็น 2 ระเภท คือ
2.1 โครงสร้างข้อมูลทางกายภาพ (Physical Data Structure)
2.2 โครงสร้างข้อมูลทางตรรกะ(Logical Data Structure)

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

DTS 01-17-06-2552

ประวัติส่วนตัว



นางสาวสุภาวดี เต็มตระกูล

MISS SUPAWADEE TEMTRAKOON

ชื่อเล่น เอ

รหัส 50152792086

จบการศึกษาจาก โรงเรียนวรนารีเฉลิม จังหวัดสงขลา

สาย อังกฤษ-ฝรั่งเศส

ขณะนี้กำลังศึกษา หลักสูตรการบริหารธุรกิจ

(คอมพิวเตอร์ธุรกิจ)

คณะวิทยาการจัดการ มหาวิทยาลัยราชภัฏสวนดุสิต

E-mail address : u50152792086@gmail.com

เบอร์โทร 089-5491424


DTS 01-17-06-2552