[Fortran] νλ‘μμ (Procedure)
ν¬νΈλμ νμ΄μΈμ΄λ€λ³΄λ, μΈμ΄ μ€κ³μλ€μ μ‘λ€ν λ²λ―Όμ΄ μ§μ λΆνκ² λ¬»μ΄μλ€.
κ·Έ μλ‘, μμ¦ μΈμ΄λ€μμ "ν¨μ"λΌκ³ λΆλ₯΄λ λ¨μκ° 2κ°μ§λ‘ λΆλ¦¬λμ΄ μλ€.
νλλ ν¨μ, νλλ μλΈλ£¨ν΄μ΄λ€.
ν¨μ (Function)
ν¬νΈλμ ν¨μλ μλΉν μμμ μΈ κ΅¬μ‘°λ₯Ό κ°κ³ μλ€.
μλλ μ μ 2κ°λ₯Ό λ°μμ λν ν λ°ννλ κ°λ¨ν μ½λλ₯Ό ν¨μλ‘ κ΅¬νν κ²μ΄λ€.
ν¨μλͺ
μ€λ₯ΈνΈμ μΈμλ₯Ό λμ΄νλ건 νΉλ³ν κ² μμ§λ§, μ§μλ³μ μ μΈμΌλ‘ λ νμ
μ μ§μ ν΄μ λͺ
μμ μΌλ‘ μ μΈν΄μ€μΌνλκ² μ‘°μ‘μ€λ° λΆλΆμ΄λ€.
κ²λ€κ° ν¨μμ λ°νκ°μ μ§μ νλ λΆλΆλ λ»μ μ§κ·Όνκ² λμ΄μλ€.
ν¨μλͺ
κ³Ό λμΌν μ΄λ¦μ λ³μλ₯Ό μ μΈν΄λμΌλ©΄, κ·Έκ² λ°νκ°μΌλ‘ μ¬μ©λλ€.
named returnμ΄ λ무 μ΄λ₯΄κ² νμνλ€...
νΈμΆλ°©λ²λ μμμ μΈκ±΄ λ§μ°¬κ°μ§λ€.
ν΄λΉ μ€μ½ν λ΄μ νΈμΆν ν¨μμ μ΄λ¦κ³Ό λμΌν λ³μλ₯Ό μ μΈν΄μ€μΌ νλ€.
λ³μμ νμ
μ ν¨μμ λ°ννμ
μ΄μ΄μΌ νλ€.
κ·ΈλμΌ νμ μ μ°Ύλλ€.
μλ¬΄νΌ κ·Έλ¬λ©΄ μ€νμ λ κ²μ΄λ€.
μλΈλ£¨ν΄
ν¨μκ° μ λ ₯μ λ°κ³ μΆλ ₯μ λ°ννλ ννλ‘ λμνλ€λ©΄, μλΈλ£¨ν΄μ μ λ ₯κ°μ λν΄ mutationμ κ°νλ κΈ°λ₯μ κ°μ§λ€. κ·Έ λμ λ°ν κΈ°λ₯μ΄ λ°λ‘ μλ€.
λͺ¨λ νλΌλ―Έν°λ₯Ό μ¬μ€μ ν¬μΈν°λ‘ λ°μμ μ²λ¦¬νλ κ²κ³Ό λ€λ¦μ΄ μλ€.
μλλ μλΈλ£¨ν΄μ μ΄μ©ν΄μ swapμ μννλ μ½λ μμ λ€.
νλΌλ―Έν°λ₯Ό μ μΈνλ λ°©λ²μ ν¨μμ λ€λ¦μ΄ μλ€.
κ·Έλ¦¬κ³ μ¬μ©ν λλ call ν€μλλ₯Ό ν΅ν΄ νΈμΆν μ μλ€.
κ·Έλ¬λ©΄ μλΈλ£¨ν΄μ΄ μ€νλκ³ , λ΄λΆμ λ‘μ§μ μ€νν΄μ λ³μμ κ°μ μΉνν κ²μ΄λ€.
μ λμνλ€.