Fortran - ตัวแปร

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

ชื่อของตัวแปรสามารถประกอบด้วยตัวอักษรตัวเลขและอักขระขีดล่าง ชื่อใน Fortran ต้องเป็นไปตามกฎต่อไปนี้ -

  • ต้องมีความยาวไม่เกิน 31 อักขระ

  • ต้องประกอบด้วยอักขระที่เป็นตัวอักษรและตัวเลข (ตัวอักษรทั้งหมดของตัวอักษรและตัวเลข 0 ถึง 9) และขีดล่าง (_)

  • อักขระตัวแรกของชื่อต้องเป็นตัวอักษร

  • ชื่อไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่

ขึ้นอยู่กับประเภทพื้นฐานที่อธิบายไว้ในบทที่แล้วต่อไปนี้เป็นประเภทตัวแปร -

ซีเนียร์ No ประเภทและคำอธิบาย
1

Integer

สามารถเก็บได้เฉพาะค่าจำนวนเต็ม

2

Real

มันเก็บตัวเลขจุดลอย

3

Complex

ใช้สำหรับจัดเก็บจำนวนเชิงซ้อน

4

Logical

มันเก็บค่าบูลีนเชิงตรรกะ

5

Character

มันเก็บอักขระหรือสตริง

การประกาศตัวแปร

ตัวแปรจะถูกประกาศที่จุดเริ่มต้นของโปรแกรม (หรือโปรแกรมย่อย) ในคำสั่งประเภทประกาศ

ไวยากรณ์สำหรับการประกาศตัวแปรมีดังนี้ -

type-specifier :: variable_name

ตัวอย่างเช่น

integer :: total  	
real :: average 
complex :: cx  
logical :: done 
character(len = 80) :: message ! a string of 80 characters

หลังจากนั้นคุณสามารถกำหนดค่าให้กับตัวแปรเหล่านี้เช่น

total = 20000  
average = 1666.67   
done = .true.   
message = “A big Hello from Tutorials Point” 
cx = (3.0, 5.0) ! cx = 3.0 + 5.0i

คุณยังสามารถใช้ฟังก์ชันภายใน cmplx, เพื่อกำหนดค่าให้กับตัวแปรที่ซับซ้อน -

cx = cmplx (1.0/2.0, -7.0) ! cx = 0.5 – 7.0i 
cx = cmplx (x, y) ! cx = x + yi

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการประกาศตัวแปรการกำหนดและการแสดงผลบนหน้าจอ -

program variableTesting
implicit none

   ! declaring variables
   integer :: total      
   real :: average 
   complex :: cx  
   logical :: done 
   character(len=80) :: message ! a string of 80 characters
   
   !assigning values
   total = 20000  
   average = 1666.67   
   done = .true.   
   message = "A big Hello from Tutorials Point" 
   cx = (3.0, 5.0) ! cx = 3.0 + 5.0i

   Print *, total
   Print *, average
   Print *, cx
   Print *, done
   Print *, message
   
end program variableTesting

เมื่อโค้ดด้านบนถูกคอมไพล์และเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

20000
1666.67004    
(3.00000000, 5.00000000 )
T
A big Hello from Tutorials Point