Fortran - ค่าคงที่
ค่าคงที่หมายถึงค่าคงที่ซึ่งโปรแกรมไม่สามารถเปลี่ยนแปลงได้ในระหว่างการดำเนินการ ค่าคงที่เหล่านี้เรียกอีกอย่างว่าliterals.
ค่าคงที่อาจเป็นชนิดข้อมูลพื้นฐานใด ๆ เช่นค่าคงที่จำนวนเต็มค่าคงที่ลอยค่าคงที่ของอักขระค่าคงที่เชิงซ้อนหรือลิเทอรัลของสตริง ค่าคงที่ตรรกะมีเพียงสองค่า:.true. และ .false.
ค่าคงที่ได้รับการปฏิบัติเช่นเดียวกับตัวแปรทั่วไปยกเว้นว่าไม่สามารถแก้ไขค่าได้หลังจากนิยามแล้ว
ชื่อค่าคงที่และตัวอักษร
ค่าคงที่มีสองประเภท -
- ค่าคงที่ตามตัวอักษร
- ค่าคงที่ที่มีชื่อ
ค่าคงที่ตามตัวอักษรมีค่า แต่ไม่มีชื่อ
ตัวอย่างเช่นต่อไปนี้เป็นค่าคงที่ตามตัวอักษร -
ประเภท | ตัวอย่าง |
---|---|
ค่าคงที่ของจำนวนเต็ม | 0 1-1 300 123456789 |
ค่าคงที่จริง | 0.0 1.0 -1.0 123.456 7.1E + 10 -52.715E-30 |
ค่าคงที่ที่ซับซ้อน | (0.0, 0.0) (-123.456E + 30, 987.654E-29) |
ค่าคงที่ตรรกะ | .true. .false. |
ค่าคงที่ของอักขระ |
"PQR" "ก" "123'abc $% # @!" "คำพูด" "" "PQR" ก "123" abc $% # @! " 'เครื่องหมายวรรคตอน' '' |
ค่าคงที่ที่ตั้งชื่อมีค่าเช่นเดียวกับชื่อ
ควรประกาศค่าคงที่ที่มีชื่อไว้ที่จุดเริ่มต้นของโปรแกรมหรือโพรซีเดอร์เช่นเดียวกับการประกาศประเภทตัวแปรโดยระบุชื่อและประเภท ค่าคงที่ตามชื่อจะประกาศด้วยแอตทริบิวต์พารามิเตอร์ ตัวอย่างเช่น,
real, parameter :: pi = 3.1415927
ตัวอย่าง
โปรแกรมต่อไปนี้จะคำนวณการกระจัดเนื่องจากการเคลื่อนที่ในแนวดิ่งภายใต้แรงโน้มถ่วง
program gravitationalDisp
! this program calculates vertical motion under gravity
implicit none
! gravitational acceleration
real, parameter :: g = 9.81
! variable declaration
real :: s ! displacement
real :: t ! time
real :: u ! initial speed
! assigning values
t = 5.0
u = 50
! displacement
s = u * t - g * (t**2) / 2
! output
print *, "Time = ", t
print *, 'Displacement = ',s
end program gravitationalDisp
เมื่อโค้ดด้านบนถูกคอมไพล์และเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -
Time = 5.00000000
Displacement = 127.374992