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

DTS05-28/07/2009

สิ่งที่ได้จากการเรียน

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


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

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

DTS04-15/07/2009

สรุป
set และ string มีอยู่ 2 รูปแบบ คือ โครงสร้างข้อมูลแบบเซ็ตและโครงสร้างข้อมูลแบบสตริงโครงสร้างข้อมูลแบบเซ็ต เป็นโครงสร้างข้อมูลที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กันในภาษาซีจะไม่มีประเภทข้อมูลแบบเซ็ตนี้เหมือนกับในภาษาปาสคาลแต่สามารถใช้หลักการของการดำเนินงานแบบเซ็ตมาใช้ได้โครงสร้างข้อมูลแบบสตริง
สตริง (String) หรือ สตริงของอักขระ (Character String) เป็นข้อมูลที่ประกอบไปด้วยตัวอักษร ตัวเลขหรือเครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่างการประยุกต์ใช้คอมพิวเตอร์ที่เกี่ยวกับข้อมูลที่เป็นสตริงมีการนำไปใช้สร้างโปรแกรมประเภทบรรณาการข้อความหรือโปรแกรมประเภทประมวลผลการกำหนดสตริงการกำหนดสตริงทำได้หลายแบบ
1. กำหนดเป็นสตริงที่มีค่าคงตัว
2. กำหนดโดยใช้ตัวแปรอะเรย์หรือพอยเตอร์การกำหนดตัวแปรสตริงในการกำหนดตัวแปรของสตริง
อาศัยหลักการของอะเรย์เพราะสตริงคืออะเรยืของอักขระที่ปิดท้ายด้วย null character (\0)และมีฟังชันพิเศษสำหรับทำงานกับสตริงโดยเฉพาะอะเรย์ของสตริงถ้าหากมีสตริงจำนวนมาก ก็ควรจะทำให้เป็นอะเรย์ของสตริง เพื่อที่จะเขียนโปรแกรมได้สะดวกการสร้างอะเรย์ของสตริง สามารถสร้างได้ทั้งแบบที่ให้ค่าเริ่มต้นและแบบที่กำหนดเป็นตัวแปรฟังก์ชัน puts () ใช้ในการพิมพ์สตริงออกทางจอภาพโดยการผ่านค่าแอดเดรสของสตริงไปให้เท่านั้น ข้อสังเกต การกำหนดอะเรย์ของสตริงในลักษณะอย่างนี้ ไม่ใช่อะเรย์ที่แท้จริงตามหลักการของอะเรย์ เนื่องจากขนาดของช่องในอะเรย์ไม่เท่ากัน แต่อนุโลมให้ถือว่าเป็นอะเรย์การดำเนินการเกี่ยวกับสตริงในการดำเนินการเกี่ยวกับสตริง จะมีฟังก์ชันที่อยู่ในแฟ้ม ข้อมูล stdio.hเก็บอยู่ใน C Libraly อยู่แล้วสามารถนำมาใช้ได้ โดยการใช้คำสั่ง #include ในการเรียกใช้ เช่น- ฟังก์ชัน strlen(str) ใช้หาความยาวของสตริง- ฟังก์ชัน strcpy(str1,str2) ใช้คัดลอกข้อมูลจาก string หนึ่งไปยังอีก string หนึ่ง- ฟังก์ชัน strcat(str1,str2) ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน- ฟังก์ชัน strcmp(str1,str2) ใช้เปรียบเทียบข้อความ 2 ข้อความว่ามีค่าเท่ากันหรือไม่ถือหลักการเปรียบเทียบแบบพจนานุกรม



#include
#include
void main ()
{
cout<<"Phase of age \n";
int age;
while((cin>>age)){
if(age<=3)
cout <<"Baby \n";
else if(age<=12)
cout <<"Student\n";
else if(age<=25)
cout <<"Young\n";
else if(age<=50)
cout <<"Aduath \n";
else
cout <<"Old Man\n";
}
}

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

DTS03-30/06/2009

สิ่งที่ได้จากการเรียน
รู้ความหมายของ Array มีลักษณะคล้ายกับเซ็ตทางคณิตศาสตร์ สมาชิกมีจำนวนคงที่ มีข้อมูลแบบเดียวกัน มีขนาดเท่ากัน ต่อเนื่องกันในหน่วยความจำหลัก การกำหนด อะเรย์ มีชื่อ อะเรย์ พร้อม subscript ถ้ามากกว่า 1 เรียกว่า อะเรย์หลายมิติ subscript แต่ละตัวจะประกอบไปด้วย ค่าสูงสุดและ ค่าต่ำสุด
float A[10]; (อะเรย์ 1 มิติ) int K[5] [10]; (อะเรย์ 2 มิติ) เข้าใจเรื่องของ Structure มากขึ้นว่าควรจะเริ่มต้นจากการกำหนดชื่อStructure ประกาศตัวแปร ชื่อของตัวแปรในกลุ่ม และตัวแปรโครงสร้างที่เหมือนกับในที่ประกาศ Structure เรื่องPointer เป็นตัวแปรชนิดหนึ่งที่ทำหน้าที่เก็บตำแหน่งที่อยู่ (Address) ของตัวแปรที่อยู่ในหน่วยความจำ *ptr ให้นำค่าที่เก็บไว้มาตอบ ส่วน ptr คือค่าของptr โดยตรง ค่ะ

สิ่งที่อยากทราบเพิ่มเติม
ยังไม่ค่อยเข้าใจเรื่องของ Pointer ว่าจะเก็บค่าไว้ตรงไหนค่ะ เก็บเท่าไร ค่ะ ครั้งนี้ยากกว่าเดิมค่ะบางทียังไม่ค่อยเข้าใจเท่าไรต้องกลับมาทบทวนเพิ่มเติม