TiMe

Get this widget | Track details | eSnips Social DNA

ฟังวิทยุออนไลน์ ที่ izeemusic

ฟังวิทยุออนไลน์ ที่ izeemusic

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

สแตกในชีวิตประจำวัน

สแตกคือการนำสิ่งที่เข้าไปทีหลังออกมาก่อน (Last in First out) "LIFO" หรือ "เข้าหลังออกก่อน"
1.การปริ้นของเครื่องปริ้น คือ หน้ากระดาษที่สั่งคำสั่งปริ้น สมมติ มี 10หน้า ในส่วนของ"หน้าที่10" จะออกมาก่อนและเรียงลำดับไปจนถึง "หน้าที่1"

Dts 5-22/7/52

สรุป สแตก
ลักษณะที่สำคัยของสแตกคือ ข้อมูลที่เราใส่หลังสุดจะถุกนำออกมาเป็นลำดับแรกสุด เรียกคุณสมบัตินี้เรียกว่า
LIFO(Last in First out) ก
ารทำงานของสแตกจะประกอบไปด้วย 3กระบวนการคือ
1. Push คือ การนำข้อมูลใส่ลงไปในสแตกและต้องทำการตรวจสอบว่าสแตกเต็มหรือไม่
2. Pop คือ การนำข้อมูลออกจากส่วนบนสุด
3. Stack Top คือ เป้นการคัดลอกข้อมูลที่อยู่บนสุดของสแตก แต่ไม่ได้นำเอาข้อมูลนั้นออกจากสแตก

ตัวอย่างการ Push Stack

DtS 4-22/7/52



สรุป ลิ้งลิสต์
กระบวนการทำงาน Traverse = หน้าที่ เยือนหรือท่องไปในลิสต์เพื่อเข้าถึงและประมวลผล
กระบวนการทำง่น Retrieve Node = คือทำหน้าที่เรียกคืนและหาตำแหน่งข้อมูลจากลิสต์
ฟังก์ชั้น Empty List เป็นการทดสอบว่าข้อมูลที่นำเข้า ถ้าเป็นจริง ก็ต่อเมื่อลิสต์ว่าง และท้าเป็นเท็จ ก้อต่อเมื่อลิสต์ไม่ว่าง
ฟังก์ชั่น Full List เป็นการทดสอบว่าลิสต์เต็มหรือไม่
ฟังก์ชั่น List Count นับจำนวณข้อมูลที่อยู่ในลิสต์
กระบวนงาน Destroy list ก็คือทำลายลิสต์



ตัวอย่าง Create









ตัวอย่าง delete

ฟังก์ชัน < stdio.h > และ < iosteam.h > ในการเขียนสูตรคูณ

แบบใช้ stdio.h
#include"stdio.h"
#include"conio.h"
void main()
{
int num1,num2;
clrscr();
printf("Please enter integer number : \n");
printf("First number : ");
scanf("%d",&num1);
printf("Second number : ");
scanf("%d",&num2);

if (num1>num2)
{

printf("Number");
printf("\nFirst number is : %d",num1);
printf("\nSecond number is : %d",num2);
printf("\nFirst number is greater than second number\a\n");
getch();
}
else
{
printf("\n\n****************************\n");
printf("****************************\n");
printf("****************************\n");
printf("Number");
printf("\nFirst number is : %d",num1);
printf("\nSecond number is : %d",num2);
printf("\nSecond number is greater than or equal first number\a\n");
}
getch();
}



แบบ iosteam.h
#include
#include
void main()
{
int num1,num2;
clrscr();
cout<< "Please enter integer number : \n";
cout<< "First number : ";
cin>>num1;
cout<< "\nSecond number : ";
cin>>num2;

if (num1>num2)
{

cout<<"Number :";
cout<<"\nFirst number is : "<< num1;
cout<<"\nSecond number is : "<< num2;
cout<<"\nFirst number is greater than second number\a\n";
getch();
}
else
{

cout<<"You enter 2 number :";
cout<<"\nFirst number is : "<< num1;
cout<<"\nSecond number is : "<< num2;
cout<<"\nSecond number is greater than or equal first number\a\n";
}
getch();
}

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

DtS 3-1/7/52

สรุป Pointer เป็นตัวแปรชนิดหนึ่งที่ทำหน้าที่เก็บตำแหน่งของที่ อยู่(Address) ของตัวแปรที่อยู่ในหน่วยความจำ
รูปแบบของมันก็จะมีลักษณะ Type *variable-name คือ Type = ชนิดของตัวแปร // ส่วน * = เป็นเครื่องหมายที่แสดงว่าตัวแปรที่ตามหลังเครื่องหมายนี้เป็นตัวแปรพ้อยเตอร์ //variable-name = เป็นตัวแปรที่ประกาศว่าเป็นชนิดพ้อยเตอร์

ตัวอย่างเช่น count100 Address2000 คือณ ตำแหน่งที่2000 countมีค่าเท่ากับ100
สตริง (String)หรือสตริงของอักขระ (Character String) เป็นข้อมูลที่ประกอบไปด้วย ตัวอักษร อักขระ ตัวเลข
ความยาวของสตริง จะถูกกำหนดโดยขนาดของสตรีง ต้องจองเนื้อที่ให้กับ(\0) ด้วย
การกำหนดค่าให้กับสตริงนั้นให้ใช้เครื่องหมาย Double quote("")
ถ้าสมมุติต้องการสตริงสำหรับข้อมูลยาวไม่เกิน10อัขระต้องกำหนดขนาดอะเรย์11ช่อง เพื่อเก็บ null character(\0) ด้วย

แบบฝึกหัด ท้ายบทที่2
1.ให้นักศึกษากำหนดค่าของ Array1มิติ และ Array2มิติ
ตอบ ตัวอย่าง Array 1 มิติ

#include "stdio.h"
#include "conio.h"
main()
{
int a[3];
clrscr();
a[0] = 1;
a[1] = 5;
a[2] = 2;
printf("a[0] = %d\n",a[0]);
printf("a[1] = %d\n",a[1]);
printf("a[2] = %d\n",a[2]);
}

ตัวอย่าง Array 2 มิติ
Array 2 มิติ
พิจราณาตารางที่ 2 ซึ่งแสดงจำนวนของนักศึกษาในชั้นปีต่างๆ ของคณะ วิทยาศาสตร์ วิศวกรรมศาสตร์ อักษรศาสตร์ รัฐศาสตร์ และบัญชี ข้อมูลในตารางดังกล่าว จะต้องใช้กับ Array 2 มิติ

ตารางที่ 2 จำนวนนักศึกษาของคณะต่างๆ
คณะ ชั้นปี
1 2 3 4
วิทยาศาสตร์ 200 175 175 175
วิศวกรรมศาสตร์ 400 390 385 385
อักษรศาสตร์ 150 150 150 150
รัฐศาสตร์ 100 100 98 98
บัญชี 200 200 195 195

#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
main()
{
char student[4];
int num_student[5][4],i,j;
char fac[20];
clrscr();
for(i=0;i<=4;++i){ printf("Faculty : "); gets(fac); for(j=0;j<=3;++j){ printf("student[%d][%d] = ",i,j); gets(student); num_student[i][j] = atoi(student); } } } 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 Data Student
{
char name[];
char surname[10];
char lastname;
int age;
int id;
int junior;
}data_s;
void input_data()
{
printf("Data Student\n");
printf("Name :");
scanf("%s",&data_s.name);
printf("surname: ");
scanf("%s",&data_s.surname);
printf("Last Name");
scanf("%s",&data_s.lastname);
printf("Age : ");
scanf("%d",&data_s.age);
printf("Id: ");
scanf("%d",&data_s.id);
printf("Junior :");
scanf("%d",&data_s.junior);

}
void show_data()
{
printf("\n\nData you\n");
printf("Name is %s\n",data_s.name);
printf("Sur Name is %s\n",data_s.surname);
printf("Lastname is %s\n",data_s.lastname);
printf("Age is %d\n",data_s.age);
printf("Id is %d\n",data_s.id);
printf("Junior is %d\n",data_s.junior);
printf("Thank You Student so cute!!");
}
main()
{
input_data();
show_data();
}

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