วันจันทร์ที่ 13 กรกฎาคม พ.ศ. 2552
DTS03-30/06/2009
ที่จัดเก็บจะต้องเท่ากันทุกช่องโดยทั่วไปอาร์เรย์จะมี 1 มิติ 2 มิติ และหลายมิติ
อาร์เรย์ 1 มิติ
เป็นตัวแปรที่เก็บข้อมูลเพียงแถวเดียวหรือชั้นเดียวเช่น
ในการคำนวณหาสมาชิกของอาร์เรย์ 1 มิติทำได้ดังนี้
จำนวนสมาชิกของอาร์เรย์ = (u-l)+1
u คือค่าสูงสุด หรือ Upper bound
l คือค่าต่ำสุด หรือ Lower bound
ส่วน 2 มิติสามารถหาได้ดังนี้
จำนวนสมาชิก = M x N
รูปแบบของการประกาศตัวแปรอาร์เรย์มิติเดียว
type array-name[n];
type คือ ชนิดของตัวแปรอาร์เรย์ที่จะสร้างขึ้น เช่น int,float,char เป็นต้น
array-name คือ ชื่อของตัวแปรอาร์เรย์ที่ต้องตั้งให้สื่อและเข้ากับชนิดของตัวแปร
และจะต้องไม่ไปตรงกับคำสงวนของภาษาซีด้วย
n คือขนาดของตัวแปรอาร์เรย์ที่จะสร้างขึ้น
เช่น int num[3];
การกำหนดข้อมูลให้กับตัวแปรอาร์เรย์
เราสามารถกำหนดไปพร้อมกับการประสร้างตัวแปรได้เลย เช่น
type array-name = {value-1,value-2,....value-n};
value-1,value-2 คือข้อมูลที่กำหนดให้ตัวแปรและต้องเป็นชนิดเดียวกับตัวแปรนั้น ๆ ด้วย เช่น
int number[3] = {23,-123,43};
char name[5] = "BENZ";
อาร์เรย์ 2 มิติ
มีลักษณะการกำหนดตำแหน่งแบบแถวและคอลัมน์
รูปแบบของการประกาศตัวแปรอาร์เรย์ 2 มิติ
type array-name[n][m];
type คือ ชนิดของตัวแปรอาร์เรย์ที่จะสร้างขึ้น เช่น int,float,char เป็นต้น
array-name คือ ชื่อของตัวแปรอาร์เรย์ที่ต้องตั้งให้สื่อและเข้ากับชนิดของตัวแปร
และจะต้องไม่ไปตรงกับคำสงวนของภาษาซีด้วย
n คือ จำนวนแถวของตัวแปรอาร์เรย์
m คือ จำนวนคอลัมน์ของตัวแปรอาร์เรย์
เช่น int num[3][5];
Structure โครงสร้างข้อมูล
หมายถึง การที่นำข้อมูลที่มีความเกี่ยวข้องกัน เช่น ข้อมูลของนักศึกษาที่อาจประกอบด้วย
ชื่อ,นามสกุล,อายุ,เพศ,ชั้นเรียน มารวมกันและจัดทำเป็นโครงสร้างข้อมูล ดังภาพ
แต่ในการเรียนใช้งานจริง ๆ เราจะต้องสร้างตัวแปรชนิดโครงสร้างขึ้นมาใช้งานจริง ๆ
ไม่สามารถใช้โครงสร้าง student ได้
การประกาศตัวแปรชนิดโครงสร้าง
struct name {
type var-1;
type var-2;
.....
type var-n;
} struct-variable;
struct คือ คำที่ใช้กำหนดโครงสร้างข้อมูล
(ต้องมีเสมอ)
name คือ ชื่อของโครงสร้างข้อมูลที่จะสร้างขึ้น
type var-1,type var-2 คือชื่อตัวแปร
ในกลุ่มโครงสร้างข้อมูล
struct-variable คือชื่อของตัวแปรชนิดโครงสร้าง
ที่ต้องการสร้างขึ้นจะมีลักษณะโครงสร้างภายใน
เหมือนกับโครงสร้างข้อมูลที่กำหนด
** กรณีประกาศตัวแปรโครงสร้างหลายตัวใช้คอมม่าขั้นหรือประกาศอีกแบบ เช่น
struct struct-name variable;
ตัวอย่าง
struct student student1;
*** เราสามารถประกาศ Structure หนึ่งเป็นสมาชิกของอีก Structure ก็ได้
แต่ต้องประกาศตัวที่จะนำไปใส่ไปไว้อีก Structure ก่อน
การอ้างถึงสมาชิกในตัวแปรชนิดโครงสร้าง
struct-name.variable-name
struct-name คือ ชื่อของตัวแปรชนิดโครงสร้าง (ไม่ใช่ชื่อโครงสร้าง)
. คือเครื่องหมายขั้นระหว่างชื่อตัวแปรชนิดโครงสร้างกับตัวแปรที่เป็นสมาชิก
variable-name คือชื่อของตัวแปรที่เป็นสมาชิก
การกำหนดข้อมูลให้ตัวแปรชนิดโครงสร้าง
เราสามารถกำหนดได้เหมือนตัวแปรทั่วไปแต่ต้องอ้างอิงถึงสมาชิกให้ถูกต้อง เช่น
student1.age = 15;
student1.sex = 'M';
กรณีถ้าเป็นอาร์เรย์ของตัวแปรชนิดโครงสร้างสามารถเขียนได้ดังนี้
student1[0].age = 15;
student1[1].sex = 'M';
วันจันทร์ที่ 29 มิถุนายน พ.ศ. 2552
DTS02-23/06/2009
โครงสร้างข้อมูลคือความสัมพันธ์ระหว่างข้อมูลที่อยู่ในโครงสร้างนั้นๆรวมทั้งกระบวนการในกรจัดการโครงสร้างข้อมูล ประกอบด้วยคำสองคำคือ
1.โครงสร้างคือความสัมพันธ์ของสมาชิก
2.ข้อมูลคือข้อเท็จจริงต่างๆซึ่งอาจจะป็นตัวเลขหรือไม่เป็นก็ได้
ประเภทของโครงสร้างข้อมูลแบ่งอกเป็น2ประเภทคือ
1.โครงสร้างข้อมูลทางกายภาพ
2.โครงสร้างข้อมูลทางตรรกะ
ในการเลือกใช้โครงสร้างข้มูลเบดนั้นต้องคำนึงถึง
1.โครงสร้างข้อมูลนั้นสามารถสร้างความสัมพันธ์ให้กับข้อมูลชุดนั้น
2.โครงสร้างนั้นต้องง่ายต่อการดำเนินการในระบบงาน
3.การแทนที่ข้อมูลในหน่วยความจำหลัก ในการเขียนโปรแกรมคอมพิวเตอร์ จะแทนที่ข้อมูลในหน่วยความจำหลักอยู่
3.1การแทนข้อมูลแบบสแตติก
3.2การแทนที่ข้อมูลแบบไดนามิก
4.ขั้นตอนวิธี ขั้นตอนวิธีที่ดีควรมีคุณสมบัติดังนั้
1.มีความถูกต้อง
2.ใช้เวลาในการปฏิบัติงานน้อยที่สุด
3.สั้นกระชับมีเฉพาะขั้นตอนที่จำเป็น
4.ใช้หน่อยความจำน้อย
5.มีความยือหยุ่นน้อย
6.ใช้เวลาในการพัฒนาน้อย
7.ง่ายต่อความเข้าใจ
วันอาทิตย์ที่ 28 มิถุนายน พ.ศ. 2552
DTS02-23/06/2009
สรุปบทเรียน
การบ้าน
#include <stdio.h>
#include <string.h>
void main()
{
struct computer {
char name[50];
char model[50];
char processor[30];
float speed;
int hard;
char Graphic[50];
char Operating[20];
float weight;
char price[20];
};
struct computer notebook;
strcpy(notebook.name,"Apple");
strcpy(notebook.model,"MacBook Air");
strcpy(notebook.processor,"intel core 2 duo");
notebook.speed=2.13;
notebook.hard=128;
strcpy(notebook.Graphic,"nVidia GeForce 9400M GS");
strcpy(notebook.Operating,"Mac OS 10.5");
notebook.weight=1.36;
strcpy(notebook.price,"65007");
printf("**********NoteBook********\n\n");
printf(" Name:%s\n",notebook.name);
printf(" model:%s\n",notebook.model);
printf(" processor:%s\n",notebook.processor);
printf(" speed:%f GHz \n",notebook.speed);
printf(" hard disk:%d gb\n",notebook.hard);
printf(" Graphic system:%s\n",notebook.Graphic);
printf(" Operating System:%s\n",notebook.Operating);
printf(" weight:%f kg \n",notebook.weight);
printf(" price:%s\n",notebook.price);
}
วันจันทร์ที่ 22 มิถุนายน พ.ศ. 2552
ประวัติ

Mr. Jirawat Powasawat
หลักสูตร การบริหารธุรกิจ(คอมพิวเตอร์ธุรกิจ) คณะวิทยาการจัดการ
มหาวิทยาลัยราชภัฏสวนดุสิต
E-Mail : u50132792049@gmail.com