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

Stack ที่เราเจอในชีวติประจำวัน

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

dts05 23/07/2009

สัปดาห์นี้ ได้เรียนเกี่ยวกับเรื่อง Stack
Stack เป็นโครงสร้างข้อมูลลิเนียร์ลิสต์ ที่มีคุณสมบัติที่ว่า
การเพิ่มหรือการลบข้อมูลในแสตก กระบวนการทำงานของ Stack มี
3 กระบวนการได้แก่ 1.Push
2.Pop
3.Stack Top
การแทนที่ข้อมูล Stack แบบลิงค์ลิสต์มี 2 ส่วนคือ
Head Node ประกอบด้วย top pointer และจำนวนสมาชิกในสแตก
และก็ Data Node ประกอบด้วย ข้อมูล และ พอยเตอร์ เป็นต้น

การเขียนโปรแกรมแบบ iostream.h กับ stdio.h

<เขียนโปรแกรมโดยใช้ "stdio.h">

#include
main()
{
int amount,price,pay;
printf("Jacky Shop:\n");
printf("===============\n");
printf("Amount :");
scanf("%d",&amount);
{
printf("Price : ");
scanf("%d",&price);
pay=amount*price
printf("You must pay %d baht\n",pay);
}
printf("===============\n");
}


<เขียนโปรแกรมโดยใช้ iostream.h >

#include
main()
{
int amount,price,pay;
cout<<"Jacky Shop\n";
cout<<"==================\n";
cout<<"Amount :";
cin>>amount;
{
cout<<"Enter Price : ";
cin>>price;
pay=amount*price
cout<<"You must pay "<<<" baht\n";
}
cout<<"===================\n";
}

dts04 15/07/2009

ในสัปดาห์นี้ เรียนเกี่ยวกับเรื่อง Linked List เกี่ยวกับพวกฟังก์ชั่น
แล้วก็เกี่ยวกับกระบวนการทำงาน ว่ามีหน้าที่อะไร และผลลัพธ์ที่ได้ เช่น
กระบวนงาน Insert Node และ กระบวนงาน Delete Node
Linked List แบบซับซ้อน เป็นต้น

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

dts03 01/07/2009

Pointer

จากที่เรียนในสัปดาห์ที่แล้ว จะเรียนเรื่องเกี่ยวกับ pointer
pointer เป็นตัวแปรที่ทำหน้าที่เก็บตำแหน่งที่อยู่ address
เช่น int*a; คือ ประกาศตัวแปร a เปนตัวแปร pointer
ที่ไช้ตัวเก็บตำแหน่งเริ่มต้นที่จะใช้เก็บ integer
ได้เรียนถึงกับการใช้เครื่องหมายของ pointer
รวมไปถึงการใช้ตัวแปร pointer กับ array

การบ้าน

1. ให้นักศึกษากำหนดค่าของ Array 1 มิติ และ Array 2 มิติ
Array 1 มิติ
Char name[15]; เช่น
#include"stdio.h"
void main()
{
char name[15];
printf (“name?\n”);
scanf (“%s”, s);
printf (“name=%s. \n”, s);
}
array 2 มิติ
int num[3][3];
เราก็จะได้อาเรย์ชื่อ num มี 3 แถว แถวละ3 คอลัมน์
นั้นก็คือ
int num[3][3];
num [0][0] num [1][0] num [2][0]
num [0][1] num [1][1] num [2][1]
num [0][2] num [1][2] num [2][2]

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
#include"stdio.h"
struct Water
{
int id;
char name[30];
int time;
int date;
int month;
int year;
int itemid;
int price;
}
water;
void input_data()
{
printf("Jacky drink shop\n");
printf("ID: ");
scanf("%d",&water.id);
printf("Name: ");
scanf("%s",&water.name);
printf("Time: ");
scanf("%d",&water.time);
printf("Date: ");
scanf("%d",&water.date);
printf("month: ");
scanf("%d",&water.month);
printf("Year: ");
scanf("%d",&water.year);
printf("Item ID: ");
scanf("%d",&water.itemid);
printf("Price: ");
scanf("%d",&water.price);
}
void show_data()
{
printf("\n\nData your is");
printf("ID: ");
printf("%d\n",water.id);
printf("Name: ");
printf("%s\n",water.name);
printf("Time: ");
printf("%f\n",water.time);
printf("Date-month-year : %d-%d-%d\n",water.date,water.month,water.year);
printf("Item: ");
printf("%d\n",water.itemid);
printf("Price: ");
printf("%d\n",water.price);
}
main()
{
input_data();
show_data();
}

5. ให้นักศึกษาบอกความแตกต่างของการกำหนดตัวชนิด Array กับตัวแปร Pointer ในสภาพของการกำหนดที่อยู่ของข้อมูล
pointer จะใช้พื้นที่มากกว่า array เพราะต้องเพิ่มพื้นที่ส่วนหนึ่งสำหรับเก็บตำแหน่งที่อยู่ของข้อมูลตัวถัดไป
array เป็นตัวแปรชุดที่ใช้เก็บตัวแปรชนิดเดียวกันไว้ด้วยกัน
pointer เป็นตัวเก็บตำแหน่งที่อยู่ของหน่วยความจำ (Address) หรือเรียกว่า ตัวชี้