สารบัญ:
- ขั้นตอนที่ 1: ระบุจำนวนเครื่องดื่ม (for-loop)
- ขั้นตอนที่ 2: กำหนดตัวแปรอื่นๆ (อินพุต, ถ้า/อื่น)
- ขั้นตอนที่ 3: กำหนดสมการเพื่อคำนวณ BAC
- ขั้นตอนที่ 4: ตีความ BAC ให้เป็นผลลัพธ์ที่ประจักษ์ต่อร่างกายมนุษย์ (ถ้า/elseif)
- ขั้นตอนที่ 5: คำนวณจำนวนชั่วโมงก่อนที่หัวเรื่องจะเงียบขรึม
- ขั้นตอนที่ 6: ผลลัพธ์และการตีความ
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
โดย Haarika Gogineni, Hana Schlosser และ Benedict Uiseco
ในโครงการนี้ เราจะพยายามคำนวณความเข้มข้นของแอลกอฮอล์ในเลือด (BAC) ตามจำนวนเครื่องดื่ม น้ำหนัก และเพศของอาสาสมัคร หลังจากส่งออก BAC ที่คำนวณแล้ว เราจะระบุผลกระทบของระดับ BAC นั้นต่ออวัยวะและระบบหลักในร่างกายและลักษณะทางกายภาพของมัน นอกจากนี้เรายังจะจัดเรียง BAC ใหม่เพื่อคำนวณจำนวนชั่วโมงสำหรับเรื่องที่จะทำลายแอลกอฮอล์และมีสติอย่างสมบูรณ์
ขั้นตอนที่ 1: ระบุจำนวนเครื่องดื่ม (for-loop)
- เริ่มโค้ดโดยใช้ฟังก์ชัน "clear" และ "clc" เพื่อล้างหน้าต่างคำสั่งและพื้นที่ทำงานจากงานก่อนหน้า
- ใช้ฟังก์ชัน "input" เพื่อพิมพ์ไปที่หน้าต่างคำสั่ง โดยให้หัวข้อป้อนจำนวนเครื่องดื่มต่างๆ ที่บริโภค
- หากตัวแปร "NumberofDrinks" มากกว่า 1 ให้ใช้ "for loop" เพื่อให้ผู้รับการทดลองป้อนเปอร์เซ็นต์แอลกอฮอล์และออนซ์ของแอลกอฮอล์ในเครื่องดื่มแต่ละประเภท จากนั้นตัวแปรเหล่านี้จะใช้ในการคำนวณการบริโภคแอลกอฮอล์โดยรวมของอาสาสมัคร
ขั้นตอนที่ 2: กำหนดตัวแปรอื่นๆ (อินพุต, ถ้า/อื่น)
- ใช้ฟังก์ชัน "ป้อนข้อมูล" อีกครั้งเพื่อให้ผู้รับการทดลองป้อนน้ำหนัก (ปอนด์) และจำนวนชั่วโมงที่ผ่านไปตั้งแต่ดื่ม ปัจจัยทั้งสองมีผลต่อการสลายแอลกอฮอล์ในเลือด
- ใช้ฟังก์ชัน "input" เพื่อให้ผู้รับเรื่องสามารถป้อนเพศได้
- เสริมฟังก์ชันนั้นด้วยคำสั่ง "if/elseif" ที่กำหนดค่าคงที่เฉพาะให้กับแต่ละเพศ ฟังก์ชัน "strcmp" conpares ตัวแปรกับสตริง และหากตัวแปรที่ป้อนไม่ใช่ 'male' หรือ 'female' ให้สร้างคำสั่ง "else" ที่แสดงข้อผิดพลาด
ปัญหาที่เรามี: ปัญหาหนึ่งที่เรามีคือเมื่อเราพยายามสร้างตัวดำเนินการเชิงตรรกะสำหรับตัวแปร "เพศ" รหัสจะไม่ทำงานอย่างถูกต้องหากเราเขียน "gender = 'male'" หรือ "gender = 'female'"; มันจะเปลี่ยนกลับเป็นผู้ชายโดยไม่คำนึงว่าเป็นเพศที่ถูกต้องหรือไม่ ปัญหาคือในคำสั่ง "อื่น" ไม่สามารถมีตัวแปรเท่ากับสตริงได้ เป็นผลให้เราต้องแก้ไขฟังก์ชันเป็น "strcmp" - ฟังก์ชันเปรียบเทียบสตริง - ซึ่งอนุญาตให้โค้ดดำเนินการได้
ขั้นตอนที่ 3: กำหนดสมการเพื่อคำนวณ BAC
ใช้สูตรที่พบในงานวิจัยเพื่อพัฒนาสมการหา BAC จากตัวแปรที่สร้างในขั้นตอนก่อนหน้า
ขั้นตอนที่ 4: ตีความ BAC ให้เป็นผลลัพธ์ที่ประจักษ์ต่อร่างกายมนุษย์ (ถ้า/elseif)
- สร้างคำสั่ง "if/elseif" ที่ใช้ตัวดำเนินการด้านลอจิสติกส์ (>, <, ==, ~, &) เพื่อแสดงผลลัพธ์ที่สอดคล้องกันตามค่า BAC ที่คำนวณได้ซึ่งตรงกับคำสั่งลอจิสติกส์ที่เลือก
- ใช้ฟังก์ชัน "fprintf" เพื่อพิมพ์ค่า BAC ไปที่หน้าต่างคำสั่งและผลของระดับนั้นที่มีต่อร่างกายและการแสดงอาการตามการวิจัย
- ทำซ้ำขั้นตอนเหล่านี้ต่อไปสำหรับ BAC หลักทั้งหมดที่มีเอฟเฟกต์ต่างกัน
ขั้นตอนที่ 5: คำนวณจำนวนชั่วโมงก่อนที่หัวเรื่องจะเงียบขรึม
- จัดเรียงสูตร BAC ใหม่จากขั้นตอนที่ 2 เพื่อหาจำนวนชั่วโมงจนกว่าเรื่องจะเงียบขรึม (BAC =0)
- จากสูตรนั้น ให้คำนวณจำนวนชั่วโมงและพิมพ์ข้อมูลนี้ไปยังหน้าต่างคำสั่งโดยใช้ฟังก์ชัน "fprintf"
ขั้นตอนที่ 6: ผลลัพธ์และการตีความ
หลังจากเขียนโค้ดและป้อนค่าสำหรับคำถามที่ถามขึ้น จำนวนเครื่องดื่ม เปอร์เซ็นต์แอลกอฮอล์ น้ำหนัก เพศ ฯลฯ ให้คลิก "เรียกใช้" และรับผลลัพธ์ของคุณ BAC จะแสดงพร้อมกับย่อหน้าอธิบายผลกระทบของ BAC ที่คำนวณได้ ข้อความที่พิมพ์ออกมาอีกฉบับจะให้จำนวนชั่วโมงที่จำเป็นแก่คุณจนกว่าคุณจะมีสติสัมปชัญญะอย่างสมบูรณ์
* หมายเหตุ: เนื่องจากย่อหน้าการตีความยาว คุณจะต้องเลื่อนไปทางขวาเพื่ออ่านข้อความทั้งหมด