เรียน programming ด้วย Pyramid ชั้นกลาง
เว็บเพจสำรอง (Backup Webpages) : http://www.thaiall.com/asp/pyrm1.htm | http://www.thaiabc.com/asp/pyrm1.htm
ปรับปรุง : 2548-02-08 ()
[ เรียน programming ด้วย Pyramid ชั้นกลาง ]
แบบทดสอบนี้ทำที่ใดก็ได้ เช่นบน PC ที่รองรับ ASP หรือ webhostme.com, thaiall.thailandhosting.net/asp/, websamba.com
เพราะไม่ได้ใช้แฟ้มข้อมูล text หรือ MDB ใด และตัวอย่างในชุดนี้ ทดสอบที่ http://www.websamba.com/thaiall
เพียงแต่รับค่าจาก request.querystring ไปประมวลผล แล้วพิมพ์ผลลัพธ์อย่างง่าย เท่านั้น

  1. ข้อควรทราบ
  2. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-1 [Source code, Result sample]
  3. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-2 [Source code, Result sample]
  4. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-3 [Source code, Result sample]
  5. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-4 [Source code, Result sample]
  6. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-5 [Source code, Result sample]
  7. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-6 [Source code, Result sample]
  8. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-7 [Source code, Result sample]
  9. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-8 [Source code, Result sample]
  10. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-9 [Source code, Result sample]
  11. แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-10 [Source code, Result sample]
  12. แบบฝึกหัด
ข้อควรทราบ
  1. การรับค่า querystring ของบทเรียนนี้กับ บทเรียน pyramid เบื้องต้น ต่างกันนิดหน่อย เพราะในบทเรียนเบื้องต้น จะไม่มีการแยกตัวแปร แต่รับไปทั้งตัว และผมก็ไม่ได้มีตัวอย่างการส่งค่าผ่าน form แบบบทเรียนนี้ด้วย แต่ บทเรียนนี้จะสามารถแยกตัวแปรในที่ส่งค่าผ่านมาทาง url หรือ method get ได้ เช่นส่ง xxx.asp?a=1&b=3&c=3 เมื่อรับค่าด้วย request.querystring จะกำหนดตัวแปรที่ต้องการรับได้ เพราะตัวอย่างนี้ ส่งตัวแปร 3 ตัว พร้อมค่าไปให้โปรแกรม xxx.asp และถ้าท่านมีประสบการณ์ในการเขียน ภาษาอื่นมาก่อน จะเข้าใจได้ทันที
  2. ตัวอย่างผลลัพธ์ ทั้ง 10 จะใช้เลข 4 ส่งค่า เพราะต้องการประหยัดเนื้อที่ด้านซ้าย แต่ตัวอย่างประมวลผลจะส่งเลข 7 และหากใช้เลขเกินเลข 10 จะเปลี่ยนค่าเป็นเลข 9 ให้ และถ้าไม่ใส่ค่าใด ๆ จะกำหนดค่าเป็น 5 โดยอัตโนมัติ แต่ปัญหาคือถ้าใส่ ตัวอักษร โปรแกรมจะ error เพราะผมยังไม่ได้เขียนส่วนป้องกันไว้ครับ
  3. อย่ายอมแพ้ ถ้าท่านเป็นผู้หนึ่งที่ต้องการเรียนรู้การเขียนโปรแกรม แต่ไม่ชำนาณ หรือคิดอะไรได้ไม่เร็ว ผมว่ามาเริ่มต้น จากการฝึกอ่านโปรแกรมดีกว่า โดยดูว่าแต่ละโปรแกรมที่ผมเขียน ให้ผลแบบนั้นได้อย่างไร จากนั้นจึงเริ่มใหม่ ด้วยการเริ่มเขียนเอง ผิดบ้างถูกบ้าง เรื่องปกติ ผมเองก็ต้องลองผิดลองถูกครั้ง ไม่ใช่เรื่องแปลก ถ้ารักทางนี้ ต้องให้เวลากับมัน มากอย่างน่าใจหายทีเดียว
    Source code ของ 1 ใน 10 โปรแกรมข้างล่างนี้ ทายสิว่าโปรแกรมไหน
    <html><body bgcolor="#ffffdd">
    <font face="courier new" size=4>
    <pre>
    <%
    max = request.querystring("max")
    if max = "" then  max = 5 
    if max > 9 then max = 9 else max = int(max)
    for i =  1  to max
       for j = 1 to max - i : response.write( " " ) :  next
       for j = 1 to i : response.write( max - j + 1 ) : next
       response.write("<br>")
    next
    %>
    </body></html>
    
  4. อธิบายความแตกต่าง ของการใช้ method get และ method post ที่แตกต่างกัน โดยใช้คำสั่งรับค่าที่แตกต่างกัน 2 แบบ พร้อม source code ที่ใช้เขียน form เพื่อสั่งให้โปรแกรมนั้นทำงาน
    โปรแกรมทั้งหมดจะส่งค่าจาก form โดยใช้ method get
    ทำให้โปรแกรม asp ที่จะรับค่าต้องใช้คำสั่ง request.querystring ตามด้วยชื่อ
    เช่น request.querystring("max") เป็นต้น

    แต่ถ้าใช้ method เป็น post จะต่างไป
    ซึ่งโปรแกรม asp จะอ้างถึงตัวแปรด้วย request.form("max")
    สรุปได้ว่า
    ถ้าใช้ method get จะอ้างค่าด้วย request.querystring("ชื่อตัวแปร")
    ถ้าใช้ method post จะอ้างค่าด้วย request.form("ชื่อตัวแปร")
    Source code สำหรับเขียน FORM ใน HTML
    ซึ่งให้ผลตามซีก ด้านขาวมือ นั่นเอง
    <form name=pyrm11 method=get action=pyrm11.asp>
    <input type="text" name=max value=7>
    <input type=submit  value="Run program">
    <input type=reset  value="Clear value">
    </form>
    
    Source สำหรับเขียน form ส่งค่า
    ผมเขียนเหมือนกัน ทั้ง 10 โปรแกรม
    แตเรียกโปรแกรมใน action ต่างกัน
    ฟอร์มข้างบนนี้ใช้ method get
    ซึ่งในบทนี้ ใช้รูปแบบนี้ทั้งหมด (10 โปรแกรม)
    หรือจะเรียนผ่าน URL ตรง ๆ ก็ได้เช่น
    Click here
    จะให้ผลเหมือนใช้ form สำหรับ case นี้

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-1
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
   *
  **
 ***
****
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm11.asp?max=7

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-2
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
   1
  12
 123
1234
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm12.asp?max=7

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-3
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
   4
  43
 432
4321
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm13.asp?max=7

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-4
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
   1
  222
 33333
4444444
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm14.asp?max=7

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-5
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
   1
  121
 12321
1234321
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm15.asp?max=7

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-6
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
   1*1
  12*21
 123*321
1234*4321
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm16.asp?max=7

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-7
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
   1
  121
 12321
1234321
 12321
  121
   1
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm17.asp?max=7

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-8
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
***1***
**212**
*32123*
4321234
*32123*
**212**
***1***
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm18.asp?max=7

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-9
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
   1   1       1
  101  12     21
 10101 123   321
10101011234 4321
 10101 123   321
  101  12     21
   1   1       1
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm19.asp?max=7

แบบทดสอบ กึ่งแบบเรียน intermediate pyramid programming 2-10
ผลลัพธ์ที่ต้องการ Source code และ ทดสอบผลที่ websamba.com
1       1       *
12     212     ***
123   32123   *****
1234 4321234 *******
123   32123   *****
12     212     ***
1       1       *
โปรแกรมนี้จะทำให้ท่านมีความชำนาญในการเขียนโปรแกรมมากขึ้น
โดยเฉพาะการสร้างประสบการณ์ในการทำซ้ำ ให้เข้าใจอย่าง พอใช้ได้
ข้อแนะนำ : ต้องคิด และแก้ปัญหาให้ได้ก่อนทำ อย่าทำไปคิดไปเป็นอันขาด
Click here เพื่อดู Source code ถ้าท่านต้องการตรวจคำตอบที่ได้ทำไปแล้ว

สั่งประมวลผล โดยส่งค่าจาก form แบบ get ทำให้ asp รับด้วย
ตัวอย่างนี้ส่งค่า 7 ท่านจะลองส่งค่าอื่นก็ได้ .. ลองดูนะครับ (แล้วค่อยเริ่มเขียน .. ผมขอท้าทาย)
หรือท่านจะสั่งโปรแกรมทำงานผ่าน URL เลยก็ได้ เพราะ โปรแกรมนี้รับค่าด้วย querystring
คือ รับได้ทั้งการส่งค่าตรง ๆ ผ่าน URL หรือจะส่งผ่าน method get ใน form ก็ได้
เช่น http://www.websamba.com/thaiall/pyrm20.asp?max=7

แบบฝึกหัด
    ให้ทำตามโจทย์ต่อไปนี้
  1. ให้เขียนโปรแกรมตามตัวอย่างข้างบนนี้ ให้ได้ทุกโปรแกรม
  2. ให้สร้างโจทย์ โดยมีหลักการใกล้เคียงกับตัวอย่าง และลองทำด้วยตนเอง
  3. หัดใส่สี และตาราง ปรับรูปแบบ ให้ได้ดังใจท่าน
  4. ให้ apply เป็นการส่งค่าหลาย ๆ ค่าเข้าไป แล้วนำไปประมวลผลอย่างเหมาะสม

แนะนำเว็บใหม่ : ผลการจัดอันดับ
รักลำปาง : korattown.com : topsiam.com : มหาวิทยาลัยโยนก
ศูนย์สอบ : รวมบทความ : ไอทีในชีวิตประจำวัน : ดาวน์โหลด : yourname@thaiall.com
ติดต่อ ทีมงาน ชาวลำปาง มีฝันเพื่อการศึกษา Tel.08-1992-7223