วันเสาร์ที่ 21 กันยายน พ.ศ. 2556

การเขียนโปรแกรมคำนวณน้ำหนักจากส่วนสูง

                 ภาษาจาวา (อังกฤษ: Java programming language) เป็นภาษาโปรแกรมเชิงวัตถุ (อังกฤษ: Object Oriented Programming) พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่ ซัน ไมโครซิสเต็มส์ ภาษาจาวาถูกพัฒนาขึ้นในปี พ.ศ. 2534 (ค.ศ. 1991) โดยเป็นส่วนหนึ่งของ โครงการกรีน (the Green Project) และสำเร็จออกสู่สาธารณะในปี พ.ศ. 2538 (ค.ศ. 1995) ซึ่งภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส (C++) โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี(Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak) ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แต่ว่ามีปัญหาทางลิขสิทธิ์ จึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทน


                 Eclipse คือโปรแกรมที่ใช้สำหรับพัฒนาภาษา Java ซึ่งโปรแกรม Eclipse มีองค์ประกอบหลักที่เรียกว่า Eclipse Platform ซึ่งให้บริการพื้นฐานหลักสำหรับรวบรวมเครื่องมือต่างๆจากภายนอกให้สามารถ เข้ามาทำงานร่วมกันในสภาพแวดล้อมเดียวกัน และมีองค์ประกอบที่เรียกว่า Plug-in Development Environment (PDE) ซึ่งใช้ในการเพิ่มความสามารถในการพัฒนาซอฟต์แวร์มากขึ้น
                ข้อดีของโปรแกรม Eclipse คือ ติดตั้งง่าย สามารถใช้ได้กับ J2SDK ได้ทุกเวอร์ชั่น  รองรับภาษาต่างประเทศอีกหลายภาษา เป็นต้น

                ตัวโปรแกรมนี้ใช้งานได้หลากหลายรูปแบบไม่ว่าจะเป็นการออกคำสั่งให้หุ่นยนต์ Karel หรือจะเป็นการคำนวณค่าต่างๆ แต่ในที่นี้ผมจะมาพูดถึงเรื่องของการคำนวณ ซึ่งสิ่งที่ผมจะคำนวณคือการคำนวณน้ำหนักจากส่วนสูง ครับ ก่อนอื่นเรามารู้จักกับตัวที่เราต้องใช้งาน คำสั่ง ของโปรแกรมนี้ก่อนดีกว่าครับ
                import คือ การบ่งบอกว่าเราจะนำเอา โปรแกรมอะไรมาใช้งาน
                public class คือ การประกาศชื่อโปรแกรมของเรา
                void คือ ไม่ต้องส่งค่ากลับไปหาตัวที่เรียก
                main คือ เป็นเมธอดแรกที่คอมไพเลอร์จะอ่าน ไม่ว่าจะอยู่ในตำแหน่งใด
                System.out.println คือ การออกคำสั่งให้กับโปรแกรมว่าจะให้มันแสดงค่า

และโปรแกรมของผมมีดังนี้ครับ

import javax.swing.JOptionPane;    (การนำเอาโปรแกรม javax.swing.JOptionPane มาใช้งาน)
public class Weight {                (ชื่อของสิ่งที่เรากำลังทำ)
   
public static void main(String[] args) {           (ประกาศตัวแปร)
// 1. Variable Declaration
        String[] sex = new String[0];
        int[] height = new int[0];
        int weight = 0;
        int number_of_people = 0;
        int F =1;
        int M =2;
        String user_input = null; // receive the string from keyboard
// 2. Variable Assignment, Get Input from user               (กำหนดตัวแปรรับข้อมูลจากผู้ใช้ )  
        user_input = JOptionPane.showInputDialog("How many people?"); 



                                            (ออกคำสั่งให้แสดงหน้าต่าง"How many people?")


// convert the string to Integer                                   (แปลงStringเป็นจำนวนเต็ม)       
number_of_people = Integer.parseInt(user_input);
// re-allocate all arrays                                (จัดสรรอาร์เรย์ทั้งหมด)
        sex = new String[number_of_people];
        height = new int[number_of_people];
// let user fill-in the student's details via keyboard        (ให้กรอกข้อมูลรายละเอียดผ่านทางแป้นพิมพ์)
    for (int i = 0; i < sex.length; i++) {
        user_input = JOptionPane.showInputDialog("Sex of people (F or M)[" + i+ "] = ");
        sex[i] = user_input;

                                      (ออกคำสั่งให้แสดงหน้าต่าง"Sex of people(F or M)[" + i+ "]")       

user_input = JOptionPane.showInputDialog("Height of people[" + i+ "] = ");
        height[i] = Integer.parseInt(user_input);
        }
                                        (ออกคำสั่งให้แสดงหน้าต่าง"Height of people[" + i+ "] = ")


// 3. Computation, Verification, Condition, Calculation & 4. Show result   
                                                                           (การคำนวณการตรวจสอบสภาพการคำนวณและแสดงผล)
    for (int i = 0; i < sex.length; i++) {          
        if(Character.toChars(F) != null){
        weight = height[i] - 110;
        }
        if(Character.toChars(M) != null){
            weight = height[i] - 100;
        }
        System.out.println("Weight is " + weight);
        }
    }
}


ขอบคุณครับ

อ้างอิง
http://www.mindphp.com/%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/73-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/2240-eclipse-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3.html

http://th.wikipedia.org/wiki/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B8%88%E0%B8%B2%E0%B8%A7%E0%B8%B2