Sufficiency Economy
Group Blog
 
All blogs
 
Gambas3 Programming ตอน 2 : การแปลง infix ไปเป็น postfix

  ครั้งนี้เรามาทดลอง เขียนโปรแกรมในการแปลง นิพจน์ แบบ Infix -> Postfix โดยอ้างอิงจากหนังสือ "เรียนลัด Data Structure ด้วย Visual Basic" หนังสือเก่าแล้ว 55
หลักการคือ
1.  ถ้าเป็นตัวเลข เอามาใส่ผลลัพธ์ เลย
2. ถ้าเป็นตัวดำเนินการ + - * / ให้ทำตามนี้
2.1 Stack ว่าง ให้ใส่ใน stack
2.2 Stack ไม่ว่าง ให้เปรียบเทียบตัวดำเนินการ โดย
       ถ้าลำดับความสำคัญ ของตัวดำเนินการ ที่อ่าน มากกว่า ที่อยู่ใน stack ให้เก็บลง stack ได้เลย
       ถ้าลำดับความสำคัญ ของตัวดำเนินการ ที่อ่าน น้อยกว่า หรือเท่ากับ ที่อยู่ใน stack ให้ เอาออกจาก stack มาเป็นผลลัพธ์ ทำจนกระทั่งพบ ตัวที่ความสำคัญน้อยกว่า หรือ stack ว่าง
3. เครื่องหมายวงเล็บเปิด ให้เก็บใน stack
4. เครื่องหมายวงเล็บปิด ให้ pop ข้อมูลใน stack มาเก็บในผลลัพธ์ จนกระทั่งเจอเครื่องหมายวงเล็บเปิด ให้ pop วงเล็บเปิดออกมาแต่ไม่ต้องเก็บใน ผลลัพธ์
5. เมื่ออ่านข้อมูลจนครบ สุดท้าย ก็ pop ข้อมูลใน stack ที่เหลือ ออกมาเป็นผลลัพธ์ เป็นอันจบ
===========
การเขียนโปรแกรม ก็คล้าย VB มีสิ่งที่น่าสังเกตดังนี้
1. endif เขียนติดกัน
2.  Sub _new() ทำงานก่อน Form_Open()
3. ใน version 3 การประกาศตัวแปร array ต้องเป็นแบบ public งง ส่ะ
อ่านที่นี้ LINK
4. array ใช้ [ ] คล้าย ภาษา C
5. ใช้ ColumnView อย่างงงๆ 55
หมายเหตุ source code อาจมองไม่เห็น เพราะ มันซ่อนไฟล์ไว้ ต้องเปิด ด้วย gambas ?




Create Date : 08 ธันวาคม 2556
Last Update : 8 ธันวาคม 2556 10:02:35 น. 0 comments
Counter : 1982 Pageviews.

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 

wink99_th
Location :
พิษณุโลก Thailand

[Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 8 คน [?]




New Comments
Friends' blogs
[Add wink99_th's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.