วันเสาร์ที่ 14 พฤศจิกายน พ.ศ. 2563

Casio fx-5800P - การเรียงลำดับข้อมูลใน Array

ประโยชน์อีกอย่างหนึ่งของ Array คือ เราสามารถเขียนโปรแกรมเพื่อเรียงลำดับข้อมูลจากมากไปหาน้อยหรือจากน้อยไปหามากได้ เรียกอีกอย่างว่าการ Sorting

การ Sorting นั้นมีหลากหลายวิธี ส่วนวิธีที่นำมาแสดงเป็นตัวอย่างในบทนี้จะใช้วิธีที่เรียกว่า "Selection Sort" เพียงวิธีเดียวซึ่งเป็นวิธีการเรียงลำดับข้อมูลที่ง่ายที่สุดวิธีหนึ่งในบรรดาทั้งหมด สำหรับท่านที่สนใจการเรียงลำดับข้อมูลวิธีอื่นๆ ก็สามารถค้นหาใน google ด้วยคำว่า "Sorting Algorithm"

Casio fx-5800P - ตัวแปรแบบแถวลำดับ (Array)

 การใช้งานตัวแปรในเครื่อง 5800 โดยปกติแล้วจะมีอยู่ 26 ตัว คือตัวแปร A ถึง Z แต่หากจำเป็นต้องใช้ตัวแปรเกินกว่า 26 ตัว เราสามารถประกาศตัวแปรพิเศษเพิ่มเติมขึ้นมาใช้งานได้อีก โดยตัวแปรพิเศษนี้เรียกว่า Reserving Variable Memory (ตามคู่มือในหน้า E-35) ลักษณะการใช้งานก็เหมือนกับตัวแปร Array แบบ 1 มิติในภาษาโปรแกรมทั่วไป

ตัวแปร Array หรือตัวแปรแบบแถวลำดับของ 5800 มีรูปแบบเป็นตัวแปรที่ขึ้นต้นด้วยตัวอักษรได้ตัวเดียวคือตัว Z ตามด้วยวงเล็บเหลี่ยมภายในวงเล็บเหลี่ยมมีตัวเลขดัชนี(index) ที่เรียงลำดับตั้งแต่เลข 1 จนถึงตัวเลขตามจำนวนที่เราได้ประกาศไว้ หากยังนึกภาพตัวแปร Array แบบ 1 มิติไม่ออกให้นึกถึงกล่องที่วางเรียงๆ กันแล้วมีหมายเลขกำกับเพื่อระบุตำแหน่งของแต่ละกล่องตามภาพ

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

Casio fx-5800P - การป้อนสูตรคำนวณอย่างง่ายโดยไม่ต้องเขียนโปรแกรม


 
ในเครื่องคิดเลข 5800 มีสูตรคำนวณสำเร็จรูปที่ติดมากับเครื่องอยู่แล้วที่เรียกว่า Build-in Formulas มีรายชื่อสูตรการใช้งานตามคู่มือเล่มหลักในหน้า E-97 ส่วนรายละเอียดปลีกย่อยการใช้งานแต่ละสูตรอยู่ในคู่มือเล่มเสริม(Supplement Manual) สามารถดาวน์โหลดคู่มือทั้งสองเล่มได้ที่ https://support.casio.com/manualfile.php?rgn=5&cid=004003003 

วันพฤหัสบดีที่ 21 พฤษภาคม พ.ศ. 2563

ตัวอย่างค่าพิกัดที่เปิดฉากจากโค้ง Circular Curve

จากสองบทที่ผ่านมา หลังจากได้ค่าพิกัดบนโค้งและ Azimuth เปิดฉากแล้ว ในบทนี้จะแสดงเพียงตัวอย่างค่าพิกัดที่ได้จากการเปิดฉากเท่านั้น จะไม่ลงรายละเอียดวิธีการคำนวณ



ตัวอย่างที่ 1  

Sta PI 2+235.738,  = 6° 6' 52.90" Rt., R = 1,000

N(PC) = 10,393.366, E(PC) = 10,603.458
N(PI) = 10,344.505, E(PI) = 10,625.030

คำนวณ Azimuth เปิดฉากบนโค้ง Circular Curve

การเปิดฉากบนโค้ง Circular Curve คำนวณได้ง่ายๆ ไม่มีอะไรซับซ้อน สูตรที่ใช้คำนวณแบ่งออกเป็นสองกรณีคือ


  • กรณี โค้งเลี้ยวซ้าย จะใช้สูตร
    Az เปิดฉากด้านซ้าย = Az.PCPI - 90 - 2.Def
    Az เปิดฉากด้านขวา = Az.PCPI + 90 -2.Def

คำนวณพิกัดบนโค้ง Circular Curve

ต่อจากบทที่แล้วเรื่อง วิธีคำนวณ Circular Curve คราวนี้เราจะนำตัวอย่างจากบทที่แล้วมาคำนวณหาค่าพิกัดบนโค้งกัน


ตัวอย่างที่ 1  Sta PI 2+235.738,  = 6° 6' 52.90" Rt., R = 1,000

ข้อมูลเพิ่มเติม
N(PC) = 10,393.366, E(PC) = 10,603.458
N(PI) = 10,344.505, E(PI) = 10,625.030

ให้คำนวณค่าพิกัดทุก 12.5 เมตร

วันพุธที่ 20 พฤษภาคม พ.ศ. 2563

วิธีคำนวณ Circular Curve

Circular Curve เป็นโค้งแนวราบที่นำเอาส่วนหนึ่งของวงกลมมาใส่ไว้ในช่วงที่มีเส้นแนวถนนสองเส้นมาตัดกัน


จากภาพ เป็นการลากแนวเส้นถนนสองเส้น(T หรือ Tangent) มาตัดกันที่จุด PI เกิดเป็นมุมเห  จากนั้นนำวงกลมที่มีค่ารัศมี R(ที่ได้จากการคำนวณออกแบบ) มาวางให้เส้นรอบวงสัมผัสกับเส้น Tangent ทั้งสองเส้น เกิดเป็นจุดสัมผัสโค้งสองจุดคือจุด PC ที่เป็นจุดเริ่มต้นโค้งและจุด PT ที่เป็นจุดสิ้นสุดโค้ง

วันจันทร์ที่ 18 พฤษภาคม พ.ศ. 2563

วิธีคำนวณ Vertical Curve และการหาจุดสูงสุดหรือต่ำสุดของโค้ง

สำหรับหัวข้อนี้จะไม่กล่าวถึงทฤษฎีมากนักแต่จะเน้นวิธีการคำนวณเป็นหลักเพื่อให้ง่ายต่อการนำไปคำนวณหรือเขียนเป็นโปรแกรมต่อไป

Vertical Curve หรือโค้งดิ่ง เป็นโค้งพาราโบล่าที่ใส่เข้าไปในช่วงที่เส้นตัดเกรดงานระดับถนนตัดกันเพื่อให้การขับขี่ยานพาหนะปลอดภัยมากขึ้น


โค้งดิ่งนี้แบ่งออกเป็นสองชนิด คือ



  1. โค้งชนิดสมมาตร Symmetrical Curve คือโค้งที่มีระยะจาก sta PVC ถึง sta PVI เท่ากับระยะจาก sta PVI ถึง sta PVT (l1 = l2)
  2. โค้งชนิดไม่สมมาตร Unsymmetrical Curve คือโค้งที่มีระยะจาก sta PVC ถึง sta PVI ไม่เท่ากับระยะจาก sta PVI ถึง sta PVT (l1 ≠ l2)



วันศุกร์ที่ 5 เมษายน พ.ศ. 2562

Casio fx-880P - โปรแกรมคำนวณพิกัด (Coordinate Cal.)

สำหรับหลายท่านที่เมล์มาถามหาโปรแกรมคำนวณพิกัดสำหรับ Casio Fx-880P ครับ

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

Android App : แอปที่เคยอัพโหลดบน Google Play

เนื่องจากมีหลายท่านอีเมล์มาถามว่าทำไมไม่พบแอปของผมที่เคยโหลดบน Google Play 

สาเหตุเพราะว่าแอปที่เคยอัพโหลดไว้บน Google Play ถูกทยอยถอดออก เนื่องจากนโนบายใหม่หลายๆ อย่างของ Google เอง อันนี้ผมไม่ขอกล่าวในรายละเอียด

สำหรับท่านที่ต้องการดาวน์โหลดแอปของผมไว้ใช้งานให้ดาวน์โหลดได้ตามลิงค์ด้านล่างนี้

วันอังคารที่ 1 พฤศจิกายน พ.ศ. 2559

Casio fx-5800P - เกมม้าแข่ง

จำได้ว่าเมื่อสมัยที่เครื่องคิดเลข Casio fx-795P ออกมาใหม่ๆ มีโปรแกรมเกมม้าแข่งแถมมาในคู่มือด้วย สำหรับคนที่หัดเขียนโปรแกรมเครื่องคิดเลขใหม่ๆ เป็นอะไรที่สนุกมาก ป้อนผิดป้อนถูก ก็สนุกตรงหาบรรทัดที่ผิดนี่แหละ 

ในเกมมีม้าแข่งให้เลือกถึง 4 ตัว เป็นรูป โพดำ, โพแดง, ข้าวหลาม, ดอกจิก ม้าวิ่งแข่งกันบนหน้าจอที่มีบรรทัดเดียว พอม้าวิ่งเข้าเส้นชัยด้านขวาสุดก็มีการคำนวณเงินให้ด้วยเสร็จสรรพ

วันจันทร์ที่ 21 มีนาคม พ.ศ. 2559

Casio fx-5800P - เกมทอยลูกเต๋า 3 ลูก

ออกตัวก่อนว่าไม่ได้เป็นการสนับสนุนการพนันนะครับ ผมเองก็ไม่เล่นการพนันทุกชนิด แค่ต้องการยกตัวอย่างให้ดูเป็นกรณีศึกษา ช่วงนี้ไม่ค่อยมีเวลาได้เขียนบล็อกมากนัก มาดูตัวโปรแกรมกันเลยดีกว่า

วันอาทิตย์ที่ 18 ตุลาคม พ.ศ. 2558

Casio fx-5800P - สร้างแอนิเมชั่นเล็กๆ บนเครื่องคิดเลข

ถ้าใครได้อ่านบทความที่แล้วคงจะเข้าใจเรื่องการหน่วงเวลาด้วยสัญญาณนาฬิกาบ้างไม่มากก็น้อย บทนี้เราจะมาประยุกต์ใช้ในการสร้างภาพเคลื่อนไหวเล็กๆ บนเครื่องคิดเลขกัน

โปรแกรมต่อไปนี้จะเป็นการสร้างภาพเคลื่อนไหวเป็นรูปลูกศรที่วิ่งจากด้านซ้ายหน้าจอไปจนสุดหน้าจอด้านขวาแล้วโผล่ออกมาใหม่ทางด้านซ้ายแบบนี้ไปเรื่อยๆ แบบไม่รู้จบ มีโค้ดดังนี้

วันจันทร์ที่ 21 กันยายน พ.ศ. 2558

Casio fx-5800P - โปรแกรมนาฬิกาจับเวลาอย่างง่าย

ในบทนี้เราจะมาลองเขียนโปรแกรมนาฬิกาจับเวลาอย่างง่าย แต่ก่อนจะทำการเขียนโปรแกรมนี้เราจะต้องทำความรู้จักกับสองสิ่งนี้เสียก่อนคือ

  1. สัญญาณนาฬิกา
  2. คำสั่ง For ~ To ~ Next

วันพฤหัสบดีที่ 27 สิงหาคม พ.ศ. 2558

Casio fx-5800P - เมนูตัวเลือกแบบไม่ต้องกด EXE

ตอนที่เริ่มศึกษาเจ้า 5800 ใหม่ๆ ผมมีข้อสงสัยคาใจอยู่อีกอย่างนึงคือ อยากจะทำเมนูตัวเลือกที่กดปุ๊บทำงานปั๊บ เหมือนกับคำสั่ง INKEY$ หรือ INPUT$ ใน fx-880P หลังจากเปิดหาในคู่มือหลายรอบถึงได้รู้ว่ามันคือคำสั่ง Getkey (ตามคู่มือหน้า E-119)

วันพฤหัสบดีที่ 11 มิถุนายน พ.ศ. 2558

Casio fx-880P - โปรแกรมคำนวณวงรอบปิด (Close Traverse)



กลับมาเขียนบทความอีกครั้งหลังจากห่างหายไปนาน(ประมาณ 7 เดือน) เดิมทีตอนที่สร้างบล็อกใหม่ๆ ตั้งใจว่าจะเขียนเกี่ยวกับการเขียนโปรแกรมบนเครื่องคิดเลข Casio fx-880P ให้มากซักหน่อย แต่คิดไปคิดมาเข้าใจว่าน่าจะเหลือคนที่ใช้เครื่องรุ่นนี้น้อยเต็มทีเพราะบริษัทคาสิโอเลิกผลิตรุ่นนี้ไปสิบกว่าปีแล้วนับเป็นเรื่องที่น่าเสียดาย เพราะเจ้า 880(ชื่อเล่น)ตัวนี้มากความสามารถและเหมาะกับการเขียนโปรแกรมงานสำรวจเป็นอย่างมาก นี่จึงเป็นสาเหตุที่ผู้เขียนคงจะเขียนเกี่ยวกับเจ้า 880 นี้เพียงบทความเดียว (เพื่อเป็นการไว้อาลัย ^ ^)

วันอาทิตย์ที่ 16 พฤศจิกายน พ.ศ. 2557

Android App : Tangential Method




Tangential Method เป็นอีกวิธีการหนึ่งของ Tacheometry เช่นเดียวกันกับ Inclined Stadia Method จะใช้เมื่อเป้าหมาย(IFS)อยู่ไกลออกไปจนกระทั่งใช้วิธี Inclined Stadia Method ไม่ได้ เนื่องจากสายใยบนหรือสายใยล่างพ้น Staff วิธีการคือ อ่านค่าสายใยกลางที่ Staff และค่ามุมสูง สองครั้ง จะได้ M1, 
θ1 และ M2, θ2

สารบัญบทความ


บทความ เครื่องคิดเลข Casio Fx-5800P


บทความ เครื่องคิดเลข Casio Fx-880P

บทความ งานสำรวจ

แจกฟรี แอพ Android




วันพฤหัสบดีที่ 16 ตุลาคม พ.ศ. 2557

Android App : Inclined Stadia Method




Inclined Stadia Method เป็นหนึ่งในหลายวิธีของ Tacheometry ที่ใช้สำหรับหาค่าความสูงและระยะทางจากจุดตั้งกล้องด้วยวิธีทางอ้อม โดยใช้กล้อง Theodolite กับ Staff

วิธีการคือ

วันอังคารที่ 14 ตุลาคม พ.ศ. 2557

Android App : 2-Point Resection




2-Point Resection เป็นวิธีการหาค่าพิกัดของจุดตั้งกล้อง(Instrument) ที่เป็นหมุดลอย(ไม่มีค่าพิกัด) ด้วยการวัดระยะจากจุดตั้งกล้องไปยัง BW (ค่า Dist1), ระยะจากจุดตั้งกล้องไปยัง FW (ค่า Dist2) และมุมราบที่เปิดจาก BW ไป FW (ค่า Ang) โดยทราบค่าพิกัดของจุด BW (N1,E1) และจุด FW (N2,E2) ตามภาพ