6. โครงสร้างข้อมูลแบบแฟ้ม

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ครั้งที่ 9 Function(ต่อ).
Advertisements

Introduction to C Introduction to C.
โครงสร้างโปรแกรมภาษา C
Processing Data Using MATLAB
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
Introduction to C Programming
ทบทวน & ลุยโจทย์ (Midterm)
BC322 ครั้งที่ 6 Text file BC322 : computer Programming (Week6)
ครั้งที่ 8 Function.
การรับค่าและแสดงผล.
สายอักขระและ การประมวลผลสายอักขระ (String and String manipulation)
Chapter 1 โครงสร้างข้อมูลและอัลกอริธึมส์
การใช้งานโปรแกรม Excel เบื้องต้น
การเรียงลำดับและการค้นหาแบบง่าย
Structure Programming
การใช้ PHP ติดต่อกับ Text File
ผังงานโปรแกรม (Program Flowchart)
Week 6 ประกาศค่าตัวแปร.
โครงสร้างภาษาซี.
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
ASP [# 9] การติดต่อข้อมูล Text Files
ตัวแปรชุด.
Lecture no. 10 Files System
Seree Chinodom Recordset Object Seree Chinodom Computer Science, BUU.
Seree Chinodom Connection Object Seree Chinodom Computer Science, BUU.
C Programming Lecture no. 6: Function.
SCC : Suthida Chaichomchuen
การจัดการแฟ้มข้อมูล.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 11 การเขียนโปรแกรมภาษาซี
หน่วยที่ 17 แอเรย์ของสตรัคเจอร์. แอเรย์ของข้อมูลสตรัคเจอร์ student_info student[30]; Student[0]Student[0].Name Student[0].Midterm Student[0].Assignment.
อาร์เรย์และข้อความสตริง
บทที่ 2 อาร์เรย์ อาร์เรย์ คือ ชุดของตัวแปรเดียวกัน ซึ่งสมาชิกของอาร์เรย์จะเป็นตัวแปรพื้นฐาน จำนวนสมาชิกในอาร์เรย์มีขนานแน่นอน และสมาชิกของอาร์เรย์แต้ละตัว.
อาร์เรย์ (Array).
ทำงานกับ File และStream
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
บทที่ 3 การวิเคราะห์ Analysis.
ตัวแปรกับชนิดของข้อมูล
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
Week 2 Variables.
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
Computer Programming for Engineers
การใช้ PHP ติดต่อกับ Text File
การใช้ PHP ติดต่อฐานข้อมูลMySQL
การออกแบบโครงสร้าง (Structured Design)
โครงสร้างภาษาซี #include <stdio.h> void main() {
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
หลักการเขียนโปรแกรม ( )
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การจัดการแฟ้มข้อมูล.
หลักการเขียนโปรแกรมเบื้องต้น
การกระทำทางคณิตศาสตร์
บทที่ 5 Function. Function Function เป็นการแบ่งโค้ดโปรแกรมออกเป็นส่วนย่อยๆ เพื่อทำงานบางอย่าง - โค้ดโปรแกรมเรียงต่อกันยาว - สามารถเรียกใช้ Function ซ้ำได้
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
การจัดการกับความผิดปกติ
การเขียนโปรแกรม (ภาษาซี)
โครงสร้างข้อมูลแบบ สแตก (stack)
1 สตริง (String) การประกาศค่าตัวแปรสตริง การกำหนดค่าสตริง การอ้างอิงตัวอักษรแต่ละตัวในสตริง ฟังก์ชั่นที่ใช้ในการจัดการสตริง ฟังก์ชั่นในการเปลี่ยนรูปแบบของสตริง.
File & Directory Management การจัดการไฟล์และไดเรคทอรี
รายการ (Lis t) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยีคอมพิวเตอร์เคลื่อนที่ คณะเทคโนโลยีสารสนเทศและการสื่อสาร Website : ict.up.ac.th/yeunyong.
Chapter 10 Data Files.
การรับและแสดงผลข้อมูลของภาษา C
Chapter 7: File แฟ้มข้อมูล Source of slides
ใบสำเนางานนำเสนอ:

6. โครงสร้างข้อมูลแบบแฟ้ม File Representation Manipulation created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

แฟ้มข้อมูล (Data File) เป็นรูปแบบการจัดเก็บข้อมูลอย่างต่อเนื่องไว้บนหน่วยความจำสำรอง โดยรวบรวมข้อมูลที่เกี่ยวข้องหรือสัมพันธ์กันมาไว้ในที่เดียวกัน ภายใต้ชื่อไฟล์ที่กำหนดขึ้น เพื่อสะดวกในการใช้งาน ได้แก่ การอ่าน (Reading) และการเขียน (Writing) ข้อมูลภายในไฟล์ created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

แฟ้มข้อมูล (Data File) ขั้นตอนการกระทำกับไฟล์ข้อมูล แบ่งได้เป็น 3 ขั้นตอนใหญ่ๆ ดังนี้ 1. เปิดไฟล์ข้อมูล (Opening File) 2. อ่าน (Reading) หรือเขียน (Writing) ไฟล์ข้อมูล 3. ปิดไฟล์ข้อมูล (Closing File) created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

แฟ้มข้อมูล (Data File) คำสั่งกระทำกับไฟล์ข้อมูล 1. Open input file filename1 , output file filename2 2. Read var.1, var.2, … from input file 3. Write var.1, var.2, … to output file 3. Close Files created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

ตัวอย่างการใช้งานไฟล์ Algorithm Exfile. 1. Open input file data , output file outfile 2. sum  0 , count  0 3. Loop (not end of file) 3.1 read name , score from input file 3.2 sum  sum + score 3.3 count  count + 1 4. mean  sum / count 5. write count , mean to output file 6. Close Files 7. end created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

ฟังก์ชันภาษาซีที่ใช้ทำงานกับไฟล์ fopen fclose fscanf fprintf fgetc , fgets fputc created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

การประกาศตัวแปรไฟล์ข้อมูล รูปแบบ FILE *fp; โดยที่ FILE = ประโยคที่ระบุว่าจะมีการใช้ไฟล์ข้อมูล *fp = ตัวแปร pointer ที่ชี้ยังไฟล์ข้อมูล File pointer created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

created by Dararat Saeleee , 344-211 Algorithmic Process & Programming การเปิดไฟล์ (fopen) รูปแบบ fp = fopen (filename, open-mode) เมื่อ filename = ชื่อไฟล์ข้อมูลที่ต้องการใช้งาน open-mode = กำหนดลักษณะการกระทำกับไฟล์ข้อมูล หมายเหตุ ถ้าเปิดไฟล์ข้อมูลไม่สำเร็จ ฟังก์ชัน fopen จะส่งค่า NULL กลับมา created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

created by Dararat Saeleee , 344-211 Algorithmic Process & Programming การเปิดไฟล์ (fopen) โหมดของไฟล์ข้อมูล (open-mode) Text mode Binary mode ความหมาย r หรือ rt rb เปิดไฟล์เพื่ออ่านอย่างเดียว w หรือ wt wb เปิดไฟล์เพื่อเขียนอย่างเดียว a หรือ at ab เปิดไฟล์เพื่อเขียนต่อท้ายข้อมูลเดิม r+ หรือ r+t r+b เปิดไฟล์เพื่ออ่านและเขียน w+ หรือ w+t w+b สร้างไฟล์เพื่ออ่านและเขียน a+ หรือ a+t a+b สร้างไฟล์เพื่อเขียนต่อท้ายข้อมูลเดิม created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

created by Dararat Saeleee , 344-211 Algorithmic Process & Programming การเปิดไฟล์ (fopen) เช่น FILE *fp, *inf, *outf; fp = fopen (“income.dat”, “r”); inf = fopen(“f:/algor/input.dat”, “r”); outf = fopen (“output.dat”, “w”); created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

created by Dararat Saeleee , 344-211 Algorithmic Process & Programming การเปิดไฟล์ (fopen) Example FILE *fp; fp = fopen (“test.txt”, “w”); หรือ FILE *fp; if (( fp= fopen (“test.txt”,”w”)) == NULL) { printf (“Error opening file.”); exit (-1); } created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

created by Dararat Saeleee , 344-211 Algorithmic Process & Programming การปิดไฟล์ (fclose) รูปแบบ fclose (fp); เมื่อ fp = ตัวแปร pointer ที่ชี้ไปยังไฟล์ข้อมูล Example FILE *fp; fp = fopen (“test.txt”,”w”); .... fclose (fp); created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

การบันทึกข้อมูลลงไฟล์ (fprintf) รูปแบบ fprintf (fp,“format”,variables); เมื่อ fp = ตัวแปร pointer ที่ชี้ไปยังไฟล์ข้อมูล format = รูปแบบการบันทึกข้อมูล variables = ตัวแปรที่มีค่าข้อมูลที่จะบันทึกลงไฟล์ created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

การบันทึกข้อมูลลงไฟล์ (fprintf) ตัวอย่าง fprintf (fp, “%d”, num); fprintf (outf, “%d %s”, num, name); fprintf (ofp,”%s %f”, std.name, std.score); created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

การอ่านข้อมูลจากไฟล์ (fscanf) รูปแบบ fscanf (fp,“format”,variables); เมื่อ fp = ตัวแปร pointer ที่ชี้ไปยังไฟล์ข้อมูล format = รูปแบบการอ่านข้อมูล variables = ตัวแปรที่รับค่าข้อมูลที่อ่านขึ้นมาจากไฟล์ created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

การอ่านข้อมูลจากไฟล์ (fscanf) เช่น fscanf (fp, “%d”, &num); fscanf (inf, “%d %s”, &num, name); fscanf (ifp,”%s %f”, std.name, &std.score); created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

การตรวจสอบจุดสิ้นสุดไฟล์ (feof) เป็นการตรวจสอบการสิ้นสุดของข้อมูลในไฟล์หรือการจบไฟล์ ถ้าสิ้นสุดไฟล์แล้ว จะส่งตัวเลขที่ ‘ไม่ใช่ 0’ กลับมา รูปแบบ feof (fp); เมื่อ fp = ตัวแปร pointer ที่ชี้ไปยังไฟล์ข้อมูล created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

การตรวจสอบจุดสิ้นสุดไฟล์ (feof) เช่น fscanf (….); while (!feof (fp)) { …. } created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

ตัวอย่างการใช้งานไฟล์ FILE *ifp , *ofp; int sum = 0; count = 0; ifp = fopen (“data.dat”,”r”); ofp = fopen (“outfile.dat”,”w”); fscanf (ifp,”%s %d”, name, &score); while (! feof (ifp)) { sum += score; count++; fscanf (ifp,”%s %d”,name, &score); } mean = (float) sum / count; fprintf (ofp,”%d %f”,count , mean); fclose (ifp); fclose (ofp); created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

การประมวลผลไฟล์ข้อมูลแบบข้อความ ฟังก์ชันสำหรับอ่านข้อมูลจากไฟล์ในรูปแบบข้อความ (String) เข้ามาเก็บที่ตัวแปรอาร์เรย์ หรือจนกว่าจะพบ “\n” หากเกิดข้อผิดพลาด จะส่งค่า null กลับมา รูปแบบ fgets (var,num,fp); เมื่อ var = ตัวแปรอาร์เรย์เก็บข้อความที่อ่านจากไฟล์ num = จำนวนไบต์ข้อมูลที่ต้องการอ่านต่อครั้ง fp = ตัวแปร pointer ที่ชี้ไปยังไฟล์ข้อมูล created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

ฟังก์ชันใช้สำหรับข้อความ (String) เช่น char data [20]; char infor [80]; fgets (data, 20, fp); fgets (infor, 80, stdin); created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

การประมวลผลไฟล์ข้อมูลแบบข้อความ ฟังก์ชันสำหรับบันทึกข้อมูลเป็นข้อความลงในไฟล์ รูปแบบ fputs (var,fp); เมื่อ var = ตัวแปรอาร์เรย์เก็บข้อความที่จะบันทึกลงไฟล์ fp = ตัวแปร pointer ที่ชี้ไปยังไฟล์ข้อมูล หากเกิดข้อผิดพลาด จะส่งค่า null กลับมา created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

ฟังก์ชันใช้สำหรับข้อความ (String) เช่น char data [20]; char infor [80]; fputs (data, fp); fputs (infor, stdout); created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

ฟังก์ชันใช้สำหรับตรวจสอบข้อผิดพลาด ferror() เป็นการตรวจสอบการผิดพลาดที่เกิดขึ้นจากการอ่านข้อมูล ถ้าเกิดการผิดพลาดขึ้น จะส่งค่าตัวเลขที่ไม่ใช่ 0 กลับมา รูปแบบ ferror (fp); เมื่อ fp = ตัวแปร pointer ที่ชี้ไปยังไฟล์ข้อมูล created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

created by Dararat Saeleee , 344-211 Algorithmic Process & Programming Class Exercise กำหนดอาเรย์ชื่อ table มีค่าดังนี้ A 4 B+ 3.5 B 3 C+ 2.5 C 2 D+ 1.5 D 1 E 0 นศ.คนหนึ่งต้องการโปรแกรมช่วยคำนวณเกรดเฉลี่ยเพื่อวางแผนการเรียน จึงขอให้ท่านเขียนโปรแกรม อ่านข้อมูลรหัสวิชา ชื่อรายวิชา จำนวนหน่วยกิตและเกรดที่ได้ของแต่ละรายวิชา (จำนวนหน่วยกิตอาจเท่ากับ 1,2,3,4 และไม่ทราบจำนวนรายวิชา) จากแฟ้มข้อมูล คำนวณหาค่าเกรดเฉลี่ยโดยใช้อาเรย์ table created by Dararat Saeleee , 344-211 Algorithmic Process & Programming

created by Dararat Saeleee , 344-211 Algorithmic Process & Programming