โพลหาความถี่
โพลหาความถี่
ที่มาที่ไป
โปรแกรมนี้เกิดขึ้นจากความต้องการฝึกให้นักศึกษาเรียนรู้เรื่อง array, split และ การอ่านข้อมูลจากแฟ้มแบบ CSV แยกข้อมูลไปหาค่าเฉลี่ย จึงออกแบบงานมอบหมายให้ไปเก็บข้อมูลด้วยแบบสอบถาม แล้วข้อมูลที่ได้ก็จะช่วยให้นักศึกษากลุ่มนี้ ทราบว่ามีอาจารย์ท่านใดบ้างที่ต้องการมี homepage ของตนเอง สอดรับกับบทบาทที่นักศึกษากลุ่มนี้เป็นสมาชิกของชมรมเว็บมาสเตอร์ จะได้เป็นโอกาสให้นักศึกษาไปให้ความช่วยเหลืออาจารย์ที่มีความต้องการต่อไป
วัตถุประสงค์
1. ทบทวน array และเป็นกรณีศึกษาในการฝึกประมวลผล
2. ฝึกให้นักศึกษาออกเก็บข้อมูลมาใช้งาน
3. นำข้อมูลจากการประมวลผล ไปทำโครงงานช่วยอาจารย์
4. ฝึกให้นักศึกษาทำงานเป็นกลุ่ม
ขั้นตอนการทำงาน
1. เตรียมความพร้อม (ทำกลุ่ม กำหนดวัตถุประสงค์ และประเด็น)
2. ออกแบบสอบถาม สำหรับแต่ละกลุ่ม (น.ศ.คิดแบบสอบถาม)
3. ออกพื้นที่เก็บข้อมูลจากอาจารย์ ให้เวลา 5 วัน
4. ใส่ข้อมูลที่เก็บได้ในแฟ้ม pollweb.txt
5. เขียนโปรแกรม pollweb.java รองรับกับแฟ้มข้อมูล
6. ประมวลผล จนได้ข้อสรุป และเผยแพร่ในโฮมเพจของน.ศ.
7. น.ศ.ทำโครงการพัฒนาโฮมเพจให้กับอาจารย์

แฟ้ม pollweb.java ถูกสร้างเมื่อ 25 สิงหาคม 2546
ต.ย. แบบสอบถาม คำถามที่ให้น.ศ.ไปสอบถามข้อมูลจากอาจารย์ในสถาบัน มาเป็นข้อมูลตัวอย่าง
แบบสอบถาม
ความต้องการมี Homepage ประจำวิชาช่วยเสริมการสอน
ทำเครื่องหมาย / ในช่อง O หน้าข้อที่ท่านเห็นด้วย หรือเป็นจริง
ชื่อ-สกุลอาจารย์ ..................................................
O1. อาจารย์เคยเตรียมการสอนมาแล้วอย่างน้อย 1 วิชา และได้เก็บเอกสารที่เคยเตรียมไว้
O2. ผลงานเอกสารที่เคยเตรียมการสอนที่มีอยู่ คิดว่ามีคุณภาพ และมีประโยชน์ต่อผู้ที่เคยเรียนไปแล้ว
O3. มีแผนนำผลงานที่เคยเตรียมสอน ไปใช้ประกอบการสอนวิชาเดิม ในภาคเรียนต่อ ๆ ไป
O4. ถ้ามีนักศึกษาอาสานำผลงานไปเผยแพร่ใน Internet เพื่อเป็นประโยชน์แก่นักศึกษา อาจารย์ยินดีเผยแพร่
O5. ปัจจุบันมีนักเรียนเริ่มเรียนวิชาวิทยาการคำนวณ จึงถึงเวลาที่จะส่งเสริมให้นักศึกษา ฝึกเรียบเรียงข้อมูล
ฝึกทำโฮมเพจ สั่งสมฝึกประสบการณ์ เช่น โครงงานเผยแพร่ความรู้ที่ได้จากอาจารย์ผู้สอน
O6. แม้อาจารย์รอบตัวท่านมี homepage ประจำวิชา เพื่อสนับสนุนการเรียนรู้ในชั้นเรียน ท่านก็ยังไม่ต้องการ
ที่จะมี homepage ของตน แม้จะมีนักศึกษาอาสาพัฒนา homepage ให้ก็ตาม
O7. พร้อม และต้องการเผยแพร่ผลงานการสอน เพราะมีเอกสาร และผลงาน แต่ขาดความรู้ หรือผู้ช่วยเหลือ
O8. อาจารย์มีโครงร่างการสอน แผนการสอน หรือ มคอ.3 ในแฟ้ม .doc .ppt หรือ .xls
O9. อาจารย์มี Lecture note เพื่อบันทึกการสอน ในแต่ละชั่วโมง
O10. อาจารย์มีแบบฝึกหัด Case study หรือ exercise เพื่อเตรียมให้นักศึกษาไปฝึกฝนด้วยตนเอง
O11. อาจารย์รู้จักเว็บไซต์ เกี่ยวกับเนื้อหาวิชาของตน ที่เคยไปค้นข้อมูลมาช่วยในการสอน
O12. อาจารย์รู้ว่าวิชาของตนสามารถนำไปประยุกต์ใช้อย่างไร ต่อไปในอนาคต
O13. อาจารย์มีความฝัน ที่จะเห็นนักศึกษา เรียนรู้สิ่งที่อาจารย์ถ่ายทอด และนำไปใช้จนประสบความสำเร็จ
โดยนักศึกษาคณะวิทยาศาสตร์ วิทยาลัยโยนก รหัส 46 เพื่อรวบรวมข้อมูลไปใช้เรียน วิชาวิทยาการคอมพิวเตอร์ 1
ต.ย. ผลลัพธ์ของโปรแกรม และแฟ้ม pollweb.txt
DOS>java pollweb
Total questions: 16
1:16 | 100%
2:6 | 37%
3:13 | 81%
4:12 | 75%
5:13 | 81%
6:12 | 75%
7:10 | 62%
8:6 | 37%
9:13 | 81%
10:12 | 75%
11:7 | 43%
12:9 | 56%
13:10 | 62%
DOS>type pollweb.txt
3101001,1,0,1,1,1,1,1,1,1,1,1,1,0,
3101002,1,0,1,1,1,1,1,1,1,1,1,1,0,
3101003,1,0,1,1,1,1,1,1,1,1,1,1,0,
3101004,1,1,1,1,1,1,1,1,1,1,0,1,1,
3101005,1,1,1,1,1,1,1,1,1,1,0,1,1,
3101006,1,1,1,1,1,1,1,1,1,1,0,1,1,
3101007,1,1,1,1,1,1,1,0,1,1,0,0,0,
3101008,1,1,1,1,1,1,1,0,1,1,0,0,0,
3101009,1,0,0,0,0,0,0,0,1,1,1,1,1,
3101010,1,0,0,0,0,0,0,0,1,1,1,1,1,
3101011,1,1,1,1,1,1,1,0,1,1,0,0,0,
3101012,1,0,0,0,0,0,0,0,1,1,1,1,1,
3101013,1,0,1,1,1,1,0,0,0,0,0,0,1,
3101014,1,0,1,1,1,1,0,0,0,0,0,0,1,
3101015,1,0,1,1,1,1,0,0,0,0,0,0,1,
3101016,1,0,1,0,1,0,1,0,1,0,1,0,1,
ต.ย. โปรแกรม pollweb.java#
import java.io.*;
class pollweb
{
  public static void main (String args[]) throws IOException 
  {
    int i=0;
    int questionhave = 14;
    int q[] = new int[questionhave];
    String b;
    String[] fields;
    String patternStr = ",";
    FileReader fin = new FileReader("pollweb.txt");
    BufferedReader bin = new BufferedReader (fin);
    while ((b =  bin.readLine()) != null) {
      fields = b.split(patternStr);
      for (int j=1;j<=questionhave-1;j++) 
        q[j]+= Integer.parseInt(fields[j]);
        i = i + 1;
    }
    System.out.println("Total questions: " + i);
    for (int j=1;j<=questionhave-1;j++)
      System.out.println(j+":"+q[j]+" | "+(q[j] * 100 / i)+"%");
    fin.close();
  }
}
รายการบทเรียนสำหรับทบทวนเรื่อง Text Processing
ชวน : แก้ไขข้อมูล และโปรแกรม
1. เพิ่มเพศลงไปในแฟ้ม pollweb.txt
2. แสดงการนับจำนวนในแต่ละเพศ
3. ลบตัวแปร patternStr และ questionhave
4. แสดงผลลัพธ์ทั้งหมดใน pollweb.htm
หัวข้อ (Topic)ลิงค์ (Link)
1. รับข้อมูลจากแป้นพิมพ์อย่างง่ายj0304
2. อ่านแฟ้มข้อมูลทีละบรรทัดj0608
3. อ่าน text file ไปสร้าง webpagej0702
4. อ่าน text file เพิ่มเงินเดือนให้พนักงานทุกคนj0703
5. รับข้อมูลจากแป้นพิมพ์ไปค้นหาใน text filej0802
6. ผสานแฟ้ม text file จำนวน 2 แฟ้มเข้าด้วยกันj0902
7. ติดต่อกับคลาสแบบ extend และไม่ extendj0404
8. ชุดโปรแกรม : สร้าง เพิ่ม ลบ แก้ไข แสดง กับ text fileupdtxt.java

http://goo.gl/72BPC