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

Dts 02-24-06-2552

สรุปบทเรียน



Array and Record

Array

ตัวแปรอาเรย์สามารถเก็บข้อมูลหลายๆข้อมูลไว้ได้โดยไม่ต้องใช้ตัวแปรหลายตัว เช่นถ้าต้องการเก็บอายุของเพื่อนทั้ง 20 คน ถ้าเราใช้ตัวแปรแบบ int เราจะต้องประกาศตัวแปร age1, age2, age3,.....,age20 ให้เป็นแบบ int ซึ่งเป็นการประกาศตัวแปรถึง 20 ตัวด้วยกัน แต่ถ้าใช้อาเรย์เราประกาศตัวแปร age ให้เป็นอาเรย์แบบ int เพียงตัวเดียวก็สามารถเก็บค่าทั้ง 20 ค่าได้แล้ว


อาเรย์ 1 มิติ(One-Dimensional Array)
เราสามารถสร้างตัวแปรอาเรย์ของข้อมูลชนิดต่างๆได้ไม่ว่าจะเป็นอาเรย์แบบ int, char, float
ดังตัวอย่างต่อไปนี้void main(){int age [5];double grade [5];char s [5];....}จากตัวอย่างเป็นการประกาศตัวแปรชื่อ age ให้เป็นอาเรย์ของข้อมูลชนิด int ที่มีขนาดเท่ากับ 5 ดังนั้นตัวแปร age จะสามารถเก็บเลขจำนวนเต็มได้ถึง 5 จำนวน สำหรับตัวแปร grade ถูกประกาศเป็นอาเรย์ของข้อมูลชนิด double และมีขนาดเท่ากับ 5 เช่นเดียวกัน เราจึงสามารถเก็บเลขทศนิยมไว้ในตัวแปร grade ได้ 5 จำนวน และการประกาศตัวแปร s ให้เป็นอาเรย์ของข้อมูลชนิด char ที่มีขนาด 5 ตัวอักษร จึงเก็บตัวอักษรได้ 5 ตัวเมื่อเราประกาศตัวแปรอาเรย์ทั้ง 3 ตัวคือ age, grade และ s แล้ว ในหน่วยความจำจะมีการจองพื้นที่เอาไว้ตามจำนวนที่กำหนด โดยตัวแปร age และ grade นั้นจะมีการเตรียมพื้นที่ว่างในหน่วยความจำสำหรับเก็บค่าตัวแปรละ 5 ค่า และตัวแปร s ก็มีการเตรียมพื้นที่เอาไว้เก็บตัวอักษร 5 ตัวการนำค่าใส่ลงไปในตัวแปรอาเรย์ตัวแปรอาเรย์นั้นสามารถเก็บค่าได้หลายๆค่า โดยแต่ละค่าก็จะเหมือนกับเป็นตัวแปร 1 ตัว เช่นถ้าเราประกาศตัวแปร int age [5] ก็เหมือนกับว่าเรามีตัวแปร age ถึง 5 ตัว ซึ่งแต่ละตัวนี้เราเรียกว่าสมาชิกของอาเรย์ การอ้างถึงสมาชิกของอาเรย์จะต้องใช้หมายเลขลำดับ โดยเริ่มจาก 0,1,2,...ไปเรื่อยๆจนถึง” ขนาดของอาเรย์ลบด้วย 1” เช่นถ้าเราสร้างอาเรย์ int age [5] การอ้างถึงสมาชิกของอาเรย์จะใช้หมายเลข 0 ถึง 4 ถ้าเรานำเอาค่า 20, 21, 23, และ 26 มากำหนดให้กับสมาชิกลำดับที่ 0, 1, 2 และ 3 ของอาเรย์ age ตามลำดับ เราจะเขียนโปรแกรมดังนี้int age [5];age [0] = 20;age [1] = 21;age [2] = 23;age [3] = 26;จะเห็นว่าตัวแปร age เป็นอาเรย์แบบ int ซึ่งเก็บเลขจำนวนเต็มได้ 5 ค่า แต่จากตัวอย่างเรากำหนดค่าให้กับสมาชิกลำดับที่ 0 ถึง 3 โดยไม่ได้กำหนดค่าให้กับสมาชิกลำดับที่ 4 เพราะว่าการใส่ข้อมูลลงในอาเรย์นั้นไม่จำเป็นจะต้องใส่ทุกๆช่องให้ครบจึงจะ ใช้งานได้ ช่องใดไม่ได้ใส่ค่าลงไป มันก็ไม่เก็บค่าอะไรไว้จะเป็นช่องว่างๆไปโดยอัตโนมัติอาเรย์ของข้อมูลชนิด char คือตัวแปรสตริงตัวแปรอาเรย์ของข้อมูลชนิด char อีกนัยหนึ่งก็คือตัวแปรแบบข้อความหรือตัวแปรสตริง(String) ตัวแปรสตริงคือการนำเอาตัวแปรแบบ char มาเรียงต่อๆกัน ซึ่งตัวแปร char ที่เรียงต่อกันก็เรียกได้ว่าเป็นตัวแปรอาเรย์ของข้อมูลชนิด char นั่นเอง จึงสรุปได้ว่า ”สตริง” กับ “อาเรย์ของ ข้อมูลชนิด char” คือสิ่งเดียวกันตัวแปรอาเรย์ของข้อมูลชนิด char จะแตกต่างจากอาเรย์ของ int, double หรือแบบอื่นๆ เพราะว่าสมาชิกตัวสุดท้ายของอาเรย์แบบ char จะใช้เก็บรหัสสิ้นสุดข้อความ ด้วยเหตุนี้ถ้าเราประกาศตัวแปรอาเรย์แบบ char เพื่อเก็บข้อความ เราจะต้องประกาศอาเรย์ให้มีขนาดมากกว่าจำนวนตัวอักษรของข้อความที่ต้องการ เก็บอย่างน้อย 1 ตัวอักษรสมมติว่าเราประกาศตัวแปรอาเรย์แบบ char เพื่อที่จะเก็บคำว่า “Computer” ซึ่งมีทั้งหมด 8 ตัวอักษร เราจะต้องประกาศตัวแปรอาเรย์แบบ char ที่มีขนาด 9 ตัวอักษร นอกจากนี้การกำหนดค่าให้กับตัวแปรอาเรย์แบบ char หรือตัวแปรสตริงนี้ยังสามารถทำไปพร้อมกับการประกาศตัวแปรได้เลย ดังนี้char s[5] = “GIRL”;หรือchar s[5] = { ‘G’, ‘I’, ‘R’, ‘L’ }

อาเรย์ 2 มิติ (Two-Dimensional Array)
อาเรย์ 2 มิติจะเก็บข้อมูลไว้ในลักษณะของตาราง การสร้างอาเรย์ 2 มิตินั้นเราจะเขียนโค้ดภาษาซีดังนี้int a[3][3];int b[2][3];การนำค่าที่ต้องการเก็บในอาเรย์เราจะต้องอ้างถึงลำดับของสมาชิกช่องนั้นๆ ทั้งลำดับในแนวนอนและลำดับในแนวตั้ง หรือจะมองในลักษณะของคู่ลำดับก็ได้ดังรูปต่อไปนี้int a[3][3];a[0][0] a[1][0] a[2][0]a[0][1] a[1][1] a[2][1]a[0][2] a[1][2] a[2][2]จะเห็นว่าหมายเลขลำดับของอาเรย์ในแต่ละแนวเริ่มต้นจาก 0 จนถึง “ขนาดในแนวนั้นลบด้วย 1” เช่น ถ้าประกาศอาเรย์ 2 มิติขนาด 3x3 ลำดับในแนวนอนก็จะเริ่มจาก 0 ถึง 2 รวมทั้งหมด 3 ช่อง และในแนวตั้งก็จะเริ่มจาก 0 ถึง 2 รวมทั้งหมด 3 ช่องเช่นกัน

Structure

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

เราสามารถประกาศ Structure หนึ่งเป็นสมาชิกของอีก Structure ก็ได้แต่ต้องประกาศตัวที่จะนำไปใส่ไปไว้อีก Structure ก่อน


การบ้าน


#include
struct date{
int day;
int month;
int year;
};
struct ticket{
char name[20];
char last_name[20];
char telephone[15];
char place[30];
int seat;
float time[5];
float price;
struct date date1;
}ticket1;
void input_data()
{
printf("ticket data\n");
printf("day dd=");
scanf("%d",&ticket1.date1.day);
printf("month mm=");
scanf("%d",&ticket1.date1.month);
printf("year yyyy=");
scanf("%d",&ticket1.date1.year);
printf("Name =");
scanf("%s",&ticket1.name);
printf("Last name =");
scanf("%s",&ticket1.last_name);
printf("telephone=");
scanf("%s",&ticket1.telephone);
printf("place =");
scanf("%s",&ticket1.place);
printf("seat=");
scanf("%d",&ticket1.seat);
printf("time =");
scanf("%f",&ticket1.time);
printf("Price =");
scanf("%f",&ticket1.price);
}
void show_data()
{
printf("Display Data of ticket\n");
printf("Day=%d-%d-%d\n",ticket1.date1.day,ticket1.date1.month,ticket1.date1.year);
printf("name= %s Last Name= %s\n",ticket1.name,ticket1.last_name);
printf("telephone=%s\n",ticket1.telephone);
printf("place= %s\n",ticket1.place);
printf("seat=%d\n",ticket1.seat);
printf("time= %f\n",ticket1.time);
printf("price=%f\n",ticket1.price);
}
main()
{
input_data();
show_data();
}

VDO แนะนำตัว

วันเสาร์ที่ 27 มิถุนายน พ.ศ. 2552

ประวัติ


นางสาว จาริยา พิมพ์สอาด

Miss Jariya Pimsa-art

รหัสประจำตัว 50152792030

ชื่อเล่น น้ำ

งานอดิเรก : เล่น Internet , ฟังเพลง , ดูหนัง

วันเดือนปีเกิด : 11 พฤศจิกายน 2531

สถานภาพ : โสด

ศาสนา : พุทธ

ภูมิลำเนา : จังหวัดประจวบคีรีขันธ์

คติประจำใจ : อย่าคิดว่าทำไม่ได้ ถ้ายังไม่ได้ลองทำ

หลักสูตร การบริหารธุรกิจ (คอมพิวเตอร์ธุรกิจ) คณะวิทยาการจัดการ มหาวิทยาลัยราชภัฎสวนดุสิต

e-mail address : u50152792030@gmail.com