#include <stdio.h> int main(void) { int i, j; long dec; /* ให้รับค่าอินพุทแบบ Long Integer - เลขจำนวนเต็มแบบยาว */ int bit[32]; /* จองพื้นที่ในการเก็บข้อมูลเลขฐาน 2 ลงใน Array */ clrscr(); /* เคลียร์หน้าจอ */ scanf("%ld", &dec); /* ต้องใช้ ld เพราะ Input มันเป็นแบบ Long Integer */ i = 0; /* กำหนดค่าเริ่มต้นของ Array */ /* ทำตามที่ได้ออกแบบโปรแกรมเอาไว้ ... ยังไงยังงั้นเลย 55555+ */ do { bit[i++] = dec % 2; /* การหารเอาเศษ เพื่อให้เป็นคำตอบ */ /* การหารทั่วไป แต่ตัวแปร dec ของภาษา C มันเป็น Integer หรือ เลขจำนวนเต็ม */ /* ดังนั้นมันจึงตัดเศษ (หรือทศนิยม) ทิ้งไปโดยอัตโนมัติ */ dec = dec / 2; } while (dec > 0); /* เงื่อนไขที่ทำจนกระทั่ง dec = 0 ก็ออกจากวังวนเงื่อนไข */ /* การแสดงผลของการแปลงเลขฐาน 10 เป็นเลขฐาน 2*/ /* j = i - 1 และให้ j ลดค่าลงทีละ 1 ... ก็คืออ่านข้อมูลถอยหลังกลับเท่านั้นเองครับ */ /* เพราะตัวแปรแบบ Array ในภาษา C มันเก็บข้อมูลจากซ้ายไปขวา */ /* ทำให้ LSB # กำหนดค่าคงที่ของแรงโน้มถ่วง (หน่วย m/s^2) GRAVITY = 9.81 # ตำแหน่งเริ่มต้น (เมตร) position = 100.0 # วัตถุอยู่สูงจากพื้น 100 เมตร velocity = 0.0 # เริ่มต้นด้วยความเร็ว 0 time_step = 0.1 # หน่วยเวลาแต่ละรอบ (วินาที) # จำลองการเคลื่อนที่ภายใต้แรงโน้มถ่วง for i in range(100): velocity += GRAVITY * time_step # ความเร็วเพิ่มขึ้นตามแรงโน้มถ่วง position -= velocity * time_step # ตำแหน่งลดลง (วัตุตกลงมา) print(f"เวลา: {i*time_step:.1f} วินาที | ตำแหน่ง: {position:.2f} m | ความเร็ว: {velocity:.2f} m/s") if position <= 0: print("วัตุตกถึงพื้นแล้ว!")# ค่าคงที่ GRAVITY = 9.81 # m/s^2 # มวลของวัตถุ (กิโลกรัม) mass = 2.0 # kg # ตำแหน่งเริ่มต้นและความเร็ว height = 10.0 # เมตร velocity = 0.0 # m/s # เวลาจำลอง time_step = 0.1 # วินาที position = height total_energy = mass * GRAVITY * height # พลังงานกลเริ่มต้น print(f"พลังงานกลเริ่มต้น: {total_energy:.2f} J") for t in range(100): # คำนวณพลังงานศักย์และจลน์ potential_energy = mass * GRAVITY * position kinetic_energy = 0.5 * mass * velocity ** 2 mechanical_energy = potential_energy + kinetic_energy print(f"เวลา {t * time_step:.1f}s | ศักย์: {potential_energy:.2f} | จลน์: {kinetic_energy:.2f} | รวม: {mechanical_energy:.2f}") # อัปเดตความเร็วและตำแหน่ง velocity += GRAVITY * time_step position -= velocity * time_step # หยุดเมื่อถึงพื้น if position <= 9: position = 9 break break
Standard input is empty
#include <stdio.h> int main(void) { int i, j; long dec; /* ให้รับค่าอินพุทแบบ Long Integer - เลขจำนวนเต็มแบบยาว */ int bit[32]; /* จองพื้นที่ในการเก็บข้อมูลเลขฐาน 2 ลงใน Array */ clrscr(); /* เคลียร์หน้าจอ */ printf("Decimal Number : "); /* แจ้งผู้ใช้เพื่อเตรียมป้อนค่าเลขฐาน 10 */ scanf("%ld", &dec); /* ต้องใช้ ld เพราะ Input มันเป็นแบบ Long Integer */ i = 0; /* กำหนดค่าเริ่มต้นของ Array */ /* ทำตามที่ได้ออกแบบโปรแกรมเอาไว้ ... ยังไงยังงั้นเลย 55555+ */ do { bit[i++] = dec % 2; /* การหารเอาเศษ เพื่อให้เป็นคำตอบ */ /* การหารทั่วไป แต่ตัวแปร dec ของภาษา C มันเป็น Integer หรือ เลขจำนวนเต็ม */ /* ดังนั้นมันจึงตัดเศษ (หรือทศนิยม) ทิ้งไปโดยอัตโนมัติ */ dec = dec / 2; } while (dec > 0); /* เงื่อนไขที่ทำจนกระทั่ง dec = 0 ก็ออกจากวังวนเงื่อนไข */ /* การแสดงผลของการแปลงเลขฐาน 10 เป็นเลขฐาน 2*/ /* j = i - 1 และให้ j ลดค่าลงทีละ 1 ... ก็คืออ่านข้อมูลถอยหลังกลับเท่านั้นเองครับ */ /* เพราะตัวแปรแบบ Array ในภาษา C มันเก็บข้อมูลจากซ้ายไปขวา */ /* ทำให้ LSB # กำหนดค่าคงที่ของแรงโน้มถ่วง (หน่วย m/s^2) GRAVITY = 9.81 # ตำแหน่งเริ่มต้น (เมตร) position = 100.0 # วัตถุอยู่สูงจากพื้น 100 เมตร velocity = 0.0 # เริ่มต้นด้วยความเร็ว 0 time_step = 0.1 # หน่วยเวลาแต่ละรอบ (วินาที) # จำลองการเคลื่อนที่ภายใต้แรงโน้มถ่วง for i in range(100): velocity += GRAVITY * time_step # ความเร็วเพิ่มขึ้นตามแรงโน้มถ่วง position -= velocity * time_step # ตำแหน่งลดลง (วัตุตกลงมา) print(f"เวลา: {i*time_step:.1f} วินาที | ตำแหน่ง: {position:.2f} m | ความเร็ว: {velocity:.2f} m/s") if position <= 0: print("วัตุตกถึงพื้นแล้ว!")# ค่าคงที่ GRAVITY = 9.81 # m/s^2 # มวลของวัตถุ (กิโลกรัม) mass = 2.0 # kg # ตำแหน่งเริ่มต้นและความเร็ว height = 10.0 # เมตร velocity = 0.0 # m/s # เวลาจำลอง time_step = 0.1 # วินาที position = height total_energy = mass * GRAVITY * height # พลังงานกลเริ่มต้น print(f"พลังงานกลเริ่มต้น: {total_energy:.2f} J") for t in range(100): # คำนวณพลังงานศักย์และจลน์ potential_energy = mass * GRAVITY * position kinetic_energy = 0.5 * mass * velocity ** 2 mechanical_energy = potential_energy + kinetic_energy print(f"เวลา {t * time_step:.1f}s | ศักย์: {potential_energy:.2f} | จลน์: {kinetic_energy:.2f} | รวม: {mechanical_energy:.2f}") # อัปเดตความเร็วและตำแหน่ง velocity += GRAVITY * time_step position -= velocity * time_step # หยุดเมื่อถึงพื้น if position <= 9: position = 9 break break