วิธีเขียน pseudocode

ผู้เขียน: Laura McKinney
วันที่สร้าง: 1 เมษายน 2021
วันที่อัปเดต: 17 พฤษภาคม 2024
Anonim
การฝึกเขียนซูโดโค้ด (Pseudocode) | เทคนิคฝึกเขียนโปรแกรม
วิดีโอ: การฝึกเขียนซูโดโค้ด (Pseudocode) | เทคนิคฝึกเขียนโปรแกรม

เนื้อหา

ในบทความนี้: การทำความเข้าใจพื้นฐานของ pseudocodeWrite pseudocode ที่ดีสร้างตัวอย่างของเอกสารใน pseudocode8

การพัฒนาโปรแกรมไม่ได้เกี่ยวกับ "การกระโดด" บนคีย์บอร์ดและเริ่มพิมพ์บรรทัดของรหัส ก่อนอื่นจะต้องสร้างอัลกอริทึมการทำงานซึ่งจะถูกกำหนดในรูปแบบของเอกสารที่เรียกว่า หลอก. เอกสารนี้เขียนด้วยภาษาสัญลักษณ์และไม่ตอบสนองต่อรูปแบบที่เป็นทางการหรือเฉพาะเจาะจง แต่จะต้องสามารถเข้าใจได้สำหรับผู้มีส่วนได้ส่วนเสียทั้งหมดของโครงการออกแบบซอฟต์แวร์ช่างเทคนิคหรือไม่แม้ว่าจะมีจุดประสงค์เพื่อใช้เป็น คำแนะนำแก่ทีมงานของโปรแกรมเมอร์ที่จะรับผิดชอบในการถ่ายทอดมันเป็นรหัสที่คอมไพล์หรือแปลได้


ขั้นตอน

ส่วนที่ 1 การทำความเข้าใจพื้นฐานของรหัสเทียม

  1. รับความคิดในสิ่งที่รหัสเทียมคืออะไร มันเป็นรหัสร่างพัฒนาทีละขั้นตอนที่สามารถถอดความเป็นภาษาโปรแกรมค่อยๆ โปรแกรมเมอร์ส่วนใหญ่ใช้เพื่อวางแผนการทำงานของอัลกอริทึมก่อนที่จะย้ายไปยังขั้นตอนทางเทคนิคของการเข้ารหัส

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



  2. ทำความเข้าใจเกี่ยวกับประโยชน์ของการปลอม มันถูกใช้เพื่อกำหนดการดำเนินงานของอัลกอริทึม โปรแกรมเมอร์มักจะใช้มันเป็นคำอธิบายระดับกลางระหว่างคำจำกัดความของแผนเริ่มต้นของโปรแกรมและการเขียนโค้ดที่สามารถใช้งานได้
    • pseudocode ใช้เพื่ออธิบายการทำงานของอัลกอริทึม เขาสามารถอธิบายได้ว่ากลไกเฉพาะในโปรแกรมควรเกิดขึ้นที่ไหนและอย่างไร
    • pseudocode ยังสามารถใช้เพื่ออธิบายกระบวนการคอมพิวเตอร์ให้กับผู้ใช้ที่ไม่ใช่ด้านเทคนิค คอมพิวเตอร์ต้องการการใช้ไวยากรณ์ที่เข้มงวดมากในการรันโปรแกรมซึ่งอาจเป็นเรื่องยากมากที่จะเข้าใจสำหรับผู้พูดที่มีทักษะการเขียนโปรแกรมน้อยหรือไม่มีเลย คนเหล่านี้จะเข้าใจภาษาที่เป็นอัตนัยที่กำหนดการไหลของโปรแกรมและบทบาทของบรรทัดของโค้ดที่สร้างขึ้นอย่างชัดเจน
    • มันเป็นเรื่องธรรมดาสำหรับนักออกแบบระดับสูงที่จะถ่ายทอดในรูปแบบของ pseudocode เอกสารคำอธิบายของพวกเขาสำหรับการแก้ปัญหาที่ซับซ้อนที่ทีมโปรแกรมเมอร์ต้องเผชิญ หากคุณทำงานในทีมพัฒนาซอฟต์แวร์คุณอาจพบว่า pseudocode ชี้แจงวิธีแก้ไขปัญหาที่ซับซ้อนบางครั้ง



  3. จำไว้ว่ารหัสเทียมไม่ใช่ภาษามาตรฐาน pseudocode ไม่ต้องการให้คุณใช้ไวยากรณ์ที่สร้างไว้ล่วงหน้า ภายในทีมพัฒนาควรใช้เพื่อวัตถุประสงค์ในการประสานงานการประชุมที่กำหนดโครงสร้างของรหัสเทียมที่โปรแกรมเมอร์สามารถเข้าใจได้ง่าย หากคุณทำงานคนเดียวสิ่งที่สำคัญที่สุดคือเพื่อให้แน่ใจว่ารหัสเทียมของคุณสามารถอธิบายโครงสร้างของความคิดของคุณและมันเหมาะกับแผนของคุณ
    • หากคุณทำงานกับผู้อื่นในโครงการไม่ว่าพวกเขาจะมีประสบการณ์เช่นเดียวกับคุณเป็นสามเณรในสาขานี้หรือไม่มีการฝึกอบรมในการเขียนโปรแกรมเป็นสิ่งสำคัญมากที่จะใช้โครงสร้างที่รู้จักกันดีเพื่อให้เข้าใจได้ง่าย
    • ไม่ว่าคุณจะลงทะเบียนในการฝึกอบรมมหาวิทยาลัยการประชุมของโปรแกรมเมอร์หรือผู้สมัครงานใน บริษัท คุณอาจจะมีการทดสอบเพื่อส่งผ่านรหัสเทียมที่สอนใน มาตรฐาน. ระวังเพราะสิ่งเหล่านี้ มาตรฐาน มักจะแตกต่างจากสถาบันหรือครูคนหนึ่งไปยังอีก

    ความชัดเจนเป็นหนึ่งในคุณสมบัติแรกที่ pseudocode ต้องแสดงเพื่อช่วยคุณหากคุณทำงานภายใต้กรอบของอนุสัญญาการเขียนโปรแกรมที่ยอมรับ คุณจะต้องสามารถถอดความเป็นภาษาการเขียนโปรแกรมจริงตลอดการพัฒนาโครงการที่ได้รับมอบหมายซึ่งเป็นเหตุผลที่รหัสเทียมจะต้องอนุญาตให้คุณร่างความคิดของคุณอย่างชัดเจนเพื่อทำให้พวกเขาเป็นจริง ความยากลำบากที่สำคัญ




  4. มีสมาธิกับ pseudocode ของคุณ โปรดทราบว่าการเขียนซอร์สโค้ดจริงควรง่ายเมื่อถึงจุดสิ้นสุดของบล็อกโปรแกรมที่คุณได้รับมอบหมาย จดจำเป้าหมายในการเขียนรหัสเทียมของคุณเสมอและอธิบายบทบาทของแต่ละบรรทัดของโปรแกรมด้วยการจดจ่อกับงานของคุณ

ส่วนที่ 2 เขียนโค้ดเทียมที่ดี



  1. ใช้โปรแกรมแก้ไข es คุณอาจถูกล่อลวงโดยการใช้การประมวลผล es เช่น Microsoft Word หรือแอปพลิเคชันที่คล้ายกันเพื่อสร้างเอกสารที่จัดรูปแบบ แต่รหัสเทียมจะต้องคงอยู่อย่างเรียบง่ายที่สุดเท่าที่จะเป็นไปได้ ทางออกที่ดีที่สุดคือการใช้โปรแกรมแก้ไข es

    ตัวแก้ไขที่แท้จริงคือ Notepad (บน Windows) และแก้ไข (บน Mac)



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


  3. อธิบายคำสั่งเดียวต่อบรรทัด แต่ละคำสั่งที่ให้ใน pseudocode ของคุณจะต้องกำหนดการกระทำระดับประถมเพียงหนึ่งครั้งที่จะดำเนินการ ในกรณีส่วนใหญ่หากรายการงานถูกตั้งค่าอย่างถูกต้องแต่ละรายการควรตรงกับบรรทัด pseudocode เท่านั้น เขียนรายการงาน พัฒนาแต่ละของพวกเขาใน pseudocode และถอดความ pseudocode นี้เป็นโค้ดจริงที่คอมไพล์หรือแปลได้


  4. ใช้ประโยชน์จากช่องว่างและการเยื้องให้ดีที่สุด การใช้ช่องว่างระหว่างบล็อกของ e จะทำให้คุณสามารถแยกส่วนประกอบต่าง ๆ ของรหัสเทียมของคุณได้ การเยื้องส่วนต่าง ๆ ของบล็อกจะระบุว่าควรวางตำแหน่งใดในส่วนที่เยื้องน้อยกว่า
    • ส่วน pseudocode ที่จัดการกับการป้อนตัวเลขต้องอยู่ในบล็อกเดียวกันในขณะที่ส่วนที่ดำเนินการคำนวณในรายการที่กำหนดจะต้องอยู่ในส่วนที่มีการเยื้องของ pseudocode มากกว่า


  5. ใส่คำหลักที่ใช้เป็นตัวพิมพ์ใหญ่หากจำเป็น คุณอาจต้องเขียนคำสำคัญที่เป็นส่วนหนึ่งของรหัสจริงหากตัวอักษรที่ใช้กับรหัสเทียมที่คุณเขียนนั้นเป็นตัวพิมพ์ใหญ่
    • หากคุณใช้คำสั่งแบบมีเงื่อนไข ต้นยู และ แล้วก็ ใน pseudocode ของคุณคุณจะต้องเขียนเป็นตัวพิมพ์ใหญ่ IF และ แล้ว.


  6. ใช้คำศัพท์ง่ายๆ จำไว้ว่าคุณอธิบายสิ่งที่โครงการของคุณ จะ และไม่ใช่บทสรุปของรหัสจริง นี่เป็นสิ่งสำคัญอย่างยิ่งหากคุณกำลังเขียนรหัสเทียมเพื่อใช้ในการสาธิตสำหรับลูกค้าของคุณซึ่งอาจไม่คุ้นเคยกับเทคนิคการเขียนโปรแกรมหรือสำหรับโปรแกรมเมอร์มือใหม่

    คุณสามารถจินตนาการข้ามคำแนะนำจริงทั้งหมดและกำหนดแต่ละบรรทัดกระบวนการในภาษามนุษย์เช่น "ถ้าหมายเลขที่ป้อนโดยผู้ใช้เป็นเลขคี่ผลลัพธ์จะถูกแทนที่ด้วย Y ».



  7. รักษาบรรทัด pseudocode ของคุณตามลำดับที่ถูกต้อง แม้ว่าภาษาที่คุณใช้เมื่อเขียนรหัสเทียมของคุณควรเป็นภาษาที่เรียบง่าย แต่คุณจะต้องบำรุงรักษาแต่ละบรรทัดตามลำดับที่จะใช้งาน สิ่งนี้มีความสำคัญต่อการทำงานที่ราบรื่นของโปรแกรม


  8. ปล่อยให้ไม่มีที่ว่างสำหรับจินตนาการของคุณ ทุกสิ่งที่จะเกิดขึ้นในระหว่างกระบวนการต้องได้รับการอธิบายอย่างครบถ้วน คำแนะนำที่ใช้ในรหัสเทียมของคุณจะต้องเข้าใจได้ โดยทั่วไปแล้ว pseudocode ไม่ได้กำหนดตัวแปร แต่อธิบายถึงวิธีที่โปรแกรมควรจัดการกับวัตถุที่อยู่ใกล้กับวัตถุในโลกแห่งความเป็นจริงเช่นหมายเลขบัญชีชื่อหรือจำนวนธุรกรรม


  9. ใช้โครงสร้างการเขียนโปรแกรมมาตรฐาน แม้ว่าจะไม่มีมาตรฐานที่กำหนดไว้สำหรับการเขียนรหัสเทียมโปรแกรมเมอร์จะเข้าใจได้อย่างง่ายดายว่าคุณต้องการไปที่ไหนถ้าคุณทำตามโครงสร้างที่กำหนดในภาษาการเขียนโปรแกรมตามลำดับเช่น C หรือ Pascal ใช้ข้อกำหนดเช่น ต้นยู, แล้วก็, อื่น, ในขณะที่ และ ห่วง เช่นเดียวกับที่คุณใช้กับภาษาการเขียนโปรแกรมที่คุณมักจะใช้
    • ถ้า CONDITION แล้วคำแนะนำ: การเรียนการสอนจะดำเนินการเฉพาะในกรณีที่การทดสอบสภาพการทดสอบเป็นจริงมันจะไม่เป็นจริงถ้าการทดสอบเป็นเท็จ
    • ในขณะที่เงื่อนไขการเรียนการสอน: คำสั่งจะถูกทำซ้ำตราบใดที่เงื่อนไขถูกทดสอบว่าเป็นจริง แต่จะไม่เป็นจริงถ้าเงื่อนไขนั้นถูกทดสอบว่าเป็นเท็จ
    • ทำการเรียนการสอนในขณะที่เงื่อนไข: คำสั่งแบบมีเงื่อนไขนี้คล้ายกับคำสั่งก่อนหน้าซึ่งมีความแตกต่างเพียงอย่างเดียว ในกรณีแรกสภาพถูกทดสอบ ก่อนที่คำสั่งจะถูกดำเนินการ และไม่ได้ดำเนินการหากการทดสอบเป็นเท็จ ในกรณีนี้มันจะถูกทดสอบ หลังจากการดำเนินการตามคำสั่งเพื่อที่จะได้ดำเนินการอย่างน้อยหนึ่งครั้ง
    • ชื่อฟังก์ชั่น (อาร์กิวเมนต์): คำแนะนำ: มันหมายความว่าทุกครั้งที่ชื่อ NAME ของฟังก์ชั่นที่จะพบในโปรแกรมคำสั่งที่กำหนดจะต้องมีการดำเนินการกับข้อโต้แย้งที่อธิบายระหว่างวงเล็บ คำว่า "อาร์กิวเมนต์" หมายถึงหนึ่งหรือหลายตัวแปรที่ต้องนำมาพิจารณาโดยคำสั่ง


  10. จัดระเบียบส่วนต่างๆของรหัสเทียมของคุณ หากคุณมี pseudocode จำนวนมากที่กำหนดส่วนต่าง ๆ ที่แตกต่างกันในบล็อกเดียวกันคุณสามารถใช้เลขที่แปดหรือวงเล็บเพื่อเก็บทุกอย่างเข้าด้วยกัน
    • ตะขอ () หรือวงเล็บปีกกา () จะช่วยให้คุณกำหนดส่วนยาวของ pseudocode
    • เมื่อเขียนโค้ดจริงคุณสามารถแทรกความคิดเห็นได้โดยการวาง // ที่จุดเริ่มต้นของบรรทัดเช่น // นี่คือบรรทัดความคิดเห็น. สิ่งใดก็ตามที่เขียนในบรรทัดเดียวกันจะถูกพิจารณาว่าเป็นความคิดเห็น คุณสามารถใช้วิธีการเดียวกันนี้เมื่อเขียนรหัสเทียมเพื่อเพิ่มความคิดเห็นเกี่ยวกับส่วนต่าง ๆ ของโปรแกรม


  11. ตรวจสอบและตรวจสอบความสามารถในการอ่านและความชัดเจนของรหัสเทียมของคุณอีกครั้ง pseudocode ไม่ใช่งานวรรณกรรม แต่ต้องเข้าใจได้ เมื่อคุณถึงจุดสิ้นสุดของเอกสารคุณควรจะสามารถตอบคำถามสองสามข้อนี้ได้
    • ผู้ที่ไม่คุ้นเคยกับโครงการนี้สามารถเข้าใจรหัสปลอมของฉันได้หรือไม่
    • pseudocode ของฉันสามารถแปลงเป็นรหัสต้นฉบับในภาษาโปรแกรมได้อย่างง่ายดายหรือไม่?
    • pseudocode ของฉันอธิบายโครงการทั้งหมดโดยไม่ทิ้งอะไรไว้ข้างหลังหรือไม่
    • ชื่อวัตถุที่กำหนดใน pseudocode ของฉันสามารถเข้าใจได้อย่างชัดเจนโดยผู้สนใจหรือไม่?
    • หากคุณคิดว่าส่วนใดส่วนหนึ่งของรหัสลับของคุณจะต้องได้รับการออกแบบใหม่หรือเสร็จสมบูรณ์หรือไม่ชัดเจนเพียงพอให้กลับไปเพื่อเพิ่มหรือแก้ไขข้อมูลที่จำเป็น

ส่วนที่ 3 สร้างเอกสารตัวอย่างในรหัสเทียม



  1. เปิดโปรแกรมแก้ไข es หากคุณไม่ต้องการติดตั้งโปรแกรมใหม่คุณจะสามารถใช้โปรแกรมแก้ไขเริ่มต้นของระบบเช่น Notepad ถ้าคุณกำลังทำงานบน Windows หรือ แก้ไข ถ้าคุณอยู่บน Mac


  2. กำหนดอย่างชัดเจนว่าโปรแกรมของคุณจะทำอะไร แม้ว่าสิ่งนี้จะไม่บังคับ แต่ก็เป็นความคิดที่ดีที่จะอธิบายในหนึ่งหรือสองบรรทัดที่จุดเริ่มต้นของเอกสารว่าเป็นรหัสเทียมอะไรที่คุณจะส่งให้ผู้ฟังของคุณ

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



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

    โพสต์อวยพร "ฉันขอให้คุณอรุณสวัสดิ์!"



  4. เพิ่มบรรทัดต่อไปนี้ วางช่องว่างระหว่างบรรทัดสุดท้ายของ pseudocode และช่องว่างที่จะตามมาด้วยการกดปุ่ม ↵เข้าสู่ ของแป้นพิมพ์ของคุณ สร้างบรรทัดต่อไปนี้ ในตัวอย่างนี้ผู้ใช้ต้องแสดงตัวเองโดยการกดปุ่ม การเข้า เพื่อโทรไปยังบรรทัดถัดไปของการสนทนา

    แสดงข้อความแจ้งผู้ใช้ "กดปุ่ม" Enter "เพื่อดำเนินการต่อ"



  5. เพิ่มคำกระตุ้นการตัดสินใจจากผู้ใช้ ตอนนี้เขาจะถูกขอให้ตอบคำทักทาย

    แสดงพรอมต์ของผู้ใช้ - การกระทำ "คุณเป็นอย่างไรบ้าง"



  6. แสดงรายการคำตอบที่มีสิทธิ์จากผู้ใช้ หลังจากกดปุ่ม การเข้า จากแป้นพิมพ์ของเขาผู้ใช้จะเห็นรายการคำตอบซึ่งเขาสามารถเลือกคำตอบได้

    แสดง 3 ข้อเสนอ "1. ดี" "2. ดีมาก" "3. ความชั่วร้าย"



  7. ถามผู้ใช้สำหรับคำตอบ นี่คือที่ที่โปรแกรมจะร้องขอการตอบสนองจากผู้ใช้

    แสดงรายการคำขอของผู้ใช้ "ป้อนหมายเลขที่กำหนดสถานะของคุณ:"



  8. สร้างชุดเงื่อนไข ต้นยู เพื่อตอบสนองต่อการป้อนข้อมูลของผู้ใช้ คำถามที่ถามนั้นมี 3 คำตอบที่เป็นไปได้ซึ่งจำเป็นต้องเลือกการตอบสนองเดี่ยวในสามข้อ คุณจะต้องสร้างการเลือกโดยใช้รหัสตามเงื่อนไข ต้นยู.

    ถ้า "1" แสดงปฏิกิริยา "น่าทึ่ง!" ถ้า "2" แสดงความคิดเห็น "ยอดเยี่ยม!" หาก "3" แสดงปฏิกิริยา "ป้อนใหม่!"



  9. คาดว่าจะเกิดข้อผิดพลาด คุณต้องคำนึงถึงกรณีที่ผู้ใช้ไม่ตอบสนองต่อคำเชิญอย่างถูกต้องและเตรียมข้อผิดพลาด

    หากไม่ตอบรับเข้าร่วมแสดงปฏิกิริยา "คุณยังไม่ได้ทำตามคำแนะนำของฉัน!"



  10. เพิ่มส่วนประกอบอื่น ๆ ทั้งหมดของโปรแกรมของคุณ เมื่อคุณคิดว่าคุณทำเสร็จแล้วให้เรียกดูเอกสารของคุณและเพิ่มรายการที่หายไปหรือจัดทำเป็นเอกสารเพื่อให้แน่ใจว่าคนที่อ่านแล้วเข้าใจว่าเกิดอะไรขึ้น นามแฝงของคุณควรมีลักษณะเช่นนี้ในที่สุด

    โปรแกรมนี้กำลังรอผู้ใช้ หากตรงกับสิ่งที่คาดหวังโปรแกรมจะตอบสนองมิฉะนั้นจะส่งการปฏิเสธ แสดงคำทักทาย "ฉันขอให้คุณอรุณสวัสดิ์!" แสดงข้อความแจ้งผู้ใช้ "กดปุ่ม" Enter "เพื่อดำเนินการต่อ" แสดงพรอมต์แอ็คชั่นผู้ใช้ "คุณเป็นอย่างไรบ้างในวันนี้" แสดง 3 ข้อเสนอ "1. ดี" "2. ดีมาก" "3 แย่" แสดงคำขอผู้ใช้ป้อนข้อมูล "ป้อนหมายเลขที่กำหนดสถานะของคุณ:" IF "1" แสดงปฏิกิริยา "ดีเลิศ!" หาก "2" แสดงความคิดเห็น "ยอดเยี่ยม!" หาก "3" แสดงปฏิกิริยา "ป้อนใหม่!" หากไม่ตอบรับเข้าร่วมแสดงปฏิกิริยา "คุณยังไม่ได้ทำตามคำแนะนำของฉัน!"



  11. บันทึกเอกสารของคุณ ใน Windows ให้กดปุ่มพร้อมกัน Ctrl+S จากแป้นพิมพ์ของคุณและภายใต้ Mac ให้กดปุ่ม ⌘คำสั่ง+S. ตั้งชื่อและคลิก บันทึก.
คำแนะนำ



  • pseudocode เหมาะอย่างยิ่งสำหรับการกำหนดอัลกอริทึมซึ่งประกอบไปด้วยโปรแกรมที่สำคัญซึ่งมีแหล่งที่มาถึงโค้ดหลายร้อยถึงหมื่นบรรทัด
คำเตือน
  • เมื่อสร้างโปรแกรม pseudocode ไม่สามารถทดแทนได้โดยตรงสำหรับซอร์สโค้ดจริงที่คอมไพล์หรือแปลได้ อย่างไรก็ตามมันสามารถใช้เป็นข้อมูลอ้างอิงเพื่ออธิบายสิ่งที่โปรแกรมต้องทำ

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

วิธีรักษาไข้ที่บ้าน

Mark Sanchez

พฤษภาคม 2024

ส่วนอื่น ๆ วิดีโอบทความ ไข้คือการตอบสนองตามธรรมชาติของร่างกายในการต่อสู้กับไวรัสและแบคทีเรียโดยการทำให้เชื้อโรคอ่อนแอลงและจำกัดความสามารถในการแพร่พันธุ์ นอกจากนี้ยังช่วยเผาผลาญสารพิษและกระตุ้นระบบภูมิ...

บทความสำหรับคุณ