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

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

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

วันอังคารที่ 15 กันยายน พ.ศ. 2552

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

การเรียงลำดับ (Sorting)เป็นการจัดให้เป็นระเบียบมีแบบแผน ช่วยให้การค้นหาสิ่งของหรือข้อมูล ซึ่งจะ สามารถกระทำได้รวดเร็วและมีประสิทธิภาพ เช่น การค้นหาความหมายของคำในพจนานุกรม ทำได้ค่อนข้างง่ายและรวดเร็วเนื่องจากมีการเรียงลำดับคำตามตัวอักษรไว้อย่างมีระบบและเป็นระเบียบ
วิธีการเรียงลำดับ
วิธีการเรียงลำดับสามารถแบ่งออกเป็น2 ประเภท คือ
(1)การเรียงลำดับแบบภายใน (internal sorting) เป็นการเรียงลำดับที่ข้อมูลทั้งหมดต้องอยู่ใน หน่วยความจำหลัก เวลาที่ใช้ในการเรียงลำดับจะคำนึงถึงเวลาที่ใช้ในการเปรียบเทียบและเลื่อนข้อมูลภายในความจำหลัก
(2) การเรียงลำดับแบบภายนอก (external sorting) เป็นการเรียงลำดับข้อมูลที่ เก็บอยู่ในหน่วยความจำสำรอง ซึ่งเป็นการ เรียงลำดับข้อมูลในแฟ้มข้อมูล (file) เวลาที่ใช้ในการเรียงลำดับต้องคำนึงถึงเวลาที่เสียไประหว่าง การถ่ายเทข้อมูลจากหน่วยความจำหลักและ หน่วยความจำสำรองนอกเหนือจากเวลาที่ใช้ ในการเรียงลำดับข้อมูลแบบภายใน
การเรียงลำดับแบบเลือก (selection sort)
ทำการเลือกข้อมูลมาเก็บในตำแหน่งที่ ข้อมูลนั้นควรจะอยู่ทีละตัว โดยทำการค้นหาข้อมูลนั้นในแต่ละรอบแบบเรียงลำดับ ถ้าเป็นการเรียงลำดับจากน้อยไปมาก
- ในรอบแรกจะทำการค้นหาข้อมูลตัวที่มีค่าน้อยที่สุดมาเก็บ ไว้ที่ตำแหน่งที่ 1
- ในรอบที่สองนำข้อมูลตัวที่มีค่าน้อยรองลงมาไปเก็บไว้ที่ ตำแหน่งที่สอง
- ทำเช่นนี้ไปเรื่อย ๆ จนกระทั่งครบทุกค่า ในที่สุดจะได้ข้อมูลเรียงลำดับจากน้อยไปมากตามที่ต้องการ
การเรียงลำดับแบบฟอง (Bubble Sort)
เป็นวิธีการเรียงลำดับที่มีการเปรียบเทียบข้อมูลในตำแหน่งที่อยู่ติดกัน
- ถ้าข้อมูลทั้งสองไม่อยู่ในลำดับที่ถูกต้องให้สลับตำแหน่งที่อยู่กัน
- ถ้าเป็นการเรียงลำดับจากน้อยไปมากให้นำข้อมูลตัวที่มีค่าน้อยกว่าอยู่ในตำแหน่งก่อนข้อมูลที่มีค่ามาก ถ้าเป็นการเรียงลำดับจากมากไปน้อยให้นำข้อมูล ตัวที่มีค่ามากกว่าอยู่ในตำแหน่งก่อนข้อมูลที่มีค่าน้อย
การเรียงลำดับแบบเร็ว (quick sort)
เป็นวิธีการเรียงลำดับที่ใช้เวลาน้อยเหมาะสำหรับข้อมูลที่มีจำนวนมากที่ต้องการความรวดเร็วในการทำงาน วิธีนี้จะเลือกข้อมูลจากกลุ่มข้อมูลขึ้นมาหนึ่งค่าเป็นค่าหลัก แล้วหาตำแหน่งที่ถูกต้องให้กับค่าหลักนี้ เมื่อได้ตำแหน่งที่ถูกต้องแล้ว ใช้ค่าหลักนี้เป็นหลักในการแบ่งข้อมูลออกเป็นสองส่วนถ้าเป็นการเรียงลำดับจากน้อยไปมาก ส่วนแรกอยู่ในตอนหน้าข้อมูล ทั้งหมดจะมีค่าน้อยกว่าค่าหลักที่เป็นตัวแบ่งส่วนอีกส่วนหนึ่งจะอยู่ในตำแหน่งตอนหลังข้อมูลทั้งหมด จะมีค่ามากกว่าค่าหลัก แล้วนำแต่ละส่วนย่อยไปแบ่งย่อยในลักษณะเดียวกันต่อไปจนกระทั่งแต่ละส่วนไม่สามารถแบ่งย่อยได้อีกต่อไปจะได้ข้อมูลที่มีการเรียงลำดับตามที่ต้องการ
การเรียงลำดับแบบแทรก (insertion sort)
เป็นวิธีการเรียงลำดับที่ทำการเพิ่มสมาชิกใหม่เข้าไปในเซต ที่มีสมาชิกทุกตัวเรียงลำดับอยู่แล้ว และทำให้เซตใหม่ที่ได้นี้มีสมาชิกทุกตัวเรียงลำดับด้วย วิธีการเรียงลำดับ
- เริ่มต้นเปรียบเทียบจากข้อมูลในตำแหน่งที่ 1 กับ 2 หรือข้อมูลในตำแหน่งสุดท้ายและรองสุดท้ายก็ได้ถ้าเป็นการเรียงลำดับจากน้อยไปมาก
- จะต้องจัดให้ข้อมูลที่มีค่าน้อยอยู่ในตำแหน่งก่อนข้อมูลที่มีค่ามาก และถ้าเรียงจากมากไปน้อยจะก็จะจัดให้ข้อมูลที่มีค่ามากอยู่ในตำแหน่งก่อน
การเรียงลำดับแบบฐาน (radix sort)
เป็นการเรียงลำดับโดยการพิจารณาข้อมูลทีละหลัก
- เริ่มพิจารณาจากหลักที่มีค่าน้อยที่สุดก่อน นั่นคือถ้าข้อมูลเป็นเลขจำนวนเต็มจะพิจารณาหลักหน่วยก่อน
- การจัดเรียงจะนำข้อมูลเข้ามาทีละตัว แล้วนำไปเก็บไว้ที่ซึ่งจัดไว้สำหรับค่านั้น เป็นกลุ่ม ๆ ตามลำดับการเข้ามา
- ในแต่ละรอบเมื่อจัดกลุ่มเรียบร้อยแล้ว ให้รวบรวมข้อมูลจากทุกกลุ่มเข้าด้วยกัน โดยเริ่มเรียงจากกลุ่มที่มีค่าน้อยที่สุดก่อนแล้วเรียงไปเรื่อย ๆ จนหมดทุกกลุ่ม
- ในรอบต่อไปนำข้อมูลทั้งหมดที่ได้จัดเรียงในหลักหน่วยเรียบร้อยแล้วมาพิจารณาจัดเรียงในหลักสิบ
ต่อไป ทำเช่นนี้ไปเรื่อย ๆ จนกระทั่งครบทุกหลักจะได้ข้อมูลที่เรียงลำดับจากน้อยไปมากตามต้องการ
DTH 10-09-09-2552

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

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

วันอังคารที่ 1 กันยายน พ.ศ. 2552

สรุปการเรียน " TEE "

ทรี (Tree) เป็นโครงสร้างข้อมูลที่ความสัมพันธ์ระหว่าง โหนดจะมีความสัมพันธ์ลดหลั่นกันเป็นลำดับชั้น (Hierarchical Relationship) องค์ประกอบของต้นไม้ เป็นการเชื่อมโยงความสัมพันธ์ การดำเนินกิจกรรมN-10 ถ้ามี10เส้นก็จะมี9เส้น
โหนดที่มีโหนดแม่เป็นโหนดเดียวกันเรียกว่า โหนดพี่น้อง (Siblings)โหนดที่ไม่มีโหนดลูก เรียกว่าโหนดใบ (Leave Node)เส้นเชื่อมแสดงความสัมพันธ์ระหว่างโหนดสองโหนดเรียกว่า กิ่ง (Branch)

รูปลักษณะของโครงสร้างต้นไม้

ทรี ประกอบด้วยโหนด (node) ซึ่งเป็นส่วนที่เก็บข้อมูล ในทรีหนึ่งทรีจะประกอบไปด้วยรูทโหนด (root node) เพียงหนึ่งโหนด แล้วรูทโหนดสามารถแตกโหนดออกเป็นโหนดย่อยๆ ได้อีกหลายโหนดเรียกว่าโหนดลูก (Child node) เมื่อมีโหนดลูกแล้ว โหนดลูกก็ยังสามารถแสดงเป็นโหนดพ่อแม่ (Parent Node) โดยการแตกโหนดออกเป็นโหนดย่อยๆได้อีก

DTS08-27/08/2552

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

สรุปการเรียน"Queue"

"Queue" เป็นโครงสร้างข้อมูลเชิงเส้นที่จะเพิ่มข้อมูลเข้าไปจากส่วนปลายของข้างหนึ่งและจะนำข้อมูลออกที่ปลายอีกข้างหนึ่ง ลักษณะการทำงานของคิวจะมีลักษณะเป็นการเข้าก่อนออกก่อน หรื่อที่เรียกว่า FIFO(First In First Out)
การใส่ข้อมูลลง "Queue"จะเรียกว่า Enqueu
การนำข้อมูลออกจาก "Queue"จะเรียกว่า Dequeue แต่การทำงานของ Queue Frot จะเป็นการนำข้อมูลที่อยู่ตอนต้นของคิวมาแสดง แต่จะไม่ทำหารนำข้อมูลออกจากคิวและการที่นำข้อมูลที่อยู่ตอนท้ายขอคิวมาแสดงเรียกว่า Queue Rear
*การแทนที่ข้อมูลของคิวสามารถทำได้ 2วิธี
1.การแทนที่ข้อมูลแบบลิงค์ลิสต์
2.การแทนที่ข้อมูลแบบอเรย์
การทำงานของคิวจะมีกระบวนการทำงานอยู่ทั้งหมด 9 ขั้นตอนนะครับ
1.Create Queue เป็นการจัดสรรข้อมูลลงในคิวให้กับ Head node และกำหนดค่าให้ Pointer ทั้ง2ค่ามีค่าเป็น Null
2.EmQueue เป็นการนำข้อมูลไส่ลงในคิว
3.DeQueue เป็นการนำข้อมูลออกจากคิว
4.Queue Front เป็นการนำข้อมูลที่อยู่ตอนต้นออกจากคิว
5.Queue Rear เป็นการนำข้อมูลที่อยู่ท้ายสุดออกจากคิว
6.Empty Queue เป็นการตรวจสอบว่าคิวว่างหรื่อไม่ถ้าคิวว่างแล้วยังทำการนำข้อมูลออกจะทำให้เกิดการ Under Flow
7.Full Queue เป็นการตรวจสอบดูว่าคิวนั้นเต็มหรื่อไม่ถ้าคิวเต็มแล้วและยังที่การนำข้อมูลไส่ในคิวจะทำไห้เกิดการ Over Flow
8.Queue Count เป็นการเช็คสามาชิกที่อยู่ในคิวว่ามีจำนวนเท่าไร
9.Destoy Queue เป็นการลบข้อมูลที่อยู่ในคิวออก
DTS 07-05/08/2552

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

สรุปการเรียน"Stack"

"Stack"
สแตกจะสามารถแทนที่ข้อมูลทำได้ 2 วิธี คือ
1.แบบลิงค์ลิสต์
2.แบบอะเรย์
การแทนที่ข้อมูลแบบลิงค์ลิสค์ประกอบด้วย 2 ส่วน
1.Head Node จะประกอบไปด้วยส่วนที่เป็น Top pointer
2.Data Node จะประกอบไปด้วยส่วนที่เป็นข้อมูลและพอย์เตอร์จะชี้ไปยังตำแหน่งถัดไป
ขั้นตอนในการทำงานของสแตกจะประกอบด้วย
-Create Stack จะเป็นตัวที่จัดข้อมูลและส่งค่าที่ชี้ไปยัง Head ของสแตก
--Push Stack จะเป็นการเพิ่มข้อมูลลงไปในสแตก
---POp Stack จะเป็นการนำข้อมูลที่อยู่บนสุดออกจากสแตก
----Stack Top จะเป็นการคัดลอกข้อมูลที่อยู่ด้านบนสุดของสแตกโยไม่มีการลบข้อมูลออกจากสแตก
-----Empty Stack จะเป็นการตรวจการว่างของสแตก เพื่อไม่ไห้เกิดข้อผิดพลาด หรือที่เรียกว่า Stack Underflow
------Full stack จะเป็นการเช็กว่าสแตกเต็มหรื่อไม่ เพื่อไม่ให้เกิดความผิดพลาดในการนำข้อมูลใส่ลงในสแตก หรื่อที่เรียกว่า Stack Overflow
-------Stack Count เป็นการนับจำนวนสมาชิกในสแตก
--------Destroy Stack เป็นกาลบข้อมูลทั้งหมดที่มีอยู่ในสแตก
การคำนวณนิพจน์ทางคณิตศาสตร์ จะสามารถทำได้ 3 วิธี
1.นิพจย์ Infin
2.นิพจย์postfix
3.นิพจย์prefix
DTS 06-29-07-2552

วันอังคารที่ 28 กรกฎาคม พ.ศ. 2552

แบบ stdio.hโปรแกรมสำหรับคำนวณพื้นที่สามเหลี่ยม

#include

#include

void main()

{

float area,high,bass;

printf("High");

scanf("%f",&high);

printf("bass");

scanf("%f",&bass);


area = 0.5*high*bass;

printf("area of triangle is %f",area);
}

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

การบ้านเรื่อง "Stack"

จงยกตัวอย่าง Stack ที่ใช้ในชีวิตประจำวันของนักศึกษา
-1.การแต่งตัวของเรา
-2.การทิ้งขยะ
-3.ตั๋วรถเมล์

สรุปการเรียน"Linked List & Stack"

เรื่อง "Linked List"
Linked List จะมีคำสั่งในกระบวนการทำงานของแต่ะคำสั่งที่แต่ต่างกันไป เช่น กระบวนการการทำงานแบบ Traverse มีหน้าที่คือการท่องไปในลิสต์และจะทำการประมวลข้อมูล ผลลัพธ์ที่ได้ขึ้นอยู่กับการประมวลผล เช่นการแปลงค่าใน node การคำนวณค่าเฉลี่ยของฟิลด์ และยังมีฟังก์ชัน EmptyList เพื่อทดสอบว่าลิสต์ว่างหรือไม่ กระบวนการทำงาน Retrieve Node ใช้หาตำแหน่งในลิสต์ ฟังก์ชันlist cont จะทำหน้าที่นับจำนวนข้อมูลที่อยู่ในลิสต์และฟังกืชัน FullList ใช้ทดสอบว่าลิสต์นั้นเติมหรือไม่ และกระบวนการสุดท้ายในการทำงานของLinked List คือกระบวนการ Destroy list คือการหยุดการทำงานของลิสต์
Linked List แบบซ้อนเป็นลิงค์ลิสต์สมาชิกตัวสุดท้ายที่ชี้ไปที่สมาชิกตัวแรกของลิงค์ลิสต์จะเป็นการทำงานแบบวงกลม Double Linked List เป้นการทำงานแบบ 2 ทิศทางจะมีตัวชี้ไปข้อมูลก่อนหน้าและชี้ข้อมูลตัวถัดไป
เรื่อง"Stack"
เป้นโครงสร้างข้อมูลแบบลิเนียนลิสต์ ลักษณะที่สำคัญของสแตกคือข้อมูลที่ถูกใส่หลังสุดจะถูกนำออกมาแสดงก่อนข้อมูลที่เข้าไปก่อน เรียกขั้นตอนนีว่า LOFO ( Last in First Out ) จะมีการทำงานอยู่ 3 ขั้นตอน
1.การใส่ข้อมูลลงในสแตกหรือ Push
**2.การนำข้อมูลออกจากส่วนบนสุดของสแตกหรือ Pop เมื่อนำข้อมูลออกจากสแตกแล้วจะเกิดภาวะสแตกว่าง stack empty และถ้าไม่มีข้อมูลอยู่ในสแตก แล้วทำการ Pop อีกก็จะเกิดการผิดพลาดเรียกว่า "Stack Underflow" และการป้องกันไม่ให้เกิดการ Underflow ของข้อมูลการนำขั้อมูลออกทุกครั้งควรตรวจสอบก่อนว่าสแตกนั้นว่างหรือไม่แล้ค่อยนำข้อมูลออกและปรับตัวชี้ตำแหน่งไปชี้ตำแหน่งที่ข้อมูลที่ต่อจากข้อมูลที่ออกไป
3.การคัดลอกข้อมูลที่อยู่บนสุดของสแตกไว้แต่ไม่ได้เป็นกการนำข้อมูลออกจากสแตก
DTS.05-07-2552

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

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

ได้รู้ว่า" Linked List "มีการทำงานแบบไหนและเป็นข้อมูลประเภทใดและไช้สิ่งใดเป็นตัวเชือมต่อในแต่ล่ะอิลิเมนท์ แล้วแต่ล่ะอิลิเมนท์เรียกว่าโนด(Node)และโนดจะมีด้วยกัน2ส่วน คือ
1.Data = ใน Data จะเป็นตัวเก็บข้อมูลของอิลิเมนทื
2.Linked Field = จะทำหน้าที่เก็บตำแหน่งของโนด พูดง่ายๆก็คืออิลิเมนท์ก็คือกลุ่มของสมาชิกของข้อมูล
มน Linked List จะมีดครงสร้างของข้อมูลอยู่ 2 ส่วนใหญ่ๆคือ
1. head Structre ในส่วนนี้จะประกอบด้วย 3 ส่วน ได้แก่
-จำนวนโนดในลิสต์ Count
-พอยเตอร์ที่ที่ชี้ไปยังโนดเพื่อเข้าถึง Pos
-พอยเตอร์ที่ชี้ไปยังโหนดข้อมูลแรกของลิสต์ Head
2.Data Node Stucture จะประกอบด้วยข้อมูล Data และพอยเตอร์ที่ชี้ไปยังข้อมูลตัวถัดไป
DTS 04-07-2552

วันอังคารที่ 14 กรกฎาคม พ.ศ. 2552

*-*การบ้าน*-*

1.ให้นักศึกษากำหนดค่าของ Array 1 มิติ และ Array 2 มิติ
- Arrey 1 มิติ int nuym[10]={1,2,3,4,5,6,7,8,9,10};
- Arrey 2 มิติ int a[2][3]={{1,2,3},{4,5,6}}
2.ให้นักศึกษาหาค่าของ A[2],A[6]จากค่า A= {2,8,16,24,9,7,3,8}
-A[2],A[6]=16,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.ให้นักศึกษากำหนดค่า Struucture ที่มี่ค่าของข้อมูลจากน้อย 6 Records
#include "stdio.h"
struct time
{
int day;
int month;
int year;
};
struct Sex
{
char name[30];
int age;
char sex[10];
char id[20];
char email[50];
int dis;

struct time date;
}details;
void input_data()
{
printf("customer MovEGang\n");
printf("Name : ");
scanf("%s",&details.name);
printf("Age : ");
scanf("%d",&details.age);
printf("Sex : ");
scanf("%s",&details.sex);
printf("ID : ");
scanf("%s",&details.id);
printf("Email : ");
scanf("%s",&details.email);
printf("Give Discount : ");
scanf("%d",&details.dis);
printf("Day : ");
scanf("%d",&details.date.day);
printf("Month : ");
scanf("%d",&details.date.month);
printf("Year : ");
scanf("%d",&details.date.year);
}
void show_data()
{
printf("Information customer MovEGang\n");
printf("Your Name : %s\n",details.name);
printf("Your Age : %d\n",details.age);
printf("Sex : %s\n",details.sex);
printf("ID : %s\n",details.id);
printf("Email : %s\n",details.email);
printf("Discount : %d % \n",details.dis);
printf("Date : %d-%d-%d",details.date.day,details.date.month,details.date.year);
}
main()
{
input_data();
show_data();
}
5.ให้นักศึกษาบอกความแตกต่างของการกำหนดตัวแปรชนิด Arrey กับตัวแปร Pointer ในสภาพของการกำหนดที่อยู่ของข้อมูล
-ตัวแปร Arrey เป็นโครงสร้างข้อมูลคล้ายกับเซ็ตในคณิตศาสตร์ ในการกำหนด Arrey จะต้องกำหนดชื่ออะเรย์พร้อมกับ Subscript แต่ส่วนของ ตัวแปร Pointer จะเป็นตัวแบบที่ทำหน้าที่เก็บตำแหน่งที่อยู่ของตัวแปรในหน่วยความจำเป็นและจะมีฟังก์ชันในการรับส่งค่าไปกลับของตัวแปร

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

สรุปการเรียนLecture[2]"Pointer"

"POINTER"
ได้รู้ว่าตัวแปร"Pointer"ในการเขียนโปรแกรมมีหน้าที่ทำอะไรและเป็นตัวแปรแบบไหน
ได้รู้ว่าการประกาศค่าตัวแปร"Pointer"มีกี่ชนิดด้วยกัน
เช่น:char *prt=เป็นการประกาศตัวแปร prt ของ Pointer ที่ใช้เก็บตำแหน่งเริ่มต้นที่จะเก็บ character
ตัว Pointer จะเป็นตัวที่อ้างอิงเพิ่อส่งค่ากลับไปกลับมาของตัวแปร และมีเครื่องหมายที่ใช้ในการเอาค่าตัวแปรที่เก็บไว้ใน"Address"ออกมาใช้มี2เครื่องหมาย คือ &,*
เครื่องหมาย & จะใช้เมื่อต้องการเอาตำแหน่งค่าของตัวแปรที่อยู่ในหน่วยความจำออกมาใช้ ส่วน เครื่องหมาย * จะมีหม้าที่ 2 ลักษณะ
-ใช้ในการประกาศ parameter ว่าเป็นตัวแปร Pointer
-ใช้เป็น dereferencing operator ใช้ตอนที่ต้องการนำค่าที่อยู่ในตำแหน่งตัวที่ pointer ที่เก็บอยู่ออกมาแสดง
DTS 03-01-07-2552

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

structure

#include "stdio.h"
struct time
{
int day;
int month;
int year;
};
struct CustomerMoveGang
{
char name[30];
int age;
char sex[10];
char id[20];
char email[50];
int dis;

struct time date;
}details;
void input_data()
{
printf("customer MovEGang\n");
printf("Name : ");
scanf("%s",&details.name);
printf("Age : ");
scanf("%d",&details.age);
printf("Sex : ");
scanf("%s",&details.sex);
printf("ID : ");
scanf("%s",&details.id);
printf("Email : ");
scanf("%s",&details.email);
printf("Give Discount : ");
scanf("%d",&details.dis);
printf("Day : ");
scanf("%d",&details.date.day);
printf("Month : ");
scanf("%d",&details.date.month);
printf("Year : ");
scanf("%d",&details.date.year);
}
void show_data()
{
printf("Information customer MovEGang\n");
printf("Your Name : %s\n",details.name);
printf("Your Age : %d\n",details.age);
printf("Sex : %s\n",details.sex);
printf("ID : %s\n",details.id);
printf("Email : %s\n",details.email);
printf("Discount : %d % \n",details.dis);
printf("Date : %d-%d-%d",details.date.day,details.date.month,details.date.year);
}
main()
{
input_data();
show_data();
}

File-Vedio*

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

*ประวัติประจำผมคับ


ชื่อ.นาย ภูชิต อินทร์อำนวย(เบนซ์)คับ

NAME:PUCHIIT INUMNUY (BENZ)

รหัส.50152792060

จบการศึกษาชั้นมธัยมศึกษาปีที่.6 จากโรงเรียน"อู่ทอง"

จังหวัด สุพรรณบุรี

ขณะนี้กำลังศึกษาต่อที่ "มหาวิทยาลัยราชภัฏสวนดุสิต"

หลักสูตรการบริหารธุรกิจ (คอมพิเตอร์ธุรกิจ)

E-mail address:u50152792060@gmail.com

Tel:086-4119004


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

สรุปการเรียนLecture[2]"Array and Record"DTS 02-24-06-2552

อะเรย์เป็นโครงสร้างข้อมูลที่มีลักษณะเป็นเช็ต สามาชิกที่อยู่ในเช็ตมีจำนวนที่คงทีและแต่ละตัวจะใช้เนื่อที่ในการจัดเก็บที่มีขนาดเท่ากัน
อะเรย์จะมีอยู่ด้วยกัน 2 แบบ คืออะเรย์มิติเดียวกับอะเรย์หลายมิติขึ้นอยู่กับการกำหนด Subscrupt จะต้องมีค่ามากกว่า หรือเท่ากับขอบเขตล่าง และน้อยกว่าหรือเท่ากับขอบเขตบน
อะเรย์ 1มิติจะมีรูปแบบ data-type array-name[expression]และการส่งค่าของอะเรย์ให้กับฟังก์สามารถทำได้ 2 แบบ
1.กำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน ทำได้โดยอ้างถึงชื่ออะเรย์พร้อมระบุ subscript
2.ส่งอะเรย์ทั้งชุดให้ฟังก์ชันทำได้โดยอ้างถึงชื่ออะเรย์โดยไม่มี subscript
อะเรย์แบบ 2 มิติจะมีรูปแบบ type array-name[n] [m];
ต่อมาคือเรื่องของ Stucture จะเป็นคำหลักเสอมในการประกาศตัวแบบ Structure จะเป็นตัวแปรธรรมดา พอยน์เตอร์ อะเรย์ หรืออื่นๆก็ได้
การใช้ structure กับ pointer จะใช้ตัวดำเนินการ &และการส่งผ่าน Structre ให้กับฟังก์ชันมี 2 แบบ
1.ส่งสามาชิกที่ล่ะตัว
2.ส่งที่เดียวทั้งกมด
การส่ง strucyure ให้กับฟังก์ชันจะส่งผ่านในรูปของพอยน์เตอร์ไปยัง Structre จะเหมือนกับส่งผ่านอะเรย์ให้กับฟังก์ชัน
*-*
DTS 02-24-06-2552