Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ๊ณต๊ธ์์์ ์คํํ ์ ์๋ ftnchek ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
ftnchek - Fortran 77 ํ๋ก๊ทธ๋จ ๊ฒ์ฌ๊ธฐ
๊ฐ์
ftnchek [ -์ธ์[=๋ช ๋ถ] ] [ -์ ๋ ฌ[=๋ช ๋ถ] ]
[ -[์๋]๊ฐ๊ฒฐํ ] [ -์ฝํธ๋ฆฌ[=๋ช ๋ถ] ] [ -[์๋]๊ฒ์ฌ ]
[ -์ด[=NUM] ] [ -ํํ[=๋ช ๋ถ] ]
[ -[์๋]์ํธ์ฐธ์กฐ[=๋ช ๋ถ] ] [ -[์๋]์๋ฆฌ๋ค ]
[ -[์๋]๋ถํ ] [ -์ค๋ฅ[=NUM] ] [ -[์๋]์ธ๋ถ ]
[ -[์๋]f77[=๋ช ๋ถ] ] [ -[์๋]f90[=๋ช ๋ถ] ]
[ -[์๋]f95[=๋ช ๋ถ] ] [ -[์๋]๋์ ]
[ -[์๋]์๋ณ์ ๋ฌธ์[=๋ช ๋ถ] ] [ -ํฌํจ=ํ์ ๋ฒ์ ]
[ -๋ณธ์ง์ [=๋ช ๋ถ] ] [ -[์๋]๋์๊ด ] [ -[์๋]๋ช ๋ถ ]
[ -madecls[=๋ช ๋ถ] ] [ -mkhtml[=๋ช ๋ถ] ]
[ -[์๋]์ด์ฌ์ ] [ -์ถ๋ ฅ=ํ์ ๋ฒ์ ]
[ - ํฌ์ธํฐ ํฌ๊ธฐ[=NUM] ] [ -[์๋]์ด์์ฑ[=๋ช ๋ถ] ]
[ -[์๋]์์[=๋ช ๋ถ] ] [ -๊ณํ[=๋ช ๋ถ] ]
[ -[์๋]์์ํ ] [ -[์๋]์กฐ์ฉํ ] [ -[์๋]์ฐธ๊ณ ]
[ -[์๋]์์ ] [ -[์๋]XNUMX์ ] [ -[์๋]์ข ๋ฅ ]
[ -source[=๋ช ๋ถ] ] [ ์คํ์ผ[=๋ช ๋ถ] ] [ -[์๋]์ฌํญ ]
[ -[์๋]์๋ฆผ[=๋ช ๋ถ] ] [ -์ฉ๋ฒ[=๋ช ๋ถ] ]
[ -[์๋]๊ฐ์ํ์ค ] [ -[์๋]๋ฒ์ ] [ -[์๋]ํ๋ฐ์ฑ์ ]
[ -๋จ์ด ํฌ๊ธฐ[=NUM] ] [ -์ธ๋ค[=NUM] ] [ ํ์ผ ... ]
๊ธฐ์
ftnchek (Fortran checker์ ์ฝ์ด)๋ Fortran์ ํน์ ์ค๋ฅ๋ฅผ ๊ฐ์งํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
์ปดํ์ผ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ํ์ง ์๋ ํ๋ก๊ทธ๋จ์ ๋๋ค. ftnchek ์ฃผ๋ก ํ์งํ๊ธฐ ์ํ ๊ฒ์ด ์๋๋๋ค.
๊ตฌ๋ฌธ ์ค๋ฅ. ๊ทธ ๋ชฉ์ ์ ์ฌ์ฉ์๊ฐ ์๋ฏธ ์ค๋ฅ๋ฅผ ์ฐพ๋ ๋ฐ ๋์์ ์ฃผ๋ ๊ฒ์ ๋๋ค. ์๋ฏธ๋ก ์
์ค๋ฅ๋ Fortran ์ธ์ด์์ ํฉ๋ฒ์ ์ด์ง๋ง ๋ญ๋น์ ์ด๊ฑฐ๋ ์๋ชป๋ ์ค๋ฅ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค.
์์ . ์๋ฅผ ๋ค์ด, ์ ํ ์ฌ์ฉ๋์ง ์๋ ๋ณ์๋
ํ๋ก๊ทธ๋จ; ์ด๊ธฐํ๋์ง ์์ ๋ณ์์๋ ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์๋ ์ฐ๋ ๊ธฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
๊ณํ๋; ์ ์ธ๋์ง ์์ ๋ณ์๋ ์๋ํ ์ ํ์ ๊ฐ์ง ์์ ์ ์์ต๋๋ค. ftnchek
์ฌ์ฉ์์ Fortran ํ๋ก๊ทธ๋จ ๋๋ฒ๊น ์ ๋๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ์๋ํ ๋ฐ๋ ์๋๋ค
๋ชจ๋ ๊ตฌ๋ฌธ ์ค๋ฅ๋ฅผ ํฌ์ฐฉํฉ๋๋ค. ์ด๊ฒ์ด ์ปดํ์ผ๋ฌ์ ๊ธฐ๋ฅ์ ๋๋ค. ์ฌ์ฉํ๊ธฐ ์ ์
ftnchek, ์ฌ์ฉ์๋ ํ๋ก๊ทธ๋จ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ปดํ์ผ๋๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
์ด ๋ฌธ์๋ ๋จผ์ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ์์ฝํฉ๋๋ค. ftnchek. ๊ทธ ๋ถ๋ถ์ ์ ์ ์ฝ์ด์ผ ํฉ๋๋ค.
์ฌ์ฉํ๊ธฐ ์์ ftnchek. ์ดํ ์น์ ์์ ์ค๋ช ํฉ๋๋ค. ftnchek์ ์ต์ ์ ๋ํด ๋ ์์ธํ ์ค๋ช ํ์ธ์.
์ฌ์ฉ๋ฒ์ ์์ํ๊ณ ์ถ๋ ฅ์ ํด์ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ๋ง์ง๋ง ์น์
์ ํ์ฌํญ๊ณผ ์๋ ค์ง ๋ฒ๊ทธ๋ฅผ ์ธ๊ธํฉ๋๋ค. ftnchek.
๋ถ๋ฌ๋ด๊ธฐ FTNCHEK
ftnchek ๋ค์ ํ์์ ๋ช ๋ น์ ํตํด ํธ์ถ๋ฉ๋๋ค.
$ ftnchek [-์ต์ -์ต์ ...] ํ์ผ ์ด๋ฆ [ํ์ผ ์ด๋ฆ ...]
๊ดํธ๋ ์ ํ ์ฌํญ์ ๋ํ๋ ๋๋ค. ๊ดํธ ์์ฒด๋ ๊ทธ๋ ์ง ์์ต๋๋ค.
์ค์ ๋ก ์ ๋ ฅํ์ต๋๋ค. ์ฌ๊ธฐ์ ์ต์ ์ ๋ค์์ ์ ์ดํ๋ โโ๋ช ๋ น์ค ์ค์์น ๋๋ ์ค์ ์ ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์๋๊ณผ ์ธ์๋ ์ ๋ณด์ ์. ์๋์ค์ธ ๊ฒฝ์ฐ
์ต์ ์ด ์ง์ ๋๋ฉด ๊ธฐ๋ณธ ์์ ์ ์ค๋ฅ ๋ฉ์์ง, ๊ฒฝ๊ณ ๋ฐ
์ ๋ณด ๋ฉ์์ง(ํ๋ก๊ทธ๋จ ๋ชฉ๋ก์ด๋ ๊ธฐํธ ํ ์ด๋ธ์ ์ ์ธ)
๊ฐ ์ต์ ์ '-' ๋ฌธ์๋ก ์์๋ฉ๋๋ค. (VAX/VMS ๋๋ MS-DOS ์์คํ ์์๋ ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
'/' ๋๋ '-' ์ค ํ๋์ ๋๋ค.) ์ ์ ๋ ์ผ๋ฐํ๋๋ ๊ท์น์ ์ค์ํ๊ธฐ ์ํด
์ต์ ์ '--'์ผ๋ก ์์ํ ์๋ ์์ต๋๋ค. ์ต์ ์ ๋ค์์์ ๋ ์์ธํ ์ค๋ช ๋ฉ๋๋ค.
์๋ด
ftnchek ์ต์ ์ ๋ ๊ฐ์ง ๋ฒ์ฃผ, ์ฆ true ๋๋ false์ธ ์ค์์น์
์ซ์ ๋๋ ๋ฌธ์์ด ๊ฐ์ ๊ฐ๋ ์ค์ ์ ๋๋ค. ์ค์์น ์ด๋ฆ ์์๋ 'no'๊ฐ ๋ถ์ต๋๋ค.
๋๋ 'no-'๋ก ๋๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํฉ๋๋ค. ์: -์์ํ์ง ์๋ค ๋ถ์ํ ๊ธฐ๋ฅ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ํด์ ํฉ๋๋ค.
'no' ์ ๋์ฌ๋ ์ซ์ ์ค์ ๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ๋๋ ํจ๊ณผ๋ ์์ต๋๋ค.
ํด๋น ๊ฒฝ๊ณ . ๊ฒฝ๊ณ ๋ชฉ๋ก์ ์ ์ดํ๋ โโ์ค์ ์๋ ํน๋ณํ ๊ตฌ๋ฌธ์ด ์์ต๋๋ค.
์๋์์ ๋ ผ์๋ฉ๋๋ค. ์ต์ ์ด๋ฆ์ ์ฒ์ 3์๋ง('-'๋ ์ ์ธ)
์ ๊ณต๋์ด์ผ ํฉ๋๋ค. ์ซ์๋ ๋ฌธ์์ด์ ๊ฒฝ์ฐ ๋ฑํธ ๋์ ์ฝ๋ก ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ ๋น ์ค์ ; ๊ทธ๋ฌ๋ ์๋์๋ ๋ฑํธ ํ์๋ง ํ์๋ฉ๋๋ค.
์ค์์น์ ์ค์ ftnchek ํ์ฌ ์ธ์ํ๋ ํญ๋ชฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ฐ๊ฐ
์ต์ ์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ ์ต์ ์ ๋ช ์์ ์ผ๋ก ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ ์ฌ์ฉ๋๋ ๊ฐ์ ๋๋ค.
์ผ๊ธฐ(turn-on)๋ ๊ฐ์ ํ ๋นํ์ง ์๊ณ ์ต์ ์ด ์ ๊ณต๋๋ ๊ฒฝ์ฐ ์ฌ์ฉ๋๋ ๊ฐ์ ๋๋ค.
-์ธ์=๋ช ๋ถ
ํ์ ํ๋ก๊ทธ๋จ ์ ํ ๋ฐ ์ธ์ ๋ถ์ผ์น์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ
= ๋ชจ๋.
-๋ฐฐ์ด=๋ช ๋ถ
ํ์ ํ๋ก๊ทธ๋จ์ ๋ฐฐ์ด ์ธ์๋ฅผ ํ์ธํ ๋ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ =
๋ชจ๋ .
-์งง์ ์ผ๋ถ ์ค๋ฅ ๋ฉ์์ง์๋ ๋ ์งง์ ํ์์ ์ฌ์ฉํ์ญ์์ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์ฝํธ๋ฆฌ=๋ช ๋ถ
3๊ฐ์ง ํ์ ์ค ํ๋๋ก ํ์ ํ๋ก๊ทธ๋จ ํธ์ถ ๊ณ์ธต ์์ฑ: ํ ์คํธ ํธ์ถ ํธ๋ฆฌ, ๋๊ฐ ํธ์ถ-
๋๊ตฌ์ VCG. ๊ธฐ๋ณธ๊ฐ = ์์, ์ผ๊ธฐ = ํธ๋ฆฌ, ์ ๋ฆฌ, ์ ๋ ฌ.
๊ฒฝ์ฐ -mkhtml ์ต์ ์ด ํธ์ถ๋ฉ๋๋ค ๊ณผ tree๋ ์ ์ฉ๋ ์ฝํธ๋ฆฌ ์ต์ , ์ฆ ํ์ผ์ ๋๋ค.
CallTree.html์ด๋ผ๋ ์ด๋ฆ์ ํ์ผ์ด HTML ํ์์ผ๋ก ํธ๋ฆฌ๋ฅผ ๋ฌ์ฌํ์ฌ ์์ฑ๋ฉ๋๋ค.
-๊ฒ์ฌ ์ ๊ฒ์ ์ํํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์.
-์ด=NUM
์ต๋ ์ค ๊ธธ์ด๋ฅผ ๋ค์์ผ๋ก ์ค์ ํ์ธ์. NUM ์ด. (์ด ์ด์์ ๋ฌด์๋ฉ๋๋ค.) Turn-on = max =
132. ๊ธฐ๋ณธ๊ฐ = 72.
-๊ณตํต=๋ช ๋ถ
COMMON ๋ธ๋ก ๊ฒ์ฌ์ ์๊ฒฉํจ ์ ๋๋ฅผ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ = ๋ชจ๋.
-๊ต์ฐจ์ฐธ์กฐ=๋ช ๋ถ
ํ์ ํ๋ก๊ทธ๋จ ํธ์ถ, ๋ ์ด๋ธ ์ฌ์ฉ ๋ฐ/๋๋ COMMON ๋ธ๋ก์ ์ํธ ์ฐธ์กฐ ๋ชฉ๋ก ์ธ์
์ฌ์ฉ. ๊ธฐ๋ณธ๊ฐ = ์์.
-์ ์ธํ๋ค
๋ฐ์ดํฐ ์ ํ์ด ๋ช ์์ ์ผ๋ก ์ ์ธ๋์ง ์์ ๋ชจ๋ ์๋ณ์ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค. ๊ธฐ๋ณธ
= ์๋์.
-๋ถํ
๋๋๊ธฐ๊ฐ ์ํ๋๋ ๊ณณ๋ง๋ค ๊ฒฝ๊ณ ํฉ๋๋ค(์์๋ก ๋๋๋ ๊ฒฝ์ฐ ์ ์ธ). ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์ค๋ฅ=NUM
์บ์ค์ผ์ด๋๋น ์ต๋ ์ค๋ฅ ๋ฉ์์ง ์๋ฅผ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ = 3.
-ํต๊ทผ์
ํธ์ถ๋ ์ธ๋ถ ์๋ธํ๋ก๊ทธ๋จ์ด ์ ์๋์ง ์์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์.
-f77=๋ช ๋ถ
Fortran 77 ํ์ค์ ๋ํด ์ง์๋๋ ํ์ฅ์ ๋ํ ํน์ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ = ์์, ์ผ๊ธฐ = ๋ชจ๋.
-f90=๋ช ๋ถ
Fortran 77 ํ์ค์ ๋ํด ์ง์๋๋ ํ์ฅ์ ๋ํ ํน์ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
Fortran 90 ํ์ค์ ์ผ๋ถ๋ก ์ฑํ๋์ง ์์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์์, ์ผ๊ธฐ
= ๋ชจ๋.
-f95=๋ช ๋ถ
๋ค์์์ ์ญ์ ๋ ํ์ค Fortran 77 ๊ธฐ๋ฅ์ ๋ํ ํน์ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
ํฌํธ๋ 95 ํ์ค. ๊ธฐ๋ณธ๊ฐ = ์์, ์ผ๊ธฐ = ๋ชจ๋.
-๋์ ๋ช ๋ น ์์ฝ์ ์ธ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์๋ณ์-๋ฌธ์=๋ช ๋ถ
์๋ณ์์ ์ฌ์ฉํ ์ ์๋ ์์ซ์๊ฐ ์๋ ๋ฌธ์๋ฅผ ์ ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ =
์ผ๊ธฐ = ๋ฌ๋ฌ ๊ธฐํธ ๋ฐ ๋ฐ์ค.
-ํฌํจ=ํต๋ก
์์คํ ์ ์ฒด์์ ๊ฒ์ํ๊ธฐ ์ ์ INCLUDE ํ์ผ์ ๊ฒ์ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ์ํฉ๋๋ค.
์๋ฐฐ ๊ท์น์. ๋์ . ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ = ์์.
-๋ด์ฌ์ =๋ช ๋ถ
๋นํ์ค ๋ด์ฅ ํจ์์ ์ฒ๋ฆฌ๋ฅผ ์ ์ดํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ๋ค์์ ์ ์ธํ ๋ชจ๋ VM์ for
Unix ๋ฒ์ ์ ์ ์ธํ ๋ชจ๋ ๋ฒ์ ์ ๋์ค VMS ๋ฒ์ ์ ๊ฒฝ์ฐ ๋ค์์ ์ ์ธํ ๋ชจ๋ ๋ฒ์ ์ ๋์ค ๊ณผ VM์ ๊ธฐํ
๋ฒ์ . ์ผ๊ธฐ = ๋ชจ๋.
-๋์๊ด
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋ ์์: ์ ์๋ ํ์ผ์ ํ์ ํ๋ก๊ทธ๋จ์ ๋ํด ๊ฒฝ๊ณ ํ์ง ์์ง๋ง
์ฌ์ฉํ์ง ์์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-๋ช ๋ถ ํ๋ก๊ทธ๋จ์ ์์ค ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-madecls=๋ช ๋ถ
์ ์ธ๋ฌธ ํ์ผ์ ์ค๋นํฉ๋๋ค. ๊ทธ๋งํผ ๋ช ๋ถ ์ด ํ์์ ๋ํ ์ต์ ์ ์ง์ ํฉ๋๋ค.
ํ์ผ. ๊ธฐ๋ณธ๊ฐ = ์์, ์ผ๊ธฐ = ์ ์ธ.
-mkhtml=๋ช ๋ถ
ftnchek ๋ถ์ ๋ฐ ์ฝ๋ ์ฃผ์์์ ๊ฐ๋ณ HTML ๋ฌธ์ ํ์ผ์ ์์ฑํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ค์์ ์ง์ ํ๊ณ ์ถ์ ์๋ ์์ต๋๋ค. -์ฝ=ํธ๋ฆฌ ๋ฃจํธ HTML ํ์ผ์ ์์ฑํ๋ ค๋ฉด
CallTree.html. ๊ธฐ๋ณธ๊ฐ = ์์, ์ผ๊ธฐ = ๋ฌธ์.
-์ด์ฌ์
์ด๋ณด ์ฌ์ฉ์์๊ฒ ์ ํฉํ ์ถ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์.
-์ถ๋ ฅ=ํ์ผ ์ด๋ฆ
์ง์ ๋ ํ์ผ๋ก ์ถ๋ ฅ์ ๋ณด๋ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๋ฐ ์ผ์ง์ ์ถ๋ ฅ์ ํ๋ฉด์ผ๋ก ๋ณด๋ ๋๋ค.
(๊ธฐ๋ณธ ํ์ผ ์ด๋ฆ ํ์ฅ์๋ .lis).
-ํฌ์ธํฐ ํฌ๊ธฐ=NUM
``Cray ํฌ์ธํฐ'' ๋ณ์์ ํฌ๊ธฐ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํฉ๋๋ค. NUM ๋ฐ์ดํธ. ์ต์ = 1, ์ต๋ = 16.
๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ = 4
-์ด์์ฑ=๋ช ๋ถ
์ด์ํ ์ ์๋ ์ฌ์ฉ๋ฒ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์์, ์ผ๊ธฐ = ๋ชจ๋.
-์์๋ค=๋ช ๋ถ
์คํด์ ์์ง๊ฐ ์๋ ์์ค ์ฝ๋ ๋ชจ์์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ํ์ -
์ = ๋ชจ๋.
-ํ๋ก์ ํธ=๋ช ๋ถ
ํ๋ก์ ํธ ํ์ผ์ ์์ฑํฉ๋๋ค(์๋ ์ค๋ช ์ฐธ์กฐ). ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์์ํ ํจ์๋ ์์ํ๋ค๊ณ , ์ฆ ๋ถ์์ฉ์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์.
-์กฐ์ฉํ ๋ ์์ธํ ์ถ๋ ฅ์ ์์ฑํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์ฐธ๊ณ
๊ฐ ํ์ ํ๋ก๊ทธ๋จ์ด ์ฐธ์กฐํ๋ ํ์ ํ๋ก๊ทธ๋จ ํ ์ด๋ธ์ ์ธ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์์
ํ๋ก๊ทธ๋จ ๋ถ์์ ์ฌ์ฉ๋ ๋ฆฌ์์ค์ ์์ ์ถ๋ ฅํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์ฌ์ฏ์
6์ ๊ธธ์ด์์ ์ถฉ๋ํ๋ ๋ณ์ ์ด๋ฆ์ ๋์ดํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์ข ๋ฅ ํ์ ์์๋ก ์ ๋ ฌ๋ ํ์ ํ๋ก๊ทธ๋จ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์์ค=๋ช ๋ถ
์์ค ํ์ ์ต์ ์ ํ: ๊ณ ์ ๋๋ ์์ ํ์, DEC Fortran ํญ ํ์
ํ, VMS ์คํ์ผ INCLUDE ๋ฌธ, UNIX ์คํ์ผ ๋ฐฑ์ฌ๋์ ์ด์ค์ผ์ดํ ์ํ์ค ๋ฐ
๋งค๊ฐ๋ณ์์ ์์์ ์ ํ ์ง์ . ๊ธฐ๋ณธ๊ฐ = ์์, ์ผ๊ธฐ = ๋ชจ๋.
-์คํ์ผ=๋ช ๋ถ
๋ ธํํ๋๊ฑฐ๋ ๊ตฌ์์ธ ํ๋ก๊ทธ๋๋ฐ์ ๋ํด ๋งค์ฐ ๊น๋ค๋ก์ด ๊ฒฝ๊ณ ๋ฅผ ์์ฑํฉ๋๋ค.
๊ฑด์ถ. ๊ธฐ๋ณธ๊ฐ = ์์, ์ผ๊ธฐ = ๋ชจ๋.
-์ฌํญ
๊ฐ ์๋ธํ๋ก๊ทธ๋จ์ ๋ํ ๊ธฐํธ ํ ์ด๋ธ๊ณผ ๋ผ๋ฒจ ํ ์ด๋ธ์ ์ธ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-์๋ฆผ=๋ช ๋ถ
์๋ฆผ์ผ๋ก ์ธํด ์ ํ๋๊ฐ ์์ค๋ ์ ์๋์ง ํ์ธํ์ธ์. ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ = ๋ชจ๋.
-์ฌ์ฉ=๋ช ๋ถ
์ฌ์ฉ๋์ง ์๊ฑฐ๋ ์ด๊ธฐํ๋์ง ์์ ๋ณ์, ๊ณตํต ๋ธ๋ก ๋ฑ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ = ๋ชจ๋.
-vcg ํธ์ถ ๊ทธ๋ํ์ VCG ํ์์ ์์ฑํฉ๋๋ค.
-๋ฒ์ญ
๋ฒ์ ๋ฒํธ๋ฅผ ์ธ์ํ์ธ์. ๊ธฐ๋ณธ๊ฐ = ์๋์.
-ํ๋ฐ์ฑ ๋ฌผ์ง
COMMON ๋ธ๋ก์ด ํ์ฑํ ์ฌ์ด์ ์ ์๋ฅผ ์๋๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์. (๊ตฌ์์ ๋๋ค.
-๊ณตํต=ํ๋ฐ์ฑ ๋์ .)
-๋จ์ด ํฌ๊ธฐ=NUM
์ซ์ ์๋์ ๊ธฐ๋ณธ ๋จ์ด ํฌ๊ธฐ๋ฅผ ๋ค์์ผ๋ก ์ค์ ํฉ๋๋ค. NUM ๋ฐ์ดํธ. ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ =
4 ๋ฐ์ดํธ.
-์ค๋ฐ๊ฟ=NUM
๊ธด ์ค๋ฅ ๋ฉ์์ง์ ๊ฒฝ๊ณ ๋ฅผ ๋ค์์ผ๋ก ์ค ๋ฐ๊ฟํ ์ถ๋ ฅ ์ด์ ์ค์ ํฉ๋๋ค.
์ . 0์ผ๋ก ์ค์ ํ๋ฉด ์ค ๋ฐ๊ฟ์ ๋๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ = 79.
๋ ๊ฐ ์ด์์ ์ต์ ์ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ผ ํฉ๋๋ค.
์ต์ ์ด ์ฌ๋์( / )๋ก ์์ํ๋ VMS์ ๊ฐ์ ์์คํ . ๊ณต๋ฐฑ์ ๋ฃ์ ์ ์์ต๋๋ค.
์ค์ ์์ ๋ฑํธ( = ) ์ฃผ์์ ์์ต๋๋ค. ftnchek "?" ๋ช ๋ น ์์ฝ์ ์์ฑํฉ๋๋ค
๋ชจ๋ ์ต์ ๊ณผ ์ค์ ์ ๋์ดํฉ๋๋ค.
ํค์๋ ๋ชฉ๋ก์ ์ทจํ๋ ์ค์ ์ ๊ฒฝ์ฐ -์ธ์, -์ ๋ ฌ, -์ฝํธ๋ฆฌ, -ํํ,
-๊ต์ฐจ ์ฐธ์กฐ, -f77, -f90, -f95, -๋ณธ์ง์ , -madecls, -mkhtml, -์ด์์ฑ, -์์,
-๊ณํ, -source, ์คํ์ผ, -์๋ฆผ๋ฐ -์ฉ๋ฒ, ๋ชฉ๋ก์ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ํค์๋ ๋ชฉ๋ก์ ์๋ตํ๋ฉด ํจ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ผ๊ธฐ ๊ฐ์ ๋ํ ์ต์ (๋๋ถ๋ถ์ ๊ฒฝ์ฐ ``all''๊ณผ ๋์ผ). ๋ํ ๋ชฉ๋ก์ ๊ฒฝ์ฐ
์๋ตํ๋ฉด ์ค์ ์ด๋ฆ ์์ ๋ค์์ ๋ถ์ผ ์ ์์ต๋๋ค. ์๋ or ์๋ - ๋ชจ๋ ์ต์ ์ ๋๋ ค๋ฉด
ํต์ ์๋จ. ์๋ฅผ ๋ค์ด, -f77 ๋นํ์ค ๊ตฌ์กฐ์ ๋ํ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ์ผ๋ ๋ฐ๋ฉด
-nof77 ๋ชจ๋ ๋๋๋ค. ์ธ ๊ฐ์ง ํน์ ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋์ ์ค์ ์ ์ํด ์ ์ด๋๋ ๋ชจ๋ ์ต์ ํค์๋๋ฅผ ๊ฐ๋จํ ์ค๋ช ๊ณผ ํจ๊ป ์ธ์ํฉ๋๋ค.
๊ทธ ์๋ฏธ์ ๋ํ ์ค๋ช . ์ด ํค์๋๋ ๋ค๋ฅธ ํค์๋์ ํจ๊ป ๋ชฉ๋ก์ ์ ๊ณต๋ ์ ์์ต๋๋ค.
ํค์๋.
๋ชจ๋ ๋ชจ๋ ์ต์ ์ ์ค์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ค์ ์ผ๋ก ์ ์ด๋๋ ๋ชจ๋ ์ต์ ์ด ์ผ์ง๋๋ค.
์์ ๋ชจ๋ ์ต์ ์ ์ง์๋๋ค. ๊ทธ๋ฌ๋ฉด ์ค์ ์ผ๋ก ์ ์ด๋๋ ๋ชจ๋ ์ต์ ์ด ๊บผ์ง๋๋ค.
์ด ์ธ ๊ฐ์ง ํน์ ํค์๋๋ฅผ ๋ชจ๋ ์ ๋ ฅํด์ผ ํฉ๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ํค์๋์ ๊ฒฝ์ฐ
๋ช ํํ๊ฒ ์๋ณํ๋ ๋ฐ ํ์ํ ํค์๋ ๋ฌธ์๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
์์ผ๋์นด๋ ํจํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ชฉ๋ก์ ํค์๋๋ฅผ ํฌํจ์ํค๋ฉด ํด๋นํ๋
์ต์ ์ผ์ง. ์๋ฅผ ๋ค์ด, -f77=๋ด์ฌ์ ์ฌ์ฉ์ ๋ํ ๊ฒฝ๊ณ ๋ง ์ผ์ง๋๋ค.
๋นํ์ค ๋ด์ฅ ํจ์. ํค์๋ ์ ๋์ฌ ์๋ - ์ต์ ์ ๋๋๋ค. ์ ์ํ
์, -์์๋ค=์ค์ด ๊ธธ์ง ์๋ค 72๊ฐ ์ด์ ์ด๊ณผํ๋ ์ค์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ๋๋๋ค.
์คํด์ ์์ง๊ฐ ์๋ ๋ชจ์์ ๋ํ ๋ค๋ฅธ ๋ชจ๋ ๊ฒฝ๊ณ ๋ ๊ทธ๋๋ก ๋๊ณ ๊ธธ์ด๋ฅผ ์ ์งํฉ๋๋ค. ๋ง์ฝ
์ค์ ์๋ ๊ธฐ๋ณธ๊ฐ์ด ์์ต๋๋ค ์์, ๋ค์์ ์ฌ์ฉํ์ฌ ํ๋ ๋๋ ๋ ๊ฐ๋ฅผ ์ ์ธํ ๋ชจ๋ ์ต์ ์ ์ผค ์ ์์ต๋๋ค. ๋ชจ๋
์ฒซ ๋ฒ์งธ. ์๋ฅผ ๋ค์ด, -f77=๋ชจ๋, ํฌํจํ์ง ์์ ๋ชจ๋ ๋นํ์ค ํ์ฅ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ํ์ฑํํฉ๋๋ค.
INCLUDE ๋ฌธ์ ์ ์ธํ๊ณ . ์ค์ ์ ๊ธฐ๋ณธ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ชจ๋ , ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ๋ ์ ์์ต๋๋ค
์ฌ์ฉํ์ฌ ํ๋ ๋๋ ๋ ๊ฐ๋ฅผ ์ ์ธํ๊ณ ์์ ์ฒซ ๋ฒ์งธ. ์๋ฅผ ๋ค์ด, -์๋ฆผ=์์,๊ฐ๋ฑ ๋ณํ ๊ฒ์ด๋ค
๊ฐ๋ฑ์ ์ ์ธํ ๋ชจ๋ ์ ๋ฐ๋ ๊ด๋ จ ๊ฒฝ๊ณ ๋ฅผ ํด์ ํฉ๋๋ค. ์์ผ๋์นด๋ ํจํด์๋
๋ณํ๋ ์์์ ๋ฌธ์์ด์ ๋ํ๋ ๋๋ค. ์์ผ๋์นด๋ ํจํด์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ชจ๋
์ผ์นํ๋ ๊ฒฝ๊ณ ๊ฐ ์ํฅ์ ๋ฐ์ต๋๋ค. ๋ง์ฝ์ ์๋ - ํจํด ์์ ์ ๋์ฌ๊ฐ ๋ถ์ด ์์ผ๋ฉฐ, ์ผ์นํ๋ ๋ชจ๋ ํญ๋ชฉ์
๊ฒฝ๊ณ ๋ ๊บผ์ง๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ชจ๋ ์ผ์ง๋๋ค. ๋ชจํธํ์ง ์์ ์ต์ ๊ธธ์ด
์์ผ๋์นด๋ ์ผ์น์๋ ๊ท์น์ด ์ ์ฉ๋์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด -์ฌ์ฉ๋ฒ=์๋์ค-*var* ๋๋ค
๋ณ์ ์ฌ์ฉ(๋ก์ปฌ ๋ฐ ๊ณตํต ๋ชจ๋)๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ๊ฒฝ๊ณ . (Unix ์ฌ์ฉ์๋ ๋ค์์ ์ํํด์ผ ํ ์๋ ์์ต๋๋ค.
์์ด ์๋ํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์์ผ๋์นด๋๋ฅผ ํฌํจํ๋ ๋ชจ๋ ์ต์ ์ ์ธ์ฉํ์ญ์์ค.
ํ์ฅํ์ธ์.) ์์ผ๋์นด๋๋ ๊ฒฝ๊ณ ํค์๋ ๋ชฉ๋ก์์๋ง ์ธ์๋๋ฉฐ ์๋จ์๋ ์ธ์๋์ง ์์ต๋๋ค.
๋ ๋ฒจ ์ต์ ์์ฒด.
์ธ์ ๋ค ๊ณต์ ํ๋งค์ ์ธ ftnchek ์์ํ๋ฉด ํ๊ฒฝ ๋ณ์์ ๊ธฐ๋ณธ ์ค์ ๋ ์ฐพ์ต๋๋ค.
ํ์ผ. ํ๊ฒฝ์ด๋ ๊ธฐ๋ณธ ์ค์ ํ์ผ์ ์ ์๋ ๋ชจ๋ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉ๋ฉ๋๋ค.
๋ด์ฅ๋ ๊ธฐ๋ณธ๊ฐ ๋์ ๊ธฐ๋ณธ๊ฐ์ด ์ฌ์ฉ๋ฉ๋๋ค. ๋ชจ๋ ๋ช ๋ น์ค์ ์ํด ์ฌ์ ์๋ฉ๋๋ค.
์ต์ . ํ๊ฒฝ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ธฐ๋ณธ๊ฐ ๋ณ๊ฒฝ ์น์ ์ ์ฐธ์กฐํ์ธ์.
์ต์ ๋ฐ ๊ธฐ๋ณธ ์ค์ ํ์ผ.
์ ๋ ฅ ํ์ผ์ ์ด๋ฆ์ ์ง์ ํ ๋ ํ์ฅ์๋ ์ ํ ์ฌํญ์ ๋๋ค. ์ฐ์ฅ์ด ์ฃผ์ด์ง์ง ์๋ ๊ฒฝ์ฐ,
ftnchek ๋จผ์ ํ์ฅ๋ช ์ด ์๋ ํ๋ก์ ํธ ํ์ผ์ ์ฐพ์ต๋๋ค. .prj, ๊ทธ๋ฆฌ๊ณ ๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด ๊ทธ๊ฒ์ ์ฌ์ฉํ ๊ฒ์ ๋๋ค
์กด์ฌํฉ๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด, ftnchek ํ์ฅ์๋ฅผ ๊ฐ์ง Fortran ์์ค ํ์ผ์ ์ฐพ์ต๋๋ค. .์์ํ
VMS ์์คํ ์ ๊ฒฝ์ฐ, .f ์ ๋์ค ์์คํ ์ฉ. ๋ ์ด์์ ํ์ผ ์ด๋ฆ์ ๋ค์์ ์ง์ ํ ์ ์์ต๋๋ค. ftnchek,
๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ํ์ผ์ ๋ชจ๋์ ๋ง์น ๋จ์ผ ํ์ผ์ ์๋ ๊ฒ์ฒ๋ผ ์ฒ๋ฆฌํฉ๋๋ค.
VMS ๋ช ๋ น์ค์ ํ์ผ ์ด๋ฆ ์ง์ ์ ์์ผ๋์นด๋๊ฐ ํ์ฉ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ MS-DOS ๋ฒ์ ์ ๋ฌผ๋ก UNIX์ ์ด๋ฅผ ์ํํ๋ ๋ค๋ฅธ ์์คํ ์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
๋ช ๋ น ํ๋ก์ธ์์ ์์ผ๋์นด๋ ํ์ฅ.
ํ์ผ ์ด๋ฆ์ด ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ, ftnchek ํ์ค ์ ๋ ฅ์์ ์ ๋ ฅ์ ์ฝ์ต๋๋ค.
์ต์
์ด ์น์ ์์๋ ๋ค์์ ๋ํ ์์ธํ ์ค๋ช ์ ์ ๊ณตํฉ๋๋ค. ftnchek ๋ช ๋ น์ค ์ต์ . ์ต์
ํ์ผ ์ด๋ฆ์ ๋ช ๋ น์ค์ ๋ฐฐ์น๋ ์ ์์ต๋๋ค. ๋๋ถ๋ถ์ ์ต์ ์ ์์น์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
์ต์ ์ ํด๋น ์ต์ ์ด ๋ฐ์ํ ์์ ๋ถํฐ ๋ค๋ฅธ ์ต์ ์ ์ํด ์ฌ์ ์๋ ๋๊น์ง ์ ํจํฉ๋๋ค.
๋์ค์ ๋ณ๊ฒฝํฉ๋๋ค. ๋ฐ๋ผ์ ์๋ฅผ ๋ค์ด ์ผ๋ถ ํ์ผ์ ๋ํด์๋ ๋ชฉ๋ก์ด ํ์๋์ง ์์ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์ฌ๋. ์์ธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. -๋ณธ์ง์ , - ํฌ์ธํฐ ํฌ๊ธฐ๋ฐ -๋จ์ด ํฌ๊ธฐ ์ค์ , ์ด๋
์ ๋ ฅ ํ์ผ ์ฒ๋ฆฌ๊ฐ ์์๋ ํ์๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ทธ๋งํผ -์ธ์, -์ ๋ ฌ,
-์ฝํธ๋ฆฌ, -ํํ, -๊ต์ฐจ ์ฐธ์กฐ, -ํต๊ทผ์, -์ฐธ๊ณ , -์์, -์ข ๋ฅ, -vcg๋ฐ -ํ๋ฐ์ฑ ๋ฌผ์ง
์ต์ , ์ฌ๊ธฐ์ ์์ ์ ์ฒ๋ฆฌ ํ ์ต์ ๊ฐ์๋ง ์์กดํฉ๋๋ค.
์ ๋ ฅ ํ์ผ์ด ์๋ฃ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ -ํฌํจ ๋์ ๋๋ ์ค์ ์ ๋๋ค.
๋ค์ ๋ชฉ๋ก์ ์ต์ ์ด๋ฆ์ ์ํ๋ฒณ ์์๋ก ๋์ด ์์ต๋๋ค.
-์ธ์=๋ช ๋ถ
์ค์ ํ์ ํ๋ก๊ทธ๋จ ์ธ์์ ๋๋ฏธ ํ์ ํ๋ก๊ทธ๋จ ์ธ์ ๊ฐ์ ๋ถ์ผ์น์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
๋ํ ์์๋ ํ์ ํ๋ก๊ทธ๋จ ์ ํ๊ณผ ์ค์ ํ์ ํ๋ก๊ทธ๋จ ์ ํ ๊ฐ์ ๋ถ์ผ์น์ ๋ํด์๋ ์ค๋ช ํฉ๋๋ค. (์ค์
์ธ์๋ ํธ์ถ์๊ฐ ์๋ธํ๋ก๊ทธ๋จ์ ์ ๋ฌํ ์ธ์์ ๋๋ค. ๋๋ฏธ ์ฃผ์ฅ์
์๋ธ ํ๋ก๊ทธ๋จ์์ ์์ ํ ์ธ์์ ๋๋ค.) ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒฝ๊ณ ๋ ์ผ์ ธ ์์ต๋๋ค.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด ๋ชจ๋ ๊ฒ๋ถํฐ
๊ฒฝ๊ณ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ต๋๋ค. ์ ๋์ฌ๊ฐ ๋ถ์ ํค์๋๋ฅผ ํฌํจํฉ๋๋ค. ์๋ - ๋๋ค
ํน๋ณํ ๊ฒฝ๊ณ . ์ธ ๊ฐ์ง ํน๋ณํ ํค์๋๊ฐ ์์ต๋๋ค: ๋ชจ๋ ๋ชจ๋ ๊ฒ์ ์ผ๋ ค๋ฉด
์ธ์์ ๋ํ ๊ฒฝ๊ณ , ์์ ๋ชจ๋ ๋๊ณ ๋์ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ํค์๋๋ฅผ ํ์ธํ์ธ์. ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ , -์ธ์
์ ํด๋นํ๋ -์ธ์=๋ชจ๋๋ฐ -์ธ์ ์์ ์ ํด๋นํ๋ -์ธ์=์์.
๊ฒฝ๊ณ ํค์๋์ ๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฐฐ์ด์ฑ:
๋ฐฐ์ด์ธ ์ธ์์ ์ผ๊ด๋์ง ์์ ์ฌ์ฉ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค. ์ด๋ฌํ ๊ฒฝ๊ณ ๋
์ ์ํด ์ถ๊ฐ๋ก ํต์ ๋ฉ๋๋ค. -์ ๋ ฌ ์ต์ ์ ์ ํํฉ๋๋ค.
์ ํ:
์ค์ ์ธ์์ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ํ์ ๋๋ฏธ ์ธ์์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.
๊ธฐ๋ฅ ์ ํ:
ํธ์ถ์์ ํจ์์ ๋ฐํ ๊ฐ์ด ๋ค๋ฅธ ์ ํ์ด๋ผ๊ณ ๊ฐ์ ํ๋ฉด ๊ฒฝ๊ณ ํฉ๋๋ค.
์ค์ ๋ณด๋ค. ๋ํ ํจ์๊ฐ ์๋ธ๋ฃจํด์ผ๋ก ํธ์ถ๋๋ ๊ฒฝ์ฐ์๋ ๊ฒฝ๊ณ ํฉ๋๋ค.
๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
๋ฒํธ:
์ธ์ ๊ฐ์๊ฐ ๋ค๋ฅธ ํ์ ํ๋ก๊ทธ๋จ์ ํธ์ถํ๋ ๊ฒ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.
ํ์ ํ๋ก๊ทธ๋จ์ด ๊ธฐ๋ํฉ๋๋ค.
์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ftnchek, ์ด๊ฒ์ ์ซ์ ํ์
์ค์ ๋ ํ์ฉ๋ฉ๋๋ค. ๋ช ๋ถ ๋ 0๋ถํฐ 3๊น์ง์ ์ซ์๋ก ๋์ฒด๋ฉ๋๋ค.
0์ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ๋๊ณ , 1์ ๊ฒฝ๊ณ ๋ง ์ผญ๋๋ค. ๋ฒํธ, 2๊ฐ๋ ๋ค์์ ์ ์ธํ๊ณ ๋ชจ๋ ์ผ์ง ๋ฒํธ,
3์ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ์ผญ๋๋ค.
์ด ์ค์ ์ ๋ด์ฅ ํจ์ ํธ์ถ ํ์ธ์๋ ์ ์ฉ๋์ง ์์ต๋๋ค.
์ ์ํด์๋ง ๋ ์ ์๋ ๋ช ๋ น๋ฌธ ๊ธฐ๋ฅ - ์ฒดํฌ ์์ ์ต์ ์ ์ ํํฉ๋๋ค.
์ฐธ์กฐ : -์ ๋ ฌ, -๋์๊ด, -์ฉ๋ฒ.
-๋ฐฐ์ด=๋ช ๋ถ
์ค์ ์ ๋๋ฏธ ์ฌ์ด์ ์ผ์น ์ฌ๋ถ ํ์ธ์ ์๊ฒฉํจ ์ ๋๋ฅผ ์ ์ดํฉ๋๋ค.
๋ฐฐ์ด์ธ ์๋ธํ๋ก๊ทธ๋จ ์ธ์. ์ด ์ค์ ์ผ๋ก ์ ์ด๋๋ ๊ฒฝ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ง์์ด ํ๋ถํ ํ๋ก๊ทธ๋๋จธ๊ฐ ํฉ๋ฒ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๊ตฌ์ฑ์ ๊ฒฝ์ฐ,
๊ทธ๋ฌ๋ ์ด๋ ์ข ์ข ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ๋ฅผ ๋ํ๋ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒฝ๊ณ ๋ ์ผ์ ธ ์์ต๋๋ค.
์.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด ๋ชจ๋ ๊ฒ๋ถํฐ
๊ฒฝ๊ณ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ต๋๋ค. ์ ๋์ฌ๊ฐ ๋ถ์ ํค์๋๋ฅผ ํฌํจํฉ๋๋ค. ์๋ - ๋๋ค
ํน๋ณํ ๊ฒฝ๊ณ . ์ธ ๊ฐ์ง ํน๋ณํ ํค์๋๊ฐ ์์ต๋๋ค: ๋ชจ๋ ๋ชจ๋ ๊ฒ์ ์ผ๋ ค๋ฉด
๋ฐฐ์ด ์ธ์์ ๋ํ ๊ฒฝ๊ณ , ์์ ๋ชจ๋ ๋๊ณ ๋์ ์ธ์ํ๋ค
๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ํค์๋ ๋ชฉ๋ก. ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ ,
-์ ๋ ฌ ์ ํด๋นํ๋ -๋ฐฐ์ด=๋ชจ๋๋ฐ -noarray ์ ํด๋นํ๋ -๋ฐฐ์ด=์์. ๊ทธ๋งํผ
๊ฒฝ๊ณ ํค์๋์ ๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์น์:
์ธ์์ ์ฐจ์ ์๊ฐ ๋ค๋ฅด๊ฑฐ๋ ์ค์ ์ธ์๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ํฉ๋๋ค.
์ธ์๋ ๋ฐฐ์ด ์์์ด๊ณ ๋๋ฏธ ์ธ์๋ ์ ์ฒด ๋ฐฐ์ด์ ๋๋ค.
ํฌ๊ธฐ:
๋ ์ธ์๊ฐ ๋ชจ๋ ๋ฐฐ์ด์ด์ง๋ง ์์ ์๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ํฉ๋๋ค.
์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ftnchek, ์ด๊ฒ์ ์ซ์ ํ์
์ค์ ๋ ํ์ฉ๋ฉ๋๋ค. ๋ช ๋ถ ๋ 0๋ถํฐ 3๊น์ง์ ์ซ์๋ก ๋์ฒด๋ฉ๋๋ค.
0์ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ๋๊ณ , 1์ ๊ฒฝ๊ณ ๋ง ์ผญ๋๋ค. ์น์, 2๊ฐ๋ง ์ผ์ง ํฌ๊ธฐ๋ฐ
3 ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ์ผญ๋๋ค.
์ฐธ๊ณ : ์ค์ ์ธ์๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ด ์ค์ ์ ๊ด๊ณ์์ด ํญ์ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
๋๋ฏธ ์ธ์๊ฐ ์ค์นผ๋ผ ๋ณ์์ธ ๊ฒฝ์ฐ ๋ฐฐ์ด์ด๊ฑฐ๋ ์ค์ ์ธ์์ธ ๊ฒฝ์ฐ
์ธ์๋ ์ค์นผ๋ผ ๋ณ์ ๋๋ ํํ์์ด๊ณ ๋๋ฏธ ์ธ์๋ ๋ฐฐ์ด์ ๋๋ค.
์ด๋ฌํ ๊ฒฝ์ฐ๋ ์๋์ ์ธ ๊ฒฝ์ฐ๊ฐ ๊ฑฐ์ ์์ต๋๋ค. (์ด ๊ฒฝ๊ณ ๋ฅผ ๋๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ญ์์ค.
-์ธ์=๋ฐฐ์ด ์์.) ์ค์ ์ธ์๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๊ฒฝ๊ณ ๊ฐ ์ ๊ณต๋์ง ์์ต๋๋ค.
๋๋ฏธ ์ธ์๊ฐ ์ค์นผ๋ผ ๋ณ์์ธ ๋์ ๋ฐฐ์ด ์์์ ๋๋ค. ๊ฐ๋ณ์ฐจ์
๋ฐฐ์ด ๋ฐ 1 ๋๋ ๋ณํ๋ก ์ฐจ์ํ๋ ๋ฐฐ์ด์ ์์ ๊ฐ์์ ๋ฐฐ์ด๊ณผ ์ผ์นํฉ๋๋ค.
๊ฐ์. ๋ค์ฐจ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ผ์นํ๋์ง ํ์ธํ์ง ์์ต๋๋ค.
๊ฐ ์ฐจ์์ ๋ณ๋๋ก ์ง์ ํฉ๋๋ค.
์ฐธ์กฐ : -์ธ์, -๋์๊ด, -์ฉ๋ฒ.
-์งง์
์ผ๋ถ ๊ฒฝ๊ณ ๋ฉ์์ง์ ๋ํด ๋ ์งง์ ํ์์ ์ ํํฉ๋๋ค. ํ์ฌ ์ ์ผํ ๊ฒฝ๊ณ
์ด ํ๋๊ทธ์ ์ํด ์ ์ด๋๋ ๊ฒ์ ๊ฐ ์ฒ๋ฆฌ๊ฐ ๋๋ ๋ ์ธ์๋๋ ๊ฒ์ ๋๋ค.
ํ์ ํ๋ก๊ทธ๋จ. ์ฌ๊ธฐ์๋ ์ค์ ๋์์ง๋ง ์ฌ์ฉ๋์ง ์์ ๋ณ์์ ๋ํ ๊ฒฝ๊ณ ๊ฐ ํฌํจ๋ฉ๋๋ค.
์ค์ ์ ์ ์ฌ์ฉ๋จ, Fortran 77 ํ์ค์ ๋ฐ๋ฅด์ง ์๋ ๋ณ์ ์ด๋ฆ,
(์ด๋ฌํ ๊ฒฝ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ ๋ค๋ฅธ ํ๋๊ทธ์ ๋ฐ๋ผ ์์ ํ ํ์๋์ง ์์ ์ ์์ต๋๋ค.
์ ์, -์ฉ๋ฒ or -f77 ํ๋๊ทธ.) ๊ธฐ๋ณธ ํ์์์ ๊ฐ ๋ณ์๋
๋ณ์๊ฐ ์ ์ธ, ์ค์ ๋๋ ์ค์ ๋๋ ์ค ๋ฒํธ์ ํจ๊ป ๋ณ๋์ ์ค
๊ฒฝ๊ณ ์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ์ฌ์ฉ๋ฉ๋๋ค. ๋ ๊ฐ๋จํ ํ์์ ๋จ์ํ ๋ชจ๋ ํญ๋ชฉ์ ๋์ดํฉ๋๋ค.
๊ฒฝ๊ณ ๊ฐ ์ ์ฉ๋๋ ๋ณ์(ํ ์ค์ ์ต๋ 4๊ฐ์ ๋ณ์ ํฌํจ)
์ฐธ์กฐ : -์กฐ์ฉํ.
-์ฝํธ๋ฆฌ=๋ช ๋ถ
ํ๋ ftnchek ์ ์ฒด ํ๋ก๊ทธ๋จ์ ํธ์ถ ๊ตฌ์กฐ๋ฅผ ์ธ์ํฉ๋๋ค.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ํน๋ณํ๊ฒ ๋๊ฐ์ง๊ฐ ์์ด์
ํค์๋ : ์์ ๋ชจ๋ ์ต์ ์ ๋๊ณ ๋์ ๋ชจ๋ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ด ํฌํจ๋ ํค์๋์ ๋๋ค. (ํค์๋๋ ๋ชจ๋ ๋ชจ๋ ๊ฒ์ ์ผ ๋ค
์ต์ ์ด์ง๋ง ํ๋์ ํ์๋ง ์ฌ์ฉํด์ผ ํ๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
์ง์ ๋ฉ๋๋ค.) ๋ง์ฝ ๋ช ๋ถ ์๋ตํ๊ณ , -์ฝํธ๋ฆฌ ์ ํด๋นํ๋ -์ฝํธ๋ฆฌ=ํธ๋ฆฌ๋ฐ
-๋ ธ์ฝํธ๋ฆฌ ์ ํด๋นํ๋ -์ฝํธ๋ฆฌ=์์. ๊ธฐ๋ณธ์ ์ผ๋ก ํธ์ถ ๊ทธ๋ํ๋ ์ธ์๋์ง ์์ต๋๋ค.
-mkhtml ์ต์ ์ด ํธ์ถ๋ ๊ฒฝ์ฐ ๊ณผ tree๋ ์ ์ฉ๋ ์ฝํธ๋ฆฌ ์ต์ , ์ฆ ํ์ผ์ ๋๋ค.
CallTree.html์ด๋ผ๋ ์ด๋ฆ์ ํ์ผ๋ HTML ํ์์ผ๋ก ํธ๋ฆฌ๋ฅผ ๋ฌ์ฌํ์ฌ ์์ฑ๋ฉ๋๋ค. ์ด๊ฒ
ํ์ผ์ ๊ฐ ์ค๋ช ์ ์ค๋ช ํ๋ HTML ํ์ผ์ ํ์ํ๊ธฐ ์ํ ์์์ ์ผ๋ก ์ ์ฉํฉ๋๋ค.
ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑ ์์.
์ฌ์ฉ๋๋ ํ์์ ์ ์ดํ๋ โโํค์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋๋ฌด:
ํธ์ถ ๊ทธ๋ํ๋ฅผ ํธ๋ฆฌ ํ์์ผ๋ก ์์ฑํฉ๋๋ค.
์ฐธ๊ณ :
๋๊ฐ-์ ํ-๋๊ตฌ ํ์์ผ๋ก ํธ์ถ ๊ทธ๋ํ๋ฅผ ์์ฑํฉ๋๋ค(์ ๋์ผ). -์ฐธ๊ณ ์ค์์น).
๊ฐ์ํ์ค:
VCG ํ์์ผ๋ก ํธ์ถ ๊ทธ๋ํ๋ฅผ ์์ฑํฉ๋๋ค( -vcg ์ค์์น).
ํ์ ์ค ํ๋๋ง ๋๋ฌด, ์ฐธ๊ณ ๋ฐ ๊ฐ์ํ์ค ์ง์ ๋ ์ ์์ต๋๋ค.
๋ค์ ํค์๋๋ ์ถ๋ ฅ์ ์ํฅ์ ๋ฏธ์น๋ ์ต์ ์ ์ ์ดํฉ๋๋ค.
์น๋ค:
๋ฐ๋ณต๋๋ ํ์ ํธ๋ฆฌ ์๋ผ๋ด๊ธฐ(๋ค์์๋ง ์ ์ฉ ๊ฐ๋ฅ) ๋๋ฌด). ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
์ข ๋ฅ:
๊ฐ ๋ฃจํด์ ํ์ ํญ๋ชฉ์ ์ํ๋ฒณ ์์๋ก ์ ๋ ฌํฉ๋๋ค. ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
์ ํ ๋ก ์ ์ฐธ์กฐํ์ธ์. -์ฐธ๊ณ ๊ณผ -vcg ์ด์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋๊ทธ๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ์.
๋ญ์ ๋ฆฌ ๋๋ฌด ํ์, ์ฝ ๊ทธ๋ํ๋ ๋ฉ์ธ ํ๋ก๊ทธ๋จ๋ถํฐ ์ธ์๋ฉ๋๋ค.
์ด๋ ์ผ์ชฝ ์ฌ๋ฐฑ์ ์ฒซ ๋ฒ์งธ ์ค์ ๋์ด๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ค์ ์ค์์
์ฃผ ํ๋ก๊ทธ๋จ์ ์ํด ํธ์ถ๋๋ ๊ฐ ๋ฃจํด์ด ๋์ด๋๊ณ ๋ช ๊ฐ์ ๊ณต๋ฐฑ์ด ๋ค์ฌ์ฐ๊ธฐ๋๊ณ ๊ทธ ๋ค์
ํด๋น ๋ฃจํด์์ ์์ํ๋ ํ์ ํธ๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค.
๊ธฐ๋ณธ ๋ชจ๋์์ ๋ฃจํด์ด ๋ ์ด์์ ๋ค๋ฅธ ๋ฃจํด์ ์ํด ํธ์ถ๋๋ฉด ํด๋น ๋ฃจํด์
ํธ์ถ ํ์ ํธ๋ฆฌ๋ ์ฒ์ ๋ฐ์ํ ๋๋ง ์ธ์๋ฉ๋๋ค. ๋์ค์ ํธ์ถ์ ์ ๊ณต๋ง ์ ๊ณตํฉ๋๋ค.
๋ฃจํด ์ด๋ฆ๊ณผ "(์ ์ฐธ์กฐ)"๋ผ๋ ์๋ฆผ. ํ์ ํธ๋ฆฌ๋ฅผ ์ธ์ํ๋ ค๋ฉด
๋ฃจํด์ด ๋ฐ์ํ ๋๋ง๋ค ์ต์ ์ ์ฌ์ฉํ์ญ์์ค. ๊ฐ์ง์น๊ธฐ ์ํจ.
์ ๋ ฅ ํ์ผ ์ค ํ๋ก์ ํธ ํ์ผ์ด ์์ผ๋ฉด ํธ์ถ ํธ๋ฆฌ๊ฐ ๋ถ์์ ํด์ง๋๋ค.
์์ ์์ฑ๋ ๋ ์ด์์ ๋ชจ๋์ ํฌํจํ๋ ํ์ผ -๋์๊ด ๋ฐฉ๋ฒ. ์ฐธ์กฐ
์๋ ํ๋ก์ ํธ ํ์ผ์ ๋ํ ํ ๋ก .
๊ธฐ์ ์ ํฌ์ธํธ: ์ฃผ์ด์ง ๋ฃจํด์ ์ํด ํธ์ถ๋๋ ๊ฐ ๋ฃจํด ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ์ด ์ธ์๋ฉ๋๋ค.
์ ์ธํ๊ณ ์ํ๋ฒณ์์ผ๋ก ๋ฌด์ ๋ ฌ ์ต์ ์ด ์ฃผ์ด์ง๋๋ค. ์ฃผ์ ํ๋ก๊ทธ๋จ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ
๋ฐ๊ฒฌ๋๋ฉด ๊ฐ๊ฐ์ ํธ์ถ ํธ๋ฆฌ๊ฐ ๋ณ๋๋ก ์ธ์๋ฉ๋๋ค. ๋ฉ์ธ ํ๋ก๊ทธ๋จ์ด ์๋ค๋ฉด
๋ฐ๊ฒฌ๋๋ฉด ํด๋น ๊ฒฐ๊ณผ์ ๋ํ ๋ณด๊ณ ์๊ฐ ์ธ์๋๊ณ ๋ชจ๋ ์ต์์ ๋ ๋ฒจ์ ํธ์ถ ํธ๋ฆฌ๊ฐ ์ธ์๋ฉ๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ๋ฃจํด์ด ์ธ์๋ฉ๋๋ค. ์ด ํ๋๊ทธ๋ ํธ์ถ ์ธ์๋ง ์ ์ดํฉ๋๋ค.
๋๋ฌด: ftnchek ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์ด๋ค ๊ฒฝ์ฐ์๋ ํธ์ถ ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์ ๊ต์ฐจ ๊ฒ์ฌํ ๊ฒ์ธ์ง. ์ ํ ๋ก ์ ์ฐธ์กฐํ์ธ์. -๋์๊ด
๊น๋ฐ.
์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ftnchek, ์ด๊ฒ์ ์ซ์ ํ์
์ค์ ๋ ํ์ฉ๋ฉ๋๋ค. ๋ช ๋ถ 0๋ถํฐ 15๊น์ง์ ์ซ์๋ก ๋์ฒด๋ฉ๋๋ค.
์ซ์๋ 1๋ถํฐ ํ์ฑ๋ฉ๋๋ค. ๋๋ฌด ํ์, 2๊ฐ ์ฐธ๊ณ ํ์, ๋๋ 3 ๊ฐ์ํ์ค
ํ์์ 4๋ฅผ ๋ํ ๊ฐ ๊ฐ์ง์น๊ธฐ ์ํจ, 8 for ๋ฌด์ ๋ ฌ.
์ฐธ์กฐ : -๊ต์ฐจ ์ฐธ์กฐ, -๋์๊ด, -์ฐธ๊ณ , -์ข ๋ฅ, -์ฌํญ, -vcg.
-๊ฒ์ฌ
์ด ์ค์์น๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ค๋ฅ ๋ฐ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ ์ ์๋๋ก ์ ๊ณต๋ฉ๋๋ค.
ftnchek ์ ์ธ ๋ฑ ๋ฒ๊ทธ ์ฐพ๊ธฐ ์ด์ธ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋๋ ํธ์ถ ํธ๋ฆฌ๋ฅผ ์ธ์ํฉ๋๋ค. ์์น ์ง์ ์ด๋ฏ๋ก ๋ชจ๋ ์ฒดํฌ๋ฅผ ํด์ ํ ํ,
์ ํํ ๊ฒ์ฌ๋ฅผ ๋ค์ ์ผค ์ ์์ต๋๋ค. ์ ํจ๊ณผ - ์ฒดํฌ ์์ ๋ชจ๋ ๋ฃ๋ ๊ฒ์ ๋๋ค
์ค์์น, ์ซ์ ์ค์ ๋ฐ ๊ฒฝ๊ณ ๋ชฉ๋ก์ ์ ์ดํ๋ โโ์ค์
๋๊ธฐ ๊ฐ์ ๋ชจ๋ -no ์ ๋์ฌ๋ก ์ง์ ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ์ค์์น
์ ์ด๊ฐ ์๋ ์ต์ ๋ฐ ์๋ ๋ชจ๋๋ฅผ ์ง์ ํ๋ ์ค์
๊ฒฝ๊ณ ๋ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค. ์ด๊ฒ๋ค์ -์ด, -๊ต์ฐจ ์ฐธ์กฐ, -ํฌํจ, -๋ณธ์ง์ ,
-๋์๊ด, -๋ช ๋ถ, -madecls, -์ด์ฌ์, -์ฐ์ถ, - ํฌ์ธํฐ ํฌ๊ธฐ, -๊ณํ, -์กฐ์ฉํ,
-์ฐธ๊ณ , -์์, -์ข ๋ฅ, -source, -์ฌํญ, -vcg, -๋ฒ์ญ, -๋จ์ด ํฌ๊ธฐ๋ฐ
-์ธ๋ค. ๊ธฐ๋ณธ๊ฐ = ์.
๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ(์ธ์ํ ์ ์๊ฑฐ๋ ํ์์ด ์๋ชป๋ ๋ช ๋ น๋ฌธ์ผ๋ก ์ธํ ๊ตฌ๋ฌธ ์ค๋ฅ)๋
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ ์ ์์ผ๋ฏ๋ก ์ด ์ค์์น์ ์ํด ์ต์ ๋ฉ๋๋ค. ftnchek ~ํ์ง ์์๋ค.
ํ๋ก๊ทธ๋จ์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ๋ฌธ ๋ถ์ํ์ต๋๋ค.
์ ์ํด ์ ์ด๋์ง ์๋ ๊ธฐํ ์ค๋ฅ ๋ฐ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ์์ต๋๋ค.
๋ค๋ฅธ ์ค์์น๋ ์์ผ๋ฏ๋ก ์ด ์ค์์น๋ก๋ง ๋ ์ ์์ต๋๋ค. ๋ค์์ ์ฌ์ฉํ์ฌ
-๊ฒ์ฌ ์ํ์ - ์ฒดํฌ ์์ ์ด๋ฌํ ํน๋ณ ๊ฒฝ๊ณ ๋ฅผ ์ค์ ํ๋ ํจ๊ณผ๋ง ์์ต๋๋ค.
๋ค์ ์ผ๊ณ ๋ ๋ชจ๋ ๊ฒ์ฌ๋ฅผ ๋ณต์ํ์ง๋ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
o ๋ชจ๋์๋ ์คํ ๊ฐ๋ฅํ ๋ช ๋ น๋ฌธ์ด ์์ต๋๋ค.
o ์์ ์์ค ํ์์์๋ ๊ณต๊ฐ์ด ํ์ํ ๊ณณ์ ๊ณต๊ฐ์ด ๋๋ฝ๋์์ต๋๋ค(์:
ํค์๋ ๋ฐ ์๋ณ์) ๋๋ ์๋ฌด๊ฒ๋ ํ์ฉ๋์ง ์๋ ๊ณต๊ฐ(์:
์๋ณ์).
o ๋ค์ ํ์์ ๋ฐ์ดํฐ ์ ํ ์ ์ธ์์ XNUMX ๋๋ ์์ ๊ธธ์ด ์ง์
์ ํ*len.
o ํํ์์ ์๋ชป๋ ํผ์ฐ์ฐ์๊ฐ ์์ต๋๋ค.
o ์ค์นผ๋ผ์ ํ ๋น๋ ๋ฐฐ์ด.
o DO ์ธ๋ฑ์ค์ ๊ฒฝ๊ณ ์ฌ์ด์ ์ ํ ๋ถ์ผ์น.
o SAVE ๋ฌธ์ ์ ์ธ๋ ์ ์๋์ง ์์ ๊ณตํต ๋ธ๋ก.
o ํธํ๋์ง ์๋ ์ ํ์ผ๋ก ๋ช ์์ ์ผ๋ก ์ ์ธ๋ ๋ด์ฅ ํจ์.
o INTLINSIC ๋ฌธ์ ๋ช ์์ ์ผ๋ก ์ ์ธ๋ ์ ์ ์๋ ๋ด์ฅ ํจ์์ ๋๋ค.
o ํ์ ํ๋ก๊ทธ๋จ ์ธ์๋ก ์ ๋ฌ๋ ๋ด์ฅ ํจ์๋
INTRINSIC ๋ฌธ.
o ๋ด์ฅ ํจ์ ๋๋ ๋ช ๋ น๋ฌธ ํจ์๊ฐ ์๋ชป ํธ์ถ๋์์ต๋๋ค.
o ํจ์๋ RETURN ๋ฌธ ์ด์ ์ ๋ฐํ ๊ฐ์ ์ค์ ํ์ง ์์ต๋๋ค.
o ๋งค๊ฐ๋ณ์ ์์ ๊ฐ์ด ํ๊ฐ๋์ง ์์ต๋๋ค(์ด๊ฒ์ ftnchek์ ์๋ชป์ด๊ณ ๊ทธ๊ฒ์ ๋จ์ง
์ฌ์ค์ ์๋ ค๋๋ฆฝ๋๋ค.)
o ํ์ ํ๋ก๊ทธ๋จ์ ์ง์ ์ ์ ๋์ค์ ๋ค๋ฅธ ํ์ ํ๋ก๊ทธ๋จ์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
o I/O ๋ฌธ์ ์ฌ์ฉ๋ ์ ์ ์๋ ํค์๋์ ๋๋ค.
o ์๋ชป๋ ๋ ์ด๋ธ ์ฐธ์กฐ(์: GOTO๋ ์คํํ ์ ์๋ ๋ช ๋ น๋ฌธ์ ๋ํ๋ ๋๋ค. I/O
๋ฌธ์ ๋นํ์ ๋ฌธ์ ๋ํ๋ ๋๋ค.)
์ฐธ์กฐ : -์ค๋ฅ.
-์ด=NUM
์ต๋ ๋ช ๋ น๋ฌธ ๊ธธ์ด๋ฅผ ๋ค์์ผ๋ก ์ค์ ํ์ญ์์ค. NUM ์ด. (์ด ์ด์์ ๋ฌด์๋ฉ๋๋ค.)
Fortran์ ์๋ฐํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ๊ฒ์ฌํ ์ ์๋๋ก ์ค์ ์ด ์ ๊ณต๋ฉ๋๋ค.
๋ช ๋ น๋ฌธ ๊ธธ์ด์ ๋ํ ํ์ค ์ ํ์ 72์ด์ ๋๋ค. ์ ๋ฐ๋ฅด๋ฉด
ํ์ค์์๋ 72์ด ์ดํ์ ๋ชจ๋ ๋ฌธ์๊ฐ ๋ฌด์๋ฉ๋๋ค. ์ด ์ค์ ์ ์ฌ์ฉํ ๊ฒฝ์ฐ
์ ์, -f77=๊ธด ์ค ์ต์ ์ด ์ ์ฉ๋๋ฉด ๋ค์์ ๋ชจ๋ ํ์ ๋ํด ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
72์ด ์ดํ์ ๋ฌธ์๊ฐ ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ผ๊ธฐ = ์ต๋ = 132. ๊ธฐ๋ณธ๊ฐ = 72.
์ด ์ค์ ์ ๋ค์ ๋ฌธ์์ ์กด์ฌ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ต์ ํ์ง ์์ต๋๋ค.
์ด 72. ์ด 72๋ฅผ ๋์ด์ ์๋ฏธ ์๋ ํ๋ก๊ทธ๋จ ํ ์คํธ๊ฐ ์๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ญ์์ค.
์ค์ ํ๊ณ ํ์ธํ์ธ์. -f77 ๊ธด ์ ์ต์ ์ด ๊บผ์ ธ ์์ต๋๋ค. ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด
73~80์ด์ ์์ ๋ฒํธ, ์ด ์ค์ ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ก๋๋ค.
๊ฐ์น๋ฅผ ๋ถ์ฌํ๊ณ ์ฌ์ฉ -์์๋ค=์ค์ด ๊ธธ์ง ์๋ค ๊น๋ฐ.
์ฐธ์กฐ : -f77, -์์.
-๊ณตํต=๋ช ๋ถ
์ด ์ค์ ์ COMMON ๋ธ๋ก ๊ฒ์ฌ์ ์๊ฒฉํจ์ ์ ์ดํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋
์ ์ธํ๊ณ ๊ฒฝ๊ณ ํ๋ฐ์ฑ์ ์ผ์ ธ ์์ต๋๋ค.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ค ๋๋ถ๋ถ ์ดํ๋ก
๊ฒฝ๊ณ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ต๋๋ค. ์ ๋์ฌ๊ฐ ๋ถ์ ํค์๋๋ฅผ ํฌํจํฉ๋๋ค. ์๋ - ๋๋ค
ํน๋ณํ ๊ฒฝ๊ณ . ์ธ ๊ฐ์ง ํน๋ณํ ํค์๋๊ฐ ์์ต๋๋ค: ๋ชจ๋ ๋ชจ๋ ๊ฒ์ ์ผ๋ ค๋ฉด
๊ฒฝ๊ณ , ์์ ๋ชจ๋ ๋๊ณ ๋์ ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ๊ฐ์ ๋ํ ๊ฐ๋จํ ์ค๋ช ๊ณผ ํจ๊ป. ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ , -ํํ ์ ํด๋นํ๋
-common=์น์, ์ ํํจ, ๊ธธ์ด, ์ ํ๋ฐ - ํํ์ง ์์ ์ ํด๋นํ๋ -๊ณตํต=์์.
๊ฒฝ๊ณ ํค์๋์ ๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์น์:
๋ธ๋ก์ ๊ฐ ์ ์ธ์ ์๋ ํด๋น ๋ฐฐ์ด์ ํฌ๊ธฐ์ ํฌ๊ธฐ๊ฐ ์ผ์นํด์ผ ํฉ๋๋ค.
์ฐจ์์ ์. ์ด ์ต์ ์ ๋ค์๊ณผ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ง ํจ๊ณผ๊ฐ ์์ต๋๋ค.
์ ํํ.
์ ํํ:
๋ ๋ธ๋ก์ ๋น๊ต๋ ๋จ์ํ ์ํ๋๋ ๊ฒ์ด ์๋๋ผ ๋ณ์๋ณ๋ก ์ํ๋ฉ๋๋ค.
ํด๋น ์ ์ฅ ์์น ๊ฐ์ ํฉ์๊ฐ ํ์ํฉ๋๋ค. ๋ชจ๋ ๊ฒฝ์ฐ์ ์ด๊ฒ์ ์ฌ์ฉํ์ญ์์ค.
์ฃผ์ด์ง COMMON ๋ธ๋ก์ ์ ์ธ์ ๋์ผํด์ผ ํฉ๋๋ค.
์ข์ ํ๋ก๊ทธ๋๋ฐ ์ฐ์ต.
๊ธธ์ด:
๋์ผํ ๋ธ๋ก์ ์๋ก ๋ค๋ฅธ ์ ์ธ์ ์ ์ฒด ๊ธธ์ด๊ฐ ๋์ผํ์ง ์์ผ๋ฉด ๊ฒฝ๊ณ ํฉ๋๋ค.
Fortran 77 ํ์ค์๋ ๋ช ๋ช ๋ ๊ฐ ๊ณตํต ๋ธ๋ก์ด ํ์ํ์ง๋ง ๊ณต๋ฐฑ ๊ณตํต ๋ธ๋ก์ ํ์ํ์ง ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ๋ชจ๋์์ ๋์ผํ ๊ธธ์ด๊ฐ ๋๋๋ก ํฉ๋๋ค.
์ ํ:
์ฃผ์ด์ง COMMON ๋ธ๋ก์ ๊ฐ ์ ์ธ์์ ํด๋น ๋ฉ๋ชจ๋ฆฌ ์์น
(๋จ์ด ๋๋ ๋ฐ์ดํธ)์ ๋ฐ์ดํฐ ์ ํ์ด ์ผ์นํด์ผ ํฉ๋๋ค. ์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ํํ์ด
ํด๋น ๋ณ์๊ฐ ๋ฐ์ดํฐ ์ ํ์ ๋์ํด์ผ ํฉ๋๋ค.
ํ๋ฐ์ฑ์:
COMMON ๋ธ๋ก์ ํ๋ฐ์ฑ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค.
๋ง์ Fortran ํ๋ก๊ทธ๋๋จธ๋ ๋ก์ปฌ์ด๋ COMMON์ด๋ ๋ณ์๊ฐ ๋ค์๊ณผ ๊ฐ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์ ์ ์ ๋๋ค. ์ฆ, ์ผ๋จ ๊ฐ์ด ํ ๋น๋๋ฉด ํด๋น ๊ฐ์ ๋ค์ ๋๊น์ง ์๊ตฌ์ ์ผ๋ก ์ ์ง๋ฉ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ํด ๋ค๋ฅธ ๊ฐ์ด ํ ๋น๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก Fortran 77์
ํ์ค์์๋ ์ด๊ฒ์ด ์ฌ์ค์ผ ๊ฒ์ ์๊ตฌํ์ง ์์ต๋๋ค. ์ง์ญ ๋ณ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค.
์ ์ธ๋ ๋ชจ๋์ ํ์ฑํ ์ฌ์ด์๋ ์ ์๋์ง ์์์ต๋๋ค. ๋น์ทํ๊ฒ,
COMMON ๋ธ๋ก์ด ์ ์ธ๋ ๋ชจ๋์ด ์์ผ๋ฉด ์ ์๋์ง ์์ ์ ์์ต๋๋ค.
ํ๋์ ์ธ. (์ด๋ฌํ ๋์์ ํ๋ ์ํฐํฐ์ ๋ํ ๊ธฐ์ ์ฉ์ด๋ '์๋'์ด์ง๋ง
ftnchek ๋น์ ๋ฌธ๊ฐ๊ฐ ๋ณด๊ธฐ์ ๋ ๋ช ํํ๊ธฐ ๋๋ฌธ์ ``ํ๋ฐ์ฑ''์ด๋ผ๋ ๋จ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.)
SAVE ๋ฌธ์์ ์ ์ธ๋๊ฑฐ๋ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ ๋๋
๋ธ๋ก ๋ฐ์ดํฐ ์๋ธํ๋ก๊ทธ๋จ์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ์ ์๋ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. ๋ณ์
ํน์ ์์ ์์ ์ ์๋์ง ์์ ์ ์๋ COMMON ๋ธ๋ก์ ํ๋ฐ์ฑ์ด๋ผ๊ณ ํฉ๋๋ค.
๊ฒฝ์ฐ -๊ณตํต=ํ๋ฐ์ฑ ํ๋๊ทธ๊ฐ ์ผ์ ธ ์๊ณ , ftnchek ๋ฐ๊ฒฌํ๋ฉด ๊ฒฝ๊ณ ํฉ๋๋ค.
ํ๋ฐ์ฑ COMMON ๋ธ๋ก. ๋ง์ฝ, ๋์์, -์ฌ์ฉ๋ฒ=com-๋ธ๋ก-ํ๋ฐ์ฑ ์ ํ๊ถ
์ผ์ ธ ์์ต๋๋ค(๊ธฐ๋ณธ๊ฐ). ftnchek ๊ทธ๋ฐ ๋ธ๋ก์ด ์๋์ง ํ์ธํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค
๋ชจ๋ ํ์ฑํ ์ฌ์ด์ ์ ์๋ ์ํ๊ฐ ์์ค๋ ์ ์์ต๋๋ค.
์ ์ธํ๋ค. ftnchek ์ด ์์ ์ ์ ์ํํ์ง ๋ชปํฉ๋๋ค. ์ฌ์ฉ๋ ๊ท์น์ ๋ค์์ ํ์ธํ๋ ๊ฒ์ ๋๋ค.
๋ธ๋ก์ด ํธ์ถ ํธ๋ฆฌ์ ๋ ๊ฐ์ ๋ถ๋ฆฌ๋ ํ์ ํธ๋ฆฌ์์ ์ ์ธ๋์๋์ง ์ฌ๋ถ์ ๋๋ค. ์ ์ํ
์๋ฅผ ๋ค์ด, ๋ ๊ฐ์ ๋ชจ๋์ด ๋ชจ๋ ๋ฉ์ธ ํ๋ก๊ทธ๋จ์์ ํธ์ถ๋๋ ๊ฒฝ์ฐ๊ฐ ํด๋น๋ฉ๋๋ค.
ํ๋ฐ์ฑ COMMON ๋ธ๋ก์ ๊ณต์ ํ์ต๋๋ค. ๋ธ๋ก์ ๋ ์ฌ์ด์์ ์ ์๋์ง ์์ ์๋ ์์ต๋๋ค.
๋์ผํ ํ์ ํ๋ก๊ทธ๋จ์ ์ฐ์์ ์ผ๋ก ํธ์ถํ์ง๋ง ftnchek ๋งํ ๋งํผ ๋๋ํ์ง ์๋ค
์๋ธํ๋ก๊ทธ๋จ์ ๋ ๋ฒ ์ด์ ํธ์ถํ ์ ์๋์ง ์ฌ๋ถ์ด๋ฏ๋ก ์ด ๊ฒฝ์ฐ๋ ํ์ธ๋์ง ์์ต๋๋ค.
XNUMXD๋ดํ์ -๊ณตํต=ํ๋ฐ์ฑ ๊น๋ฐ์ ๋ฐฉ๋ฒ์ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค ftnchek ๋ก์ปฌ ์ฌ์ฉ๋ ํ์ธ
๋ณ์.
์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ftnchek, ์ด๊ฒ์ ์ซ์ ํ์
์ค์ ๋ ํ์ฉ๋ฉ๋๋ค. ๋ช ๋ถ ๋ 0๋ถํฐ 3๊น์ง์ ์ซ์๋ก ๋์ฒด๋ฉ๋๋ค.
0์ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ๋๊ณ , 1 ์ด์์ ์ผ์ง๋๋ค. ์ ํ, 2๊ฐ ์ด์ ์ผ์ง
๊ธธ์ด, 3๊ฐ๊ฐ ์ผ์ง๋๋ค. ์น์ ๊ณผ ์ ํํ ๋ํ. ์ซ์ ์์์ ์ผค ์ ์์ต๋๋ค
์ ์, ํ๋ฐ์ฑ์ ์ต์ ์ ์ ํํฉ๋๋ค.
์ฐธ์กฐ : -๋์๊ด, -์ฉ๋ฒ.
-๊ต์ฐจ์ฐธ์กฐ=๋ช ๋ถ
์ํธ ์ฐธ์กฐ ํ ์ด๋ธ์ ์ธ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์์.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ํค์๋๋
๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํตํ:
ํ์๋ ๊ฐ ํ์ ํ๋ก๊ทธ๋จ๊ณผ ์ด๋ฅผ ํธ์ถํ๋ ๋ฃจํด ๋ชฉ๋ก์ด ๋์ด๋์ด ์์ต๋๋ค.
์ด ๋ชฉ๋ก์๋ ๊ธฐ๋ณธ ํธ์ถ ํธ๋ฆฌ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์ด ์๋ต๋์ด ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ. ๋ชฉ๋ก์ ์ํ๋ฒณ์์ผ๋ก ๋์ด ์์ต๋๋ค.
๊ณตํต์:
ํ ์ด๋ธ์๋ ๊ฐ COMMON ๋ธ๋ก๊ณผ ์ก์ธ์คํ๋ ๋ฃจํด ๋ชฉ๋ก์ด ๋์ด๋์ด ์์ต๋๋ค.
๊ทธ๊ฒ. ์ด๋ฌํ ๋์ด๋ ๋ฃจํด์ COMMON์ ์ผ๋ถ ๋ณ์๊ฐ ํฌํจ๋ ๋ฃจํด์ ๋๋ค.
๋ธ๋ก์ ์ ์ธํ๋ ๋ฃจํด๋ฟ๋ง ์๋๋ผ ๋ธ๋ก์๋ ์ก์ธ์ค๋ฉ๋๋ค. (์๊ฒ
์ด๋ค ๋ฃจํด์ด COMMON ๋ธ๋ก์ ์ ์ธํ์ง๋ง ์ฌ์ฉํ์ง ์๋์ง ์์๋ณด์ญ์์ค.
-์ฉ๋ฒ ๊น๋ฐ.)
๋ผ๋ฒจ:
ํ์๋ ๊ฐ ๋ผ๋ฒจ๊ณผ ์ด์ ๋ํ ๋ชจ๋ ์ฐธ์กฐ ๋ชฉ๋ก์ด ๋์ด๋์ด ์์ต๋๋ค. ๋ผ๋ฒจ
์ฐธ์กฐ๋ ์ฐธ์กฐ์ ์ค ๋ฒํธ์ ๋ฌธ ์ ํ์ผ๋ก ํ์๋ฉ๋๋ค.
์ฑ๋ช . ๋ผ๋ฒจ ๋ชฉ๋ก์ ์์ฐจ์ ์ ๋๋ค. ์ฐธ๊ณ ์๋ฃ๋
ํ๋ก๊ทธ๋จ์์ ๋ง๋๋ ์์๋๋ก ๋์ด๋ฉ๋๋ค.
์ฐธ์กฐ : -์ฝํธ๋ฆฌ, -์ฐธ๊ณ , -์ข ๋ฅ, -์ฌํญ, -vcg.
-์ ์ธํ๋ค
์ด ํ๋๊ทธ๊ฐ ์ค์ ๋๋ฉด ๊ฐ ๋ชจ๋์์ ๋ฐ์ดํฐ ์ ํ์ด ์ ์ธ๋์ง ์์ ๋ชจ๋ ์๋ณ์
๋์ด๋ฉ๋๋ค. ์ด ํ๋๊ทธ๋ ์ฒ ์๊ฐ ํ๋ฆฐ ๋ณ์ ์ด๋ฆ์ ์ฐพ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
๋ฑ. ๋ชจ๋์ IMPLICIT NONE์ด ํฌํจ๋์ด ์์ผ๋ฉด ๋์ผํ ๋ชฉ๋ก์ด ์ ๊ณต๋ฉ๋๋ค.
์ฑ๋ช . ๊ธฐ๋ณธ๊ฐ = ์๋์.
์ฐธ์กฐ : -์ฌ์ฏ์, -์ฉ๋ฒ.
-๋ถํ
์ด ์ค์์น๋ ์ฌ์ฉ์๊ฐ ์ ์ฌ์ ์ธ XNUMX์ผ๋ก ๋๋๊ธฐ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ ๋ฐ ๋์์ ์ฃผ๊ธฐ ์ํด ์ ๊ณต๋ฉ๋๋ค. ๋ง์ฝ์
์ด ์ค์์น๋ฅผ ์ ํํ๋ฉด ์์๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ตฌ๋ถ์ ํ๋๊ทธ๊ฐ ์ง์ ๋ฉ๋๋ค. (๊ทธ๊ฒ
์ฌ์ฉ์๊ฐ ์์๋ก ๋๋์ง ์์ ๋งํผ ์ถฉ๋ถํ ์ง๋ฅ์ ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค.
XNUMX๊ณผ ๊ฐ์ต๋๋ค!) ๊ธฐ๋ณธ๊ฐ = no.
์ฐธ์กฐ : -์ด์์ฑ, -์๋ฆผ.
-์ค๋ฅ=NUM
'๊ณ๋จ์''์ ์ต๋ ์ค๋ฅ ๋ฉ์์ง ์๋ฅผ ์ค์ ํฉ๋๋ค. ํ์ธํ๋ ๋์
์๋ธ ํ๋ก๊ทธ๋จ ์ธ์์ ๋์, ๊ณตํต ๋ธ๋ก ์ ์ธ ๋ฑ
๋๋ก๋ ๋จ์ผ ์ฌ๋ก๋ก ์ธํด ๊ธด ๊ฒฝ๊ณ ๋ฌธ์์ด์ด ์์ฑ๋๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ข ์ข ์ด๊ฒ์ ๋จ์ํ
์ค์ ํญ๋ชฉ๋ณ ๋ถ์ผ์น๊ฐ ์๋ ๋ค๋ฅธ ์์ธ์ ๋ํ๋ ๋๋ค.
์๋ฅผ ๋ค์ด ํ๋์ ๋ชฉ๋ก์์ ๋ณ์๊ฐ ๋๋ฝ๋์์ต๋๋ค. ๊ทธ๋์ ๊ทธ๋ฐ ๊ฒฝ์ฐ์๋ ftnchek ์ธ์๋ฅผ ์ค์งํฉ๋๋ค
๊ณ๋จ์ ํ๊ณ์ ๋๋ฌํ ํ ๊ฒฝ๊ณ ๊ฐ ํ์๋๊ณ ์๊ณ ํธ "etc..."๋
์ธ์๋์ง ์์ ์ค๋ฅ๊ฐ ๋ ์์์ ๋ํ๋ด๊ธฐ ์ํด ์ธ์๋์์ต๋๋ค. ๋น์ ์ด ์๊ฐํ๋ค๋ฉด
์ด๋ฌํ ๊ฒฝ๊ณ ๋ ์ง์ง์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๋ ๋ง์ ๊ฒฝ๊ณ ๋ฅผ ๋ณด๋ ค๋ฉด ์ด ์ค์ ์ ์ฌ์ฉํ์ธ์.
์ผ๊ธฐ = ๊ธฐ๋ณธ๊ฐ = 3, ์ต๋ = 999. ๊ฐ์ด 0์ด๋ฉด ์ ํ์ด ์์์ ์๋ฏธํฉ๋๋ค.
์ด ์ค์ ์ ์ธ์๋๋ ์ค๋ฅ ๋ฉ์์ง ์์ ๋ํ ์ ์ฒด ์ ํ์ ์ค์ ํ์ง ์์ต๋๋ค.
ํ ๊ณ๋จ์ ๋ฐฐ์ด์์๋ ์ซ์๋ง ์ธ์๋ฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ๊ณ ๋ฐ ์ค๋ฅ ์ ํ
๋ฉ์์ง๋ ๊ณ๋จ์ ํจ๊ณผ์ ์ํฅ์ ๋ฐ์ง ์์ผ๋ฏ๋ก ์ด ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
ํ๊ฒฝ. ์ผ๋ฐ์ ์ผ๋ก ๊ฒฝ๊ณ ๋ฅผ ๋๋ ค๋ฉด ๊ฐ๋ณ ๊ฒฝ๊ณ ์ปจํธ๋กค์ ์ฌ์ฉํ์ธ์.
์ต์ ๋๋ - ์ฒดํฌ ์์ ์ต์ ์ ์ ํํฉ๋๋ค.
์ฐธ์กฐ : -๊ฒ์ฌ.
-ํต๊ทผ์
ํ๋ ftnchek ํ๋ก๊ทธ๋จ์ ์ํด ํธ์ถ๋ ํ์ ํ๋ก๊ทธ๋จ์ด ํธ์ถ๋์ง ์์๋์ง ์ฌ๋ถ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
ํ์ ๋. ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ftnchek ์์ ํ ํ๋ก๊ทธ๋จ์ผ๋ก ์คํ๋๊ณ ์์ผ๋ฉฐ, ๊ฐ
๋ด์ฅ ํจ์ ์ด์ธ์ ํ์ ํ๋ก๊ทธ๋จ์ ์ด๋๊ฐ์ ์ ์๋์ด์ผ ํฉ๋๋ค. ํ์ ํ๋ค
ํ์ผ์ ์ผ๋ถ๋ฅผ ๊ตฌ์ฑํ๋ ํ์ผ์ ํ์ ์งํฉ๋ง ํ์ธํ๋ ค๋ฉด ์ด ์ค์์น๋ฅผ ๋์ธ์.
๋ ํฐ ์์ ํ ํ๋ก๊ทธ๋จ. ํ์ ํ๋ก๊ทธ๋จ ์ธ์๋ ๊ณ์ ํ์ธ๋ฉ๋๋ค.
๋จ์ . ๊ธฐ๋ณธ๊ฐ = ์.
XNUMXD๋ดํ์ -ํต๊ทผ์ ์ด์ ํ๋๊ทธ๋ ๋ค์์ผ๋ก ๋์ฒด๋ฉ๋๋ค. -์ฌ์ฉ=ํ์ฅ-์ ์๋์ง ์์ ์ต์ . ์ ๋ํ
ํธ์์, -ํต๊ทผ์ ํ๋๊ทธ๊ฐ ์ ์ง๋๋ฏ๋ก -noextern ๋๋ฑํ๋ค
์ -usage=no-ext-๋ฏธ์ ์ ์ ํ๊ถ. ๊ทธ๋งํผ -ํต๊ทผ์ ์ค์์น๋ ๊ฒฐ๊ตญ ํ๊ธฐ๋ ์ ์์ต๋๋ค.
์ฐธ์กฐ : -๋์๊ด.
-f77=๋ช ๋ถ
Fortran 77์ ์๋ฐํ๋ ์ธ์ด ํ์ฅ์ ์ฐพ์ผ๋ ค๋ฉด ์ด ์ค์ ์ ์ฌ์ฉํ์ญ์์ค.
๊ธฐ์ค. ์ด๋ฌํ ํ์ฅ์ผ๋ก ์ธํด ํ๋ก๊ทธ๋จ์ ์ด์ํ ์ ์๊ฒ ๋ ์ ์์ต๋๋ค. ์
๋ณ์ ์ด๋ฆ์ ๋ฐ์ค ์ฌ์ฉ์ ํฌํจํฉ๋๋ค. XNUMX๋ณด๋ค ๊ธด ๋ณ์ ์ด๋ฆ
์บ๋ฆญํฐ; 72์๋ฅผ ์ด๊ณผํ๋ ๋ช ๋ น๋ฌธ ํ; ๋นํ์ค ์ง์
DO ... ENDDO ๊ตฌ์กฐ์ ๊ฐ์ ๊ฒ์ ๋๋ค. ftnchek ์ฌ์ฉ์ ๋ํด์๋ ๋ณด๊ณ ํ์ง ์์ต๋๋ค.
์๋ฌธ์. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒฝ๊ณ ๋ ๊บผ์ ธ ์์ต๋๋ค.
์ด ์ค์ ์ ์ง์๋๋ ํ์ฅ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํฉ๋๋ค.
Fortran 77 ํ์ค์ผ๋ก. (ํ์ฅ ์์ฒด์ ๋ํ ์์ธํ ๋ด์ฉ์
์๋ ํ์ฅ ์น์ ์ ๋์ ์์ต๋๋ค.) ๋ช ๋ถ ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ
์ผํ๋ ์ฝ๋ก ์ผ๋ก. ์ธ ๊ฐ์ง ํน๋ณํ ํค์๋๊ฐ ์์ต๋๋ค: ๋ชจ๋ ๋ชจ๋ ๊ฒ์ ์ผ๋ ค๋ฉด
๋นํ์ค ํ์ฅ์ ๋ํ ๊ฒฝ๊ณ , ์์ ๋ชจ๋ ๋๊ณ ๋์ ์ธ์
๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ด ํฌํจ๋ ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ๋๋ค. ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ ,
-f77 ์ ํด๋นํ๋ -f77=๋ชจ๋๋ฐ -nof77 ์ ํด๋นํ๋ -f77=์์. ๊ฒฝ๊ณ
๊ทธ ์๋ฏธ๋ฅผ ์ง๋ ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๋ฝํ:
ACCEPT ๋ฐ TYPE I/O ๋ฌธ.
๋ฐฐ์ด ๊ฒฝ๊ณ:
๋ฐฐ์ด ์์ ๋๋ ํจ์๋ฅผ ํฌํจํ๋ ๋ฐฐ์ด ๊ฒฝ๊ณ๋ฅผ ์ ์ํ๋ ํํ์
์ฐธ์กฐ.
ํ ๋น-stmt:
๋ฐฐ์ด๊ณผ ๊ด๋ จ๋ ํ ๋น๋ฌธ์ ๋๋ค. Fortran 90์์๋ ๋ฐฐ์ด์ด ๊ฐ๋ฅํฉ๋๋ค.
ํธํ๋๋ ๋ชจ์์ ๋ค๋ฅธ ๋ฐฐ์ด์ ํ ๋นํ๊ฑฐ๋ ์ค์นผ๋ผ๋ฅผ ํ ๋นํ ์ ์์ต๋๋ค.
๋ฐฐ์ด. Fortran 77์์๋ ์ด๋ฌํ ํ ๋น์ด ํ์ฉ๋์ง ์์ต๋๋ค.
๋ฐฐ์ด์ด ์ค์นผ๋ผ์ ํ ๋น๋๋ฉด ๊ด๋ จ ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด ์ดํ๋ก
Fortran 90์์๋ ๋ถ๋ฒ์ ๋๋ค.
-f77 ์ค์ (๋ชจ๋ ํ์ธ์ด ํด์ ๋์ง ์์ ๊ฒฝ์ฐ - ์ฒดํฌ ์์ ๊น๋ฐ).
์์ฑ ๊ธฐ๋ฐ Decl:
์๋ก์ด Fortran 90 ์์ฑ ๊ธฐ๋ฐ ์คํ์ผ๋ก ์ ์ธ์ ์ ๋ ฅํ์ธ์. ์ด ์คํ์ผ์
์ ์ธ ์ฌ์ด์ ์ด์ค ์ฝ๋ก (::)์ ์ฌ์ฉํ์ฌ ๊ตฌ๋ณ๋ฉ๋๋ค.
์์ฑ ๋ชฉ๋ก๊ณผ ์ ์ธ๋ ๋ณ์ ๋ชฉ๋ก์ ๋๋ค. ์ด ์ต์ ๋
ํ์์์ Fortran 90 ๊ธธ์ด ๋๋ ์ข ๋ฅ ์ง์ ์ ์ฌ์ฉ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
์ ์ธ. (์ด๋ฌํ ์ง์ ์๋ ๋น์์ฑ ๊ธฐ๋ฐ์์ ์ฌ์ฉ๋ ์ ์์ง๋ง
์ ์ธ์ ํ์ฐ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ด ์ต์ ์ผ๋ก ์ ์ด๋ฉ๋๋ค.
-f77 ์ต์ .)
์๋ ๋ฐฐ์ด:
๊ฐ๋ณ ํฌ๊ธฐ๋ฅผ ๊ฐ๋ ๋ก์ปฌ(๋๋ฏธ ์๋) ์ด๋ ์ด. ์ด๋ค์ ๋ค์์ ํด๋นํฉ๋๋ค.
๋ฐํ์์ ์คํ ๋ฆฌ์ง๋ฅผ ๋์ ์ผ๋ก ํ ๋นํด์ผ ํ๋ ๋ฐฐ์ด.
๋ฐฑ ์ฌ๋์:
Unix ๋ฐฑ์ฌ๋์๋ ๋ฌธ์์ด๋ก ์ด์ค์ผ์ดํ๋ฉ๋๋ค. ์ด ๊ฒฝ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ์ ๊ณต๋ฉ๋๋ค.
-source=unix-๋ฐฑ์ฌ๋์ ์ด์ค์ผ์ดํ๋ฅผ ์ ๋ฐํ๋๋ก ์ค์ ์ด ์ง์ ๋์์ต๋๋ค.
๋ฐฑ์ฌ๋์ ํด์..
๋ฐ์ดํธ: BYTE ๋ฐ์ดํฐ ์ ํ ์ ์ธ.
์ฌ๋ก ๊ตฌ์ฑ:
SELECT CASE ๊ตฌ๋ฌธ.
๋ฌธ์:
๋ฌธ์ ๋ฐ์ดํฐ์ ๊ดํ Fortran 77 ํ์ค์ ํ์ฅ์ ๋๋ค. ํ์ฌ,
์ด๋ XNUMX ๋๋ XNUMX์ผ๋ก ์ ์ธ๋ ๋ฌธ์ ๋ณ์์ ๋ํ ๊ฒฝ๊ณ ๋ง ์ ์ดํฉ๋๋ค.
์์ ๊ธธ์ด. Fortran 77์์ ๋ชจ๋ ๋ฌธ์ ๋ณ์๋ ์์์ฌ์ผ ํฉ๋๋ค.
๊ธธ์ด. Fortran 90์์๋ ๊ธธ์ด๊ฐ XNUMX์ผ ์ ์์ผ๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ์ ์ธํฉ๋๋ค.
์์ ๊ธธ์ด ์ง์ ์ด ํ์ฉ๋๋ฉฐ ์ ์ธ๋ ๊ฒฝ์ฐ XNUMX์ผ๋ก ์ ํ๋ฉ๋๋ค.
๊ธธ์ด. ์ฐธ๊ณ : ์์ ๊ธธ์ด ์ง์ ์๋ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ๋ผ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ด ์ต์ ์ด ๊บผ์ ธ ์์ด๋ ์ด์ ๋ํ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
์ ์ํด์๋ง ์ต์ ๋ฉ๋๋ค. - ์ฒดํฌ ์์ ๊น๋ฐ.
๊ณตํต ํ์ ํ๋ก๊ทธ๋จ ์ด๋ฆ:
์ด๋ฆ์ด ๊ฐ์ ๊ณตํต ๋ธ๋ก๊ณผ ์๋ธํ๋ก๊ทธ๋จ์ ๋๋ค.
๊ตฌ์ฑ ์ด๋ฆ:
๊ตฌ๋ฌธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์ ์ด๋ฌธ์ ๋ ์ด๋ธ์ ์ง์ ํฉ๋๋ค.
๊ณ์:
19๊ฐ ์ด์์ ์ฐ์ ์ฐ์ ๋ผ์ธ.
CPP: ์์ค ์ฝ๋์ Unix C ์ ์ฒ๋ฆฌ๊ธฐ ์ง์๋ฌธ.
ํฌ๋ ์ด ํฌ์ธํฐ:
``ํฌ๋ ์ด ํฌ์ธํฐ'' ๊ตฌ๋ฌธ.
์ฌ์ดํด ์ข ๋ฃ:
CYCLE ๋ฐ EXIT ๋ฌธ.
d-์ฝ๋ฉํธ:
์์ค ์ฝ๋์์ D๋ก ์์ํ๋ ๋๋ฒ๊น ์ฃผ์์ ๋๋ค.
XNUMX์ ํญ:
DEC Fortran ์คํ์ผ์ ํญ ํ์ ์์ค ์ฝ๋. ์ด ๊ฒฝ๊ณ ๋
๊ฒฝ์ฐ -์์ค=dec-ํญ ํญ์ ํด์ํ๋๋ก ์ค์ ์ด ์ง์ ๋์์ต๋๋ค.
์ด ์คํ์ผ๋ก.
๋๋ด๋ค:
DO ๋ฃจํ ํ์ฅ: ํฐ๋ฏธ๋ ๋ช ๋ น๋ฌธ ๋ ์ด๋ธ ์๋ต, END DO ๋ฐ WHILE.
์ด์ค ๋ณตํฉ์ฒด:
๋ฐฐ์ ๋ฐ๋ ๋ณตํฉ ๋ฐ์ดํฐ ์ ํ.
ํ์-๋ฌ๋ฌ ๊ธฐํธ:
FORMAT ๋ฌธ์ ๋ฌ๋ฌ ๊ธฐํธ ์ ์ด ์ฝ๋์ ๋๋ค.
ํ์ ํธ์ง ์ค๋ช :
FORMAT ๋ฌธ์ ๋นํ์ค ํธ์ง ์ค๋ช ์.
๊ธฐ๋ฅ๋ ธํ๋ :
๊ดํธ ์์ด ํจ์ ์ ์.
์์์ ์์:
IMPLICIT NONE ๋ฌธ.
ํฌํจ:
INCLUDE ๋ฌธ.
์ธ๋ผ์ธ ์ฃผ์:
๋๋ํ๋ก ์์ํ๋ ์ธ๋ผ์ธ ์ฃผ์์ ๋๋ค.
๋ด๋ถ ๋ชฉ๋ก io:
๋ด๋ถ ํ์ผ๊ณผ์ ๋ชฉ๋ก ์งํฅ I/O์ ๋๋ค.
๋ณธ๋ ๊ฐ์ถ์ด ์ง:
๋นํ์ค ๋ด์ฅ ํจ์.
io-ํค์๋
I/O ๋ฌธ์ ์ฌ์ฉ๋๋ ๋นํ์ค ํค์๋์ ๋๋ค. ์ด๋ค์ ์ธ ๊ทธ๋ฃน์ผ๋ก ๋๋ฉ๋๋ค.
์ฒซ ๋ฒ์งธ ๊ทธ๋ฃน์๋ Fortran 90์์ ํ์ฉ๋๋ ํค์๋๊ฐ ํฌํจ๋ฉ๋๋ค.
์ก์ ํจ๋ ์ฝ๊ธฐ ์ฐ๊ธฐ
์ด๋๋ฐด์ค ํฌ์ง์ ํฌ๊ธฐ
์ญ์ ์ฝ๊ธฐ ์ฐ๊ธฐ
EOR
๋ ๋ฒ์งธ ๊ทธ๋ฃน์ ๋ค์ VMS Fortran ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋ธ๋ก ํฌ๊ธฐ ํ์ฅ ์ฝ๊ธฐ ์ ์ฉ
๋ฒํผ์นด์ดํธ ์ด๊ธฐํ ํฌ๊ธฐ ๊ธฐ๋ก ํฌ๊ธฐ
Carriagecontrol MAXREC ๋ ์ฝ๋ ์ ํ
๊ธฐ๋ณธ ํ์ผ ์ด๋ฆ(์ด๋ฆฐ ์ํ) ๊ณต์ ๋จ
DISP NOSPAN๋ธ๋ก ์ ํ
์กฐ์ง ์ฒ๋ถ
(ํค์๋ NAME์ INQUIRE ๋ฌธ์์๋ง ํ์ค์ ๋๋ค.) ์ธ ๋ฒ์งธ
๊ทธ๋ฃน์ ๋ค์ IBM/MVS ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
NUM
์ด ํ๋๊ทธ๋ ๋ํ ACCESS='APPEND' ์ฌ์ฉ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
์ผ๋ถ ์ปดํ์ผ๋ฌ์์๋ ํ์ฉ๋ฉ๋๋ค. 'APPEND' ๊ฐ์ ๋ชจ๋ I/O์ ์ ํจํ์ง ์์ต๋๋ค.
ํ์ค Fortran 77์์๋ ์ง์ ์๋ฅผ ์ฌ์ฉํด์ผ ํ๋ฉฐ Fortran 90์์๋ 'APPEND'๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ACCESS๊ฐ ์๋ POSITION ์ง์ ์์ ๊ฐ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๊ธด ์ :
72๊ฐ ์ด์ ๋๋ ์๋ฏธ ์๋ ์ฝ๋๊ฐ ํฌํจ๋ ๋ช ๋ น๋ฌธ์ ๋๋ค. ์ด ๊ฒฝ๊ณ ๋ ์ค์ง
๊ฒฝ์ฐ -์ด ๋ช ์ธ์ ํ๋ ๋๋น๋ฅผ ๋๋ฆฌ๊ธฐ ์ํด ์ค์ ์ด ์ฌ์ฉ๋์์ต๋๋ค.
๊ธด ์ด๋ฆ:
6์๋ฅผ ์ด๊ณผํ๋ ์๋ณ์์ ๋๋ค.
ํผํฉ ๊ณตํต:
COMMON ๋ธ๋ก์ ๋ฌธ์ ๋ฐ์ดํฐ์ ๋ฌธ์๊ฐ ์๋ ๋ฐ์ดํฐ๊ฐ ํผํฉ๋์ด ์์ต๋๋ค.
ํผํฉ ํํ:
ํํ์์ ๋นํ์ค ์ ํ ์กฐํฉ(์: DOUBLE PRECISION)
COMPLEX๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ฌ๋ฆฌ์ค๋ฅผ ์ ์์ ํ ๋นํ๊ณ ์ ์์ ๋ํ ๋ ผ๋ฆฌ ์ฐ์ฐ์ ์ํํฉ๋๋ค.
์ด๋ฆ-๋ฌ๋ฌ ๊ธฐํธ:
์๋ณ์์ ๋ฌธ์๋ก ์ฌ์ฉ๋๋ ๋ฌ๋ฌ ๊ธฐํธ์ ๋๋ค.
์ด๋ฆ ๋ฐ์ค:
์๋ณ์์์ ๋ฌธ์๋ก ์ฌ์ฉ๋๋ ๋ฐ์ค.
๋ช ๋ถ:
NAMELIST ๋ฌธ์ ๋๋ค.
๋งค๊ฐ๋ณ์ ์์์ ์ ํ:
ํ ๋น๋ ๊ฐ์ ๋ฐ์ดํฐ ์ ํ์ ๋ฐ๋ผ ๋งค๊ฐ๋ณ์๋ฅผ ์์์ ์ผ๋ก ์ ๋ ฅํฉ๋๋ค. ์ด๊ฒ
๊ฒฝ๊ณ ๋ ์์์ ๋งค๊ฐ๋ณ์ ์ ํ ์ง์ ์ด ํ์ฑํ๋ ๊ฒฝ์ฐ์๋ง ๋ฐ์ํ ์ ์์ต๋๋ค.
-source=param-์์์ ์ ํ ์ต์ ์ด๊ฑฐ๋ PARAMETER ๋ฌธ์ด
๊ดํธ๊ฐ ์๋ ๋นํ์ค ํ์์ ๋๋ค. ์ด ์ต์ ์ด ์ผ์ ธ ์์ผ๋ฉด ๋ชจ๋
์์์ ๋งค๊ฐ๋ณ์ ์ ๋ ฅ์ด ๋ฐ์ํ๋ ์ธ์คํด์ค์ ๋ํด ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค. ๋ง์ฝ์
์์์ ๋ฐ์ดํฐ ์ ํ์ด ์๋ ๊ฒฝ์ฐ์๋ง ๊ฒฝ๊ณ ๋ฅผ ๋ฐ๊ณ ์ถ์ต๋๋ค.
๊ธฐ๋ณธ ์ ํ๊ณผ ๋ค๋ฅด๋ฉด ์ฌ์ฉํ์ธ์. -์ด์์ฑ=param-์์์ ์ ํ ๋์ .
Fortran 77 ํ์ค์ ๋ฐ๋ฅด๋ฉด ๋งค๊ฐ๋ณ์์ ๋ฐ์ดํฐ ์ ํ์ด ์ง์ ๋ฉ๋๋ค.
๋ณ์์ ๋์ผํ ๊ท์น์ ๋ฐ๋ฅด๋ฉฐ, ํ์ํ ๊ฒฝ์ฐ ์ ํ ๋ณํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ฐ์ด ํ ๋น๋๋ฉด ์๋ฃ๋ฉ๋๋ค.
๋งค๊ฐ๋ณ์ ๋ด์ฅ:
๊ฐ์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ค์์ ์ํ ๋ด์ฌ ํจ์ ๋๋ ์ง์
๋งค๊ฐ๋ณ์ ์ ์.
ํ๋ผ๋ ธํ๋ :
๊ดํธ๊ฐ ์๋ PARAMETER ๋ฌธ์ ๋๋ค. ์ฌ์ฉ์๋ ๋ค์ ์ฌํญ์ ์ธ์งํด์ผ ํฉ๋๋ค.
์ด ํํ์ ์ง์ ์ ์๋ฏธ๋ ํ์ค์ ์๋ฏธ์ ๋ค๋ฆ ๋๋ค.
ํ์: ์ด ํ์์์ ๋งค๊ฐ๋ณ์๋ ๊ฐ์์ ๋ฐ์ดํฐ ์ ํ์ ๊ฐ์ ธ์ต๋๋ค.
์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ์ ๊ฐ๋ ๋์ ํ ๋น๋ฉ๋๋ค.
๋งค๊ฐ๋ณ์ ์ด๋ฆ์ (์ด ํ์์ PARAMETER ๋ฌธ์ด ๋์ ๋์์ต๋๋ค.
Fortran 77 ํ์ค์ด ์ ์๋๊ธฐ ์ ์ DEC์ ์ํด ์์ฑ๋์์ผ๋ฉฐ ํผํด์ผ ํฉ๋๋ค.)
ํฌ์ธํฐ:
POINTER, TARGET ๋ฐ
ALLOCATABLE ์ ํ ์ ์ธ, ALLOCATE, DEALLOCATE ๋ฐ NULLIFY ๋ฌธ,
=>๋ฅผ ์ฌ์ฉํ์ฌ ํฌ์ธํฐ๋ฅผ ํ ๋นํฉ๋๋ค.
์ฟผ๋ ์์:
์ฟผ๋ ์ ๋ฐ๋ ์ค์ ์์(์: 1.23Q4 ํ์).
๋ฐ์ดํ:
์ํฌ์คํธ๋กํผ๊ฐ ์๋ ๋ฐ์ดํ๋ก ๊ตฌ๋ถ๋ ๋ฌธ์์ด์ ๋๋ค.
์ฌํํ๋ค:
๊ตฌ๋์ ์ผ๋ก ๊ตฌ์ฑ๋ ๊ด๊ณ(๋น๊ต) ์ฐ์ฐ์, ์ฆ < <= == /=
> >=.
์ธ๋ฏธ์ฝ๋ก :
๋ช ๋ น๋ฌธ ๊ตฌ๋ถ์๋ก ์ฌ์ฉ๋๋ ์ธ๋ฏธ์ฝ๋ก ์ ๋๋ค.
๋ช ์ธ์ ์์:
ํ์ค์์ ์๊ตฌํ๋ ์์๋ฅผ ๋ฒ์ด๋ ์ง์ . ํ์ฉ๋
์ํ์ค๋ ์ถ๋ ฅ ํด์ ์น์ ์ ํ 1์ ์ค๋ช ๋์ด ์์ต๋๋ค.
์ ํ์ด ์๋ ์์:
์ ํ์ด ์๋ ์์(์: Z'19AF')
์ ํ ํฌ๊ธฐ:
REAL*8๊ณผ ๊ฐ์ด ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ ์ ํ ์ ์ธ์ ๋๋ค.
๊ฐ๋ณ ํ์:
FORMAT์ ๊ฐ๋ณ ๋ฐ๋ณต ์ฌ์ ๋๋ ํ๋ ํฌ๊ธฐ. ์ด๋ค์ ๋ค์๊ณผ ๊ฐ์ ํํ์ ๋๋ค.
< ํน๊ธ >.
vms-io:
๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ด์ ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ต๋๋ค. io-ํค์๋ ์์ด.
์ฐธ์กฐ : -f90, -f95, -์ด์์ฑ, -์์, ์คํ์ผ, -๋จ์ด ํฌ๊ธฐ.
-f90=๋ช ๋ถ
์ด ์ค์ ์ ์ง์๋๋ ํ์ฅ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํฉ๋๋ค.
Fortran 77์ ์ผ๋ถ๋ก ์ฑํ๋์ง ์์ Fortran 90 ํ์ค
๊ธฐ์ค. ์ฐธ๊ณ ํ์ธ์ ftnchek ์ ์ฒด Fortran 90 ์ธ์ด๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ Fortran 77์ ๋ํ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ํ์ฅ์ ์ง์ํฉ๋๋ค.
Fortran 90์ด ์ ์๋๊ธฐ ์ . ์ด๋ฌํ ํ์ฅ ์ค ์ผ๋ถ๋ Fortran์ ์ผ๋ถ๊ฐ ๋์์ต๋๋ค.
90 Standard์ด์ง๋ง ๋ค๋ฅธ ์ฌ๋๋ค์ ๊ทธ๋ ์ง ์์์ต๋๋ค. ๊ทธ๋งํผ -f90 ์ค์ ์ ํ์์ ๋ํด์๋ง ๊ฒฝ๊ณ ํฉ๋๋ค.
์ฆ, ์ด ํ๋๊ทธ๋ ํฉ๋ฒ์ ์ธ Fortran 77๋ ์๋๊ณ ํฉ๋ฒ์ ์ด์ง ์์ ๊ฒ๋ค์ ๋ค๋ฃน๋๋ค.
Fortran 90. ๋ฐ๋ผ์ ์ด ํ๋๊ทธ์ ์ํด ์ ์ด๋๋ ๊ฒฝ๊ณ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ ์งํฉ์ ๋๋ค.
์ ์ํด ์ ์ด๋๋ ๊ฒฝ๊ณ ์ค -f77. ์๋์ ์ค๋ช ๋ ๋ช ๊ฐ์ง ์ฌ๋ก๊ฐ ์์ต๋๋ค.
๊ฒฝ๊ณ ๊ฐ ์ฃผ์ด์ง๋ ์ํฉ์ ๋ ์ฌ๋์๊ฒ ์ฝ๊ฐ ๋ค๋ฆ ๋๋ค.
ํ๋๊ทธ.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ธ ๊ฐ์ง๊ฐ ์์ต๋๋ค
ํน๋ณํ ํค์๋: ๋ชจ๋ ๋นํ์ค ํ์ฅ์ ๋ํ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ์ผ๋ ค๋ฉด
์์ ๋ชจ๋ ๋๊ณ ๋์ ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ๊ฐ์ ๋ํ ๊ฐ๋จํ ์ค๋ช . ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ , -f90 ์ ํด๋นํ๋ -f90=๋ชจ๋๋ฐ
-nof90 ์ ํด๋นํ๋ -f90=์์.
๋ค์ ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ต๋๋ค. -f90 ์ ๊ดํด์ -f77. ๋ ์๋
์๋ ์ค๋ช ์ฐธ์กฐ -f77.
์๋ฝํ ์ด์ค ๋ณตํฉ์ฒด ํ๋ผ๋ ธํ๋
๋ฐฑ ์ฌ๋์ ํ์-๋ฌ๋ฌ ๊ธฐํธ ํฌ๋ ์ด ํฌ์ธํฐ
๋ฐ์ดํธ ํ์ ํธ์ง ์ค๋ช ์ฟผ๋ ์์
CPP ๊ธฐ๋ฅ๋ ธํ๋ ์ ํ ํฌ๊ธฐ
d-์ฝ๋ฉํธ ์ด๋ฆ-๋ฌ๋ฌ ๊ธฐํธ ๊ฐ๋ณ ํ์
XNUMX์ ํญ ๋งค๊ฐ๋ณ์ ์์์ ์ ํ vms-io
ํด๋น ํค์๋์ ๋ค์ ๋ค๋ฅธ ํค์๋ -f77 ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค
๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ณ์:
๊ณ ์ ์์ค์ ๋ช ๋ น๋ฌธ์ ๋ํ ์ฐ์ ํ ์ ์ ํ
ํ์์ Fortran 19๊ณผ Fortran 90์์ 77๋ก ๋์ผํฉ๋๋ค. ๋ฌด๋ฃ ์์ค์ ๊ฒฝ์ฐ
ํ๋๋ 39๊ฐ์ ์ฐ์ ๋ผ์ธ์ด๋ฉฐ, ์ฐ์์ ํฌํจํ๋ ๋ผ์ธ์
mark๋ ๋น์ด ์๊ฑฐ๋ ์ฃผ์๋ง ํฌํจํ ์ ์์ต๋๋ค.
๋ณธ๋ ๊ฐ์ถ์ด ์ง:
์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. -f77 ์ ์ ์๋ ๋ด์ฅ ํจ์๋ฅผ ์ ์ธํ๊ณ
MIL-STD 1753, Fortran 90์ ๋ชจ๋ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ๊ฒฝ๊ณ ํ์ง ์์
์ ๋ํ. (๋ณด๋ค -๋ณธ์ง์ ๋ชฉ๋ก์ ๋ณด๋ ค๋ฉด.)
io-ํค์๋:
์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. -f77 ๋จ, I/O์ ๋ํ ๊ฒฝ๊ณ ๋ ์ ๊ณต๋์ง ์์ต๋๋ค.
Fortran 90์ ํ์ค ํค์๋์ ๋๋ค.
๊ธด ์ :
Fortran 90 Standard์์๋ 72์๋ณด๋ค ๊ธด ์ค์ ํ์ฉํ์ง๋ง
์์ ์์ค ํ์์ด์ง๋ง ์ด ์ ํ์ ๊ณ ์ ์์ค ํ์์๋ ์ฌ์ ํ ์ ์ฉ๋ฉ๋๋ค. ~ ์์
๋ฌด๋ฃ ์์ค ํ์์ ์ค ๊ธธ์ด ์ ํ์ 132์์ด๋ฉฐ ๊ณ ์ ๋ ๊ฒ๊ณผ๋ ๋ค๋ฆ ๋๋ค.
ํํ, ftnchek ์ด ์ ํ์ ๋๋ฆฌ๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค.
ํผํฉ ํํ:
์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. -f77 ํ์ฅ ์ ๋ฐ๋๋ฅผ ํผํฉํ ํํ์ ์ ์ธ
Fortran 90์์ ํ์ฉ๋๋ ๋ณต์กํ ๋ฐ์ดํฐ ์ ํ์ ์ค์์ ๋๋ค.
๋ช ์ธ์ ์์:
์ด๋ ํด๋นํ๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค. -f77 ๊ฒฝ๊ณ ํ์ง๋ง ๋ค์ ์ ์ฉ๋ฉ๋๋ค.
Fortran 90 Standard์ ๋ช ๋ น๋ฌธ ์์์ ๋ํ ์ ํ์ด ์ํ๋์์ต๋๋ค. ~ ์์
ํนํ Fortran 90์์๋ DATA ๋ฌธ๊ณผ ๋ฌธ ๊ธฐ๋ฅ์ ํ์ฉํฉ๋๋ค.
์ฌ์ ์ค๋ช ๊ณผ ํผํฉ๋๋ ์ ์.
์ ํ์ด ์๋ ์์:
Fortran 90์์๋ B'ddd' ํ์์ XNUMX์ง์, XNUMX์ง์, XNUMX์ง์ ์์,
O'ddd' ๋ฐ Z'ddd'๋ ๊ฐ๊ฐ ํ์ฉ๋ฉ๋๋ค. ์ฌ๊ธฐ์ 'ddd'๋
์ซ์ ๋ฌธ์์ด. ftnchek ์ด๋ฌํ ํ์๊ณผ ๋ณํ์ ์ธ์ํฉ๋๋ค.
XNUMX์ง์ ์์์ ๊ฒฝ์ฐ X'ddd' ํ์ ๋ฐ ๊ธฐํ ๋ณํ
๊ธฐ๋ณธ ํ์๊ธฐ B, O, Z ๋๋ X๋ ์ซ์ ๋ฌธ์์ด์ ๋ฐ๋ฆ ๋๋ค. ์ด๋ฌํ ๋ณ์ข ์
Fortran 90์์๋ ์ฑํ๋์ง ์์์ผ๋ฏ๋ก ์ด ํ๋๊ทธ๊ฐ ์ฌ์ฉ๋ ๋๋ง ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์ต๋๋ค.
์ผ์ ธ์๋ค.
์ฐธ์กฐ : -f77, -f95, -์ด์์ฑ, -์์, ์คํ์ผ, -๋จ์ด ํฌ๊ธฐ.
-f95=๋ช ๋ถ
์ด ์ค์ ์ ํ์ค Fortran 77์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํฉ๋๋ค.
Fortran 95 Standard์์ ์ญ์ ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ ๋ฌ๋ฆฌ -f77 ๊ณผ -f90
์ค์ ์ ๋ฐ๋ผ ์ด๋ฌํ ๊ฒฝ๊ณ ๋ Fortran 77์ ์ ํฉํ ๊ตฌ๋ฌธ์ ์ ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ดํ
์ด๋ฌํ ๊ธฐ๋ฅ์ ํ์ค์์ ์ญ์ ๋์์ผ๋ฏ๋ก ํ๋ก๊ทธ๋จ์ด
์ด๋ฅผ ํฌํจํ๋ ๊ฒ์ ์ผ๋ถ ์ต์ ์ปดํ์ผ๋ฌ์์๋ ํ์ฉ๋์ง ์์ต๋๋ค.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ธ ๊ฐ์ง๊ฐ ์์ต๋๋ค
ํน๋ณํ ํค์๋: ๋ชจ๋ ๋นํ์ค ํ์ฅ์ ๋ํ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ์ผ๋ ค๋ฉด
์์ ๋ชจ๋ ๋๊ณ ๋์ ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ๊ฐ์ ๋ํ ๊ฐ๋จํ ์ค๋ช . ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ , -f95 ์ ํด๋นํ๋ -f95=๋ชจ๋๋ฐ
-nof95 ์ ํด๋นํ๋ -f95=์์. ์๋ฏธ๊ฐ ์๋ ๊ฒฝ๊ณ ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ค์ :
์ค์ํ์ DO ๋ณ์.
์ค์ง:
PAUSE ๋ฌธ.
ํ ๋น:
ASSIGN ๋ฌธ, ์ง์ ๋ GOTO ๋๋ ์ง์ ๋ ํ์์ ๋๋ค.
h-ํธ์ง:
ํ์์ H ํธ์ง ์ค๋ช ์์ ๋๋ค.
Fortran 77์์ ์ญ์ ๋ ๋ ๋ค๋ฅธ Fortran 95 ๊ตฌ๋ฌธ ๊ธฐ๋ฅ์ด ํ๋ ์์ต๋๋ค.
IF ๋ธ๋ก ์ธ๋ถ์์ ENDIF๋ก ๋ถ๊ธฐํฉ๋๋ค. ํ์ง๋ง, ftnchek ํ ์ ์๋ค
ํ๋ก๊ทธ๋จ ํ๋ฆ์ ๋ถ์ํ๋ฏ๋ก ์ด์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ณตํ์ง ์์ต๋๋ค.
์ฐธ์กฐ : -f77, -f90, -์ด์์ฑ, -์์, ์คํ์ผ, -๋จ์ด ํฌ๊ธฐ.
-๋์
๊ฐ ๋ช ๋ น์ค ์ต์ ์ ๋ํ ๊ฐ๋จํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ๋ช ๋ น์ค ์ต์ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ๊ณผ ํจ๊ป. ์ด ๋ช ๋ น์ ๊ธฐ๋ฅ๋ฉด์์ ๋์ผํฉ๋๋ค. ``?''
์ฃผ์ฅ์ด๋ฉฐ, ์ง๋ฌธ์ด ์๋ ์์คํ ์ ํธ์๋ฅผ ์ํด ์ ๊ณต๋ฉ๋๋ค.
ํ์๋ ๋ช ๋ น ํด์๊ธฐ์์ ํน๋ณํ ์๋ฏธ๋ฅผ ๊ฐ์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
๋์๋ง ๋ชฉ๋ก์๋ ๋ฒ์ ๋ฒํธ์ ํจ์น ์์ค๋ ์ธ์๋ฉ๋๋ค. ftnchek ๋ฐ
์ ์๊ถ ๊ณ ์ง.
์ฐธ๊ณ : ๋์๋ง ๋ชฉ๋ก์์ ๋๊ดํธ ์์ ์ธ์๋ ``๊ธฐ๋ณธ๊ฐ'' ๊ฐ์,
์๋ฐํ ๋งํ๋ฉด ๋ด์ฅ๋ ๊ธฐ๋ณธ๊ฐ์ด ์๋๋ผ ์ดํ์ ํ์ฌ ๊ฐ์ ๋๋ค.
ํ๊ฒฝ ์ต์ ๋ฐ ์์ ๋์ค๋ ๋ชจ๋ ๋ช ๋ น์ค ์ต์ -๋์ ์ต์ ์ด ์์ต๋๋ค
์ฒ๋ฆฌ๋์์ต๋๋ค.
์ฐธ์กฐ : -์ด์ฌ์, -๋ฒ์ญ๋ฐ ๋์ ๋ชฉ๋ก์ ๊ฐ์ ธ์ค๋ ๋ชจ๋ ์ค์ ์ ์ต์
ํค์๋.
-์๋ณ์-๋ฌธ์=๋ช ๋ถ
์๋ณ์์ ์ฌ์ฉํ ์ ์๋ ์์ซ์๊ฐ ์๋ ๋ฌธ์๋ฅผ ์ ์ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก,
ftnchek ๋ฌ๋ฌ ๊ธฐํธ์ ๋ฐ์ค์ ์์ซ์๊ฐ ์๋ ๋ฌธ์๋ก๋ง ํ์ฉ๋ฉ๋๋ค.
์๋ณ์ ์ด๋ฆ์. ์ ๋ฑ์ฅํ๋ ์บ๋ฆญํฐ๋ค ๋ช ๋ถ ํ์ฉ๋๋ ์ธํธ๋ฅผ ๋์ฒดํ์ญ์์ค.
์ด์ ์๋ ์์ซ์๊ฐ ์๋ ๋ฌธ์๊ฐ ์ ์ฉ๋์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฌ๋ฌ ๊ธฐํธ ๋๋
๋ฐ์ค์ด ๋ชฉ๋ก์ ํฌํจ๋์ง ์์ผ๋ฉด ํ์ฉ ๊ฐ๋ฅํ ์ํ๋ฅผ ์์ต๋๋ค.
์.
์ด ์ต์ ์ ํ์ฑํํ๊ธฐ ์ํด ์ ๊ณต๋ฉ๋๋ค. ftnchek ๋น-ํฌํจ๋ ์์ค ํ์ผ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด
์๋ฅผ ๋ค์ด ํน์ ํญ๋ชฉ์ ์ก์ธ์คํ๋ ๋ฐ ํ์ํ ์ ์๋ ํ์ค ์๋ณ์ ์ด๋ฆ
์ด์ ์ฒด์ ์๋น์ค. ์ ํ์ฌํญ ๋ฐ ํ์ฅ์ ๋ํ ์น์ ์ ์ฐธ์กฐํ์ธ์.
์์์ ์ ํ ์ง์ ์์ ์ด๋ฌํ ๋ฌธ์๋ฅผ ํฌํจํ๋ ์๋ณ์๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
์ฌ์ฉ -noidentifer-chars ์์ซ์๊ฐ ์๋ ๋ฌธ์์ ํ์ฉ์ ๋๋๋ค.
์ ์ ์ผ๋ก.
์ฐธ์กฐ : -source.
-ํฌํจ=ํต๋ก
INCLUDE ๋ฌธ์ผ๋ก ์ง์ ๋ ํ์ผ์ ๊ฒ์ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค.
๋ค๋ฅธ ๋ช ๋ น์ค ์ต์ ๊ณผ ๋ฌ๋ฆฌ ์ด ์ค์ ์ ๋์ ๋ฉ๋๋ค. ์ฆ ๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด
๋ช ๋ น์ค์ ๋ ๋ฒ ์ด์ ์ฃผ์ด์ง๋ฉด ๊ทธ๋ ๊ฒ ์ง์ ๋ ๋ชจ๋ ๋๋ ํฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฃผ์ด์ง ์์๋๋ก ๊ฒ์๋๋ ๋ชฉ๋ก์ ๋ฐฐ์น๋ฉ๋๋ค. ๊ทธ๋งํผ
๊ทธ ์์ ftnchek ํฌํจํ ํ์ผ ๊ฒ์: ํ์ฌ
์๋ฐฐ ๊ท์น์; ํ๊ฒฝ ๋ณ์ FTNCHEK_INCLUDE์ ์ํด ์ง์ ๋ ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ;
์์์ ๋๋ ํ ๋ฆฌ -ํฌํจ ์ต์ ; ๋ค์์ ์ํด ์ง์ ๋ ๋๋ ํ ๋ฆฌ
ํ๊ฒฝ๋ณ์ INCLUDE; ๋ง์ง๋ง์ผ๋ก ํ์ค ์์คํ ์ ์ฒด ๋๋ ํ ๋ฆฌ์ ์์ต๋๋ค.
(/ usr / include UNIX์ ๊ฒฝ์ฐ, VMS์ ๊ฒฝ์ฐ SYS$LIBRARY, MSDOS์ ๊ฒฝ์ฐ \include).
์ฐธ์กฐ : -f77, -source.
-๋ด์ฌ์ =๋ช ๋ถ
์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค. ftnchek ํน์ ๋นํ์ค ๊ณ ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ด ์ธ์ํฉ๋๋ค.
๋ณธ์ง์ ์ธ. ๊ทธ๋งํผ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ผ๋ถ
ํค์๋๋ ํน์ ๊ธฐ๋ฅ ๊ทธ๋ฃน์ ์ธ์ํ ์ง ์ฌ๋ถ๋ฅผ ์ ์ดํ๊ณ ,
ํค์๋๋ ์ผ๋ถ ๋นํ์ค ๋ด์ฅ ํจ์๋ฅผ ํธ์ถํ๊ธฐ ์ํด ์์๋๋ ๊ตฌ๋ฌธ์ ์ ์ดํฉ๋๋ค.
ํด๋น ๋ด์ฅ ํจ์ ์งํฉ์ ์ธ์์ ์ผ๋ ํค์๋๋ฅผ ํฌํจํ๊ฑฐ๋
ํด๋น ๊ตฌ๋ฌธ์ ํ์ฉํฉ๋๋ค. ์ ๋์ฌ๊ฐ ๋ถ์ ํค์๋๋ฅผ ํฌํจํ์ธ์. ์๋ - ๋๋ค
๊ทธ ์ธ์.
์ธ ๊ฐ์ง ํน๋ณํ ํค์๋๊ฐ ์์ต๋๋ค: ๋ชจ๋ ๋ชจ๋ ๋นํ์ค ์ธ์์ ํ์ฑํํฉ๋๋ค.
๋ด์ฅ ํจ์(์๋ ๋์ด)๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋ณํ์ด ์๋ ๊ตฌ๋ฌธ์ ๋ํด ๋ ์ค ํ๋์ ๊ตฌ๋ฌธ์ ํ์ฉํฉ๋๋ค.
์์ ์ธ๊ธ๋ ํญ๋ชฉ์ ์ ์ธํ ๋ชจ๋ ๋นํ์ค ๋ด์ฅ ํญ๋ชฉ์ ๋ํ ์ธ์์ ํด์ ํฉ๋๋ค.
์๋์. ์ฌ์ฉ ๋์ ์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ. ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ , -๋ณธ์ง์ ์ ํด๋นํ๋ -๋ณธ์ง์ =๋ชจ๋๋ฐ
-๋น๋ณธ์ง์ ์ ํด๋นํ๋ -๋ณธ์ง์ =์์.
๋นํ์ค ํ์ฅ์ ์ง์ํ๋ ๋ฐ ํ์ํ ๋นํ์ค ๋ด์ฅ ํจ์
์ ๋ฐ๋ ๋ฐ์ดํฐ ์ ํ(์ด์ค ๋ณต์์ ๋ฐ ์ฟผ๋ ์ ๋ฐ๋)์ ํญ์ ์ธ์๋ฉ๋๋ค.
์ด์ค ๋ณตํฉ ๋ฐ์ดํฐ ์ ํ์ ๋ด์ฅ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
CDABS CDSQRT DREAL ZLOG
CDCOS DCMPLX ์ด๋ฏธ์ง ZSIN
CDEXP DCONJG ZABS ZSQRT
CDLOG DIMAG ZEXP ZCOS
CDSIN
์ฟผ๋ ์ ๋ฐ๋ ๋ฐ ์ฟผ๋ ๋ณตํฉ ์ ํ์ ๋ด์ฅ ํจ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
CQABS QARCOS QEXT QNINT
CQCOS QARSIN QEXTD QPROD
CQEXP ์นดํ QFLOAT QREAL
CQLOG QATAN2 QIMAG QSIGN
CQSIN QCMPLX QINT QSIN
CQSQRT QCONJG QLOG QSINH
DBLEQ QCOS QLOG10 QSQRT
IQINT QCOSH QMAX1 QTAN
IQNINT QDIM QMIN1 QTANH
QABS QEXP QMOD SNGLQ
๋ค๋ฅธ ๋นํ์ค ๋ด์ฅ ํจ์์ ์ธ์์ ์ ์ดํ๋ โโํค์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด :
์ฌ๋ถ์:
๋ค์๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๋นํ์ค ๋ด์ฅ ํจ์๋ฅผ ์ธ์ํฉ๋๋ค(๋ค์์ ์ ์ธํ๊ณ ๋ชจ๋
EXIT ๋ฐ LOC๋ MIL-STD 1753์ ์ ์๋์ด ์์ต๋๋ค.
BTEST IBCLR IEOR ISHFTC
IBITS IOR LOC ์ข ๋ฃ
IAND IBSET ISHFT NOT
์ ๋์ค: ๋ค์๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ Unix ๊ด๋ จ ๋ด์ฅ ํจ์๋ฅผ ์ธ์ํฉ๋๋ค.
GMTIME LTIME SRAND ์ค๋จ
๊ทธ๋ฆฌ๊ณ IARGC ๋๋ ์์คํ
Getarg ์์ผ๋๋ ๋๋ ์๊ฐ
GETENV LSHIFT RSHIFT XOR
VM์: ๋ค์๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ VMS ๊ด๋ จ ๊ณ ์ ๊ธฐ๋ฅ์ ์ธ์ํฉ๋๋ค.
๋ ์ง ID ๋ ์ง ์ด ์๊ฐ
์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ํฌ๊ธฐ๊ฐ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
iargc-์ธ์ ์์:
IARGC๊ฐ ์ธ์ ์์ด ํธ์ถ๋ ์ ์์์ ์ง์ ํฉ๋๋ค.
iargc-XNUMX์ธ์:
IARGC๊ฐ ํ๋์ ์ธ์๋ก ํธ์ถ๋ ์ ์์์ ์ง์ ํฉ๋๋ค.
์ธ์ ์๋ ๋๋:
RAND ๋ฐ IRAND๊ฐ ์ธ์ ์์ด ํธ์ถ๋ ์ ์์์ ์ง์ ํฉ๋๋ค.
๋๋์ ์ธ์:
RAND ๋ฐ IRAND๊ฐ ํ๋์ ์ธ์๋ก ํธ์ถ๋ ์ ์๋๋ก ์ง์ ํฉ๋๋ค.
XNUMXD๋ดํ์ ๋ ผ์์ ์ฌ์ง๊ฐ ์๋ ๊ณผ ๋จ์ผ ์ธ์ ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค. ์ต์ ์ ์ผ๋ฉด
์์ธ ftnchek ํจ์ ํธ์ถ์ ํด๋นํ๋ ๊ตฌ๋ฌธ์ ์๋ฝํ๋ ค๋ฉด,
๋์ฒด ๊ตฌ๋ฌธ์ ๊ฐ๋ฅ์ฑ์ ๋ฐฐ์ ํ์ง ์๊ณ . ์ต์ ์ ์ผ๋ ์ค
off๋ฅผ ์ฌ์ฉํ๋ฉด ํด๋น ๊ตฌ๋ฌธ์ด ํ์ฉ๋์ง ์์ต๋๋ค. ๋ ์ต์ ์ด ๋ชจ๋ ์ผ์ ธ ์๋ ๊ฒฝ์ฐ
on at Once(๊ธฐ๋ณธ๊ฐ)์ด๋ฉด ๋ ๊ตฌ๋ฌธ ์ค ํ๋๊ฐ ํ์ฉ๋ฉ๋๋ค. ๋ ์ต์ ๋ชจ๋ ๋๊ธฐ
์ผ๋จ ์๋ฏธ๊ฐ ์์ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ์ต์ ์ ๋ค์์ ์ธ์ํ๋ ๊ฒฝ์ฐ ์๋ฌด๋ฐ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
Unix ๋ด์ฅ ๊ธฐ๋ฅ์ด ๊บผ์ก์ต๋๋ค.
์ด ์ค์ ์ ๋นํ์ค ๊ฒฝ๊ณ ๊ฐ ๋ฐํ๋๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํ์ง ์์ต๋๋ค.
์ด๋ฌํ ๊ธฐ๋ฅ์ ๋ํด. ๊ธฐ๋ฅ์ด ๊ฐ์ ๋๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค.
๋ณธ์ง์ ์ธ์ง ์๋์ง์ ๋ฐ๋ผ ์ฌ์ฉ๋ฒ์ ํ์ธํ๋ ๋ฐฉ๋ฒ์ด ๊ฒฐ์ ๋ฉ๋๋ค. ๊ธฐ๋ฅ์ ์ํํ ๋
์ด๋ฌํ ์ธํธ ์ค ํ๋๊ฐ ํฌํจ๋์ด ์์ผ๋ฉด ํด๋น ํธ์ถ์ ๋ค์์ ๋ฐ๋ผ ํ์ธ๋ฉ๋๋ค.
๊ณ ์ ๊ธฐ๋ฅ์ ๋ํ ๊ท์น; ๊ทธ๋ ์ง ์์ผ๋ฉด ์ ์์ ์ผ๋ก ํ์ธ๋ฉ๋๋ค(์ฌ์ฉ์-
์์ฑ) ์ธ๋ถ ๊ธฐ๋ฅ. ๋นํ์ค ๊ฒฝ๊ณ ๋ ๋ค์์ ์ํด ์ ์ด๋ฉ๋๋ค.
-f77=๋ด์ฌ์ ์ต์ ์ ์ ํํฉ๋๋ค.
์ด ์ค์ ์ ๊ธฐ๋ณธ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. -๋ณธ์ง์ =๋ชจ๋ ๋ค์
-๋ณธ์ง์ =no-vms ์ ๋์ค ๋ฒ์ ์ ๊ฒฝ์ฐ, -intrinsic=์ ๋์ค ์์ VMS ๋ฒ์ ์ ๊ฒฝ์ฐ
-intrinsic=no-unix,no-vms ๋ค๋ฅธ ๋ฒ์ ์ ๊ฒฝ์ฐ.
์ฐธ๊ณ : ๋ค์ ๋ฒ์ ์์๋ ftnchek 2.10 ์ด์ ์๋ -๋ณธ์ง์ ๊น๋ฐ์ ์ซ์๊ฐ ๊ฑธ๋ ธ๋ค
์ต์ ๋ชฉ๋ก ๋์ ์ธ์. ๊ธ์ ์ด ์ฌ์ฉ์๋ฅผ ์ํด
์คํฌ๋ฆฝํธ ํธ์ถ ftnchek ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ซ์ ํ์์ด ์ฌ์ ํ ํ์ฉ๋ฉ๋๋ค. ๊ทธ๋งํผ
์ค์ ์ ์ซ์ ํ์์ ์ธ ์๋ฆฌ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ผ์ ์ซ์๋ ๋ค์์ ์ ํํฉ๋๋ค.
์ง์๋๋ ๋ด์ฅ ํจ์ ์ธํธ์ ๋๋ค. ์ซ์ 0์ Fortran 77๋ง ์ ํํฉ๋๋ค.
ํ์ค ๋ด์ฅ ํจ์์ ๋นํ์ค ํ์ฅ ์ ๋ฐ๋๋ฅผ ์ง์ํ๋ ๋ฐ ํ์ํ ๋ด์ฅ ํจ์
๋ฐ์ดํฐ ์ ํ. ์ซ์ 1์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ฌ๋ถ์, 2๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์์คํธ๋ผ,์ ๋์ค๋ฐ
3๋ ์ถ๊ฐ,vms. ์ด ์ค์ ์ XNUMX์๋ฆฌ ์ซ์๋ ๊ตฌ๋ฌธ์ ์ ์ดํฉ๋๋ค.
RAND ๋ด์ฅ ํจ์์ ๋ฐฑ ์๋ฆฌ ์ซ์๋ ๋ค์์ ๊ตฌ๋ฌธ์ ์ ์ดํฉ๋๋ค.
IARGC ๊ธฐ๋ฅ. ์ด๋ฌํ ์ซ์์ ๋ํด 0์ ์ง์ ํ๋ฉด ํธ์ถ์ด ํ์ํ์ง ์์ต๋๋ค.
์ธ์, 1๊ฐ๋ ํ๋์ ์ธ์๋ฅผ ์๊ตฌํ๊ณ 2๊ฐ๋ ๋ ๊ฐ์ง ํ์์ ๋ชจ๋ ํ์ฉํฉ๋๋ค.
์ฐธ์กฐ : -f77.
-๋์๊ด
์ด ์ค์์น๋ ํ์ผ์ ์ฌ๋ฌ ๊ฐ์ ํ์ ํ๋ก๊ทธ๋จ์ด ํฌํจ๋์ด ์์ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
์ด๋ค ๋ชจ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ณดํต, ftnchek ์๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ํฉ๋๋ค.
ํ์ ํ๋ก๊ทธ๋จ์ด ์ ์๋์์ง๋ง ์ฌ์ฉ๋์ง๋ ์์ต๋๋ค. ์ด ์ค์์น๋ ์ด๋ฌํ ๊ฒฝ๊ณ ๋ฅผ ์ต์ ํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ = ์๋์.
์ด ์ค์์น๋ ๋ํ ์ด๋ค ์๋ธํ๋ก๊ทธ๋จ ํธ์ถ๊ณผ COMMON ๋ธ๋ก ์ ์ธ์ด ์ํ๋๋์ง ์ ์ดํฉ๋๋ค.
ํ์ธํ์ต๋๋ค. ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋ ๊ฒฝ์ฐ -๋์๊ด ํ๋๊ทธ๊ฐ ์ ์ฉ๋๋ฉด ์๋ธํ๋ก๊ทธ๋จ์ด ํธ์ถํฉ๋๋ค.
ํด๋น ํ์ผ์ ๋ฃจํด์ ํฌํจ๋ COMMON ์ ์ธ์ ๋ค์ ๊ฒฝ์ฐ์๋ง ํ์ธ๋ฉ๋๋ค.
ํด๋น ๋ฃจํด์ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ ํธ์ถ ํธ๋ฆฌ์ ์์ต๋๋ค. ๋ฐ๋ฉด์,
-๋์๊ด ์ค์์น๊ฐ ๊บผ์ง ๋ค์ ftnchek ๋ชจ๋ ๋ฃจํด์ ํธ์ถ์ ํ์ธํฉ๋๋ค.
๋ค๋ฅธ ๋ชจ๋ ๋ฃจํด(ํด๋น ๋ฃจํด์ด ์ค์ ๋ก ์คํ๋ ์ ์๋์ง ์ฌ๋ถ์ ๊ด๊ณ ์์)
๋ฐํ์ ์ ํธ์ถ๋๋ฉฐ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ชจ๋ COMMON ๋ธ๋ก ์ ์ธ๋ ๋น๊ต๋ฉ๋๋ค.
ํ์ .
์ด ์ค์์น์ ์ค์์น์ ์ฐจ์ด์ ์ -usage=no-ext-๋ฏธ์ฌ์ฉ ์ ๋ํ ์ต์
ํ์ ํ๋ก๊ทธ๋จ์ ํ์๊ฐ ๋ฃจํด์ด ์คํ๋๊ณ ์๋ค๋ ๊ฒฝ๊ณ ๋ง ์ต์ ํ๋ค๋ ๊ฒ์ ๋๋ค.
์ ์ธํ์ง๋ง ์ฌ์ฉ๋์ง ์์์ต๋๋ค. ๊ทธ๋งํผ -๋์๊ด ์ค์์น๋ ๋ ๋์๊ฐ ์ฌ์ฉ๋์ง ์์ ํญ๋ชฉ์ ์ ์ธํฉ๋๋ค.
๋ชจ๋ ์ธ์ ๊ต์ฐจ ๊ฒ์ฌ๊ฐ ์ ์ฉ๋๋ ๋์ ์ฒ๋ฆฌ๋๋ ๋ฃจํด
COMMON ๋ธ๋ก ์ ์ธ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
(๋ง์ฝ ํ์ผ ์ธํธ ์ด๋์๋ ๋ฉ์ธ ํ๋ก๊ทธ๋จ์ด ์๋ค๋ฉด ftnchek ์ฝ์๋ค, ๊ทธ๋์
๊ทธ๋ฌ๋ฉด ํธ์ถ ํธ๋ฆฌ๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค. ftnchek ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ๋ฃจํด์ ์ฐพ์ต๋๋ค.
๋ค๋ฅธ ๋ฃจํด์ ์ํด ํธ์ถ๋์ง ์์ผ๋ฉฐ ์ด๋ฅผ ๊ธฐ๋ณธ ๋ฃจํด์ ๋์ฒด๋ฌผ๋ก ์ฌ์ฉํฉ๋๋ค.
ํธ์ถ ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๊ณ ๋ฌด์์ ํ์ธํ ์ง ๊ฒฐ์ ํ๋ ํ๋ก๊ทธ๋จ์ ๋๋ค. ๊ทธ๋ฐ ํ์ด ์๋ค๋ฉด-
์์ค์ ๋น๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃจํด์ด ๋ฐ๊ฒฌ๋ ๋ค์ ๋ชจ๋ ๋ชจ๋ ๊ฐ ํธ์ถ ๋ฐ ๋ชจ๋ COMMON
์ ์ธ์ด ํ์ธ๋ฉ๋๋ค.)
์ฐธ์กฐ : -์ธ์, -์ฝํธ๋ฆฌ, -ํํ, -ํต๊ทผ์, -์ฉ๋ฒ.
-๋ช ๋ถ
Fortran ํ๋ก๊ทธ๋จ ๋ชฉ๋ก์ด ๋ค์ ์ค๋ก ์ธ์๋๋๋ก ์ง์ ํฉ๋๋ค.
์ซ์. ๋ง์ฝ์ ftnchek ์ค๋ฅ๋ฅผ ๊ฐ์งํ๋ฉด ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ๋ก๊ทธ๋จ ๋ผ์ธ์ ๋ฐ๋ฆ ๋๋ค.
์ค๋ฅ ์์น๋ฅผ ์ง์ ํ๋ ์บ๋ฟ( ^ )์ ์ฌ์ฉํฉ๋๋ค. ์์ค ๋ชฉ๋ก์ด ์๋ ๊ฒฝ์ฐ
์์ฒญ, ftnchek ์ค๋ฅ๊ฐ ํฌํจ๋ ์ค์ ๊ณ์ ์ธ์๋ฉ๋๋ค.
์ฌ์ฉ์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์์น๋ฅผ ํ์ธํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
์ฐธ์กฐ : -์ฐ์ถ, \fB-์ฌํญ, fB-์กฐ์ฉํจ.
-madecls=๋ช ๋ถ
๋ณ์ ์ ์ธ, ๊ณตํต ๋ธ๋ก ๋ฐ ์ ์ธ์ด ํฌํจ๋ ๊น๋ํ ํ์์ ํ์ผ์ ์ค๋นํฉ๋๋ค.
์์ค ์ฝ๋์ ๋ณํฉํ ์ ์๋ namelist ๋ชฉ๋ก์ ๋๋ค. ์ ์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค
์์ค ์ฝ๋์ ๋์ผํ ์ด๋ฆ์ ํ์ผ์ ์ ์ฅ๋์ง๋ง ํ์ฅ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ก ๋ณ๊ฒฝ .dcl. ํ์ผ์ ์ ์ธ์ด ๊ธฐ๋ก๋์ง ์์ผ๋ฉด ์ญ์ ๋ฉ๋๋ค.
๋น ํ์ผ์ ํผ๋์ ์ค์ ๋๋ค.
์ ๋ ฅ์ด ๋ช ๋ช ๋ ํ์ผ ๋์ ํ์ค ์ ๋ ฅ์์ ์ค๋ ๊ฒฝ์ฐ ์ ์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ์ค ์ถ๋ ฅ์ผ๋ก ์์ฑ๋์์ต๋๋ค.
๋ณ์๋ ๊ฐ ์ ์ธ ํด๋์ค ๋ด์์ ์ํ๋ฒณ ์์๋ก ์ ์ธ๋๋ฉฐ,
๋์ค์ ๋ฐฐ์ด์์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ ์ ๋ณ์๋ฅผ ๋จผ์ ์ฌ์ฉํ๋ ์ ํ
์น์.
PARAMETER ๋ฌธ์ ์ํ๋ฒณ ์์ ๊ท์น์ ์์ธ์ ๋๋ค.
Fortran 77 Standard์์๋ ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ ์ํ๋ ํํ์์ด ๋ค์์ ์ฐธ์กฐํด์ผ ํฉ๋๋ค.
์์ ๋ฐ ์ด๋ฏธ ์ ์๋ ๋งค๊ฐ๋ณ์ ์ด๋ฆ์๋ง ํด๋น๋ฉ๋๋ค. ์ด๋ ์๋ณธ์ ๊ฐ์ ๋ก
์ ์ธ ํ์ผ์ ๋ณด์กด๋ ํด๋น ๋ช ๋ น๋ฌธ์ ์์ค ํ์ผ ์์.
๋ช ์์ ์ ์ธ ๋ชจ๋ ๋ณ์๋ ์ข์ ํ๋ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
๊ดํ. ์ ์ธ๋์ง ์์ ๋ณ์, ์ฒ ์๊ฐ ํ๋ฆฐ ๋ณ์๋ฅผ ๊ฑฐ๋ถํ๊ธฐ ์ํด ์ปดํ์ผ๋ฌ ์ต์ ์ ์ฌ์ฉํจ์ผ๋ก์จ
๋ณ์ ์ด๋ฆ(๋๋ ์ด 72๋ฅผ ์ง๋ ํ์ฅ๋๋ ์ด๋ฆ)์ ์ปดํ์ผ ํ์์ ํฌ์ฐฉ๋ ์ ์์ต๋๋ค.
๋ช ์์ ์ ์ธ์ ๋ถ๋ ์์์ ์ ๋ฐ๋ ๋ณ๊ฒฝ์ ํฌ๊ฒ ์ด์งํฉ๋๋ค.
์ ๊ฐ์ ํํฐ๋ก dtoq(1L), dtos(1L), fd2s(1L), fs2d(1L), qtod(1L) ๋ฐ
๋ฉ์ท๋ค(1L). ์ด ํ๋ก๊ทธ๋จ์ ๋ช ์์ ๋ถ๋ ์์์ ์ ํ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ ํ ์ ์ธ, ๋ด์ฅ ํจ์ ๋ฐ ์์๊ฐ ์์ง๋ง ๊ทธ๋ ์ง ์๊ธฐ ๋๋ฌธ์
Fortran ์์ค ์ฝ๋์ ๋ํ ์๊ฒฉํ ์ดํ ๋ฐ ๋ฌธ๋ฒ ๋ถ์์ ์ํํฉ๋๋ค.
์ ์ธ๋์ง ์์ ๋ณ์์ ๋ํด ์์ ๋ ์ ํ ์ ์ธ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ
์ค์ = 0, ์ผ๊ธฐ = 1.
์ ์ธ ํ์ผ ํ์์ ๋ํ ๋ค์ํ ์ต์ ์ ๋ค์์ ์ํด ์ ์ด๋ฉ๋๋ค. ๋ช ๋ถ,
์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์คํ์ XNUMX๊ฐ์ง๊ฐ ์์ด์
ํค์๋ : ๋ชจ๋ ๋ชจ๋ ์ต์ ์ ์ผ๋ ค๋ฉด ์์ ๋ชจ๋ ๋๊ณ ๋์ ์
๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค. ๋ง์ฝ์ ๋ช ๋ถ is
์๋ต, -madecls ์ ํด๋นํ๋ -makedcls=์ ์ธ (์ฆ,
๊ธฐ๋ณธ ์ต์ ์ ์ฌ์ฉํ๋ ์ ์ธ ํ์ผ) ๋ฐ -nomadecls ์ ํด๋นํ๋
-makedcls=์์.
์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ftnchek, ์ด ์ค์ ์ ์ซ์ ํ์
๋ํ ํ์ฉ๋ฉ๋๋ค: ๋ช ๋ถ ์ซ์์ ํฉ์ธ ์ซ์๋ก ๋์ฒด๋ฉ๋๋ค.
๋ค์ ๋ชฉ๋ก์ ํค์๋ ์ ๊ดํธ ์์ ํ์๋ฉ๋๋ค. ๊ฒฝ๊ณ ํค์๋
๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ์ธ (1) :
์ ์ธ ํ์ผ์ ์์ฑํฉ๋๋ค. (์ด๋ ๋ค๋ฅธ ์ต์ ์ ์ํด ์์๋๋ฉฐ,
๋ค๋ฅธ ์ต์ ์ด ์์ผ๋ฉด ์๋ต ๊ฐ๋ฅํฉ๋๋ค.)
์ ์ธ๋์ง ์์ ์ ์ฉ (2) :
๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋ณ์๋ ์ ์ธ ํ์ผ์ ํฌํจ๋ฉ๋๋ค. ์ด๊ฒ์ผ๋ก
์ต์ , ํฌํจ๋ง ์ ์ธ๋์ง ์์ ๋ณ์. ์ด ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค.
Fortran ์์ค ํ์ผ์ด ๋ชจ๋ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์ ์ธ๋์ง ์์ ๋ณ์๋ฅผ ํ์ธํ๊ณ ์ถ์ต๋๋ค.
์ฌ๋ฐ๋ฅด๊ฒ ์ ์ธ๋ ๋ณ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค์ง ์์ต๋๋ค. .dcl ํ์ผ. ์ด๊ฒ์ผ๋ก
์ต์ ์ ์ ํํ๋ฉด ๊ณตํต ๋ธ๋ก ๋ฐ ์ด๋ฆ ๋ชฉ๋ก ๋ชฉ๋ก์ด ํฌํจ๋์ง ์์ต๋๋ค.
์ ์ธ ํ์ผ์ ๊ทธ ํน์ฑ์ ์ ์ธ์ ์ทจ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํฉํธ (4) :
์ ์ธ์ ์ผ๋ฐ์ ์ผ๋ก ๊ณตํต์ ์ผ๋ก ๊น๋ํ๊ฒ ์ ๋ ฌ๋๋๋ก ์์๊ฒ ์ธ์๋ฉ๋๋ค.
Extended PFORT Verifier๊ฐ ์ถ๋ ฅํ ์ ์ธ ํ์ผ์์์ ๊ฐ์ด ์ด,
ํฌํธ(1L). ์ด ์ต์ ๊ฐ์ ๋์ ์ด ์์ด ์์ถ๋ ์ถ๋ ฅ์ ์ ํํฉ๋๋ค.
์กฐ์ .
์ฌ์ฉ ๊ณ์ ๋ผ์ธ (8) :
ํ์ฉ๋๋ ๊ฒฝ์ฐ ์ฐ์ ํ์ด ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์
๊ฐ ์ค์์ ์๋ก์ด ์ ์ธ์ ์์ํฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํ๊ธฐ์ ์ ํฉํฉ๋๋ค
์ ํจ๊ป ํฉํธ.
ํค์๋-์๋ฌธ์ (16) :
๊ธฐ๋ณธ ๋๋ฌธ์ ๋์ ์๋ฌธ์๋ก Fortran ํค์๋๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋ณ์ ๋ฐ ์์ ์๋ฌธ์ (32) :
๊ธฐ๋ณธ๊ฐ ๋์ ์๋ฌธ์๋ก ๋ณ์์ ์์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋๋ฌธ์. ๋ฌธ์์ด ์์๋ ์ด ์ต์ ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
์ ์ธ-sftran3 (64) :
SFTRAN3์์ ์์ฑ๋ ๋ด๋ถ ์ ์ ๋ณ์์ ์ ์ธ์ ์๋ตํฉ๋๋ค.
์ ์ฒ๋ฆฌ๊ธฐ, xsf3(1L), ๊ตฌ์กฐํ๋ Fortran ๋ฒ์ญ์ ์ผ๋ถ๋ก
์ผ๋ฐ ํฌํธ๋์ ๋ํ ์ง์ . ์ด๋ฌํ ๋ณ์์๋ ๋ค์๊ณผ ๊ฐ์ XNUMX์๋ฆฌ ์ด๋ฆ์ด ์์ต๋๋ค.
ํํ NPRddd, NXdddd, N2dddd๋ฐ N3dddd์ด๋๋ก d ์ญ์ง์์ ๋๋ค.
SFTRAN3 ์์ค ์ฝ๋์์๋ ๋ณด์ด์ง ์์ผ๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๋ณ๊ฒฝ๋ฉ๋๋ค.
SFTRAN3 ์ฝ๋๊ฐ ์์ ๋์์ผ๋ฏ๋ก ์ด๋ฌํ ๋ณ์๋ฅผ ๋ช ์์ ์ผ๋ก ์ ์ธํด์๋ ์ ๋ฉ๋๋ค.
๋์ ๊ธฐ๋ณธ Fortran INTEGER ๋ฐ์ดํฐ ์ ํ ๊ธฐ๋ฐ์ ๊ฐ์ ํด์ผ ํฉ๋๋ค.
๊ทธ๋ค์ ์ฒซ ํธ์ง์, N.
๋ณํ ์ฃผ์ (128) :
์ฃผ์ ๋ฌธ์๋ก ๋ณํ๋ฅผ ์ฌ์ฉํ์ญ์์ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ 'C'์ ๋๋ค.
์ฃผ์ ๋ฌธ์ ์๋ฌธ์ (256) :
์ฃผ์ ๋ฌธ์๋ก 'C' ๋๋ '*' ๋์ 'c'๋ฅผ ์ฌ์ฉํ์ญ์์ค.
๋ฐฐ์ด ์ฐจ์ ์ต์ (512) :
์์ฑ๋ ์ ์ธ์์ ๋ฐฐ์ด์ ํฌ๊ธฐ ์ธก์ ์ ์ต์ ํฉ๋๋ค. ์ด ์ต์
์ ํ ์ ์ธ์ด ์๋ ์ฝ๋์ ํจ๊ป ์ฌ์ฉํ์ฌ ์ ์ธ์ ํ์ฉํฉ๋๋ค.
์ฝ๋์ ๋ณ๊ฒฝ ์์ด ํ์ผ์ ์ฝ์ ํ ์ ์์ต๋๋ค. ์ฝ๋์๋
์ฐจ์ ๋ฌธ์ ์ด๋ฏธ ์ ํ์ ๋ฐฐ์ด ๋ณ์์ ๋ํ ์ฐจ์์ ์ง์ ํฉ๋๋ค.
์ ์ธ ํ์ผ์ ์ค๋ช ์ด ์ค๋ณต๋ฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค
์ต์ 2์ ๊ฒฐํฉํด์๋ง = ์ ์ธ๋์ง ์์ ์ ์ฉ
์ ํ ์ค๋ช ์์ ์ฐจ์์ด ์ง์ ๋ ๋ฐฐ์ด์ ํด๋น ๋ฐฐ์ด์ ์๊ฒ ๋ฉ๋๋ค.
์น์ ์ธก์ .
์์ ํ์ (1024) :
๋ฌด๋ฃ ์์ค ํ์์ผ๋ก ์ ์ธ์ ์์ฑํฉ๋๋ค. ์ด ๋ชจ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์๋์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
์ ๋ ฅ ์์ค๋ ์์ ํ์์ ๋๋ค. ์ ์ธ์ ์์ฑํ๋ ค๋ฉด ์ด ์ต์ ์ ์ฌ์ฉํ์ญ์์ค.
์ ๋ ฅ์ด ๊ณ ์ ๋ ํ์์ธ ๊ฒฝ์ฐ์๋ ์์ ํ์์ ๋๋ค. ์์ ํ์ ์ ์ธ์
2์ด ๋์ 6์ด๋ง ๋ค์ฌ์ฐ๊ธฐํ ๊ฒฝ์ฐ ๋๋ํ๋ฅผ ์ฃผ์์ผ๋ก ์ฌ์ฉํ์ธ์.
๋ฌธ์๋ฅผ ์ ๋ ฅํ๊ณ ๋ ๋ถ๋ถ์ ์ฐํผ์๋๋ก ์ฐ์ ํ์ ํ์ํฉ๋๋ค.
๊ณ์๋๋ ๋ผ์ธ.
์ ์ธ ํ์ผ์๋ ์์๊ณผ ๋์ ํ์ํ๋ ๊ณ ์ ํ ์ฃผ์์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํ ์คํธ ํธ์ง๊ธฐ ๋งคํฌ๋ก ์ฌ์ฉ์ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํด ๊ฐ ํ๋ก๊ทธ๋จ ๋จ์์ ๋ํ ์ ์ธ
์ ์ธ์ ์์ค ์ฝ๋์ ๋ค์ ๋ณํฉํฉ๋๋ค.
XNUMXD๋ดํ์ ftnchek ๋ฐฐํฌ์๋ ํ๋ก๊ทธ๋จ์ด ํฌํจ๋ฉ๋๋ค. dcl2inc, ์ ์ธ์ ์ฒ๋ฆฌํฉ๋๋ค.
๋ชจ๋ COMMON ๋ธ๋ก์ ์ ์ธ์ ํฌํจํ๋ ํ์ผ์ ํ์์ผ๋ก ์์ฑํ๋ ํ์ผ
INCLUDE ํ์ผ๋ก ์ฌ์ฉํ๊ธฐ์ ์ ํฉํฉ๋๋ค. ์ฐธ์กฐ dcl2inc(1L) ์์ธํ ๋ด์ฉ์ ๋งค๋ด์ผ ํ์ด์ง
๊ทธ๊ฒ์ ์ฌ์ฉ.
์ฐธ์กฐ : -mkhtml.
-mkhtml=๋ช ๋ถ
์์ค์์ HTML ๋ฌธ์๋ฅผ ์์ฑํฉ๋๋ค. ftnchek์์ ๊ฐ๋ณ HTML ํ์ผ์ ์์ฑํฉ๋๋ค.
๋ถ์ ๋ฐ ์ฝ๋ ์ฃผ์. ๋ฐ๋ก ์๊ณผ ๋ค์ ๋ชจ๋ ๋๊ธ
ํจ์ ๋๋ ์๋ธ๋ฃจํด ์ ์๋ HTML ํ์ผ์ ์บก์ฒ๋ฉ๋๋ค. ๋ค์ ํฌ๋งทํ์ง ์์
์์ค ์ฃผ์์ FORTRAN ์ฃผ์ ๋ฌธ์ ์ ๊ฑฐ ์ธ์ ์ํ๋ฉ๋๋ค.
๋ํ HTML ํ์ผ์๋ ์ ์ธ๋ ์ง์ญ ๋ณ์, ๊ณตํต ๋ธ๋ก์ด ๋์ด๋์ด ์์ต๋๋ค.
์ฌ์ฉ๋ ๋ณ์, ํธ์ถ๋ ํจ์ ๋ฐ ์๋ธ๋ฃจํด, I/O ์ฅ์น ์ฌ์ฉ ๋ฐ ๊ธฐํ
๊ฐ ํ์ ํ๋ก๊ทธ๋จ์ ๋ํ ์ ๋ณด์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ค์์ ์ง์ ํ๊ณ ์ถ์ ์๋ ์์ต๋๋ค.
-์ฝ=ํธ๋ฆฌ ๋ฃจํธ HTML ํ์ผ CallTree.html์ ์์ฑํฉ๋๋ค. (์๋ง๋ ์ด ํ์ผ์
index.html๋ก ์ด๋ฆ ์ง์ )
HTML ํ์ผ ํ์์ ๋ํ ๋ค์ํ ์ต์ ์ ๋ช ๋ถ, ๊ทธ
์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์คํ์ XNUMX๊ฐ์ง๊ฐ ์์ด์
ํค์๋ : ๋ชจ๋ ๋ชจ๋ ์ต์ ์ ์ผ๋ ค๋ฉด ์์ ๋ชจ๋ ๋๊ณ ๋์ ์
๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค. ๋ง์ฝ์ ๋ช ๋ถ is
์๋ต, -mkhtml ์ ํด๋นํ๋ -mkhtml=๋ฌธ์ (์ฆ, HTML ๋ฌธ์๋ฅผ ์์ฑํฉ๋๋ค.
๊ธฐ๋ณธ ์ต์ ์ ์ฌ์ฉํ๋ ํ์ผ) ๋ฐ -nomkhtmls ์ ํด๋นํ๋ -mkhtml=์์.
๋จ์ํ๋ฅผ ์ํด ์ต์ ์ -mkhtml ์ ๋ํ ๊ฒ๊ณผ ๋์ผํฉ๋๋ค
-madecls ํด๋น๋์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ . ๋ง์ฐฌ๊ฐ์ง๋ก ์ซ์ ํํ์
์ด ์ค์ ์ ๊ดํธ ์์ ์๋ ์ซ์์ ํฉ์ผ๋ก ๊ตฌ์ฑ๋์ด ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
์๋ ๋ชฉ๋ก. ๊ฒฝ๊ณ ํค์๋์ ๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๋ฅ (1) :
HTML ๋ฌธ์๋ฅผ ๋ง๋ญ๋๋ค. (์ด๋ ๋ค๋ฅธ ์ต์ ์ ์ํด ์์๋๋ฉฐ,
๋ค๋ฅธ ์ต์ ์ด ์์ผ๋ฉด ์๋ต ๊ฐ๋ฅํฉ๋๋ค.)
ํฉํธ (4) :
์ ์ธ์ ์ผ๋ฐ์ ์ผ๋ก ๊ณตํต์ ์ผ๋ก ๊น๋ํ๊ฒ ์ ๋ ฌ๋๋๋ก ์์๊ฒ ์ธ์๋ฉ๋๋ค.
์ด. ์ด ์ต์ ๊ฐ์ ๋์ ์ด ์์ด ์์ถ๋ ์ถ๋ ฅ์ ์ ํํฉ๋๋ค.
์กฐ์ .
์ฌ์ฉ ๊ณ์ ๋ผ์ธ (8) :
์ ์ ์ธ์ ์์ํ๋ ๋์ ์ฐ์ ์ค์ด ์ฌ์ฉ๋ฉ๋๋ค.
๊ฐ ๋ผ์ธ์. ์ด ์ต์ ์ ํจ๊ป ์ฌ์ฉํ๊ธฐ์ ์ ํฉํฉ๋๋ค. ํฉํธ.
ํค์๋-์๋ฌธ์ (16) :
๊ธฐ๋ณธ ๋๋ฌธ์ ๋์ ์๋ฌธ์๋ก Fortran ํค์๋๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋ณ์ ๋ฐ ์์ ์๋ฌธ์ (32) :
๊ธฐ๋ณธ๊ฐ ๋์ ์๋ฌธ์๋ก ๋ณ์์ ์์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋๋ฌธ์. ๋ฌธ์์ด ์์๋ ์ด ์ต์ ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
์ ์ธ-sftran3 (64) :
SFTRAN3์์ ์์ฑ๋ ๋ด๋ถ ์ ์ ๋ณ์์ ์ ์ธ์ ์๋ตํฉ๋๋ค.
์ ์ฒ๋ฆฌ๊ธฐ, xsf3(1L). (๋ณด๋ค -madecls ํ ๋ก ์ ์ํด.)
๋ฐฐ์ด ์ฐจ์ ์ต์ (512) :
์์ฑ๋ ์ ์ธ์์ ๋ฐฐ์ด์ ํฌ๊ธฐ ์ธก์ ์ ์ต์ ํฉ๋๋ค. ์ด๊ฒ์
์ผ๋ฐ์ ์ผ๋ก ๋ฐ๋์งํ์ง ์์ง๋ง ์ด๋ค ์ด์ ๋ก๋ ์ํ์ง ์๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
HTML์ ํ์ํ ๋ฐฐ์ด ํฌ๊ธฐ์ ๋๋ค.
์์ ํ์ (1024) :
๋ฌด๋ฃ ์์ค ํ์์ผ๋ก ๋ณ์ ์ ์ธ์ ์์ฑํฉ๋๋ค. ์ด ๋ชจ๋๋
์ ๋ ฅ ์์ค๊ฐ ์์ ํ์์ธ ๊ฒฝ์ฐ ์๋์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ์ฃผ๋ก ๋ค์์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
์ฌ์ฉ๋๋ ๊ฒฝ์ฐ ์ฐ์์ ์ ํํ์ ๋๋ค.
์ฐธ์กฐ : -์ฝํธ๋ฆฌ, -madecls.
-์ด์ฌ์
์ด ํ๋๊ทธ๋ ์ด๋ณด์์๊ฒ ๋ ์ ์ฉํ ์ถ๋ ฅ์ ์ ๊ณตํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค
ํจ๊ณผ :
(a) ์ฌ์ฉ๋์์ง๋ง ์ฌ์ฉ๋์ง ์์ ๊ธฐ๋ฅ์ ๋ํ ์ถ๊ฐ ๋ฉ์์ง๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ด๋์๋ ์ ์๋ ๋ฐฐ์ด์ ์ฌ์ฉ์๊ฐ ์ ์ธํ๋ ๊ฒ์ ์์ด๋ฒ๋ฆฐ ๋ฐฐ์ด์ผ ์ ์์ต๋๋ค.
DIMENSION ๋ฌธ(๋ฐฐ์ด ์ฐธ์กฐ์ ๊ตฌ๋ฌธ์
ํจ์ ์ฐธ์กฐ).
(b) ์ค๋ฅ ๋ฉ์์ง ๋ฐ ๊ฒฝ๊ณ ์ ํ์์ ์์ ํฉ๋๋ค. ๊น๋ฐ์ด ๋ค์งํ ๊ฒฝ์ฐ
๋จ์ด์ ธ -๋น์ด์ฌ์, ์ด๋ฌํ ๋ฉ์์ง๋ UNIX์ ๋ ์ ์ฌํ ์คํ์ผ๋ก ์ธ์๋ฉ๋๋ค.
๋ณดํ.
๊ธฐ๋ณธ๊ฐ = ์.
-์ถ๋ ฅ=ํ์ผ ์ด๋ฆ
์ด ์ค์ ์ ์ฝ๊ฒ ํ์ฉํ์ง ์๋ ์์คํ ์์ ํธ์๋ฅผ ์ํด ์ ๊ณต๋ฉ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ถ๋ ฅ ๋ฆฌ๋๋ ์ . ์ด ์ค์ ์ด ์ฃผ์ด์ง๋ฉด ์ถ๋ ฅ์
์ผ๋ฐ์ ์ผ๋ก ํ๋ฉด์ ๋ํ๋๋ ๋ฉ์์ง๊ฐ ๋ช ๋ช ๋ ํ์ผ๋ก ๋์ ์ ์ก๋ฉ๋๋ค. ๋ฉ๋ชจ,
๊ทธ๋ฌ๋ ๊ทธ ์ด์์์ ์ค๋ฅ๋ ftnchek ์์ฒด(์: ๊ณต๊ฐ์ด ๋ถ์กฑํ๊ฑฐ๋ ์ฌ์ฉํ ์ ์์)
์ด๋ฆฐ ํ์ผ)์ ์ฌ์ ํ โโํ๋ฉด์ผ๋ก ์ ์ก๋ฉ๋๋ค. ํ์ผ ์ด๋ฆ์ ํ์ฅ์๋
์ ํ์ฌํญ์ด๋ฉฐ, ํ์ฅ์๊ฐ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ํ์ฅ์๋ .lis ์ฌ์ฉํ๊ฒ ๋ ๊ฒ์ด๋ค.
-ํฌ์ธํฐ ํฌ๊ธฐ=NUM
``ํฌ๋ ์ด ํฌ์ธํฐ'' ๋ณ์์ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. NUM ๋ฐ์ดํธ. ๊ธฐ๋ณธ๊ฐ = ํ์ -
on = 4๋ฐ์ดํธ.
ํฌ์ธํฐ ํฌ๊ธฐ๋ ํฌ์ธํฐ์ ๊ด๋ จ๋ ์ ๋ฐ๋ ๋ถ์ผ์น ๊ฒฝ๊ณ ๋ฅผ ์๋ฆฌ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ณ์, ์๋ฅผ ๋ค์ด ํ ๋น์์ ํฌ์ธํฐ์ ๊ฐ์ด ํ ๋น๋ ๊ฒฝ์ฐ
๋ฃจํด์ด๊ฑฐ๋ ์๋ธํ๋ก๊ทธ๋จ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ฉ๋๋ค.
์ฐธ์กฐ : -f77, -์ด์์ฑ, -์๋ฆผ, -๋จ์ด ํฌ๊ธฐ.
-์ด์์ฑ=๋ช ๋ถ
ftnchek ํด๋์ฉ์ด ์๋ ๋ค์ํ ์ฉ๋์ ๋ํด ๊ฒฝ๊ณ ๋ฅผ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค
์ฃผ์์ด๋ ๋ฌธ์์ด ๋ด๋ถ๋ฅผ ์ ์ธํ ํญ ์ฌ์ฉ, Hollerith ์ฌ์ฉ
์์, ๋ค์ํ ๋ฐ์ดํฐ ์ ํ์ ๋ณ์ ๋๋ฑ์ฑ. ์ด ์ต์
Fortran 77 ํ์ค์ ๋ํด ์ง์๋๋ ํ์ฅ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์์ฑํ์ง ์์ต๋๋ค.
๋ํ ์ด์์ฑ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ์ก์ผ๋ ค๋ฉด -f77 ํ๊ฒฝ.
๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒฝ๊ณ ๋ ๊บผ์ ธ ์์ต๋๋ค.
์ด ์ค์ ์ ์ด์ ๊ฐ๋ฅ์ฑ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํฉ๋๋ค.
๋ฌธ์ . ๊ทธ๋งํผ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์๋ค
์ธ ๊ฐ์ง ํน๋ณํ ํค์๋: ๋ชจ๋ ์ด์ํ ์ ์๋ ์ฌ์ฉ๋ฒ์ ๋ํ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ์ผ๋ ค๋ฉด
์์ ๋ชจ๋ ๋๊ณ ๋์ ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ๊ฐ์ ๋ํ ๊ฐ๋จํ ์ค๋ช . ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ , -์ด์์ฑ ์ ํด๋นํ๋
-์ด๋์ฑ=๋ชจ๋๋ฐ -์ด์์ฑ ์์ ์ ํด๋นํ๋ -์ด์์ฑ=์์. ๊ทธ๋งํผ
๊ฒฝ๊ณ ํค์๋์ ๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฐฑ ์ฌ๋์:
๋ฌธ์์ด์ ๋ฐฑ์ฌ๋์ ๋ฌธ์์ ๋๋ค. ์ผ๋ถ ์ปดํ์ผ๋ฌ๋ ๋ฐฑ์ฌ๋์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌํ๋ฏ๋ก
์ด์ค์ผ์ดํ ๋ฌธ์๊ฐ ์์ผ๋ฉด ์ฌ์ฉํ๋๋ผ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
ํ์ค์ ๋ง๋ ๋ฐฉ์์ผ๋ก.
๊ณตํต ์ ๋ ฌ:
COMMON ๋ธ๋ก ๋ณ์๋ ์ ์ฅ ํฌ๊ธฐ์ ๋ด๋ฆผ์ฐจ์์ด ์๋๋๋ค. ์ผ๋ถ
์ปดํ์ผ๋ฌ์๋ ์ ์ฅ์ ์ ๋ ฌ ์๊ตฌ ์ฌํญ ๋๋ฌธ์ ์ด ์์๊ฐ ํ์ํฉ๋๋ค.
ํ๋ฌ๋ฆฌ์ค:
Hollerith ์์(FORMAT ์ฌ์ ์ธ). ํ๋ฌ๋ฆฌ์ค
๋ฐ์ดํฐ ์ ํ์ Fortran 77์์ ์ญ์ ๋ Fortran IV์ ๊ธฐ๋ฅ์ ๋๋ค.
๊ธฐ์ค. ์ด๋ ๋ฌธ์ ๋ฐ์ดํฐ ์ ํ์ผ๋ก ๋์ฒด๋ฉ๋๋ค. ํ๋ฌ๋ฆฌ์ค ์ ์ฅ
์ซ์ ๋๋ ๋ ผ๋ฆฌ ๋ฐ์ดํฐ ์ ํ์ ๋ณ์์ ์๋ ๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ์ด์ํ ์ ์์ต๋๋ค.
๋จ์ด ํฌ๊ธฐ๊ฐ ๋ค๋ฆ ๋๋ค.
๊ธด ๋ฌธ์์ด:
255์๋ฅผ ์ด๊ณผํ๋ ๋ฌธ์์ด ์์, ๋ณ์ ๋๋ ํํ์์ ๋๋ค.
ํผํฉ ๋ฑ๊ฐ:
์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ํ์ ๋ณ์๊ฐ ๋์ผํฉ๋๋ค.
ํผํฉ ํฌ๊ธฐ:
๋ช ์์ ์ผ๋ก ์ ๊ณต๋ ๋ณ์์ ํจ๊ป ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ์ ๋ฐ๋๋ก ์ ์ธ๋ ๋ณ์
์ ๋ฐ๋, ํํ์, ํ ๋น ๋๋ ์ธ์๋ก. ์๋ฅผ ๋ค์ด,
REAL*8๋ก ์ ์ธ๋ ๋ณ์๋ DOUBLE PRECISION๊ณผ ๋์ผํ๊ฒ ์ฒ๋ฆฌ๋ฉ๋๋ค.
์ค์ :
์ ์๊ฐ ์๋ DO ๋ฃจํ ์ธ๋ฑ์ค ๋ฐ ๊ฒฝ๊ณ. ์ด๋ก ์ธํด ํ๋ก๊ทธ๋จ ๊ฒฐ๊ณผ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ๋ํ๋ ์ ์์ต๋๋ค.
์ฌ์ฉ๋๋ ํน์ ์ปดํจํฐ์ ํ๋์จ์ด ํน์ฑ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
๋งค๊ฐ๋ณ์ ์์์ ์ ํ:
ํ ๋น๋ ๊ฐ์ ๋ฐ์ดํฐ ์ ํ์ ๋ฐ๋ผ ๋งค๊ฐ๋ณ์๋ฅผ ์์์ ์ผ๋ก ์ ๋ ฅํ๋ ๊ฒฝ์ฐ
๊ธฐ๋ณธ ์ ํ๊ณผ ๋ค๋ฆ ๋๋ค. ์ด ๊ฒฝ๊ณ ๋ ์์์ ์ธ ๊ฒฝ์ฐ์๋ง ๋ฐ์ํ ์ ์์ต๋๋ค.
์ ์ํด ๋งค๊ฐ๋ณ์ ์ ๋ ฅ์ด ์ผ์ก์ต๋๋ค. -source=param-์์์ ์ ํ
์ต์ ์ด ์๊ฑฐ๋ PARAMETER ๋ฌธ์ด ๋นํ์ค ํ์์ธ ๊ฒฝ์ฐ
๊ดํธ. ์ด ์ต์ ์ด ์ผ์ ธ ์์ผ๋ฉด ์์์ ์ธ ๋ชจ๋ ์ธ์คํด์ค๊ฐ
๋งค๊ฐ๋ณ์ ์ ํ ์ง์ ์ด ๋ฐ์ํ๊ณ ์์์ ์ ํ์ด ๋งค๊ฐ๋ณ์ ์ ํ๊ณผ ๋ค๋ฅธ ๊ฒฝ์ฐ
๋งค๊ฐ๋ณ์ ์ด๋ฆ์ ์ฒซ ๊ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ธฐ๋ณธ ์ ํ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.
์ ๋ํ. ์์์ ๋งค๊ฐ๋ณ์ ์ ํ์ ๋ช ๋ น๋ฌธ์ ์๋ฏธ ์ฒด๊ณ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋งค๊ฐ๋ณ์๊ฐ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ ์ด์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํญ: ์์ค ์ฝ๋์ ํญ. ํญ์ ์๋ก ๋ค๋ฅด๊ฒ ํด์๋ฉ๋๋ค.
์ปดํ์ผ๋ฌ. ์ด ๊ฒฝ๊ณ ๋ ํ์ผ ๋์์ ํ ๋ฒ๋ง ์ ๊ณต๋ฉ๋๋ค.
์ฐธ์กฐ : -f77, -f90, -f95, -์์, ์คํ์ผ, -๋จ์ด ํฌ๊ธฐ.
-์์๋ค=๋ช ๋ถ
์์ค ์ฝ๋์ ๋ชจ์๊ณผ ๊ด๋ จ๋ ํน์ ๋ฉ์์ง๋ฅผ ์ ์ดํฉ๋๋ค. ์ด๋ค์ ๊ฒฝ๊ณ ํ๋ค
ํ๋ก๊ทธ๋จ์ ์ฝ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค๊ฑฐ๋ ๋ ์๋ฅผ ์์ผ ์ ์๋ ๊ฒ๋ค์ ๋ํด.
๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒฝ๊ณ ๋ ์ผ์ ธ ์์ต๋๋ค.
์ด ์ค์ ์ ๋ชจ์์ ๋ํ ๊ฒฝ๊ณ ์ ๋ํ ์์ธํ ์ ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋งํผ
๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ชจ๋ ๊ฒฝ๊ณ ๊ฐ ์ผ์ ธ ์์ผ๋ฏ๋ก
๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์ ๋์ฌ๊ฐ ๋ถ์ ํค์๋๋ฅผ ํฌํจํฉ๋๋ค. ์๋ - ํน์ ๊ฒฝ๊ณ ๋ฅผ ํด์ ํฉ๋๋ค.
์ธ ๊ฐ์ง ํน๋ณํ ํค์๋๊ฐ ์์ต๋๋ค: ๋ชจ๋ ์ค๋์ ๋ํ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ์ผ๋ ค๋ฉด
ํ์ธ, ์์ ๋ชจ๋ ๋๊ณ ๋์ ๋ชจ๋ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ด ํฌํจ๋ ํค์๋์ ๋๋ค. ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ , -์์ is
์ ํด๋น -์์๋ค=๋ชจ๋๋ฐ -์๋์์๋ค ์ ํด๋นํ๋ -์์๋ค=์์. ๊ทธ๋งํผ
๊ฒฝ๊ณ ํค์๋์ ๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋์ฒด ๋ฐํ:
RETURN ๋ฌธ์๋ ๋ค์๊ณผ ๊ฐ์ ๋์ฒด ๋ฐํ ์ง์ ์ ์ง์ ํ๋ ์์๊ฐ ์์ต๋๋ค.
0๊ณผ ๋ ์ด๋ธ์ธ ๋๋ฏธ ์ธ์ ์ ์ฌ์ด์ ์์ง ์์ต๋๋ค. ์ด๊ฒ์
ํฉ๋ฒ์ ์ด๋ฉฐ ๋์ฒด ๋ฐํ์ด ์๋ RETURN๊ณผ ๋์ผํ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
ํํ์์ด์ง๋ง ํ๋ก๊ทธ๋๋จธ๊ฐ ๋์ฒด ํํ์์ ์ฌ์ฉํ๋ ค๊ณ ํ์์ ๋ํ๋ ๋๋ค.
์ ๊ณต๋์ง ์์ ๋ฐํ ๋ผ๋ฒจ์ ๋๋ค.
์๋ฒ ๋๋ ๊ณต๊ฐ:
๋ณ์ ์ด๋ฆ์ด๋ **์ ๊ฐ์ ๋ค์ค ๋ฌธ์ ์ฐ์ฐ์์ ๊ณต๋ฐฑ์ด ํฌํจ๋ฉ๋๋ค.
๊ณ์:
์ฃผ์ ์ค ๋ค์์ ์ฐ์ ํ์์ ๋๋ค.
๊ธด ์ :
๋๋น๊ฐ 72์ด ์ด์์ธ ํ(์ฃผ์ ์ ์ธ)(์ผ๋ฐ์ ์ผ๋ก 72์ด ์ด์์
์ปดํ์ผ๋ฌ์์ ๋ฌด์๋จ).
๋๋ฝ๋ ๊ณต๊ฐ:
๋ณ์์ ์ ํ ํค์๋ ์ฌ์ด์ ๊ณต๋ฐฑ์ด ๋ถ์กฑํฉ๋๋ค.
๋ค์ค๊ณตํต:
์ฌ๋ฌ ๋ฌธ์์ ์ ์ธ๋ COMMON ๋ธ๋ก์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๊ฒฝ๊ณ ๊ฐ ์ ๊ณต๋์ง ์์ต๋๋ค.
๋ช ๋ น๋ฌธ์ ์ฃผ์ ํ์ ์ ์ธํ๊ณ ์ฐ์์ ์ ๋๋ค.
๋ค์ค ์ด๋ฆ ๋ชฉ๋ก:
์ฌ๋ฌ ๋ฌธ์์ NAMELIST๊ฐ ์ ์ธ๋์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๊ฒฝ๊ณ ๊ฐ ์ ๊ณต๋์ง ์์ต๋๋ค.
๋ช ๋ น๋ฌธ์ ์ฃผ์ ํ์ ์ ์ธํ๊ณ ์ฐ์์ ์ ๋๋ค.
๊ดํธ:
๋ณ์ ์์ฒด๋ฅผ ๊ดํธ๋ก ๋ฌถ์ต๋๋ค. ํ์ ํ๋ก๊ทธ๋จ ์ธ์๋ก์ ๋ค์์
์ธ์๋ฅผ ํ์ ํ๋ก๊ทธ๋จ์์ ์์ ํ ์ ์๋ ํํ์์ผ๋ก ๋ง๋ญ๋๋ค.
๋ฌด๋ฃ ์์ค ํ์์์๋ ์ถ๊ฐ ๊ณต๊ฐ๊ณผ ๋๋ฝ๋ ๊ณต๊ฐ์ด ๊ธ์ง๋ฉ๋๋ค.
Fortran 90 Standard๋ ๋จ์ํ ์คํ์ผ ์๋ฐ์ด ์๋๋๋ค. ์ด ๊ฒฝ์ฐ ๊ฒฝ๊ณ
๊ตฌ๋ฌธ ์ค๋ฅ ๋ฉ์์ง๋ก ๋์ฒด๋๋ฉฐ ๋ค์์ ์ฌ์ฉํด์ผ๋ง ๋ ์ ์์ต๋๋ค.
- ์ฒดํฌ ์์.
์ฐธ์กฐ : -f77, -์ด์์ฑ, ์คํ์ผ.
-ํ๋ก์ ํธ=๋ช ๋ถ
ftnchek ์ด ๋์ ์ ๋ ฅ๋๋ ๊ฐ ์์ค ํ์ผ์์ ํ๋ก์ ํธ ํ์ผ์ ์์ฑํฉ๋๋ค.
์ต์ ์ด ์ผ์ ธ ์์ต๋๋ค. ํ๋ก์ ํธ ํ์ผ์๋ ์ ๋ ฅ๊ณผ ๋์ผํ ์ด๋ฆ์ด ์ง์ ๋ฉ๋๋ค.
ํ์ผ์ด์ง๋ง ํ์ฅ์๋ .f or .์์ํ ~๋ก ๊ต์ฒด๋๋ค .prj. (์ ๋ ฅ์ด ๋ค์์์ ์จ ๊ฒฝ์ฐ
ํ์ค ์ ๋ ฅ, ํ๋ก์ ํธ ํ์ผ์ ์ด๋ฆ์ ftnchek.prj.) ๊ธฐ๋ณธ๊ฐ = ์์.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ธ ๊ฐ์ง๊ฐ ์์ต๋๋ค
ํน๋ณํ ํค์๋: ๋ชจ๋ ๋ชจ๋ ์ต์ ์ ์ผ๋ ค๋ฉด ์์ ๋ชจ๋ ๋๊ณ
๋์ ๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค. ๋ง์ฝ์
๋ช ๋ถ ์๋ตํ๊ณ , -๊ณํ ์ ํด๋นํ๋ -ํ๋ก์ ํธ=๋ชจ๋๋ฐ -ํ๋ก์ ํธ ์์ is
์ ํด๋น -ํ๋ก์ ํธ=์์. ๊ทธ ์๋ฏธ๋ฅผ ์ง๋ ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ง๋ค:
ํ๋ก์ ํธ ํ์ผ์ ์์ฑํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ํ๋ก์ ํธ ํ์ผ์ ์์ฑํ์ง ์๋ ๊ฒ์ ๋๋ค. ๋ง์ฝ์
์ด ์ต์ ์ด ์ผ์ ธ ์์ง ์์ผ๋ฉด ๋ค๋ฅธ ์ต์ ์ ์ ์ฉ๋์ง ์์ต๋๋ค.
ํธ๋ฆผ ์ฝ:
์๋ธํ๋ก๊ทธ๋จ์ ๊ดํด ํ๋ก์ ํธ ํ์ผ์ ์ ์ฅ๋ ์ ๋ณด์ ์์ ๋ค๋ฌ์ต๋๋ค.
์ ์ธ๊ณผ ํธ์ถ. ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค. ์ด ์ต์ ์ ๋ค์์์๋ง ํด์ ํ์ธ์.
๋๋ฌธ ์ํฉ. (์๋ ์ค๋ช ์ฐธ์กฐ) ํธ๋ฆฌ๋ฐ์ ์์ ๋ค์ํฉ๋๋ค.
์ ๋ฐ๋ผ -๋์๊ด ๊น๋ฐ. ํด๋น ํ๋๊ทธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ถ๊ฐ ์ ๋ณด๊ฐ ์๋ฆฝ๋๋ค.
์ผ์ ธ์๋ค.
ํธ๋ฆผ ๊ณตํต:
ํ๋ก์ ํธ ํ์ผ์ ์ ์ฅ๋ ๊ณตํต ๋ธ๋ก ์ ์ธ ์๋ฅผ ์๋ฆ ๋๋ค.
์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค. ๋๋ฌธ ๊ฒฝ์ฐ์๋ง ์ด ์ต์ ์ ๋์ญ์์ค. (๋ณด๋ค
์๋์์ ์ค๋ช ํฉ๋๋ค.) ์ด ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค. -๋์๊ด ๊น๋ฐ์ด ๋ฐ๋์๋ค
๋๊ธฐ: ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋๊ฐ ์๋ ๊ฒฝ์ฐ ๊ณตํต ๋ธ๋ก ์ ์ธ์ ์๋ฅด์ง ์์ต๋๋ค.
์ด ์ต์ ์ ๊ด๊ณ์์ด ์ํ๋ฉ๋๋ค.
ํ๋ก์ ํธ ํ์ผ์๋ ์์ค ํ์ผ์ ์ ๋ณด ์์ฝ์ด ํฌํจ๋์ด ์์ต๋๋ค.
๋ค๋ฅธ ํ์ผ์ FUNCTION, SUBROUTINE ๋ฐ COMMON ์ฌ์ฉ๋ฒ ๊ฐ์ ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค.
์ด๋ ์ฆ๋ถ ๊ฒ์ฌ๋ฅผ ํ์ฉํ๋ฏ๋ก ๋๊ท๋ชจ ์ธํธ๊ฐ ์์ ๋๋ง๋ค ์๊ฐ์ ์ ์ฝํ ์ ์์ต๋๋ค.
๊ณต์ ์๋ธ๋ฃจํด์ ํฌํจํ๋ ํ์ผ๋ก, ๋๋ถ๋ถ์ ๊ฑฐ์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค. ๋น์ ์ ์คํํ ์ ์์ต๋๋ค
ftnchek ๊ฐ ํ์ผ์ ํ ๋ฒ์ฉ -๊ณํ ํ๋๊ทธ๊ฐ ์ค์ ๋์ด ํ๋ก์ ํธ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ค์๋ ์ค์ ํฉ๋๋ค. -๋์๊ด ๊ณผ -noextern ํ์ฌ ํ๋๊ทธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ค๋ฅธ ํ์ผ๊ณผ์ ์ผ๊ด์ฑ๊ณผ ๊ด๋ จ๋ ๋ฉ์์ง๋ฅผ ์ต์ ํฉ๋๋ค. ์ค๋ฅ ๋ฉ์์ง๋ง
์ด๋ ๊ฐ ํ์ผ์ ๊ด๋ จ๋ ๋ด์ฉ๋ง ์ธ์๋ฉ๋๋ค. ๊ทธ ํ ์คํ
ftnchek ์ผ๊ด์ฑ์ ํ์ธํ๊ธฐ ์ํด ๋ชจ๋ ํ๋ก์ ํธ ํ์ผ์ ์ด๋ฌํ ํ๋๊ทธ๋ฅผ ํจ๊ป ์ฌ์ฉํ์ง ์์
๋ค๋ฅธ ํ์ผ๋ค ์ฌ์ด์์. ๊ฐ๋ณ ํ์ผ ๋ด๋ถ์ ๋ชจ๋ ๋ฉ์์ง๋ ์ด์
์๋ตํ๋ค. ํ์ผ์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์๋ง ์ ํ๋ก์ ํธ ํ์ผ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
๊ทธ๊ฒ์ ์ํด.
๋น์ฐํ, -๊ณํ ์ต์ ์ด ์ผ์ ธ ์๊ณ , ftnchek ํ๋ก์ ํธ๋ฅผ ์ฝ์ง ์์ต๋๋ค
ํ์ผ์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ค๋ ๊ฒฝ์ฐ ํธ๋ฆผ ์ต์ ์ ์ผ๋์ด์ผ ํฉ๋๋ค.
ํฅํ ์ ๋ ฅ์ ์ํ ํ์ผ ftnchek. ํธ๋ฆฌ๋ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์๊ธฐ ๋๋ฌธ์ ์ด๋
๊ทธ๊ฒ์ ๋จ์ํ ๋ช ๋ น์ ๋ด๋ฆฌ๋ ๊ฒ๋ฟ์ด๋ค. -๊ณํ ์ต์ ๋ชฉ๋ก์ด ์๋ ๊ฒ์ด ๊ถ์ฅ๋ฉ๋๋ค.
๋ฐฉ๋ฒ. ํธ๋ฆผ ์ต์ ์ ์ํ์๋ ๋ถ๋ค์ ํธ์๋ฅผ ์ํด์๋ง ์ ๊ณต๋ฉ๋๋ค.
ํ๋ก๊ทธ๋จ ํ์ธ ์ด์ธ์ ๋ชฉ์ ์ผ๋ก ํ๋ก์ ํธ ํ์ผ์ ์ฌ์ฉํ๋ ํ์
ftnchek. ์๋ํ ๋ชฉ์ ์ผ๋ก ํ๋ก์ ํธ ํ์ผ์ ์ฌ์ฉํ๋ ค๋ฉด ํธ๋ฆผ ์ต์ ์ ์ค์ ํด์ผ ํฉ๋๋ค.
๊บผ์ง์ง ๋ง์ธ์.
ํ๋ก์ ํธ ํ์ผ์๋ ํ์ผ ๊ฐ์ ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๋ฐ ํ์ํ ์ ๋ณด๋ง ํฌํจ๋ฉ๋๋ค.
์ด๋ ์ ์ฒด ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ๋ชจ๋์ด ํ๋ก์ ํธ ํ์ผ์ ์ฌ์ฉ๋์ง ์๋๋ค๋ ์๋ฏธ์ ๋๋ค.
๋จ์ผ ํ์ผ์ ํฌํจ๋์ด ์์ต๋๋ค.
๋ ์์ธํ ๋ด์ฉ์ ํ๋ก์ ํธ ํ์ผ ์ฌ์ฉ ์น์ ์์ ์ค๋ช ํฉ๋๋ค.
-์์ํ
ํจ์๊ฐ "์์"ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
COMMON ๋ธ๋ก์ ํด๋น ์ธ์ ๋๋ ๋ณ์. ์ด ํ๋๊ทธ๊ฐ ์ ์ฉ๋๋ฉด
ftnchek ์ค์ ์ธ์์ ์ค์ ๋ฐ ์ฌ์ฉ ์ํ์ ๋ํ ๊ฒฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
ํจ์์ ์ ๋ฌ๋ ์ธ์๋ ๋ณ๊ฒฝ๋์ง ์๋๋ค๋ ๊ฐ์ ํ์. ๊ทธ๋ด ๊ฒ์ด๋ค
๋ํ ํจ์๊ฐ ์ธ์๋ ์ธ์ ์ค ํ๋๋ฅผ ์์ ํ๋ ๊ฒ์ผ๋ก ๋ฐ๊ฒฌ๋๋ฉด ๊ฒฝ๊ณ ๋ฅผ ๋ฐํํฉ๋๋ค.
๊ณตํต ๋ณ์. ๊ธฐ๋ณธ๊ฐ = ์.
์ด ํ๋๊ทธ๊ฐ ๊บผ์ ธ ์์ผ๋ฉด ํจ์์ ์ ๋ฌ๋ ์ค์ ์ธ์๊ฐ ์ฒ๋ฆฌ๋ฉ๋๋ค.
์๋ธ๋ฃจํด์ ์ ๋ฌ๋ ์ค์ ์ธ์์ ๋์ผํ ๋ฐฉ์์ ๋๋ค. ์ด๋ ๋ค์์ ์๋ฏธํฉ๋๋ค. ftnchek
ํจ์์ ์ํด ์ธ์๊ฐ ์์ ๋ ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
ํจ์์ ๋ถ์์ฉ์ด ์๋ ๊ฒ์ผ๋ก ๋ฐํ์ง ๊ฒฝ์ฐ ์ ๊ณต๋ฉ๋๋ค. ๊ฒ์ฌ๊ฐ ๋ ๊น๋ค๋กญ๊ธฐ ๋๋ฌธ์
ํจ์๊ฐ ์์ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด ๊ฐ๋ฅํฉ๋๋ค. ๋ค์ ๊ฒฝ์ฐ์๋ง ์ด ํ๋๊ทธ๋ฅผ ๊บผ์ผ ํฉ๋๋ค.
๊ทํ์ ํ๋ก๊ทธ๋จ์ ์ค์ ๋ก ๋ถ์์ฉ์ด ์๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค.
-์กฐ์ฉํ
์ด ์ต์ ์ ์ ์ ์๋๊ณผ ๊ด๋ จ๋ ์ถ๋ ฅ๋์ ์ค์ฌ์
์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ ๋ถ๋ช ํด์ก์ต๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉ์์ ํธ์๋ฅผ ์ํด ์ ๊ณต๋ฉ๋๋ค.
๋๊ท๋ชจ ํ์ผ ๋ชจ์์ ํ์ธํ๋ ์ฌ์ฉ์. ์ ๊ฑฐ๋ ์ถ๋ ฅ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
ํ๋ก์ ํธ ํ์ผ์ ์ด๋ฆ ๋ฐ ๊ตฌ๋ฌธ ์ค๋ฅ๊ฐ ๋ฐ๊ฒฌ๋์ง ์์์์ ๋ณด๊ณ ํ๋ ๋ฉ์์ง.
๋ํ ๋ช ํ์ฑ์ ์ํด ์ผ๋ฐ์ ์ผ๋ก ํฌํจ๋๋ ์ผ๋ถ ๋น ์ค์ ์ ๊ฑฐํฉ๋๋ค. (์ผ๋ถ
์ด ์ถ๋ ฅ์ ๋ค์์ ์ํด ๋ค์ ์ผ์ง๋๋ค. -๋ช ๋ถ ๊ณผ -์ฌํญ ์ต์ .) ๊ธฐ๋ณธ๊ฐ = ์๋์.
์ฐธ๊ณ : ๋ ๋จ์ด์ ์ฐจ์ด์ ์ ๊ธฐ์ตํ๋ ๋ฐฉ๋ฒ -์กฐ์ฉํ ๊ณผ -์งง์ ๊ทธ๋
-์กฐ์ฉํ ๊ฒฝ๊ณ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ต์ ํ์ง ์๋ ๋ฐ๋ฉด -์งง์ ์์ต๋๋ค.
์ฐธ์กฐ : -์งง์.
-์ฐธ๊ณ
who-calls-who ํ ์ด๋ธ์ด ์ธ์๋๋๋ก ์ง์ ํฉ๋๋ค. ์ด ํ์๋ ๊ฐ ํ์ ํ๋ก๊ทธ๋จ์ด ๋์ด๋์ด ์์ต๋๋ค.
ํธ์ถํ๋ ๋ฃจํด ๋ชฉ๋ก์ด ๋ค๋ฐ๋ฆ ๋๋ค. ์ด ์ค์์น๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-์ฝํธ๋ฆฌ=์ฐธ์กฐ. ๊ธฐ๋ณธ๊ฐ = ์๋์.
์ฐธ์กฐ ๋ชฉ๋ก์๋ ์ฌ์ฉ๋์ง ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์์ ํธ์ถ๋๋ ๋ฃจํด์ด ์๋ต๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ทธ๊ฒ์
ํธ์ถ ํธ๋ฆฌ ํ์๊ณผ ๋์ผํ ์ ๋ณด, ์ฆ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํฌํจํฉ๋๋ค.
ํ์ ํ๋ก๊ทธ๋จ์ด ํธ์ถ๋์์ง๋ง ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ธ์๋์์ต๋๋ค. ์ด๊ฒ์ ๋๋น ์ฐ์ ์ ์ธ์ํฉ๋๋ค.
ํธ์ถ ํธ๋ฆฌ๋ฅผ ์ํํ๋ ๋ฐ๋ฉด -์ฝํธ๋ฆฌ=ํธ๋ฆฌ ๊น์ด ์ฐ์ ์ธ์
์ํ.
์ฐธ์กฐ : -์ฝํธ๋ฆฌ, -๊ต์ฐจ ์ฐธ์กฐ, -๋์๊ด, -์ข ๋ฅ, -์ฌํญ, -vcg.
-์์
์ฌ์ฉ๋ ๋ฆฌ์์ค์ ์์ ์ธ์ํฉ๋๋ค. ftnchek ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌํ๋ ์ค. ์ด๊ฒ
๋ชฉ๋ก์ ํ๋ก๊ทธ๋จ์ ๊ท๋ชจ์ ๋ณต์ก์ฑ์ ๋ถ์ํ๋ ๋ฐ ์ ์ฉํ ์ ์์ต๋๋ค. ํ ์ ์์ต๋๋ค
๋ํ ๋ ํฐ ํฌ๊ธฐ๋ฅผ ์ ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ftnchek์ ๋ด๋ถ ํ ์ด๋ธ๋ ์๋ ๊ฒฝ์ฐ
ํน์ ํ๋ก๊ทธ๋จ์ ๋ถ์ํ๊ธฐ์๋ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
์ด ๋ชฉ๋ก์์ "์ฒญํฌ ํฌ๊ธฐ"๋ผ๋ ์ฉ์ด๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ํฌ๊ธฐ์ ๋๋ค.
ํด๋น ํญ๋ชฉ์ ์ ์ฅํ๊ธฐ ์ํด ํ ๋น๋ ๊ฒ์ด ์๋๋ผ ํ๋์ ํญ๋ชฉ ํฌ๊ธฐ ๋จ์๋ก ํ ๋น๋ฉ๋๋ค.
๋ฐ๋์ ๋ฐ์ดํธ ๋จ์์ ๋๋ค. ์ฒ์์ ํ ๋น๋ ๊ณต๊ฐ์ด ๊ฐ๋ ์ฐจ๋ฉด ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ
์ด ํฌ๊ธฐ์ ์ฒญํฌ๋ก ํ ๋น๋ฉ๋๋ค. ๋ค์์ ์์ดํ ์ ๋ํ ์ค๋ช ์ ๋๋ค.
์ธ์ :
์ถ์ฒ ๋ผ์ธ ์ฒ๋ฆฌ๋จ:
๋ช ๋ น๋ฌธ ๋ผ์ธ๊ณผ ๋ณ๋์ ํฉ๊ณ๊ฐ ํฌํจ๋ ์ด ์ฝ๋ ๋ผ์ธ ์
์ฝ๋ฉํธ ๋ผ์ธ. ์ฃผ์ ํ์๋ ์ด 1์ 'C' ๋๋ '*'๊ฐ ์๋ ํ๋ ํฌํจ๋ฉ๋๋ค.
๋น ์ค๊ณผ ์ธ๋ผ์ธ ์ฃผ์๋ง ํฌํจ๋ ์ค๋ก ํ์๋ฉ๋๋ค. ๋ช ์ธ์ ๋ผ์ธ
์ผ๋ถ ๋ค์ ์ธ๋ผ์ธ ์ฃผ์์ด ์๋ ์ค์ ํฌํจํ์ฌ ๋ค๋ฅธ ๋ชจ๋ ์ค์ ๋๋ค.
์ํธ. ์ฐ์ ํ์ ๋ณ๋์ ํ์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค. ํฌํจ๋ ์ค
ํ์ผ์ ํ์ผ์ด ํฌํจ๋ ๋๋ง๋ค ๊ณ์ฐ๋ฉ๋๋ค.
๊ธ์ก ์คํ ํ์ผ ์ง์ :
์ฌ์, ๋ฐ์ดํฐ, ๋ช ๋ น๋ฌธ์ ์ ์ธํ ํ๋ก๊ทธ๋จ์ ๋ช ๋ น๋ฌธ ์ -
ํจ์, FORMAT, ENTRY ๋ฐ END ๋ฌธ.
๊ธ์ก ๋ฒํธ of ๋ชจ๋ :
๋ชจ๋์ ์ฃผ ํ๋ก๊ทธ๋จ, ์๋ธ๋ฃจํด,
๊ธฐ๋ฅ, ๋ธ๋ก ๋ฐ์ดํฐ ๋จ์. ์ด ๊ฐ์๋
์ฐธ์กฐ๋ ๋ชจ๋์ด ์๋ ์์ค์ ๋๋ค. ๋ช ๋ น๋ฌธ ํจ์๋ ํฌํจ๋์ง ์์ต๋๋ค. ใ
์ฌ๋ฌ ์ง์ ์ ์ด ์๋ ์๋ธํ๋ก๊ทธ๋จ์ ํ ๋ฒ๋ง ๊ณ์ฐ๋ฉ๋๋ค.
๊ธ์ก ์ฑ๋ช ์ ๋ผ๋ฒจ ํ์ ๋
๋ช ์ธ์์ ๋ถ์ฐฉ๋ ๋ผ๋ฒจ ์(์ข ์ข ๋ช ์ธ์ ๋ฒํธ๋ผ๊ณ ํจ) ๊ทธ๋งํผ
์ ์ฒด ํ๋ก๊ทธ๋จ์ ์ด ๋ผ๋ฒจ ๊ฐ์์ ์ต๋ ๋ผ๋ฒจ ๊ฐ์๊ฐ ์ ๊ณต๋ฉ๋๋ค.
๋จ์ผ ํ์ ํ๋ก๊ทธ๋จ์ ๋ฒํธ์ ๋๋ค.
Max ์๋ณ์ name ๋ฌธ์:
์๋ณ์ ์ด๋ฆ์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฌธ์ ์์ ๋๋ค. ์๋ณ์๋
๋ณ์, ์๋ธํ๋ก๊ทธ๋จ ๋๋ ๊ณตํต ๋ธ๋ก ์ด๋ฆ. ๋ก์ปฌ ์ด๋ฆ์ ๋ก์ปฌ์ ์ด๋ฆ์ ๋๋ค.
ํ์ ํ๋ก๊ทธ๋จ์ ๋ณ์, ๋ฐ๋ฉด ์ ์ญ ์ด๋ฆ์ ํ์ ํ๋ก๊ทธ๋จ ๋ฐ ๊ณตํต์ ๋ํ๋ ๋๋ค.
๋ธ๋ก ์ด๋ฆ, ๋๋ฏธ ์ธ์ ์ด๋ฆ ๋ฐ ๊ณตํต ๋ณ์ ์ด๋ฆ. ์ค์
์ธ์ ํ ์คํธ(๊ฐ ์ธ์๋น ์ต๋ 15์)๋ ์ฌ๊ธฐ์ ํฌํจ๋ฉ๋๋ค.
๋ก์ปฌ ์ด๋ฆ์ ์ฌ์ฉ๋ ๊ณต๊ฐ์ ๊ฐ ๋ชจ๋์ด ๋๋ ๋ ๋ณต๊ตฌ๋์ง ์์ผ๋ฏ๋ก
์ด ์ซ์๋ ์ ์ญ ๊ณต๊ฐ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ์ฒด ํ๋ก๊ทธ๋จ์ด ๋ถ์๋ ๋๊น์ง ์ฆ๊ฐํฉ๋๋ค.
๋ถํํ๊ฒ๋ ์ด ์์น์๋ ๋ ๋ฒ ์ด์ ์ ์ฅ๋ ์ผ๋ถ ํ ์คํธ๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
๋ง์ ๊ฒฝ์ฐ ์ค๋ณต์ ๋ฐฉ์งํ๋ ๊ฒฝํ์ ๋ฐฉ๋ฒ์ด ์ฌ์ฉ๋ฉ๋๋ค.
Max ํ ํฐ ๋ณธ๋ฌธ ๋ฌธ์:
ํ ํฐ์ ํด๋น ๋ ๋ฒจ ์์ FORTRAN ์ธ์ด์์ ๊ฐ์ฅ ์์ ๊ตฌ๋ฌธ ๋จ์์ ๋๋ค.
๊ฐ๋ณ ์บ๋ฆญํฐ์. ์๋ฅผ ๋ค์ด ํ ํฐ์ ๋ณ์ ์ด๋ฆ,
์ซ์ ์์, ์ธ์ฉ๋ ํ ์คํธ ๋ฌธ์์ด ๋๋ ๊ตฌ๋์ ๋ฌธ์. ํ ํฐ
๋ชจ๋์ด ์ฒ๋ฆฌ๋๋ ๋์ ํ ์คํธ๊ฐ ์ ์ฅ๋ฉ๋๋ค. ๊ธฐ์ ์ ์ธ ์ด์ ๋ก,
๋จ์ผ ๋ฌธ์ ํ ํฐ์ ์ด ํฉ๊ณ์ ํฌํจ๋์ง ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ ํ๋ชฉ
์ฌ๋ณผ ํ ์ด๋ธ์ ํํ๋ ๋ด์ฉ์ด ์ค๋ณต๋ ์ ์์ต๋๋ค. ํ ํฐ ํ ์คํธ๋ฅผ ์ํ ๊ณต๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ฐ ๋ชจ๋์ด ๋๋ ๋ ๋ณต๊ตฌ๋๋ฏ๋ก ์ด ์์น๋
์ด๋ ํ๋์ ๋ชจ๋.
Max ์ง๋ฐฉ์ ๊ธฐํธ :
์ด๊ฒ์ ๋ชจ๋ ๋ชจ๋์ ๋ํ ๋ก์ปฌ ๊ธฐํธ ํ ์ด๋ธ์์ ๊ฐ์ฅ ๋ง์ ์์ ํญ๋ชฉ์ ๋๋ค.
๋ก์ปฌ ๊ธฐํธ ํ ์ด๋ธ ํญ๋ชฉ์๋ ๋ชจ๋ ๋ณ์์ ๋งค๊ฐ๋ณ์, ๊ณตํต ๋ธ๋ก์ด ํฌํจ๋ฉ๋๋ค.
์ด๋ฆ, ๋ช ๋ น๋ฌธ ํจ์, ์ธ๋ถ ์๋ธํ๋ก๊ทธ๋จ ๋ฐ ๋ด์ฅ ํจ์
๋ชจ๋์์ ์ฐธ์กฐ๋ฉ๋๋ค. ๋ฆฌํฐ๋ด ์์๋ ์ง์ญ ๊ธฐํธ์ ์ ์ฅ๋์ง ์์ต๋๋ค.
ํ ์ด๋ธ.
Max ๊ธ๋ก๋ฒ ๊ธฐํธ :
์ด๊ฒ์ ์ ์ญ ๊ธฐํธ ํ ์ด๋ธ์ ๋์ ์๋ ํญ๋ชฉ ์์ ๋๋ค.
์ฒ๋ฆฌ. ์ ์ญ ๊ธฐํธ ํ ์ด๋ธ ํญ๋ชฉ์๋ ์ธ๋ถ ์๋ธํ๋ก๊ทธ๋จ ๋ฐ ๊ณตํต์ด ํฌํจ๋ฉ๋๋ค.
๋ธ๋ก ์ด๋ฆ. ๋ด์ฅ ํจ์ ๋ฐ ๋ฌธ ํจ์๋ ํฌํจ๋์ง ์์ต๋๋ค.
Max ๋ฒํธ of ํ ํฐ ๋ชฉ๋ก:
ํ ํฐ ๋ชฉ๋ก์ ์ค์ ๋๋ ๋๋ฏธ ์ธ์๋ฅผ ๋ํ๋ด๋ ์ผ๋ จ์ ํ ํฐ์ ๋๋ค.
์๋ธํ๋ก๊ทธ๋จ ๋ชฉ๋ก, ๊ณตํต ๋ธ๋ก์ด๋ ์ด๋ฆ ๋ชฉ๋ก์ ๋ณ์ ๋ชฉ๋ก.
๋ฐ๋ผ์ ์ด ์ซ์๋ COMMON, CALL, NAMELIST ๋ฐ
ํ๋์ ๋ชจ๋์ ๋ํ ENTRY ๋ฌธ ๋ฐ ํจ์ ํธ์ถ. ๊ณต๊ฐ์
๊ฐ ๋ชจ๋์ด ๋๋ ๋ ๋ณต๊ตฌ๋ฉ๋๋ค.
Max ํ ํฐ ๋ชฉ๋ก/ํธ๋ฆฌ ์ฐ์ฃผ:
์ด๋ ๋ชจ๋ ํ ํฐ ๋ชฉ๋ก๊ณผ ํ ํฐ ํธ๋ฆฌ์์ ๊ฐ์ฅ ๋ง์ ํ ํฐ ์์ ๋๋ค.
์ด๋ ํ๋์ ๋ชจ๋. ํํ์์ ๋ถ์ํ๋ฉด ํ ํฐ ํธ๋ฆฌ๊ฐ ํ์ฑ๋ฉ๋๋ค.
ํผ์ฐ์ฐ์๋ ํธ๋ฆฌ์ ๋ฆฌํ์ด๊ณ ์ฐ์ฐ์๋ ๋ ธ๋์ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ด
์ซ์๋ ๊ฐ๋ณ ๋ชจ๋์ ์ต๋ ๋ณต์ก์ฑ์ ์ธก์ ํ ๊ฒ์ ๋๋ค. ์ ์ํ
์๋ฅผ ๋ค์ด ๊ธด ์ฐ์ ํํ์์ด ๋ง์ ๋ชจ๋์ ๋์
์ซ์. ์์์ ์ค๋ช ํ ํ ํฐ ํ ์คํธ์ ๋ฌ๋ฆฌ ํ ํฐ ๊ฐ์๋
๋ณ์ ์ด๋ฆ์ด๋ ๋ฆฌํฐ๋ด ์์์ ๊ธธ์ด์ ๋ฌด๊ดํฉ๋๋ค.
ํํ.
๋ฒํธ of ์๋ธํ๋ก๊ทธ๋จ ํธ์ถ:
๋ชจ๋ ๋ชจ๋์ ๋ํ CALL ๋ฌธ ์์ ํจ์ ์์ ํฉ๊ณ์ ๋๋ค.
ํธ์ถ(๋ด์ฅ ํจ์ ๋ฐ ๋ช ๋ น๋ฌธ ํจ์ ์ ์ธ)
๋ฒํธ of ๊ณตํต์ ๋ธ๋ก ๊ฐ์:
์ด๋ ๊ณตํต ๋ธ๋ก ์ ์ธ ์์ ๋ชจ๋ ๋ชจ๋์ ๋ํ ํฉ๊ณ์ ๋๋ค.
์ฆ, ๋ค๋ฅธ ๋ชจ๋์ ์๋ ๋ธ๋ก์ ๊ฐ ์ ์ธ์ด ๊ณ์ฐ๋ฉ๋๋ค.
๊ฐ๋ผ์ ธ. (ํ์ค์์๋ ๋ธ๋ก ๋ด์์ ๋ธ๋ก์ ์ฌ๋ฌ ๋ฒ ์ ์ธํ๋ ๊ฒ์ ํ์ฉํฉ๋๋ค.
๊ฐ์ ๋ชจ๋; ์ด๊ฒ๋ค์ ํ๋์ ์ ์ธ์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค.
ํ๋์ ๊ธด ์ ์ธ๊ณผ ๋์ผํฉ๋๋ค.)
๋ฒํธ of ์ ๋ ฌ ์ด๋ํ & ๋ด ๋ ํฌ์ธํธ:
์ด๋ ๋ฐฐ์ด ์ฐจ์ ๋ฐ ๋งค๊ฐ๋ณ์ ์์ ๋ชจ๋ ๋ชจ๋์ ๋ํ ํฉ๊ณ์ ๋๋ค.
์ฌ์ฉํ๊ธฐ ์ํด ์ ์ฅ๋ ์ ์ ํ ์คํธ ๋ฌธ์์ด -madecls ์ต์ . ๊ธธ์ด
ํ ์คํธ ๋ฌธ์์ด์ ๊ณ์ฐ๋์ง ์์ต๋๋ค. ๋ค์ฐจ์ ๋ฐฐ์ด์ ๊ฐ ์ฐจ์์
๋ณ๋๋ก ๊ณ์ฐ๋ฉ๋๋ค.
์ด ์ซ์๋ ํ๋ก์ ํธ ํ์ผ์ด ๋์ ์ฌ์ฉ๋ ๋ ๋ถ๋ช ํ ๋์ผํ์ง ์์ต๋๋ค.
์๋ณธ ์์ค ์ฝ๋. ๊ธ๋ก๋ฒ ์ํฐํฐ์ ์ซ์๋ ๋ค๋ฅผ ์ ์์ง๋ง,
ํ๋ก์ ํธ ํ์ผ์์ ์ผ๋ถ ์ค๋ณต ์ ๋ณด๊ฐ ์ ๊ฑฐ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค.
-์ฌ์ฏ์
์ ๋ชฉํ ์ค ํ๋ ftnchek ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์๊ฐ ์ด์ ๊ฐ๋ฅํ Fortran์ ์์ฑํ๋๋ก ๋๋ ๊ฒ์ ๋๋ค.
ํ๋ก๊ทธ๋จ๋ค. ์ด์ ๋ถ๊ฐ๋ฅ์ ์ ์ฌ์ ์์ธ ์ค ํ๋๋ ๋ค์๊ณผ ๊ฐ์ ๋ณ์ ์ด๋ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
XNUMX์๋ณด๋ค ๊น๋๋ค. ์ผ๋ถ ์ปดํ์ผ๋ฌ๋ ์ถ๊ฐ ๋ฌธ์๋ฅผ ๋ฌด์ํฉ๋๋ค.
์ด ๋์์ ์ ์ฌ์ ์ผ๋ก ๋ ๊ฐ์ง ๋ค๋ฅธ ๋ณ์๋ก ๊ฐ์ฃผ๋ ์ ์์ต๋๋ค.
๋๊ฐ๋ค. ์๋ฅผ ๋ค์ด AVERAGECOST ๋ฐ AVERAGEPRICE๋ผ๋ ๋ณ์๋ ๋์ผํฉ๋๋ค.
์ฒ์ XNUMX์์์. ๊ทธ๋ฌํ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ ํ์ ํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ญ์์ค.
์ด ๊น๋ฐ. ๊ธฐ๋ณธ๊ฐ = ์๋์.
์ฌ์ฉ -f77=๊ธด ์ด๋ฆ ๋์ดํ๊ณ ์ถ๋ค๋ฉด ๋ชจ๋ XNUMX๋ณด๋ค ๊ธด ๋ณ์
๋ฌธ์๋ ์ฒ์ XNUMX๊ฐ์์ ๋์ผํ ์๋ฟ๋ง ์๋๋ผ ๋ฌธ์์ ๋๋ค.
์ฐธ์กฐ : -f77, -์ด์์ฑ.
-์ข ๋ฅ
ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ๋๋ ๋ชจ๋ ๋ชจ๋์ ์ ๋ ฌ๋ ๋ชฉ๋ก์ด ์ธ์๋๋๋ก ์ง์ ํฉ๋๋ค. ์ด๊ฒ
๋ชฉ๋ก์ ``์ ์ ์กฐ๊ฑด'' ์์๋ก ๋์ด ์์ต๋๋ค. ์ฆ, ๊ฐ ๋ชจ๋์ ๋ชจ๋ ๋ชจ๋์ด ์๋ฃ๋ ํ์๋ง ์ธ์๋ฉ๋๋ค.
ํธ์ถ๋๋ ๋ชจ๋์ด ์ธ์๋์์ต๋๋ค. ์ด๊ฒ์ ๋ํ
ํธ์ถ ํธ๋ฆฌ์ '์์์ ์ ๋ ฌ''์ ๋๋ค. ๊ฐ ๋ชจ๋์ ํ ๋ฒ๋ง ๋์ด๋ฉ๋๋ค. ๋ฃจํด
๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ ํธ์ถ ํธ๋ฆฌ์ ์๋ ํญ๋ชฉ์ ์๋ต๋ฉ๋๋ค. ์ด๋ค ๊ฒ์ด ์๋ค๋ฉด
ํธ์ถ ๊ทธ๋ํ์ ์ฃผ๊ธฐ(ํ์ค Fortran์์๋ ๋ถ๋ฒ)๊ฐ ๊ฐ์ง๋๊ณ
์ง๋จ๋จ. ๊ธฐ๋ณธ๊ฐ = ์๋์.
์ฐธ์กฐ : -์ฝํธ๋ฆฌ, -๊ต์ฐจ ์ฐธ์กฐ, -์ฐธ๊ณ , -์ฌํญ, -vcg.
-์์ค=๋ช ๋ถ
์ด ์ค์ ์ Fortran ์์ค ์ฝ๋ ํ์์ ๋ํ ํน์ ์ต์ ์ ์ ์ดํฉ๋๋ค.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ธ ๊ฐ์ง๊ฐ ์์ต๋๋ค
ํน๋ณํ ํค์๋: ๋ชจ๋ ๋ชจ๋ ์ต์ ์ ์ผ๋ ค๋ฉด ์์ ๋ชจ๋ ๋๊ณ
๋์ ๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค. ๋ง์ฝ์
๋ช ๋ถ ์๋ตํ๊ณ , -source ์ ํด๋นํ๋ -์ถ์ฒ=๋ชจ๋๋ฐ -์์ค ์์ ๋๋ฑํ๋ค
์ -์์ค=์์.
์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ftnchek, ์ด ์ค์ ์ ์ซ์ ํ์
๋ํ ํ์ฉ๋ฉ๋๋ค: ๋ช ๋ถ ์ซ์์ ํฉ์ธ ์ซ์๋ก ๋์ฒด๋ฉ๋๋ค.
๋ค์ ๋ชฉ๋ก์ ํค์๋ ์ ๊ดํธ ์์ ํ์๋ฉ๋๋ค. (๊ทธ๋งํผ ๊ณ ์ ๊ณผ ๋น์ด ์๋
์ต์ ์๋ ์ซ์ ๊ฐ์ด ์์ต๋๋ค.) ์๋ฏธ๊ฐ ์๋ ๊ฒฝ๊ณ ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด :
๊ณ ์ :
์์ค๋ฅผ ๊ณ ์ ๋ ํ์(์: ์ง์๋๋ ํ์ฅ๋ช ํฌํจ)์ผ๋ก ํด์ํฉ๋๋ค.
๋๊ธ์๋ ๋๋ํ ํ์). ๋ช ์ธ์๋ 7~72์ด์ ์์ด์ผ ํฉ๋๋ค.
(๋ง์ฝ -์ด ์ด๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํด ์ค์ ์ด ์ฌ์ฉ๋จ), ๊ณต๋ฐฑ์
์ค์ํ ์ธ๋ถ ๋ฌธ์ ์ปจํ ์คํธ(๊ทธ๋ฌ๋ ๊ฒฝ๊ณ -์์
์ต์ ). ์์ค ํ์ผ ํ์ฅ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ด๋ ๊ธฐ๋ณธ ๋ชจ๋์ ๋๋ค. .f90
or .F90. ์ด ์ต์ ์ ๋ค์๊ณผ ํจ๊ป ์ ๊ณต๋ ์ ์์ต๋๋ค. -์ถ์ฒ=๋ฌด๋ฃ.
๋น์ด ์๋: ์์ค๋ฅผ ์์ ํ์์ผ๋ก ํด์ํฉ๋๋ค. ๋ฌธ์ ์ด 1์ ์ด๋ ์์น์๋ ์์ ์ ์์ต๋๋ค.
132๊น์ง์ ๊ฒฝ์ฐ ์ฃผ์์ ๋๋ํ๋ก๋ง ์์ํ ์ ์์ผ๋ฉฐ ๊ณต๋ฐฑ์
์๋ณ์์ ํค์๋ ์ฌ์ด์ ๊ฐ์ ์ผ๋ถ ์์น์ ํ์ํฉ๋๋ค. ์ด๊ฒ์
์์ค ํ์ผ ํ์ฅ์๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋ชจ๋ .f90 or .F90. ์ด ์ต์
์ ํจ๊ป ์ ๊ณตํ ์ ์์ต๋๋ค. -์ถ์ฒ=๊ณ ์ or -์์ค=dec-ํญ
XNUMX์ ํญ (1) :
DEC ์คํ์ผ์ ํญ ํ์ ์์ค๋ฅผ ์๋ฝํฉ๋๋ค. ์ด๊ธฐ ํญ์ผ๋ก ์์ํ๋ ์ค
ํญ ๋ค์ ๋ฌธ์๊ฐ ์์ผ๋ฉด ์ ๋ช ๋ น๋ฌธ ์ค๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
XNUMX์ด ์๋ ์ซ์. ์ด ๊ฒฝ์ฐ ์ฐ์ ํ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋งํผ
ํญ์ด๋ ์ฐ์ ํ์ ๋ค์ ๋ค์ ์ด์ ์ด 7๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
์ค์ด ์ฐ์๋๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
-f77=dec-ํญ ์ ํจํฉ๋๋ค.
vms ํฌํจ (2) :
VMS ์คํ์ผ INCLUDE ๋ฌธ์ ํ์ฉํฉ๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ธ ๊ตฌ๋ฌธ์ ๋ฐ๋ฅด์ง๋ง
๋ค์๊ณผ ๊ฐ์ ์ถ๊ฐ ๊ธฐ๋ฅ์ด ์์ต๋๋ค: (1) ํ์ผ ํ์ฅ์๊ฐ ์ ๊ณต๋์ง ์์ ๊ฒฝ์ฐ,
๊ธฐ๋ณธ๊ฐ์ ์ผ๋ฐ ์์ค ํ์ผ ํ์ฅ์์ ๋์ผํฉ๋๋ค. (2) ์ต์
๋ชฉ๋ก์ ์ ์ดํ๊ธฐ ์ํด /LIST ๋๋ /NOLIST๋ฅผ ํฌํจ ํ์ผ ์ด๋ฆ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๊ทธ ๋ด์ฉ ์ค.
์ ๋์ค ๋ฐฑ์ฌ๋์ (4) :
๋ฌธ์์ด์์ UNIX ์คํ์ผ ๋ฐฑ์ฌ๋์ ์ด์ค์ผ์ดํ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ํ์ถ
๋ฐฑ์ฌ๋์ ๋ค์ ์ํ์ค๋ ANSI์ ๋ฐ๋ผ ํ๊ฐ๋ฉ๋๋ค.
C์ ๋ฌธ์์ด ํ์ค: ์ต๋ XNUMX์๋ฆฌ ์ซ์๋ XNUMX์ง์ ๊ฐ, x๋ฅผ ๋ํ๋ ๋๋ค.
XNUMX์ง์ ์์(abfnrt ๋ฌธ์ ์ค ํ๋)์ ์์์ ๋ํ๋ ๋๋ค.
ํน์ ์ ์ด ์ฝ๋ ๋ฐ ๊ธฐํ ๋ฌธ์(๊ฐํ ํฌํจ)๋ฅผ ๋ํ๋ ๋๋ค.
๋ฌธ์ ์์ฒด๋ฅผ ์๋ฏธํฉ๋๋ค. ์ด ์์ค ์ฝ๋ ์ต์ ์ด ์ ์ฉ๋๋ฉด
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๊ฐ ์ฃผ์ด์ง๋๋ค. -f77=๋ฐฑ์ฌ๋์ ์ค์ ์ด ์ง์ ๋ฉ๋๋ค.
๊ธฐ๋ณธ ๋์์ ๋ค๋ฅธ ์ผ๋ฐ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐฑ์ฌ๋์๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋๋ค.
ํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ด์์ฑ์ ๋ํ ๊ฒฝ๊ณ ๊ฐ ์์ฑ๋ฉ๋๋ค.
-์ด์์ฑ ํ๋๊ทธ๊ฐ ์ค์ ๋์์ต๋๋ค. ์ผ๋ถ ์ปดํ์ผ๋ฌ์์๋
๋นํ์ค ๋ฐฉ์์ผ๋ก ๋ฐฑ์ฌ๋์๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ค ์ค์๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๋ฌธ์์ด์ ๋ฐฑ์ฌ๋์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ก๊ทธ๋จ์ ์ด์ํ ์ ์์ต๋๋ค.
์ดํ ftnchek ํด์๋ ๋ฌธ์์ด๋ก ๋ง์ ์์ ์ ์ํํ์ง ์์ผ๋ฉฐ ๋๋ฌผ๊ฒ
์ด ์ต์ ์ ์ฌ์ฉํ๋ ๋ฐ ํ์ํฉ๋๋ค. ํ์์ฌ์ค์ ๋ฐฉ์งํ๊ธฐ ์ํด ํ์ํฉ๋๋ค.
(a) ๊ฒ์ฌ ์ค์ธ ํ๋ก๊ทธ๋จ์ด ๋ฐฑ์ฌ๋์๋ฅผ ์ฌ์ฉํ์ฌ
ํ์ค ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๋ ๋์ ๋ฌธ์์ด์ ์ํฌ์คํธ๋กํผ ๋๋ ๋ฐ์ดํ
๊ตฌ๋ถ ๊ธฐํธ๋ฅผ ๋ ๋ฐฐ๋ก ๋๋ฆฌ๋ ๊ฒ; (b) ๋ฐฑ์ฌ๋์๋ ๋์ ํ์ถํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ฌ๋ฌ ์์ค ๋ผ์ธ์ ๊ฑธ์ณ ๋ฌธ์์ด์ ๊ณ์ํ๊ธฐ ์ํ ๋ผ์ธ; ๋ฒ๊ณ ๋
PARAMETER ์ ์๋ LEN๊ณผ ๊ฐ์ ๊ณ ์ ๋ฌธ์์ด ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ฌธ์์ด์ ์ธ์๋ก ์ฌ์ฉํ๊ณ ํด๋น ๊ฐ์ ๋์ค์ ๋ฐฐ์ด์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์น์ ๋ฑ
๋งค๊ฐ๋ณ์ ์์์ ์ ํ (8) :
ํ ๋น๋ ๊ฐ์ ๋ฐ์ดํฐ ์ ํ์ ๋ฐ๋ผ ๋งค๊ฐ๋ณ์๋ฅผ ์์์ ์ผ๋ก ์ ๋ ฅํฉ๋๋ค. ์ผ๋ถ
๋นํ์ค ์ปดํ์ผ๋ฌ์์๋ ๊ฐ์ ๋ฐ์ดํฐ ์ ํ์ด
Fortran 77์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ ์ ํ์ ๋๋ค.
๋งค๊ฐ๋ณ์ ์ด๋ฆ. ์ด ์ต์ ์ PARAMETER ๋ฌธ์๋ง ์ ์ฉ๋ฉ๋๋ค.
๊ดํธ๊ฐ ์๋ ํ์ค ํ์์ ๋๋ค. ๋ช ์์ ์ผ๋ก ์ง์ ๋ ๋งค๊ฐ๋ณ์
PARAMETER ๋ฌธ ์ด์ ์ type ๋ฌธ์์ ์ ์ธ๋ ๋ด์ฉ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
์ด ์ต์ ์ผ๋ก. ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค. -f77=param-์์์ ์ ํ
or -์ด์์ฑ=param-์์์ ์ ํ ์ต์ ์ ์ ํํฉ๋๋ค.
์ด ์์์ ํ์ ์ง์ ์ ๋ช ์์ ํ์๊ณผ ๋์ผํ๊ฒ ์ทจ๊ธ๋ฉ๋๋ค.
๋งค๊ฐ๋ณ์ ์ ์ธ. ๋ฐ๋ผ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
-makedcls=์ ์ธ๋์ง ์์ ์ ์ฉ ์ ์ธ๋์ง ์์ ์ ์ธ๋ง ์์ฑํ๋ ค๋ฉด
๋ณ์, ์ด๋ฌํ ๋งค๊ฐ๋ณ์๋ ์ง์ ํฌํจ๋ฉ๋๋ค.
dec-param-ํ์ค ์ ํ (16) :
DEC Fortran ์คํ์ผ ๋งค๊ฐ๋ณ์์ ๋ฐ์ดํฐ ์ ํ ์ง์ ์ ๋ํ Fortran 77 ๊ท์น์ ๋ฐ๋ฅด์ญ์์ค.
์ด๋ ๋นํ์ค ํ์์ PARAMETER ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ ์ธ๋ฉ๋๋ค.
๊ดํธ๊ฐ ๋ถ์กฑํฉ๋๋ค. DEC Fortran์ ๋ฐ๋ฅด๋ฉด ์ด ํ์์ผ๋ก ์ ์๋ ๋งค๊ฐ๋ณ์๋
๋ช ๋ น๋ฌธ์ ๋ฐ์ดํฐ ์ ํ์ ๊ฐ์ ๋ฐ์ดํฐ ์ ํ์ ๋ฐ๋ผ ์ง์ ๋ฉ๋๋ค.
ํ ๋น๋. ์ด ์ต์ ์ ์ฌ์ฉํ์ฌ ์๋ ค์ฃผ์ธ์. ftnchek ์ด ๊ท์น์ ๋ฐ๋ฅด์ง๋ ์์ง๋ง
๋์ ํ์ค PARAMETER ๋ฌธ๊ณผ ๋์ผํ ๊ท์น์ ์ฌ์ฉํฉ๋๋ค. ์ด๊ฒ
์ต์ ์ ํ์ค ํ์์ PARAMETER ๋ฌธ์๋ ์ ์ฉ๋์ง ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฌํ ์์ค ์ฝ๋ ์ต์ ์ ๋ชจ๋ ๊บผ์ ธ ์์ต๋๋ค.
vms ํฌํจ VMS ๋ฒ์ ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์๋ ์ต์ ์ ๋๋ค.
์ฐธ์กฐ : -f77, -ํฌํจ, -์ด์์ฑ.
-์คํ์ผ=๋ช ๋ถ
๋ ธํํ๋๊ฑฐ๋ ๊ตฌ์ ํ๋ก๊ทธ๋๋ฐ์ ๋ํด ๋งค์ฐ ๊น๋ค๋ก์ด ๊ฒฝ๊ณ ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฑด์ถ. ์ด ์ต์ ์ ์ต์ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐ๋ฅด๋ ค๋ ๋ ธ๋ ฅ์ ๋์์ด ๋ฉ๋๋ค.
์คํ์ผ. (์ด ์ต์ ์์ ๋ถ๋ง์ด ์ ๊ธฐ๋๋ ๋๋ถ๋ถ์ ์ฌํญ์
F ์๋ธ ์ธํธ ์ธ์ด.) By ๊ธฐ๋ณธ ๋ชจ๋ ๊ฒฝ๊ณ are ๋๋ฆฐ ๋จ์ด์ ธ์.
XNUMXD๋ดํ์ ๋ช ๋ถ ์ผํ๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ธ ๊ฐ์ง๊ฐ ์์ต๋๋ค
ํน๋ณํ ํค์๋: ๋ชจ๋ ๋ชจ๋ ์ต์ ์ ์ผ๋ ค๋ฉด ์์ ๋ชจ๋ ๋๊ณ
๋์ ๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ํค์๋ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค. ๋ง์ฝ์
๋ช ๋ถ ์๋ตํ๊ณ , ์คํ์ผ ์ ํด๋นํ๋ -์คํ์ผ=๋ชจ๋๋ฐ -๋ ธ์คํ์ผ ์ ํด๋นํ๋
-์คํ์ผ=์์. ๊ฒฝ๊ณ ํค์๋์ ๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ธ๋ก-if:
์ฐ์ IF ๋ฌธ์ ๋ํด ๋ถํํฉ๋๋ค. ๋ธ๋ก IF ๋๋ ๋ ผ๋ฆฌ IF(์ด๊ฒ์
๋จ์ผ ๋ช ๋ น๋ฌธ์ ์ ์ดํฉ๋๋ค).
๊ตฌ์ฑ ์ด๋ฆ:
๋ช ๋ช ๋์ง ์์ ๋ธ๋ก ๊ตฌ์ฑ(IF, DO ๋ฐ SELECT CASE)์ ๋ํด ๋ถํํฉ๋๋ค. ์ฐธ๊ณ ํ์ธ์
๊ตฌ์ฑ์ ์ฒซ ๋ฒ์งธ ์ค๋ช ์ ๊ตฌ์ฑ ์ด๋ฆ์ด ์๋ ๊ฒฝ์ฐ
๋ค๋ฅธ ๋ชจ๋ ๊ตฌ์ฑ ์์ ๋ฌธ(ELSE, END IF,
๋ฑ) ๊ตฌ์ฑ. ์ด ๊ฒฝ์ฐ ํด๋น ๊ตฌ์ฑ ์ด๋ฆ์ด ๋๋ฝ๋์์ต๋๋ค.
๋ฌธ์ ์ด ์ต์ ์ ๊ด๊ณ์์ด ๊ตฌ๋ฌธ ์ค๋ฅ๋ฅผ ์์ฑํฉ๋๋ค. ๋ชฉ์
์ด ์ต์ ์ ๊ตฌ์ฑ์ ์ต์ ์ด ์ ํ ์๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ํ๋ ๊ฒ์ ๋๋ค.
์ด๋ฆ์ ๋๋ค.
๋๋ ทํ ์ผ:
๋ ๊ฐ์ DO ๋ฃจํ๊ฐ ๊ณตํต ์ข ๋ฃ์ ๋ฌธ์ ๊ณต์ ํ๋ฉด ๋ถํํฉ๋๋ค.
do-construct:
DO ๋ฃจํ์ ์ข ๊ฒฐ์๊ฐ END DO๊ฐ ์๋๋ฉด ๋ถํํฉ๋๋ค.
CONTINUE ๋ฌธ. ์ด๋ ๋ฃจํ๊ฐ ์ถฉ์กฑ๋๊ธฐ ์ํ ์๊ตฌ ์ฌํญ์ ๋๋ค.
do-construct์ Fortran 90 ์ ์.
๋๋ด๋ค:
DO ๋ฃจํ์ ์ข ๊ฒฐ์๊ฐ END DO๊ฐ ์๋ ๊ฒฝ์ฐ ๋ถํ
์ฑ๋ช . (์ด ์ต์ ์ do-construct ์ต์ , ์ง์
๋ ์๊ฒฉํด์ก์ต๋๋ค.)
์ต์ข ์ด๋ฆ:
๊ตฌ์กฐํ๋ END์ ํ์ ํ๋ก๊ทธ๋จ ์ด๋ฆ์ด ์๋ค๋ ๋ถ๋ง ์ฌํญ
์ง์ .
ํ์-stmt:
FORMAT ๋ฌธ์ ์กด์ฌ์ ๋ํด ๋ถํํ์ญ์์ค. FORMAT ๋ฌธ๋ง
I/O ๋ชฉ๋ก์ ์๋ ์ฐธ์กฐ๊ฐ ์๋๋ผ ์์ฒด์ ์ผ๋ก ํ๋๊ทธ๊ฐ ์ง์ ๋ฉ๋๋ค.
๊ณ ํ : ๋ฌด์กฐ๊ฑด์ , ๊ณ์ฐ์ ๋๋ ํ ๋น๋ GOTO์ ์กด์ฌ์ ๋ํด ๋ถํ
์ง์ . ๋ํ ๋์ฒด ๋ฐํ์ ๋ํด ๋ถ๋ง์ ์ ๊ธฐํฉ๋๋ค.
์๋ธํ๋ก๊ทธ๋จ ์ธ์).
๋ ์ด๋ธ์ด ์ง์ ๋ stmt:
์ด์ธ์ ์ง์ ์ ๋ ์ด๋ธ(์ซ์)์ด ์๋ ๊ฒ์ ๋ํด ๋ถํํ์ญ์์ค.
FORMAT ๋ฌธ. (FORMAT ๋ฌธ์ ํ๋ฆผ์์ด ํธ๋ฆฌํ์ง๋ง ๊ทธ๋ ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฝ๊ฒ ๋จ์ฉ๋ ์ ์์ผ๋ฉฐ ์ด์ ๋ํ ๋ถ๋ง ์ฌํญ์ ๋ณ๋์ ๋ถ์์ ์ํด ํต์ ๋ฉ๋๋ค.
ํ์-stmt ์์ด.)
ํ๋ก๊ทธ๋จ-stmt:
๋ฉ์ธ ํค๋์ PROGRAM ๋ฌธ์ด ์๋ค๊ณ ๋ถํํฉ๋๋ค.
ํ๋ก๊ทธ๋จ)
๊ตฌ์กฐํ๋ ๋:
ํ์ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๊ธฐ ์ํด ์ผ๋ฐ END ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํด ๋ถํํ์ญ์์ค.
๊ตฌ์กฐํ๋ END ๋ฌธ(END PROGRAM, END SUBROUTINE, END FUNCTION,
๋๋ ๋ธ๋ก ๋ฐ์ดํฐ ์ข ๋ฃ).
์ฐธ์กฐ : -f77, -f90, -f95, -์์, -์ด์์ฑ.
-์ฌํญ
๊ฐ ๋ชจ๋์ ๋ํด ๋ชจ๋ ์๋ณ์๋ฅผ ๋์ดํ๋ ๊ธฐํธ ํ ์ด๋ธ์ด ์ธ์๋ฉ๋๋ค.
๋ชจ๋์์ ์ธ๊ธํ์ต๋๋ค. ์ด ํ๋ ๊ฐ ๋ณ์์ ์ด๋ฆ, ๋ฐ์ดํฐ ์ ํ,
๋ฐฐ์ด์ ์ฐจ์ ์์ ๋๋ค. ๋ณํ(*)๋
๋ณ์๊ฐ ๋ช ์์ ์ธ ์ ํ์ผ๋ก ๋ช ๋ช ๋์ง ์๊ณ ์์์ ์ผ๋ก ์ ํ์ด ์ง์ ๋์์ต๋๋ค.
์ ์ธ๋ฌธ. ํ์๋ ๋ชจ๋์ด ํธ์ถํ ๋ชจ๋ ํ์ ํ๋ก๊ทธ๋จ๋ ๋์ด๋์ด ์์ต๋๋ค.
์ ์ธ๋ ๋ชจ๋ COMMON ๋ธ๋ก ๋ฑ. ๊ธฐ๋ณธ๊ฐ = no.
๋ํ ๊ฐ ๋ชจ๋์ ๋ํด ๋ผ๋ฒจ ํ ์ด๋ธ์ด ์ธ์๋ฉ๋๋ค. ํ์๋ ๊ฐ ๋ ์ด๋ธ์ด ๋์ด๋์ด ์์ต๋๋ค.
๋ชจ๋์ ์ ์๋์ด ์์ต๋๋ค. ์๊ธฐ ๋ช ๋ น๋ฌธ ๋ผ๋ฒจ์ด ์ ์๋ ๋ผ์ธ; ๊ทธ๋ฆฌ๊ณ
๋ช ๋ น๋ฌธ ์ ํ(์คํ ํ์ผ, ํ์ ๋๋ ์ฌ์). ๋ผ๋ฒจ์ ๋ค์์ ๋์ด๋์ด ์์ต๋๋ค.
์์ฐจ์ ์์.
๋ํ ๋ชจ๋์์ ์ฌ์ฉํ๋ I/O ์ฅ์น๋ฅผ ์ค๋ช ํ๋ ํ๊ฐ ํจ๊ป ์ธ์๋ฉ๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด: ์ด๋ค ์์ ์ด ์ํ๋๋์ง,
์ก์ธ์ค๋ ์์ฐจ์ ์ธ์ง ์ง์ ์ ์ธ์ง, I/O๊ฐ ํฌ๋งท๋์๋์ง ๋๋ ํฌ๋งท๋์ง ์์๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค.
์ฐธ์กฐ : -์ฝํธ๋ฆฌ, -๊ต์ฐจ ์ฐธ์กฐ, -๋ช ๋ถ, -์ฐธ๊ณ , -์ข ๋ฅ, -vcg.
-์๋ฆผ=๋ช ๋ถ
๊ฐ๋ฅํ ์๋ฆผ(๋๋ ๋ฐ์ฌ๋ฆผ) ์ค๋ฅ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค. ์ด๋ค ๋๋ถ๋ถ์ ๋ค์๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ ์ ์ฐ์ . ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒฝ๊ณ ๋ ์ผ์ ธ ์์ต๋๋ค.
์ด ์ค์ ์ ์๋ฆผ ๊ฐ๋ฅ์ฑ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํฉ๋๋ค.
์ค๋ฅ. ๊ทธ๋งํผ ๋ช ๋ถ ์ผํ ๋๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋๋ก
๊ฒฝ๊ณ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ต๋๋ค. ์ ๋์ฌ๊ฐ ๋ถ์ ํค์๋๋ฅผ ํฌํจํฉ๋๋ค. ์๋ - ๋๋ค
ํน๋ณํ ๊ฒฝ๊ณ . ์ธ ๊ฐ์ง ํน๋ณํ ํค์๋๊ฐ ์์ต๋๋ค: ๋ชจ๋ ๋ชจ๋ ๊ฒ์ ์ผ๋ ค๋ฉด
์๋ฆผ์ ๋ํ ๊ฒฝ๊ณ , ์์ ๋ชจ๋ ๋๊ณ ๋์ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ํค์๋๋ฅผ ํ์ธํ์ธ์. ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ , -์๋ฆผ
์ ํด๋นํ๋ -์๋ฆผ=๋ชจ๋๋ฐ -์ ๋จ๋์ง ์์ ์ ํด๋นํ๋
-์๋ฆผ=์์. ๊ฒฝ๊ณ ํค์๋์ ๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
int-div-์ง์:
์ ์ ๋๋๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ์ง์๋ก ์ฌ์ฉ. ์ด๊ฒ์
์ค์ ๋ชซ์ด ์๋๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด X**(1/3)์ ์์ฑํ์ฌ ํ๊ฐํฉ๋๋ค.
X์ ์ธ์ ๊ณฑ๊ทผ์ ๋๋ค. ์ฌ๋ฐ๋ฅธ ํํ์ X**(1./3.)์ ๋๋ค.
int-div-์ค์ :
์ ์ ๋๋์ ์ ํฌํจํ๋ ์์ ์ค์๋ก ๋ณํํฉ๋๋ค. ์ด๊ฒ
์ค์ ๋ชซ์ด ์๋๋์์์ ์์ฌํฉ๋๋ค.
int-div-XNUMX:
XNUMX์ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์ถํ๋ ์ ์ ์์ ํํ์์ ๋๋์ .
์ ์-์-์ ๋ ฅ:
์์ ์ ์๋ก ์ ์๋ฅผ ๊ฑฐ๋ญ์ ๊ณฑํ๋ ๊ฒ(์ด๋ ์ง ์์ผ๋ฉด XNUMX์ด ๋ฉ๋๋ค)
๊ธฐ๋ณธ ์ ์์ ํฌ๊ธฐ๋ 1์ ๋๋ค). ์ด๋ ์ค์ ๊ธฐ๋ฐ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์์ ๋.
์น์ง:
๋ฎ์ ์ ๋ฐ๋ ์์ ๋ ๋์ ์ ๋ฐ๋ ์์ผ๋ก ์๋ ๋ณํ
์ ๋. ์ด ๊ณผ์ ์์ ์ค์ ๋ณ์์ ๋ํ ์ ํ๋ ์์ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํด๋น ๊ฐ๋ฑ๊ณผ ๋น์ทํฉ๋๋ค. ์น์ง์ โโ๋ํ ๊ฒฝ๊ณ ๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ์ ํํ๊ธฐ ๋๋ฌธ์ ์ค์์ ๋ํ ์ ์ ์๋์ ๋๋ค.
์ค์ ์ง์:
์ ์ ๊ฒฝ๊ณ๊ฐ ์๋ ๋ฃจํ์์ ์ ์๊ฐ ์๋ DO ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ ์ DO
์ค์ ๊ฒฝ๊ณ๊ฐ ์๋ ์ธ๋ฑ์ค๋ ์ด ์ค์ ์ ๊ด๊ณ์์ด ํญ์ ๊ฒฝ๊ณ ๋ฉ๋๋ค.
์ค์ ์ฒจ์:
์ ์๊ฐ ์๋ ๋ฐฐ์ด ์ฒจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ ํจ ์ซ์:
๋จ์ผ ์ ๋ฐ๋ ์์๋ฅผ ๊ณผ๋ํ๊ฒ ์ง์ ํฉ๋๋ค. ์ด๋ ์ด์ค
์ ๋ฐ๋ ์์๊ฐ ์๋๋์์ต๋๋ค.
ํฌ๊ธฐ ๊ฐ๋ฑ:
์ ๋ฐ๋๊ฐ ๋์ ์๋์ ์ ๋ฐ๋๊ฐ ๋ฎ์ ์๋์ผ๋ก ์๋ ๋ณํ
๊ฐ์ ์ ํ์. ์ด ๊ฒฝ๊ณ ๋ ๋ช ์์ ์ธ ํฌ๊ธฐ๊ฐ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ์๋ง ๋ฐ์ํฉ๋๋ค.
ํ ๋น์์ ํ๋ ๋๋ ๋ ํผ์ฐ์ฐ์์ ์ ํ์ ์ ์ธํฉ๋๋ค. ์๋ฅผ ๋ค์ด
REAL*8 ๋ณ์๊ฐ REAL ๋ณ์์ ํ ๋น๋๋ฉด ๊ฒฝ๊ณ ๊ฐ ๋ฐํ๋ฉ๋๋ค.
๊ธฐ๋ณธ ๋จ์ด ํฌ๊ธฐ 4๊ฐ ์ ํจํ ๊ฒฝ์ฐ. ๊ฒฝ์ฐ์๋ ๊ฒฝ๊ณ ๊ฐ ๋ฐํ๋ฉ๋๋ค.
๊ธด ์ ์๋ ๋ ์งง์ ์ ์์ ํ ๋น๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด INTEGER
ํํ์์ INTEGER*2 ๋ณ์์ ํ ๋น๋ฉ๋๋ค. ํ ๊ฐ์ง ์์ธ๊ฐ ์์ต๋๋ค.
์ด ๋ง์ง๋ง ๊ฒฝ์ฐ, ์ฆ ๊ณผ์ ์ ์ค๋ฅธ์ชฝ์ด ์์ ๊ฒฝ์ฐ
๋ฆฌํฐ๋ด ์์(128 ๋ฏธ๋ง). ์ ํ ๊ฐ๋ฑ: ์๋ ๋ณํ
๋ ๋์ ์ ๋ฐ๋ ์๋์ ๋ค๋ฅธ ์ ํ์ ๋ ๋ฎ์ ์ ๋ฐ๋ ์๋์ผ๋ก ๋ณํํฉ๋๋ค. ์ด๊ฒ
๊ฒฝ๊ณ ์๋ ์ค์๋ฅผ ์ ์๋ก ๋ณํ, ์ด์ค ์ ๋ฐ๋๊ฐ ํฌํจ๋ฉ๋๋ค.
๋จ์ ๋ฐ๋ ์ค์๋ก, ๋ ๊ธด ๋ฌธ์์ด์
๋ ์งง์ ๊ฒ.
์น๊ฒฉ ๋ฐ ๊ฐ๋ฑ์ ๋ํ ๊ฒฝ๊ณ ๋ ๋ณต์กํ ์์์๋ ์ ์ฉ๋ฉ๋๋ค.
์ ๋ฐ๋๋ฅผ ์ค์ ๋๋ ํ์ ๋ถ๋ถ์ ์ ๋ฐ๋๋ก ๊ฐ์ฃผํฉ๋๋ค. ์ ๋ํ ๊ฒฝ๊ณ
์๋์ผ๋ก ๋ณํ์ด ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ์๋ง ์น๊ฒฉ ๋ฐ ๊ฐ๋ฑ์ด ์ ๊ณต๋๋ฉฐ,
์๋ฅผ ๋ค์ด ํผํฉ ์ ๋ฐ๋ ํํ์ด๋ ํ ๋น๋ฌธ์์. ๋ณธ์ง์ ์ธ ๊ฒฝ์ฐ
INT์ ๊ฐ์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ณํ์ ์ํํ๋ฉด ๊ฒฝ๊ณ ๊ฐ ํ์๋์ง ์์ต๋๋ค.
์ฐธ์กฐ : -์ด์์ฑ, -๋จ์ด ํฌ๊ธฐ.
-์ฌ์ฉ=๋ช ๋ถ
์ฌ์ฉ๋์ง ์๊ฑฐ๋ ์ด๊ธฐํ๋์ง ์์ ๋ณ์, ์ฌ์ฉ๋์ง ์์ ๊ณตํต ๋ธ๋ก,
์ ์๋์ง ์์๊ฑฐ๋ ์ฌ์ฉ๋์ง ์์ ๋ช ๋ น๋ฌธ ๋ ์ด๋ธ, ์ฌ์ฉ๋์ง ์์๊ฑฐ๋ ์ ์๋์ง ์์ ํ์ ํ๋ก๊ทธ๋จ. ์ ์ํด
๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒฝ๊ณ ๊ฐ ์ผ์ ธ ์์ต๋๋ค.
์ด ์ค์ ์ ๊ฐ๋ฅํ ์ฌ์ฉ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํฉ๋๋ค.
์ค๋ฅ. ๊ทธ๋งํผ ๋ช ๋ถ ์ผํ ๋๋ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํค์๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋๋ก
๊ฒฝ๊ณ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ต๋๋ค. ์ ๋์ฌ๊ฐ ๋ถ์ ํค์๋๋ฅผ ํฌํจํฉ๋๋ค. ์๋ - ๋๋ค
ํน๋ณํ ๊ฒฝ๊ณ . ์ธ ๊ฐ์ง ํน๋ณํ ํค์๋๊ฐ ์์ต๋๋ค: ๋ชจ๋ ๋ชจ๋ ๊ฒ์ ์ผ๋ ค๋ฉด
์ฌ์ฉ๋ฒ์ ๋ํ ๊ฒฝ๊ณ , ์์ ๋ชจ๋ ๋๊ณ ๋์ ๋ชจ๋ ๋ชฉ๋ก์ ์ธ์ํ๋ ค๋ฉด
๊ฐ ํค์๋์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ด ํฌํจ๋ ํค์๋์ ๋๋ค. ๋ง์ฝ์ ๋ช ๋ถ ์๋ตํ๊ณ , -์ฉ๋ฒ is
์ ํด๋น -์ฌ์ฉ๋=๋ชจ๋๋ฐ -๋ ธ์ด์ฆ ์ ํด๋นํ๋ -์ฌ์ฉ๋=์์. ์ด๋ค
๊ฒฝ๊ณ ๋ ๊ฐ์ฒด์ ๋ค ๊ฐ์ง ์ฃผ์ ๋ฒ์ฃผ๋ฅผ ๋ค๋ฃน๋๋ค: ํ์ ํ๋ก๊ทธ๋จ ๋๋ฏธ ์ธ์, ๊ณตํต
๋ธ๋ก๊ณผ ๋ณ์, ์๋ธํ๋ก๊ทธ๋จ๊ณผ ํจ์, ์ง์ญ ๋ณ์. ๊ฒฝ๊ณ
์ ์๋์ง ์์ ํญ๋ชฉ ํฌํจ, ์ ์๋ ํญ๋ชฉ ๊ณฑํ๊ธฐ, ์ฌ์ฉ๋์ง ์์ ํญ๋ชฉ ๋ฑ ๊ฒฝ๊ณ
๊ทธ ์๋ฏธ๋ฅผ ์ง๋ ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ธ์ ๋ณ์นญ:
์ค์นผ๋ผ ๋๋ฏธ ์ธ์๋ ์ค์ ๋ก ๋ค๋ฅธ ์ธ์์ ๋์ผํ๋ฉฐ ๊ทธ๋ด ์๋ ์์ต๋๋ค.
์์ ๋์์ต๋๋ค. Fortran 77 ํ์ค(์น์ 15.9.3.6)์ ๋ค์์ ์์ ํ๋ ๊ฒ์ ๊ธ์งํฉ๋๋ค.
๋ค๋ฅธ ์ธ์์ ๋ณ์นญ์ด ๋ถ์ ์ธ์์ ๋๋ค.
์ธ์ ๋ฐฐ์ด ๋ณ์นญ:
๋ฐฐ์ด ๋๋ ๋ฐฐ์ด ์์์ธ ๋๋ฏธ ์ธ์๊ฐ ๋ค์๊ณผ ๊ฐ์ ๋ฐฐ์ด์ ์์ต๋๋ค.
๋ค๋ฅธ ํ๋๋ ์์ ๋์์ต๋๋ค. ์ด ํ๋๊ทธ๋ ๋ค์๊ณผ ์ ์ฌํฉ๋๋ค. ์ธ์ ๋ณ์นญ ํ์ง๋ง ์ ๊ณต
๋ฐฐ์ด ์ธ์์ ๋ํ ๋ณ๋์ ์ ์ด. ์จ๋ฆฌ์ด์ฑ์ธ์ง ํ์ธํ๊ธฐ๊ฐ ๋ ์ด๋ ต์ต๋๋ค.
๋ฐฐ์ด์ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ฏ๋ก, ftnchek ์๋ชป๋ ๊ฒฝ๊ณ ๋ฅผ ๋๋ฌด ๋ง์ด ์ฃผ๊ณ ,
์ด ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ ์ด ๊ด๋ จ ํญ๋ชฉ์ ์ต์ ํ์ง ์๊ณ ๋ ์ ์์ต๋๋ค.
์ค์นผ๋ผ์ ๋ํ ๊ฒฝ๊ณ .
์ธ์-๊ณตํต-๋ณ์นญ:
์ค์นผ๋ผ ๋๋ฏธ ์ธ์๋ ์๋ธ ํ๋ก๊ทธ๋จ์ ๊ณตํต ๋ณ์์ ๋์ผํฉ๋๋ค.
๋ ์ค ํ๋๊ฐ ์์ ๋ฉ๋๋ค. ์ด๋ Fortran 77 ํ์ค์์๋ ๊ธ์ง๋์ด ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ ๊ฒ์ฌ๊ฐ ์ ํํ์ง ์์ ๊ฒฝ์ฐ(์์ธํ ๋ด์ฉ์ -ํํ ์ค์ )์ด ์ด๋ ต๋ค.
์จ๋ฆฌ์ด์ฑ์ด ๋ฐ์ํ๋์ง ์๋ ค์ฃผ๋ฏ๋ก ๋ณ์๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
์๋ธํ๋ก๊ทธ๋จ์ ์ํด ์ ์ธ๋ ๊ณตํต ๋ธ๋ก์ ๋ชจ๋ ์์น.
์ธ์-๊ณตํต-๋ฐฐ์ด-๋ณ์นญ:
๋ฐฐ์ด ๋๋ ๋ฐฐ์ด ์์์ธ ๋๋ฏธ ์ธ์๊ฐ ๋ฐฐ์ด๊ณผ ๋์ผํ ๋ฐฐ์ด์ ์์ต๋๋ค.
๊ณตํต ๋ณ์์ด๋ฉฐ ๋ ์ค ํ๋๊ฐ ์์ ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ฒ์ฌ๊ฐ ์ ํํ์ง ์์ ๊ฒฝ์ฐ,
๋ณ์๋
ํ์ ํ๋ก๊ทธ๋จ.
์ธ์-const-์์ :
ํ์ ํ๋ก๊ทธ๋จ์ ์์ ๋๋ ํํ์์ธ ์ธ์๋ฅผ ์์ ํฉ๋๋ค. ๊ทธ๋ฐ
์ด๋ค ํ๋์ด ํ๋ก๊ทธ๋จ์ ๋น์ ์์ ์ธ ๋์์ ์ ๋ฐํ ์ ์์ต๋๋ค.
์ธ์-๋ฏธ์ฌ์ฉ:
๋๋ฏธ ์ธ์๊ฐ ์ ์ธ๋์์ง๋ง ์ฌ์ฉ๋์ง ์์์ต๋๋ค. ์ด๋ ๋ค์๊ณผ ์ ์ฌํฉ๋๋ค.
var-๋ฏธ์ฌ์ฉ ์๋์ ์ค๋ช ๋ ํค์๋์ด์ง๋ง ์ธ์์๋ง ์ ์ฉ๋ฉ๋๋ค.
com-๋ธ๋ก-๋ฏธ์ฌ์ฉ:
๊ณตํต ๋ธ๋ก์ด ์ ์ธ๋์์ง๋ง ๊ทธ ์์ ์๋ ๋ณ์๋ ์ด๋ ๋๊ตฌ๋ ์ฌ์ฉํ์ง ์์ต๋๋ค.
ํ์ ํ๋ก๊ทธ๋จ. ๊ณตํต ์๊ฒฉ์ฑ ์ค์ ์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ด ๊ฒฝ๊ณ ๋ ํ์๋์ง ์์ต๋๋ค.
0.
com-๋ธ๋ก-ํ๋ฐ์ฑ:
๊ณตํต ๋ธ๋ก์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ณตํต ๋ธ๋ก์ ํด๋น ๋ด์ฉ์ ์ ์๋ฅผ ์์ ์ ์์ต๋๋ค.
ํ๋ฐ์ฑ ๋ฌผ์ง. ์ด ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ํจ๊ณผ๊ฐ ์์ต๋๋ค. -๊ณตํต=ํ๋ฐ์ฑ ๊น๋ฐ์ด ๋ค์ด์๋ค
ํจ๊ณผ. ์ ํ ๋ก ์ ์ฐธ์กฐํ์ธ์. -ํํ ์์ ์ค์ .
com-var-set-๋ฏธ์ฌ์ฉ:
๊ณตํต ๋ณ์์๋ ๊ฐ์ด ํ ๋น๋์ง๋ง ๊ทธ ๊ฐ์ ์ด๋ค ๋ณ์์์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
ํ์ ํ๋ก๊ทธ๋จ. ๊ณตํต ์๊ฒฉ์ฑ ์ค์ ์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ด ๊ฒฝ๊ณ ๋ ํ์๋์ง ์์ต๋๋ค.
0.
com-var-์ด๊ธฐํ๋์ง ์์:
๊ณตํต ๋ณ์์ ๊ฐ์ด ์ผ๋ถ ํ์ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ๋์ง๋ง ์ค์ ๋์ง ์์์ต๋๋ค.
์ด๋๊ฐ์. ์ํ๊น๊ฒ๋, ftnchek ์ถฉ๋ถํ ์ฒ ์ ํ๊ฒ ๋ถ์ํ์ง ์๋๋ค.
์ด๋ค ๋ฃจํด์ด ๋ค๋ฅธ ๋ฃจํด๋ณด๋ค ๋จผ์ ํธ์ถ๋๋์ง ์๊ธฐ ์ํ ํธ์ถ ์ํ์ค. ๊ทธ๋์
์ด๋ฌํ ์ ํ์ ์ค๋ฅ์ ๋ํ ๊ฒฝ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ์ ๊ณต๋ฉ๋๋ค.
๋ณ์๊ฐ ์ผ๋ถ ๋ฃจํด์์ ์ฌ์ฉ๋์ง๋ง ๋ค๋ฅธ ๋ฃจํด์์๋ ์ค์ ๋์ง ์์ต๋๋ค. ํ์ธ ์ค
๊ฐ๋ณ COMMON ๋ณ์์ ์์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ์ํ๋ฉ๋๋ค. -ํํ ์ค์ ์ 3
(๋ณ์ ๊ณ์ฝ์ ๋ฐ๋ผ ๋ค๋ฆ). ์ด ๊ฒฝ๊ณ ๋ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์ ํ์๋์ง ์์ต๋๋ค.
์๊ฒฉ ์ค์ ์ 0์ ๋๋ค.
com-var-๋ฏธ์ฌ์ฉ:
๊ณตํต ๋ณ์๋ ์ ์ธ๋์์ง๋ง ์ด๋ค ํ์ ํ๋ก๊ทธ๋จ์์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ด ๊ฒฝ๊ณ
๊ณตํต ์๊ฒฉ๋ ์ค์ ์ด 0์ด๋ฉด ์ต์ ๋ฉ๋๋ค.
do-์ธ๋ฑ์ค ์์ :
DO ๋ฃจํ์ ์ธ๋ฑ์ค์ธ ๋ณ์๊ฐ ์ผ๋ถ ๋ช ๋ น๋ฌธ์ ์ํด ์์ ๋์์ต๋๋ค.
๋ฃจํ ๋ฒ์ ๋ด์์. ํ์ค์์๋ ํ์ฑ DO ๋ณ์๋ฅผ ํ์ฉํฉ๋๋ค.
DO ๋ฌธ์ ์ฆ๋ถ ๋ฉ์ปค๋์ฆ์ ์ํด์๋ง ์์ ๋ ์ ์์ต๋๋ค.
ํ์ฅ๋ ๊ณฑ์ ์ ์:
์ธ๋ถ(์๋ธ๋ฃจํด ๋๋ ํจ์)๊ฐ ๋ ๋ฒ ์ด์ ์ ์๋์์ต๋๋ค. ์ ์
์์ค ์ฝ๋์ ๋ณธ๋ฌธ์ ์ ๊ณตํ๋ ์ธ๋ถ ์๋จ์ ๋๋ค.
์ธ๋ถ ์ ์ธ ์ ์ฉ:
์ด๋ฆ์ด ์ผ๋ถ ๋ชจ๋์ EXTERNAL ๋ฌธ์์ ์ ์ธ๋์์ง๋ง
์ด๋์์๋ ์ ์๋๊ฑฐ๋ ์ฌ์ฉ๋ฉ๋๋ค.
ํ์ฅ๋์ง ์์:
์ธ๋ถ๊ฐ ์ฌ์ฉ(ํธ์ถ)๋์ง๋ง ์ด๋์๋ ์ ์๋์ง ์์ต๋๋ค. ์ด ์ต์ ์
์ ํด๋น -์ธ๋ถ ๊น๋ฐ. ํ์ ํ๋ก๊ทธ๋จ์ด ๋ค์๋ณด๋ค ๋ง์ด ํธ์ถ๋๋ ๊ฒฝ์ฐ
์ผ๋จ ํด๋น ํธ์ถ์ ์ผ๊ด์ฑ์ด ํ์ธ๋ฉ๋๋ค.
์ฌ์ฉํ์ง ์์ ์ํ:
์ธ๋ถ๊ฐ ์ ์๋์์ง๋ง(ํ์ ํ๋ก๊ทธ๋จ ๋ณธ๋ฌธ์ด ์์) ์ฌ์ฉ๋์ง ์์ต๋๋ค.
์๋ธํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ํด ํธ์ถ๋๋๋ผ๋ ์ฌ์ฉ๋์ง ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
ํ์ ํ๋ก๊ทธ๋จ(๋ค์์ผ๋ก ์์ํ๋ ์คํ ์ค๋ ๋์์ ํธ์ถํ ์ ์๋ ๊ฒฝ์ฐ)
๋ฉ์ธ ํ๋ก๊ทธ๋จ. ํ์ ํ๋ก๊ทธ๋จ์ ์ธ์์ ํด๋น ์ธ์์ ์ผ์น
์ด ๊ฒฝ๊ณ ๊ฐ ๊บผ์ง ๊ฒฝ์ฐ์๋ ํธ์ถ์ ๊ณ์ ํ์ธ๋ฉ๋๋ค. ๋ง์ฝ ์๋ค๋ฉด
์ฃผ ํ๋ก๊ทธ๋จ์ด ์์ผ๋ฉด ์ด ๊ฒฝ๊ณ ๋ ํ์ ํ๋ก๊ทธ๋จ์ด ์๋ ๊ฒฝ์ฐ์๋ง ๋ฐํ๋ฉ๋๋ค.
์ด๋์๋ ํธ์ถ๋ฉ๋๋ค. ์ด ๊ฒฝ๊ณ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์์๋ ํ์๋์ง ์์ง๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ชจ๋์๋ ์ฌ์ฉ๋์ง ์๋ ์ธ์ ํ์ธ์ ์ต์ ํ๋ ์ถ๊ฐ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
๋ฃจํด.
๋ผ๋ฒจ์ด ์ ์๋์ง ์์:
๋ฌธ์ ์ ์๋์ง ์์ ๋ ์ด๋ธ์ ์ฐธ์กฐํฉ๋๋ค.
๋ผ๋ฒจ ๋ฏธ์ฌ์ฉ:
๋ช ๋ น๋ฌธ ๋ ์ด๋ธ์ด ์ ์๋์์ง๋ง ์ฐธ์กฐ๋์ง ์์์ต๋๋ค.
var-set-๋ฏธ์ฌ์ฉ:
์ง์ญ ๋ณ์์ ๊ฐ์ด ํ ๋น๋์ง๋ง ํด๋น ๊ฐ์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
var ์ด๊ธฐํ๋์ง ์์:
์ง์ญ ๋ณ์์ ๊ฐ์ ํ ๋น๋๊ธฐ ์ ์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ๋๋๋ก
ftnchek ์ง์ญ ๋ณ์ ์ฌ์ฉ์ ๋ํ ๊ฒฝ๊ณ ์ ์ค์๊ฐ ์์ต๋๋ค. ๋๊ฐ
๋ฌธ์ ๊ฐ ์์ ๋ ๊ฒฝ๊ณ ๋ฅผ ๋ณด๋ด๋ ์ธก๋ฉด์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง ๊ฑฐ์ ๋ฐ์ํ์ง ์์ต๋๋ค.
๊ฒฝ์ฐ์๋ ๋ฌธ์ ๊ฐ ์๋ ๊ณณ์ ๊ฒฝ๊ณ ํ์ง ๋ชปํ ์๋ ์์ต๋๋ค. ์น์ ์ ์ฐธ์กฐํ์ธ์.
์๋ฅผ ๋ค์ด ๋ฒ๊ทธ. ๋ณ์๊ฐ ๋๋ฑํ ๊ฒฝ์ฐ ๋ค์์์ ์ฌ์ฉํ๋ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ftnchek
์ฆ, ์ด๋ค ๋ณ์์ ๋ํ ์ฐธ์กฐ๋ ๋ชจ๋ ๋ณ์์ ๋ํ ๋์ผํ ์ฐธ์กฐ๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ณ์์ ๋์ผํฉ๋๋ค. ๋ฐฐ์ด์ ๊ฒฝ์ฐ ๊ท์น์ ๋ค์์ ์ฐธ์กฐํ๋ ๊ฒ์ ๋๋ค.
๋ชจ๋ ๋ฐฐ์ด ์์๋ ๋ฐฐ์ด์ ๋ชจ๋ ์์์ ๋ํ ์ฐธ์กฐ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
var-๋ฏธ์ฌ์ฉ:
์ง์ญ ๋ณ์๊ฐ ์ ์ธ๋์์ง๋ง(์: ์ ํ ์ ์ธ์์) ๊ทธ๋ ์ง ์์ต๋๋ค.
๋ชจ๋์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋๋ฏธ ์ธ์์๋ ์ ์ฉ๋์ง ์์ต๋๋ค: ์ด์ ๋ํ ๊ฒฝ๊ณ
ํค์๋์ ์ํด ์ ์ด๋ฉ๋๋ค. ์ธ์-๋ฏธ์ฌ์ฉ ์ ์ ํ ๋ฐ์.
์ฐธ๊ณ : ๋ค์ ๋ฒ์ ์์๋ ftnchek 2.10 ์ด์ ์๋ -์ฉ๋ฒ ํ๋๊ทธ๊ฐ ์ซ์ ์ธ์๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
์ต์ ๋ชฉ๋ก ๋์ . ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ฌ์ฉ์๋ฅผ ์ํด
ํธ์ถ ftnchek ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ซ์ ํ์์ด ์ฌ์ ํ ํ์ฉ๋ฉ๋๋ค. ์ซ์
์ค์ ์ XNUMX์๋ฆฌ ์ซ์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ฒซ ๋ฒ์งธ ์ซ์(๋ฐฑ ์๋ฆฌ) ์ปจํธ๋กค
์๋ธํ๋ก๊ทธ๋จ(ํจ์ ๋ฐ ์๋ธ๋ฃจํด)์ ๋ํ ๊ฒฝ๊ณ , ๋ ๋ฒ์งธ ์ซ์(์ญ
์ฅ์) ๊ณตํต ๋ธ๋ก ๋ฐ ๊ณตํต ๋ณ์์ ๋ํ ๊ฒฝ๊ณ ๋ฐ ์ธ ๋ฒ์งธ ์ซ์
(XNUMX์๋ฆฌ) ์ง์ญ ๋ณ์์ ๋ํ ๊ฒฝ๊ณ ์ ๋๋ค. ๊ฐ ์ซ์๋ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
๊ด๋ก์ ๋ฐ๋ฅด๋ฉด 1์ ์ ์๋์ง ์์ ํญ๋ชฉ๊ณผ ๋ณ์์ ๋ํด ๊ฒฝ๊ณ ํ๋ค๋ ์๋ฏธ์ ๋๋ค.
์ค์ ์ ์ ์ฌ์ฉ๋๋ ํญ๋ชฉ, 2๋ ์ฌ์ฉ๋์ง ์์ ํญ๋ชฉ์ ๋ํด ๊ฒฝ๊ณ ๋ฅผ ์๋ฏธํ๊ณ 3์
๋ ๊ฐ์ง ์ ํ ๋ชจ๋์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค. ์ด ์ซ์๋ ์ด์ ์ ์ ํ ๊ฐ์ผ๋ก ๋ณํ๋ฉ๋๋ค.
์์ ๋์ด๋ ํค์๋์ ๋ํด์๋ ์ ์ธ com-๋ธ๋ก-ํ๋ฐ์ฑ, ์ด๋ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
์ซ์ ์ธ์๋ก.
์ฐธ์กฐ : -ํํ, -์ ์ธํ๋ค, -ํต๊ทผ์, -๋์๊ด.
-vcg
VCG ๊ทธ๋ํ ์ค๋ช ํ์์ผ๋ก ํธ์ถ ๊ทธ๋ํ๋ฅผ ์์ฑํฉ๋๋ค. ์ด ์ค๋ช ์
๊ธฐ๋ณธ ํ์ผ์ ํฌํจํ๋ ํ์ผ๊ณผ ๋์ผํ ์คํ ์ ์ฌ์ฉํ์ฌ ๋ณ๋์ ํ์ผ์ ๊ธฐ๋ก๋ฉ๋๋ค.
ํ๋ก๊ทธ๋จ ๋ฐ ์ ๋ฏธ์ฌ .vcg. ์ด ํ์ผ์ ๋ค์์๊ฒ ์ง์ ์ ๊ณต๋ ์ ์์ต๋๋ค. xvcg(1L) ~
ํธ์ถ ๊ทธ๋ํ๋ฅผ ์๊ฐํํฉ๋๋ค. (์ ๋ ฅ์ด ํ์ค ์ ๋ ฅ์์ ๋์จ ๊ฒฝ์ฐ ๊ทธ๋ํ๋
์ค๋ช ์ ํ์ค ์ถ๋ ฅ์ผ๋ก ์ ์ก๋ฉ๋๋ค.) ์ด ์ค์์น๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-์ฝํธ๋ฆฌ=vcg. ๊ธฐ๋ณธ๊ฐ = ์๋์.
์์ฑ๋ VCG ์ค๋ช ์ ํ์ ์ด์์ผ๋ก ๋ณต์กํฉ๋๋ค. VCG๋ ๊ทธ๋ํ๋ฅผ ํ์ฉํฉ๋๋ค
๋ฐ ์ค์ฒฉ๋ ํ์ ๊ทธ๋ํ: ๊ฐ ์๋ธ๋ฃจํด์ ํด๋น ์๋ธ๋ฃจํด ๋ด๋ถ์ ์ค์ฒฉ๋ ํ์ ๊ทธ๋ํ๋ก ์์ฑ๋ฉ๋๋ค.
๋ฃจํด ํธ์ถ. ์ด๋ฅผ ํตํด ํ์ ๊ทธ๋ํ๋ฅผ ๋ํ์์ผ๋ก ํ์ํ๊ฑฐ๋ ์์ฝํ ์ ์์ต๋๋ค.
๊ทธ๋ค.
XNUMXD๋ดํ์ -vcg ์ ๋ํ ์ต์ ftnchek Cranfield์ Dr. Philip Rubini๊ฐ ์์ฑํ์ต๋๋ค.
์๊ตญ, ๋ํ๊ต.
xvcg X Windows ์์คํ ์์ ์คํ๋๋ ๊ทธ๋ํ ์๊ฐํ ๋๊ตฌ์ ๋๋ค. ๊ทธ๊ฒ์
ftp.cs.uni-sb.de์์ ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ G. Sander์ ์ํด ์์ฑ๋์์ต๋๋ค.
๋ ์ผ ์๋ฅผ๋ํธ ๋ํ๊ต.
์ฐธ์กฐ : -์ฝํธ๋ฆฌ, -๊ต์ฐจ ์ฐธ์กฐ, -์ฐธ๊ณ , -์ข ๋ฅ.
-๋ฒ์ญ
์ด ์ต์ ์ ftnchek ๋ฒ์ ๋ฒํธ, ๋ฆด๋ฆฌ์ค ๋ ์ง,
ํ๋ก๊ทธ๋จ์ ํจ์น ์์ค. ํ์ผ์ด ์ ๊ณต๋์ง ์์ผ๋ฉด ์ข ๋ฃ๋ฉ๋๋ค. ํ์ผ์ธ ๊ฒฝ์ฐ
์ด ์ต์ ์ ํจ๊ณผ๋ ํจ์น ์์ค์ ํฌํจํ๋ ๊ฒ์ ๋๋ค(์ผ๋ฐ์ ์ผ๋ก
์๋ต) ์ฒ๋ฆฌ ์์ ์ ์ธ์๋๋ ๋ฒ์ ์ ๋ณด์ ํฌํจ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ =
์๋จ.
์ฐธ์กฐ : -๋์.
-ํ๋ฐ์ฑ ๋ฌผ์ง
COMMON ๋ธ๋ก์ ํ๋ฐ์ฑ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์๋์.
์ด ํ๋๊ทธ๋ ๋ค์์ผ๋ก ๋์ฒด๋ฉ๋๋ค. -๊ณตํต=ํ๋ฐ์ฑ, ๋ ์ด์ ์ฌ์ฉํ๋ฉด ์ ๋ฉ๋๋ค. ๊ทธ๋ด ์๋ ์๋ค
ํฅํ ๋ฆด๋ฆฌ์ค์์๋ ์ ๊ฑฐ๋ ์์ ์ ๋๋ค. ftnchek.
์ฐธ์กฐ : -ํํ, -์ฉ๋ฒ.
-๋จ์ด ํฌ๊ธฐ=NUM
๊ธฐ๋ณธ ๋จ์ด ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. NUM ๋ฐ์ดํธ. ์ด๋ ๋ ผ๋ฆฌ ๋ฐ
๋ช ์์ ์ ๋ฐ๋๊ฐ ์ ๊ณต๋์ง ์์ ๋จ์ ๋ฐ๋ ์ซ์ ๋ณ์์ ๋๋ค.
(๋ฌธ์๊ฐ ์๋ ๋ณ์์ ๋ํ ๋ช ์์ ์ ๋ฐ๋๋ Fortran 77์ ํ์ฅ์ ๋๋ค.
ํ์ค์ด๋ฉฐ REAL*8 X์ ๊ฐ์ ์ ํ ์ ์ธ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.) ๋ฐฐ์ ๋ฐ๋
๋ณตํฉ ๋ณ์๋ ์ด ๊ฐ์ ๋ ๋ฐฐ๊ฐ ๋๊ณ ์ด์ค ๋ณตํฉ ๋ณ์๋ XNUMX๊ฐ ๋ฉ๋๋ค.
ํ์์ค. ์ฟผ๋ ์ ๋ฐ๋ ์์์ ๊ณ ์ ํจ์ ๊ฒฐ๊ณผ๋ XNUMX๋ฐฐ์ ๋๋ค.
์ด ๊ฐ. REAL*16์ผ๋ก ์ ์ธ๋ ๋ณ์๋ ์ฟผ๋๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
๋จ์ด ํฌ๊ธฐ๊ฐ 4๋ฐ์ดํธ์ธ ๊ฒฝ์ฐ์๋ง ์ ๋ฐ๋๊ฐ ๋์์ง๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ = 4๋ฐ์ดํธ.
๋จ์ด ํฌ๊ธฐ ๊ฐ์ ํ์ค ์ค์ ํ๋ก๊ทธ๋จ์ ํ์ธํ๋ ๋ฐ ์ค์ํ์ง ์์ต๋๋ค.
๋ฌธ์๊ฐ ์๋ ๋ณ์์ ๋ํด ๋ช ์์ ์ธ ์ ๋ฐ๋๋ฅผ ์ ์ธํ๊ฑฐ๋ Hollerith๋ฅผ ์ ์ฅํ์ง ๋ง์ธ์.
๋ณ์์ ๋ฐ์ดํฐ. ์ด ์ค์ ์ ๋ฌธ์์ ๊ธฐ๋ณธ ํฌ๊ธฐ์๋ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.
๋ณ์๋ ํญ์ 1๋ฐ์ดํธ์ ๋๋ค. Hollerith ์์๋ ์ ์ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๋ฌธ์๋น 1๋ฐ์ดํธ.
๋จ์ด ํฌ๊ธฐ๋ ํ ๋น ์ ์๋ฆผ์ด ๋ฐ์ํ๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ช ๋ น๋ฌธ, ํ์ ํ๋ก๊ทธ๋จ ์ธ์ ๋ชฉ๋ก์์ ์ ๋ฐ๋ ๋ถ์ผ์น๋ฅผ ํฌ์ฐฉํ๊ณ
์ผ๋ฐ์ ์ธ ์ฐจ๋จ ๋ชฉ๋ก. ๋ฐํ๋๋ ์ ํํ ๊ฒฝ๊ณ ๋ ์ํ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
๋ค๋ฅธ ํ๋๊ทธ ์ค. ๋ ๊ฐ์ง ๋ชจ๋์์ -ํด๋์ฑ=ํผํฉ ํฌ๊ธฐ ๊ทธ๋ฆฌ๊ณ -nowordsize ๊น๋ฐ,
๋ช ์์ ๊ฐ์ฒด์ ๊ธฐ๋ณธ ์ ๋ฐ๋ ๊ฐ์ฒด์ ํผํฉ(๋ฌธ์ ํํ์์
ํฌํจ)์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค. ์ด๋ ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ํฌํจํ๋ ์ฐ์ ํํ์์ ์ ์ฉ๋ฉ๋๋ค.
๊ฐ์ฒด ์ ํ, ์๋ธํ๋ก๊ทธ๋๋ฐ ์ธ์ ๋ฐ COMMON ๋ณ์. ํต์ ํ์
์ -์๋ฆผ=๊ฐ๋ฑ ๊ณผ ์น์ง ์ต์ ์ ๋ํด ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
๋์ผํ ์ ํ์ ๋ ์งง์ ๋ณ์์ ํํ์์ ํ ๋นํ๊ฑฐ๋
์ฐ์ ์์ ๋ ๋ฎ์ ์ ๋ฐ๋ ๊ฐ์ ๋ ๋์ ์ ๋ฐ๋๋ก ์น๊ฒฉ
ํํ์ ๋๋ ํ ๋น๋ฌธ.
๋ค์์ ์ฌ์ฉํ์ฌ ๋จ์ด ํฌ๊ธฐ๋ฅผ 0์ผ๋ก ์ง์ ํ๊ฑฐ๋ ์ด์ ๋๋ฑํ๊ฒ ์ง์ ํฉ๋๋ค. -nowordsize ๊ธฐ๋ณธ๊ฐ์ด ์์์ ์๋ฏธํฉ๋๋ค.
๊ฐ์ด ๊ฐ์ ๋ฉ๋๋ค. ์ด๋ ๋ค์์ ์ง์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. -ํด๋์ฑ=ํผํฉ ํฌ๊ธฐ.
์๋ฅผ ๋ค์ด ํ๋๊ทธ ์ง์ ๊ณผ ๊ฐ์ด ๊ธฐ๋ณธ ์ ๋ฐ๋์ ๋ช ์์ ์ ๋ฐ๋๊ฐ ํผํฉ๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค.
REAL*8์ด DOUBLE PRECISION๊ณผ ๋์ผํ๊ฒ ์ฒ๋ฆฌ๋๋ ๊ณณ์ ๋๋ค.
์ฐธ์กฐ : - ํฌ์ธํฐ ํฌ๊ธฐ, -์ด์์ฑ, -์๋ฆผ.
-์ค๋ฐ๊ฟ=๋์ฅ๊ท ์ ๋ป
์ค๋ฅ ๋ฉ์์ง์ ๋ํ์ ์ ์ดํฉ๋๋ค. ์ง๋๊ฐ ๊ธด ์ค๋ฅ ๋ฉ์์ง
์ง์ ๋ ์ด์ ๋จ์ด ์ฌ์ด์ ๋ณ๋์ ์ค๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
๋ ๋์ ๊ฐ๋ ์ฑ์ ์ํ ๋ฉ์์ง์ ๋๋ค. ๋ค์์ผ๋ก ๊บผ์ง ๊ฒฝ์ฐ -nowwrap, ๊ฐ๊ฐ ๋ณ๋์ ์ค๋ฅ
๋ฉ์์ง๋ ํ ์ค์ ์ธ์๋๋ฉฐ ๋์คํ๋ ์ด์์
๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ฑฐ๋ ์๋ผ๋ ๋๋ค. ๊ธฐ๋ณธ๊ฐ = ์ผ๊ธฐ = 79.
๋ฐ๊พธ๋ค L' ๊ธฐ๋ณธ๊ฐ
ftnchek ๋ชจ๋ ์ต์ ์ ๊ธฐ๋ณธ๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ ๊ฐ์ง ๋ฉ์ปค๋์ฆ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํ๊ฒฝ ๋ณ์๋ฅผ ์ ์ํ๊ฑฐ๋ ๊ธฐ๋ณธ ์ค์ ํ์ผ์ ์์ฑํฉ๋๋ค. ์ธ์ ftnchek ์์ํ๊ณ ,
ํ๊ฒฝ์์ ์ด๋ฆ์ด ์ ๋์ด๋ก ๊ตฌ์ฑ๋ ๋ณ์๋ฅผ ์ฐพ์ต๋๋ค.
๋ฌธ์์ด FTNCHEK_๋ฅผ ์ต์ ์ด๋ฆ์ ๋๋ฌธ์ ๋ฒ์ ์ผ๋ก ๋ฐ๊ฟ๋๋ค. ๋ง์ฝ ๊ทธ๋ฌํ ๋ณ์๊ฐ
์ฐพ์ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ ํด๋น ์ค์์น ๋๋ ์ค์ ์ ๋ํ ๊ธฐ๋ณธ๊ฐ์ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ค์ ์ ๊ฒฝ์ฐ(์: -ํํ ์๊ฒฉ ์ค์ )์ ๊ฐ
ํ๊ฒฝ ๋ณ์๋ ๊ธฐ๋ณธ ์ค์ ๊ฐ์ผ๋ก ์ฝํ์ง๋๋ค. ์ค์์น์ ๊ฒฝ์ฐ,
ํ๊ฒฝ ๋ณ์์ ๊ฐ์ด ์์ผ๋ฉด ๊ธฐ๋ณธ ์ค์์น๋ true ๋๋ yes๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
0 ๋๋ ์๋์ค.
ํ๊ฒฝ ๋ณ์ ์ด๋ฆ์ ์ ์ฒด ๊ธธ์ด ์ต์ ์ผ๋ก ๊ตฌ์ฑ๋์ด์ผ ํฉ๋๋ค.
์ด๋ฆ์ ๋๋ฌธ์์ฌ์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ftnchek ์ถ์ฒ ๋ชฉ๋ก์ ์ธ์ํ๋ค
๊ธฐ๋ณธ์ ์ผ๋ก ํ๊ฒฝ ๋ณ์ FTNCHEK_LIST๋ฅผ 1 ๋๋ YES ๋๋ 0 ๋๋ YES ์ด์ธ์ ๊ฐ์ผ๋ก ์ค์ ํฉ๋๋ค.
์๋์. FTNCHEK_LIS(์ ์ฒด ์ต์ ์ด๋ฆ ์๋) ๋๋ ftnchek_list(์๋ฌธ์) ์ด๋ฆ์
์ธ์๋์ง ์์ต๋๋ค.
๋ค์์ ๋ค์ํ ์์คํ ์์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ช ๊ฐ์ง ์์ ๋๋ค. ์ ์ํ
๋จ์์ฑ, ๋ชจ๋ ์์ ๋ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํฉ๋๋ค. -๋ช ๋ถ YES๋ก ์ ํํ์ธ์.
1. UNIX, Bourne ์: $ FTNCHEK_LIST=YES
$ FTNCHEK_LIST ๋ด๋ณด๋ด๊ธฐ
2. UNIX, C ์: % setenv FTNCHEK_LIST YES
3. VAX/VMS: $ DEFINE FTNCHEK_LIST ์
4. MSDOS: $ SET FTNCHEK_LIST=YES
ํ๊ฒฝ ๋ณ์๋ฅผ ์ฒ๋ฆฌํ ํ ftnchek์ ๊ธฐ๋ณธ ์ค์ ํ์ผ์ ์ฐพ์ต๋๋ค.
์ต์ ๋ฐ ์ค์ ์ ํฌํจํฉ๋๋ค. ๋ค์ ์์๋๋ก ๊ฒ์ํฉ๋๋ค.
๋ฐ๊ฒฌ๋ ์ฒซ ๋ฒ์งธ ํ์ผ: (1) .ftnchekrc ํ์ฌ ๋๋ ํ ๋ฆฌ์์ (2) ftnchek.ini ํ์ฌ
๋๋ ํ ๋ฆฌ, (3) .ftnchekrc ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ์์, (4) ftnchek.ini ๊ฐ์ ์์
์๋ฐฐ ๊ท์น์. ๊ทธ๋ฌํ ํ์ผ์ด ๋ฐ๊ฒฌ๋๋ฉด ์ฌ๊ธฐ์ ์ ์๋ ์ต์ ์ด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ด์ฅ๋ ๊ธฐ๋ณธ๊ฐ์ ๋์ฒดํ๊ณ ํ๊ฒฝ์ ์ค์ ๋ ๋ชจ๋ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ ์ํฉ๋๋ค.
๊ธฐ๋ณธ ์ค์ ํ์ผ์ ๊ฐ ์ต์ ์ด๋ ์ค์ ์ ๋ณ๋์ ์ค์ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ค์ ์ฃผ์ด์ง๋ค
์ฒซ ๊ธ์์ ๋์๊ฐ ์๋ค๋ ์ ์ ์ ์ธํ๋ฉด ๋ช ๋ น์ค๊ณผ ๋์ผํ ํ์์ ๋๋ค. ํ๊ฒฝ ์ค์
ํ์ผ์๋ ๋น ์ค๊ณผ ์ฃผ์์ด ํฌํจ๋ ์ ์์ต๋๋ค. ์ฃผ์์ ์ค์ ์ด๋ ์ง์ ์์๋ ์๊ฐ๋ฉ๋๋ค.
๊ณต๋ฐฑ ๋ฌธ์(๊ณต๋ฐฑ ๋๋ ํญ) ๋๋ '#' ๋ฌธ์๋ก ์ข ๋ฃ๋๋ฉฐ ๋ค์ ๋ฌธ์๋ก ์ข ๋ฃ๋ฉ๋๋ค.
๋ผ์ธ.
๋ช ๋ น์ค ์ต์ ์ ํ๊ฒฝ ๋๋ ๊ธฐ๋ณธ ์ค์ ์ ์ค์ ๋ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ ์ํฉ๋๋ค.
๋ด์ฅ๋ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ ์ํ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํ์ผ์ ์ญ์ ํฉ๋๋ค.
์ฌ์ฉ ํ๋ก์ ํธ ํ์ผ
์ด ์น์ ์๋ ํ๋ก์ ํธ ํ์ผ์ ๊ฐ์ฅ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
๋ช ๊ฐ์ง ํจ์ ์ ํผํ๋ ๋ฐฉ๋ฒ.
์ํ๋ฅผ ๋๋ ์ ์์ต๋๋ค ftnchek ๋ก์ปฌ๊ณผ ๊ธ๋ก๋ฒ ๋ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๋๋ฉ๋๋ค. ํ์ง์
ํ์ธ์ ๋จ์ผ ๋ฃจํด ๋ด๋ก ์ ํ๋๋ฉฐ ์ด๊ธฐํ๋์ง ์์ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ์ ํฌ์ฐฉํฉ๋๋ค.
๋ณ์, ์ฐ์ ํํ์์ ์๋ํ์ง ์์ ์ ๋ฐ๋ ์์ค ๋ฑ.
๊ฒ์ฌ๋ ๊ฐ ํ์ ํ๋ก๊ทธ๋จ์์ ๋ ๋ฆฝ์ ์ผ๋ก ์ํํ ์ ์์ต๋๋ค. ๋ํ, ํ์ง ํ์ธ์
๋ค๋ฅธ ํ์ ํ๋ก๊ทธ๋จ์ด ๋ณ๊ฒฝ๋๋ฉด ํ์ ํ๋ก๊ทธ๋จ์ ๋ฐ๋ณตํ ํ์๊ฐ ์์ต๋๋ค. ๊ธ๋ก๋ฒ
๊ฒ์ฌ๋ ์๋ชป๋ ์ธ์ ์ ํ์ผ๋ก ์๋ธ๋ฃจํด์ ํธ์ถํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ์ ํฌ์ฐฉํฉ๋๋ค.
๊ณตํต ๋ธ๋ก ์ ์ธ์ ๋์ํ์ง ์์ต๋๋ค. ์ ์ฒด ์ธํธ๋ฅผ ์ดํด๋ด์ผ ํฉ๋๋ค.
์๋ก ์ํธ ์์ฉํ๋ ํ์ ํ๋ก๊ทธ๋จ.
ํ๋ก์ ํธ ํ์ผ์ ๋ชฉ์ ์ ๋ก์ปฌ ๊ฒ์ฌ ๋ฐ ์ ์ญ ๊ฒ์ฌ ๋จ๊ณ๋ฅผ ํ์ฉํ๋ ๊ฒ์ ๋๋ค.
๋ถ๋ฆฌ๋๋ค. ๊ฐ ํ์ ํ๋ก๊ทธ๋จ์ด ์์ฒด ์์ค ํ์ผ์ ์๋ค๊ณ ๊ฐ์ ํ๋ฉด ๋ค์์ ์คํํ ์ ์์ต๋๋ค.
ftnchek ์ ์ญ ๊ฒ์ฌ๋ฅผ ์ต์ ํ๋ฉด์ ๋ก์ปฌ ๊ฒ์ฌ๋ฅผ ๊ฐ๊ฐ ํ ๋ฒ์ฉ ์ํํฉ๋๋ค. ๊ทธ ๋ค์์
ftnchek ์ ์ญ ๊ฒ์ฌ๋ฅผ ์ํํ๊ธฐ ์ํด ๋ชจ๋ ํ๋ก์ ํธ ํ์ผ์ ๋ํด ํ ๋ฒ ์คํ๋ ์ ์์ต๋๋ค. ๊ทธ๋งํผ
์๋ ์ํ ๋ฉ์ดํฌํ์ผ์ ์ด ์์ ์ ์๋ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ``.f.prj'' ๋์์ ๋ค์์ ์ ๋ฐ์ดํธํฉ๋๋ค.
์์ค ํ์ผ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ํน์ ํ์ผ์ ๋ํ ํ๋ก์ ํธ ํ์ผ์ ์ญ์ ํฉ๋๋ค. ์ ๋ณด
๊ธ๋ก๋ฒ ์ฒดํฌ์ ํ์ํ ์ ๋ณด๋ ํ๋ก์ ํธ ํ์ผ์ ์ ์ฅ๋ฉ๋๋ค. ``check'' ํ๊ฒ์ ๋ค์์ ์ํํฉ๋๋ค.
๊ฒฐํฉ ๋ ๊ธ๋ก๋ฒ ๊ฒ์ฌ. ์ผ๋ฐ์ ์ผ๋ก ``make check''๋ ``ftnchek -project''๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
๋ณ๊ฒฝ๋ ์์ค ํ์ผ๋ง ์คํํ ๋ค์ ์ ์ญ ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค. ์ด๊ฑด ๋ถ๋ช ํฐ์ผ์ด์ผ
๋ง์ ํ์ ํ๋ก๊ทธ๋จ์ด ๊ฑฐ์ ๋ณ๊ฒฝ๋์ง ์๋ ๊ฒฝ์ฐ ๋๊ท๋ชจ ํ๋ก๊ทธ๋จ์ ์ ๋ฆฌํฉ๋๋ค.
ํ๋ก์ ํธ ํ์ผ์ ์ฌ์ฉํ์ฌ ๊ฐ ํ์ ํ๋ก๊ทธ๋จ์ ๋ณ๋์ ์์ค ํ์ผ์ ๋ฐฐ์นํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
๊ฐ ์์ค ํ์ผ์ ๋ ์ด์์ ํ์ ํ๋ก๊ทธ๋จ์ด ํฌํจ๋ ์ ์์ผ๋ฉด ์ ์๊ฐ ๋ณต์กํด์ง๋๋ค.
``๋ก์ปฌ''๊ณผ ``๊ธ๋ก๋ฒ'' ๊ฒ์ฌ๋ ๋ชจ๋๊ฐ ๊ฒ์ฌ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ผ ๋ด์ ํฌํจ๋์ด ์์ต๋๋ค. ftnchek ์ด ๊ฒฝ์ฐ ์ณ์ ์ผ์ ํ๋ ค๊ณ ๋ ธ๋ ฅํ์ง๋ง
๊ต์ฐจ ์์ ์ ๋ค์ ์ํํ์ง ์๋ ๊ฒ ์ฌ์ด์ ๊ท ํ์ผ๋ก ์ธํด ์ผ๋ถ ํฉ๋ณ์ฆ(์๋ ์ค๋ช )์ด ๋ฐ์ํฉ๋๋ค.
ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ์ ๋ํ ์ ๋ณด๋ฅผ ํ์ธํ๊ณ ๋ณด์กดํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฌ๊ฒ์ฌ๋ฅผ ์ต์ํํ๋ ค๋ฉด ํ๋ก์ ํธ ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํด์ผ ํฉ๋๋ค.
์ ์, -๋์๊ด ํ๋๊ทธ๊ฐ ์ ์ฉ๋๊ณ ํธ๋ฆฌ๋ฐ์ด ์ผ์ก์ต๋๋ค. ์ด ๋ชจ๋์์๋ ์ ์ฅ๋ ์ ๋ณด๊ฐ
ํ๋ก์ ํธ ํ์ผ์ ๋ชจ๋ ํ์ ํ๋ก๊ทธ๋จ ์ ์ธ, ๋ชจ๋ ํ์ ํ๋ก๊ทธ๋จ ํธ์ถ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋์ผํ ํ์ผ์ ์ ์ธ ๋ฐ ๊ฐ COMMON ๋ธ๋ก์ ํ ์ธ์คํด์ค๋ก ํด๊ฒฐ๋์ง ์์
์ ์ธ. ์ด๋ ์ํธ ๋์ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๋ฐ ํ์ํ ์ต์ํ์ ์ ๋ณด์ ๋๋ค.
ํ์ผ.
์์ค ํ์ผ์ ๋ ์ด์์ ๋ฃจํด์ด ํฌํจ๋์ด ์์ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์์ ํ๋ก์ ํธ ํ์ผ์ ์์ฑํ๋ฉด ๋ฐ์ํ ์ ์์ต๋๋ค.
ํ์ผ ๋ด์ ์ ์๋ ๋ฃจํด ์ค ์ผ๋ถ๊ฐ ์์ค๋ฉ๋๋ค. ๋ํ ํ์ผ์ ๋ฃจํด์ด
๋ค๋ฅธ ํ์ผ์ ๋ฃจํด๊ณผ ๊ณต์ ๋๋ COMMON ๋ธ๋ก์ ์ฌ์ฉํ๋ฉด
COMMON ๋ธ๋ก์ ์ค์ ๋ฐ ์ฌ์ฉ ์ํ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ธํ๊ธฐ ์ํด ์ ์ฅ๋ ์ถฉ๋ถํ ์ ๋ณด
๋ฐ COMMON ๋ณ์์ ๋ฐ๋ผ -์ฉ๋ฒ ํ๊ฒฝ. ๋ฐ๋ผ์ ์ฌ์ฉํ ๊ณํ์ด๋ผ๋ฉด
ํ๋ก์ ํธ ํ์ผ์ ์ธ์ -์ฉ๋ฒ ๊ฒ์ฌ๊ฐ ์ผ์ ธ ์๊ณ (๊ธฐ๋ณธ ์ํฉ),
ํ ํ๋ก์ ํธ ํ์ผ์ ์ฌ๋ฌ ๋ฃจํด์ ๋ค๋ฅธ ํ์ผ์ ๋ฃจํด๊ณผ COMMON ๋ธ๋ก์ ๊ณต์ ํฉ๋๋ค.
ํ๋ก์ ํธ ํ์ผ์ -๋์๊ด ํ๋๊ทธ๊ฐ ๊บผ์ก์ต๋๋ค. ์ด ๋ชจ๋์์๋
ftnchek ์์ ๋์ด๋ ์ ๋ณด ์ธ์๋ ๊ฐ ํ์ ํ๋ก๊ทธ๋จ์ ํ ๋ฒ์ ํธ์ถ์ ์ ์ฅํฉ๋๋ค.
๋์ผํ ํ์ผ์ ๋ค๋ฅธ ์๋ธํ๋ก๊ทธ๋จ ๋ฐ ๋ชจ๋ COMMON ๋ธ๋ก ์ ์ธ. ์ด๋ ๋ค์์ ์๋ฏธํฉ๋๋ค.
ํ๋ก์ ํธ ํ์ผ์ ํ์ํ ๊ฒ๋ณด๋ค ๋ ์ปค์ง๋ฉฐ, ํ์ผ์ ์ฝ์ ๋ ftnchek ๏ผ์
ํ๋ก์ ํธ ํ์ผ์ด ์์ฑ๋ ๋ ์ด๋ฏธ ์ํํ๋ ์ผ๋ถ ๋ชจ๋ ๊ฐ ๊ฒ์ฌ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค. ๋ง์ฝ์
๊ฐ ํ๋ก์ ํธ ํ์ผ์๋ ํ๋์ ๋ชจ๋๋ง ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์์ฑ ์ ์ ๋ณด ์์ค์ด ์์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์ ํ๋ก์ ํธ ํ์ผ.
๋ก ํ๋ก์ ํธ ํ์ผ์ ์์ฑํ๋ฉด ์ ๋ณด๊ฐ ์์ค๋ ์ ์๊ธฐ ๋๋ฌธ์
-๋์๊ด ํ๋๊ทธ๊ฐ ์ ์ฉ๋๋ฉด ํด๋น ํ๋ก์ ํธ ํ์ผ์ ๋์ค์ ์ฝ์ ๋๋ง๋ค ์ฒ๋ฆฌ๋ฉ๋๋ค.
ํ์ฌ ์ค์ ์ ๊ด๊ณ์์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ๋ก -๋์๊ด ๊น๋ฐ. ๋ค๋ฅธ ํํธ์ผ๋ก๋
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋๊ฐ ๊บผ์ง ์ํ์์ ์์ฑ๋ ํ๋ก์ ํธ ํ์ผ์ ๋์ค์ ๋ค์ ์ค ํ๋์์ ์ฝ์ ์ ์์ต๋๋ค.
๋ฐฉ๋ฒ.
์์ ๋ ผ์์์๋ ํธ๋ฆฌ๋ฐ ์ต์ ์ด ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ๋ฉ๋๋ค. -๊ณํ ์ค์ ์
ํ๋ก์ ํธ ํ์ผ์ด ์์ฑ๋๋ฉด ์ผ์ง๋๋ค. ์ด๊ฒ์ ์ ์์ ์ธ ์ํฉ์ ๋๋ค. ๊ทธ๋งํผ ํธ๋ฆผ ์์
์ต์ -๊ณํ ํ๋ก์ ํธ ํ์ผ์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์ค์ ์ด ์ ๊ณต๋ฉ๋๋ค.
ํ๋ก๊ทธ๋จ ํ์ธ ์ด์ธ์ ๋ชฉ์ ์ผ๋ก ftnchek. ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์์ต๋๋ค.
๋ค์ํ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด ํ๋ก์ ํธ ํ์ผ์ ๋ถ์ํ๋ Perl ์คํฌ๋ฆฝํธ
์๋ธ ํ๋ก๊ทธ๋จ์ด ํธ์ถ๋ฉ๋๋ค. ๋น์ ์ ํธ๋ฆผ ์์ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๋ ์ต์
์์์ ์ค๋ช ํ ์ ๋ณด ์์ค์ ํ์ํ ๊ฒ๋ณด๋ค ๋ ๋ง์ ์ ๋ณด๋ฅผ ๋ฐ์์ํค๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ์ฅ๋์์ต๋๋ค. ์ด๋ก ์ธํด ํ๋ก์ ํธ ํ์ผ์ด ๋ ์ปค์ง๊ณ ftnchek ๋์ค์ ๋ ๋ง์ ์ผ์ ํ๊ฒ ๋๋ฉด
์ ์ฒด ํ๋ก๊ทธ๋จ์ ํ์ธํ๊ธฐ ์ํด ์ด๋ฅผ ์ฝ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ค์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. -๋์๊ด
๋์ค์ ์ฌ์ฉํ๊ธฐ ์ํด ์ ์ฅํ ์ ๋ณด์ ์์ ์ ์ดํ๋ โโ์ต์ ftnchek ๋น์ ์ ํ์ธ ์ค
ํ๋ก๊ทธ๋จ)
๋ค์์ UNIX๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์ ๋๋ค. ํ์ธ ์ ํญ๋ชฉ์ ์๋์ผ๋ก ์์ฑํ๋ ์ ํธ๋ฆฌํฐ
ํด๋น ์์ค ํ์ผ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ํ๋ก์ ํธ ํ์ผ์ ํ์ธํ๊ณ
์ผ๊ด์ฑ์ ์ํ ํ์ผ์ ๋๋ค. Makefile์ ๋ค์ ์ค์ ์ถ๊ฐํ์ธ์. ์ด ์์์๋ ๋ค์์ ๊ฐ์ ํฉ๋๋ค.
๋งํฌ๋ ๊ฐ์ฒด ํ์ผ์ ๋ชจ๋ ์ด๋ฆ์ ๋์ดํ๋ ๋งคํฌ๋ก OBJS๊ฐ ์ ์๋์์ต๋๋ค.
์์ ํ ์คํ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๊ธฐ ์ํด ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค. (์ด ๋ฉ์ดํฌํ์ผ์์ ๋ค์ฌ์ฐ๊ธฐ๋ ์ค์
๊ฐ๊ฐ์ ๊ณต๋ฐฑ์ด ์๋ ํญ์ผ๋ก ์์ํด์ผ ํฉ๋๋ค.) ์์ค ํ์ผ์ ์ฌ๋ฌ ๋ฃจํด์ด ํฌํจ๋ ๊ฒฝ์ฐ
๊ณตํต ๋ธ๋ก์ ๊ณต์ ํ๋ ๊ฒฝ์ฐ no-com-\* ์ต์ ์ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
NOGLOBAL์์ ๋ฐ/๋๋ -library ํ๋๊ทธ๋ฅผ ์ญ์ ํฉ๋๋ค.
# ํ๋ก์ ํธ ํ์ผ ์ ๋ฏธ์ฌ๊ฐ ๋ฌด์์ธ์ง ์๋ ค์ค๋๋ค.
.์ ๋ฏธ์ฌ: .prj
# ์ด ์ต์ ์ ์ ์ญ ๊ฒ์ฌ๋ฅผ ์ต์ ํฉ๋๋ค.
NOGLOBAL=-์ฌ์ฉ๋ฒ=no-ext-undefined,no-com-\*
# .f ํ์ผ์์ .prj ํ์ผ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๋ ค์ค๋๋ค.
.f.prj:
ftnchek -ํ๋ก์ ํธ $(NOGLOBAL) -๋ผ์ด๋ธ๋ฌ๋ฆฌ $
# ํ๋ก์ ํธ ํ์ผ ์ด๋ฆ์ ํฌํจํ๋ ๋งคํฌ๋ก PRJS๋ฅผ ์ค์ ํฉ๋๋ค.
PRJS= $(OBJS:.o=.prj)
# "make check"๋ ๋ณ๊ฒฝ๋ ๋ชจ๋ ๊ฒ์ ๊ฒ์ฌํฉ๋๋ค.
ํ์ธ: $(PRJS)
ftnchek $(PRJS)
ํ๋ก๊ทธ๋จ์ด ์ฌ๋ฌ ๋ค๋ฅธ ์์ค ํ์ผ์ ์ ์๋ ๋ง์ ๋ฃจํด์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
๋๋ ํฐ๋ฆฌ๊ฐ ๋ค๋ฅด๋ฉด ๋ค๋ฅธ ํ๋ก์ ํธ ํ์ผ์ ๋ชจ๋ ์ง์ ํ๋ ๊ฒ์ด ๋ฒ๊ฑฐ๋ก์ธ ์ ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ ๋๋ก ํ์ธํ๋ ๋ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ฌํ ์ฌ๊ฑด์ ์ฒ๋ฆฌํ๊ธฐ ์ํด, ftnchek ํ๋ก์ ํธ๋ฅผ ํ์ฉํฉ๋๋ค
ํ์ผ์ ํ๋์ ํฐ ํ์ผ๋ก ์ฐ๊ฒฐํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด ๋จ์ผ ํ์ผ์ ๋ค์ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ ์ ์์ต๋๋ค.
ftnchek ๋ฃจํด์ ์ผ๋ถ ๋๋ ์ ์ฒด ์ฌ์ฉ์ ํ์ธํ๊ธฐ ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฒฐํฉ๋ ํ๋ก์ ํธ ํ์ผ์ ์ ์๋ฉ๋๋ค. ์ด๋ฌํ ``๋ผ์ด๋ธ๋ฌ๋ฆฌ'' ํ๋ก์ ํธ ํ์ผ์ ์ฌ์ฉํ ๋,
์ํ ์ง๋ ๋ชจ๋ฅธ๋ค ftnchek์ ์ค๋ฅ๋ ํ์ผ ์ด๋ฆ์ ์ ํํ๊ฒ ๋ฌธ์ํํ๋๋ก ๋ณด๊ณ ํฉ๋๋ค.
ํน์ ๊ธฐ๋ฅ์ด ์ ์๋ฉ๋๋ค. ๋ค์ํ ์์ค ํ์ผ์ด ์ฌ๋ฌ ๋๋ ํ ๋ฆฌ์ ์๋ ๊ฒฝ์ฐ
ํ์ผ ์ด๋ฆ๋ง ์ ๊ณตํ๋ ์ค๋ฅ ๋ณด๊ณ ์๋ ๋ชจํธํ ์ ์์ผ๋ฉฐ ์คํ๋ ค ๋ค์์ ํฌํจํด์ผ ํฉ๋๋ค.
ํ์ผ ๊ฒฝ๋ก์ ๋๋ค. ํด๊ฒฐ์ฑ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๊ฐ์ ๊ฐ๋ณ ํ๋ก์ ํธ ํ์ผ์ ์์ฑํ๋ ๊ฒ์ ๋๋ค.
์์ค ํ์ผ์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด ์ ์ฒด ๊ฒฝ๋ก๊ฐ
์ค๋ฅ ๋ณด๊ณ ์. ์๋ฅผ ๋ค์ด ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ ํ๋ก๊ทธ๋จ ์์ค ํ์ผ์ด ๋ค์๊ณผ ๊ฐ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
/util/lib๋ผ๋ ๋๋ ํ ๋ฆฌ์ ํ์ ๋๋ ํ ๋ฆฌ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฐ๋ณ ํ๋ก์ ํธ ํ์ผ์
๋จผ์ ๋ค์๊ณผ ๊ฐ์ ๋ช ๋ น์ผ๋ก ์์ฑ๋ฉ๋๋ค.
/util/lib -name '*.f' -exec ftnchek -project '{}' ';' ์ฐพ๊ธฐ
(์๋ง๋ ๋ค๋ฅธ ์ต์ ์ด ์ ๊ณต๋ ๊ฒ์ ๋๋ค. ftnchek ์์์ ๋ ผ์ํ ๊ฒ์ฒ๋ผ. ๋ํ ์ด ๋จ๊ณ๋
๋์ ์์ ํ ์์ค๋ฅผ ์ ๊ณตํ๋ ์์ ๋ makefile ๊ท์น์ ์ํด ์ฒ๋ฆฌ๋ ์ ์์ต๋๋ค.
ํธ์ถ ์ ๋ก์ปฌ ์ด๋ฆ ๋์ ํ์ผ ๊ฒฝ๋ก ftnchek.) ๋ค์์ผ๋ก ๋ชจ๋ ์ฐ๊ฒฐํฉ๋๋ค.
์ด๋ฌํ ํ๋ก์ ํธ ํ์ผ์ ์๋์ผ๋ก.
/util/lib -name '*.prj' -exec cat '{}' ';' ์ฐพ๊ธฐ > ourlib.prj
๊ทธ๋ฐ ๋ค์ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ ์์ค ํ์ผ์ ํ์ธํ ์ ์์ต๋๋ค.
ftnchek prog.f ... -lib ourlib.prj
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃจํด๊ณผ ๊ด๋ จ๋ ์ค๋ฅ ๋ฉ์์ง์๋ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃจํด์ ์ ์ฒด ๊ฒฝ๋ก๊ฐ ํฌํจ๋ฉ๋๋ค.
๋ฃจํด์ ์์ค ํ์ผ.
ํ์ฌ๋ก์๋ ๋ค์๊ณผ ๊ฐ์ ์์นด์ด๋ธ ์ ํธ๋ฆฌํฐ๊ฐ ์์ต๋๋ค. ar ์ฐ๊ฒฐ๋ ๋ด์ฉ์ ๊ด๋ฆฌํ๊ธฐ ์ํด
์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ํ๋ก์ ํธ ํ์ผ์ ๋๋ค. ์ค ํ๋๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃจํด์์ ๊ฒฐํฉ๋ ํ๋ก์ ํธ ํ์ผ์ ์ ๋ฐ์ดํธํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋ชจ๋ ๋ฃจํด์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ๋๋ค.
๊ฐ๋ณ ํ๋ก์ ํธ ํ์ผ์ ๋ค์ ํ ๋ฒ ์ด๋ฌํ ์ ํธ๋ฆฌํฐ๋ ์์ฑํ๊ธฐ ๋งค์ฐ ์ฝ์ต๋๋ค.
๋๊ตฐ๊ฐ๋ ๊ทธ๋ ๊ฒ ํ์ฌ ๊ตญ๊ฐ์ ๊ธฐ์ฌํด์ผ ํฉ๋๋ค. ftnchek ๋ ธ๋ ฅ.
AN ์
๋ค์์ ๊ฐ๋จํ Fortran ํ๋ก๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค๋๋ค. ftnchek. ๊ทธ๋งํผ
ํ๋ก๊ทธ๋จ์ ์ผ๋ จ์ ์ํ ์ ์๋ฅผ ๋ฐ์๋ค์ธ ๋ค์ ํ๊ท ์ ๊ณ์ฐํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
์๋ฆฌ์ฆ.
C ์ ์: MIKE MYERS, LUCIA SPAGNUOLO
C ๋ ์ง: 8๋ 1989์ XNUMX์ผ
C ๋ณ์:
C SCORE -> ์ํ ์ ์ ๋ฐฐ์ด
C SUM -> ์ํ ์ ์์ ํฉ
C COUNT -> ์ฝ์ ์ ์ ์นด์ดํฐ
CI -> ๋ฃจํ ์นด์ดํฐ
์ค์ ํจ์ COMPAV(์ ์, ๊ฐ์)
์ ์ ํฉ๊ณ, ๊ฐ์, J,SCORE(5)
DO 30 I = 1,์นด์ดํธ
ํฉ๊ณ = ํฉ๊ณ + ์ ์(I)
30 ๊ณ์
COMPAV = ํฉ๊ณ/๊ฐ์
END
ํ๋ก๊ทธ๋จ ์ ๋น๋ด
C
C ๋ฉ์ธ ํ๋ก๊ทธ๋จ
C
C ์ ์: ๋ก์ด์ค ๋น ๋น
C ๋ ์ง: 15๋ 1990์ XNUMX์ผ
C
C ๋ณ์:
C MAXNOS -> ์ ๋ ฅ๊ฐ์ ์ต๋ ๊ฐ์
C NUMS -> ์ซ์ ๋ฐฐ์ด
C COUNT -> ์ ๋ ฅ๊ฐ์ ์ ํํ ๊ฐ์
C AVG -> COMPAV์์ ๋ฐํ๋ ํ๊ท
CI -> ๋ฃจํ ์นด์ดํฐ
C
๋งค๊ฐ๋ณ์(MAXNOS=5)
์ ์ I, ๊ฐ์
์ค์ ์ซ์(MAXNOS), AVG
๊ฐ์ = 0
DO 80 I = 1, MAXNOS
์ฝ๊ธฐ (5,*,END=100) NUMS(I)
๊ฐ์ = ๊ฐ์ + 1
80 ๊ณ์
100 AVG = COMPAV(NUMS, COUNT)
END
์ด ํ๋ก๊ทธ๋จ์ด ์ปดํ์ผ๋ ๋ ์ปดํ์ผ๋ฌ๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ํ์ง ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ๋ ๋ญ์ง?
์คํ๋ ๋ ๋ฐ์ํฉ๋๋ค.
$ ์คํ ํ๊ท
70
90
85
$
๋ฌด์จ ์ผ์ด์์? ํ๋ก๊ทธ๋จ์ด ์ ์๋ฌด๊ฒ๋ ํ์ง ์์๋์? ๋ค์์
ftnchek ์์ ํ๋ก๊ทธ๋จ์ ๋๋ฒ๊น ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ:
$ ftnchek -๋ชฉ๋ก -symtab ํ๊ท
FTNCHEK ๋ฒ์ 3.3 2004๋ XNUMX์
ํ์ผ ํ๊ท .f:
1๋ช ์ ์ ์: MIKE MYERS, LUCIA SPAGNUOLO
2 C ๋ ์ง: 8๋ 1989์ XNUMX์ผ
3
4๊ฐ์ C ๋ณ์:
5 C SCORE -> ์ํ ์ ์ ๋ฐฐ์ด
6 C SUM -> ์ํ ์ ์์ ํฉ
7 C COUNT -> ์ฝ์ ์ ์ ์นด์ดํฐ
8 CI -> ๋ฃจํ ์นด์ดํฐ
9
10 REAL ํจ์ COMPAV(์ ์, ๊ฐ์)
11 ์ ์ SUM,COUNT,J,SCORE(5)
12
13 DO 30 I = 1,COUNT
14 ํฉ๊ณ = ํฉ๊ณ + ์ ์(I)
15 30 ๊ณ์
16 COMPAV = ํฉ๊ณ/๊ฐ์
^
16ํ 20์ด ๊ทผ์ฒ ๊ฒฝ๊ณ : ์ ์ ๋ชซ expr SUM/COUNT๊ฐ ๋ค์์ผ๋ก ๋ณํ๋์์ต๋๋ค.
ํ์ค
17 ๋
๋ชจ๋ COMPAV: ๊ธฐ๋ฅ: ์ค์
๋ณ์:
์ด๋ฆ ์ ํ ์น์ ์ด๋ฆ ์ ํ ์น์ ์ด๋ฆ ์ ํ ์น์ ์ด๋ฆ ์ ํ ์น์
COMPAV ์ค์ COUNT intg I intg* J intg
SCORE ์ ์ 1 ํฉ๊ณ ์ ์
* ๋ณ์๊ฐ ์ ์ธ๋์ง ์์์ต๋๋ค. ์ ํ์ด ์์์ ์ผ๋ก ์ ์๋์์ต๋๋ค.
COMPAV ๋ชจ๋์ ๊ฒฝ๊ณ : ์ ์ธ๋์์ง๋ง ์ฐธ์กฐ๋์ง ์์ ๋ณ์:
J๋ 11๋ฒ์งธ ์ค์์ ์ ์ธํ์ต๋๋ค.
COMPAV ๋ชจ๋์ ๊ฒฝ๊ณ : ์ค์ ์ ์ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
14ํ์์ ์ฌ์ฉ๋ SUM
14๋ฒ์งธ ์ค์ ์ค์ ๋ SUM
์ ์๋ ๋ช ์ธ์ ๋ผ๋ฒจ:
๋ผ๋ฒจ ๋ผ์ธ StmtType
<30>15 ์์
18
19
20 ํ๋ก๊ทธ๋จ ์ ๋น๋ด
21 C
22C ๋ฉ์ธ ํ๋ก๊ทธ๋จ
23 C
24 ์ ์: LOIS BIGBIE
25 C ๋ ์ง: 15๋ 1990์ XNUMX์ผ
26 C
27๊ฐ์ C ๋ณ์:
28 C MAXNOS -> ์ต๋ ์ ๋ ฅ ๊ฐ ์
29 C NUMS -> ์ซ์ ๋ฐฐ์ด
30 C COUNT -> ์ ๋ ฅ๊ฐ์ ์ ํํ ๊ฐ์
31 C AVG -> COMPAV์์ ๋ฐํํ ํ๊ท
32 CI -> ๋ฃจํ ์นด์ดํฐ
33 C
34
35๊ฐ ๋งค๊ฐ๋ณ์(MAXNOS=5)
36 ์ ์ I, ๊ฐ์
37 ์ค์(MAXNOS), AVG
38๊ฐ = 0
39 DO 80 I = 1,MAXNOS
40 ์ฝ๊ธฐ(5,*,END=100) ์ซ์(I)
41 ์นด์ดํธ = ์นด์ดํธ + 1
42 80 ๊ณ์
43 100 AVG = COMPAV(์ซ์, ๊ฐ์)
44 ๋
๋ชจ๋ AVENUM: prog
์ฐธ์กฐ๋ ์ธ๋ถ ํ์ ํ๋ก๊ทธ๋จ:
COMPAV: ์ง์ง*
๋ณ์:
์ด๋ฆ ์ ํ ์น์ ์ด๋ฆ ์ ํ ์น์ ์ด๋ฆ ์ ํ ์น์ ์ด๋ฆ ์ ํ ์น์
AVG ์ค์ COUNT intg I intg MAXNOS intg*
NUMS ์ค์ 1
* ๋ณ์๊ฐ ์ ์ธ๋์ง ์์์ต๋๋ค. ์ ํ์ด ์์์ ์ผ๋ก ์ ์๋์์ต๋๋ค.
๋ชจ๋ AVENUM์ ๊ฒฝ๊ณ : ๋ณ์๊ฐ ์ค์ ๋์์ง๋ง ์ฌ์ฉ๋์ง ์์์ต๋๋ค:
43ํ์ ์ค์ ๋ AVG
I/O ์์ :
์ ๋ ID ์ ๋ ๋ฒํธ ์ก์ธ์ค ์์ ์์ ๋ผ์ธ
5 ์ํ์ค FMTD ์ฝ๊ธฐ 40
์ ์๋ ๋ช ์ธ์ ๋ผ๋ฒจ:
๋ผ๋ฒจ ๋ผ์ธ StmtType ๋ผ๋ฒจ ๋ผ์ธ StmtType
<80> 42 ๊ฐ๋ถ <100> 43 ๊ฐ๋ถ
Average.f ํ์ผ์์ 0๊ฐ์ ๊ตฌ๋ฌธ ์ค๋ฅ๊ฐ ๊ฐ์ง๋์์ต๋๋ค.
ํ์ผaverage.f์์ 6๊ฐ์ ๊ฒฝ๊ณ ๊ฐ ๋ฐํ๋์์ต๋๋ค.
๊ฒฝ๊ณ : ํ์ ํ๋ก๊ทธ๋จ COMPAV ์ธ์ ๋ฐ์ดํฐ ์ ํ์ด ์์น 1์์ ์ผ์นํ์ง ์์ต๋๋ค.
๋ชจ๋ COMPAV ๋ผ์ธ 10 ํ์ผ ํ๊ท ์ ๋๋ฏธ ์ธ์ SCORE๋ intg ์ ํ์ ๋๋ค.
๋ชจ๋ AVENUM ๋ผ์ธ 43 ํ์ผ ํ๊ท ์ ์ค์ ์ธ์ NUMS๋ ์ ํ์ด ์ค์์ ๋๋ค.
์ ๋ฐ๋ฅด๋ฉด ftnchek, ํ๋ก๊ทธ๋จ์๋ ์ฌ์ฉ๋๊ธฐ ์ ์ ์ฌ์ฉํ ์ ์๋ ๋ณ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์ด๊ธฐ๊ฐ์ ํ ๋นํ๊ณ , ํ์ํ์ง ์์ ๋ณ์๋ฅผ ํ ๋นํ์ต๋๋ค. ftnchek ๋ํ ๊ฒฝ๊ณ ํ๋ค.
์ฌ์ฉ์๋ ์ ์ ๋ชซ์ด ์ค์๋ก ๋ณํ๋์์์ ์ ์ ์์ต๋๋ค. ์ด๋ ์ฌ์ฉ์์๊ฒ ๋์์ด ๋ ์ ์์ต๋๋ค.
์๋ํ์ง ์์ ๋ฐ์ฌ๋ฆผ ์ค๋ฅ๋ฅผ ํฌ์ฐฉํฉ๋๋ค. ์ดํ -์ฌํญ ๊น๋ฐ์ด ์ฃผ์ด์ก๊ณ , ftnchek ์ธ์๋ฌผ
๋ก์ปฌ ๋ชจ๋์ ์๋ณ์์ ํด๋น ๋ฐ์ดํฐ ์ ํ์ด ํฌํจ๋ ํ ์ด๋ธ์ ์ถ๋ ฅํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฐจ์์ ์. ๋ง์ง๋ง์ผ๋ก, ftnchek COMPAV ๊ธฐ๋ฅ์ด ์ฌ์ฉ๋์ง ์์์ ๊ฒฝ๊ณ ํฉ๋๋ค.
์ ์ ํ ์ ํ์ ์ธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ ftnchek๋์ ๋์์ผ๋ก ํ๋ก๊ทธ๋จ์ ๋๋ฒ๊ทธํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ด ์์์ ์ ์ ์์ต๋๋ค
์ค๋ฅ :
1. ๋๋๊ธฐ ์ ์ SUM๊ณผ COUNT๋ฅผ ์ค์๋ก ๋ณํํ์ด์ผ ํฉ๋๋ค.
2. SUM์ ๋ฃจํ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ 0์ผ๋ก ์ด๊ธฐํ๋์ด์ผ ํฉ๋๋ค.
3. AVG๋ ๊ณ์ฐ๋ ํ ์ธ์๋์ง ์์์ต๋๋ค.
4. NUMS๋ REAL ๋์ INTEGER๋ก ์ ์ธ๋์ด์ผ ํฉ๋๋ค.
๋ํ J๊ฐ ์๋ I๊ฐ ํจ์ COMPAV์์ INTEGER๋ก ์ ์ธ๋์ด์ผ ํจ์ ์ ์ ์์ต๋๋ค. ๋ํ,
AVENUM ํ๋ก๊ทธ๋จ์์ MAXNOS๊ฐ INTEGER๋ก ์ ์ธ๋์ง ์์๊ณ COMPAV๊ฐ REAL๋ก ์ ์ธ๋์ง ์์์ต๋๋ค. ์ด๊ฒ๋ค์ ์๋๋ค
์ค๋ฅ๊ฐ ์์ง๋ง ๋ถ์ฃผ์๋ฅผ ๋ํ๋ผ ์๋ ์์ต๋๋ค. ๊ณต๊ต๋กญ๊ฒ๋ ์ด๋ฌํ ๊ธฐ๋ณธ ์ ํ์
๋ณ์๊ฐ ์๋ํ ์ ํ๊ณผ ์ผ์นํฉ๋๋ค.
์์ ๋ ํ๋ก๊ทธ๋จ๊ณผ ์คํ ์ ์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
C ์ ์: MIKE MYERS, LUCIA SPAGNUOLO
C ๋ ์ง: 8๋ 1989์ XNUMX์ผ
C
C ๋ณ์:
C SCORE -> ์ํ ์ ์ ๋ฐฐ์ด
C SUM -> ์ํ ์ ์์ ํฉ
C COUNT -> ์ฝ์ ์ ์ ์นด์ดํฐ
CI -> ๋ฃจํ ์นด์ดํฐ
C
์ค์ ํจ์ COMPAV(์ ์, ๊ฐ์)
์ ์ ํฉ๊ณ, ๊ฐ์, I,SCORE(5)
C
ํฉ๊ณ = 0
DO 30 I = 1,์นด์ดํธ
ํฉ๊ณ = ํฉ๊ณ + ์ ์(I)
30 ๊ณ์
COMPAV = ํ๋กํธ(ํฉ)/ํ๋กํธ(์นด์ดํธ)
END
C
C
ํ๋ก๊ทธ๋จ ์ ๋น๋ด
C
C ๋ฉ์ธ ํ๋ก๊ทธ๋จ
C
C ์ ์: ๋ก์ด์ค ๋น ๋น
C ๋ ์ง: 15๋ 1990์ XNUMX์ผ
C
C ๋ณ์:
C MAXNOS -> ์ ๋ ฅ๊ฐ์ ์ต๋ ๊ฐ์
C NUMS -> ์ซ์ ๋ฐฐ์ด
C COUNT -> ์ ๋ ฅ๊ฐ์ ์ ํํ ๊ฐ์
C AVG -> COMPAV์์ ๋ฐํ๋ ํ๊ท
CI -> ๋ฃจํ ์นด์ดํฐ
C
C
์ ์ MAXNOS
๋งค๊ฐ๋ณ์(MAXNOS=5)
์ ์ I, ์ซ์(MAXNOS), ๊ฐ์
์ค์ ํ๊ท , COMPAV
๊ฐ์ = 0
DO 80 I = 1, MAXNOS
์ฝ๊ธฐ (5,*,END=100) NUMS(I)
๊ฐ์ = ๊ฐ์ + 1
80 ๊ณ์
100 AVG = COMPAV(NUMS, COUNT)
WRITE(6,*) 'ํ๊ท =',AVG
END
$ ์คํ ํ๊ท
70
90
85
ํ๊ท = 81.66666
$
์ ftnchek๋์ ๋์์ผ๋ก ์ฐ๋ฆฌ ํ๋ก๊ทธ๋จ์ด ์ฑ๊ณตํ์ต๋๋ค!
ํต์ญ L' ์ถ๋ ฅ
๋์ด ์ฃผ์ ๋ฉ์์ง ftnchek ๊ตฌ๋ฌธ ์ค๋ฅ๋ฟ๋ง ์๋๋ผ ๊ฒฝ๊ณ ๋ฐ ์ค๋ฅ๋ ํฌํจ๋ฉ๋๋ค.
Fortran์ ํฉ๋ฒ์ ์ด์ง๋ง ์ค๋ฅ ๋๋ ์ค๋ฅ๋ฅผ ๋ํ๋ผ ์ ์๋ ์ ๋ณด ๋ฉ์์ง
๋ถ์ฃผ์. ์ด๋ฌํ ๋ฉ์์ง์ ๋๋ถ๋ถ์ ๋ช ๋ น์ค ์ต์ ์ผ๋ก ๋ ์ ์์ต๋๋ค. ์ด๋
์ต์ ์ ๊ฒฝ๊ณ ๋๋ ์กฐ๊ฑด์ ํน์ฑ์ ๋ฐ๋ผ ๊ฐ ๋ฉ์์ง๋ฅผ ์ ์ดํฉ๋๋ค.
์ด์ ์น์ ์ ๋ช ๋ น์ค ํ๋๊ทธ์ ๋ํ ์ค๋ช ๊ณผ ๊ฐ๋ณ ํ๋๊ทธ์ ๋ํ ์ค๋ช ์ ์ฐธ์กฐํ์ธ์.
์๋ ๋ฉ์์ง. ๊ฐ ๋ฉ์์ง์๋ ๋ฉ์์ง์ ์ฑ๊ฒฉ์ ๋ํ๋ด๋ ๋จ์ด๋ ๋ฌธ๊ตฌ๊ฐ ์ ๋์ด๋ก ๋ถ์ต๋๋ค.
์ํ์ ์ฌ๊ฐ๋.
'์ค๋ฅ'๋ ๊ตฌ๋ฌธ ์ค๋ฅ๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ์ข ๋ฅ์ ๊ตฌ๋ฌธ ์ค๋ฅ๋ ์ธ์์ ์ค๋ฅ์ ๋๋ค.
์ค๋ฅ(์: ๋ถ๊ท ํํ ๊ดํธ ๋๋ ํค์๋ ์ฒ ์ ์ค๋ฅ) ์ด ์ ํ์
์ค๋ฅ๋ ํ์์ ์ํด ํฌ์ฐฉ๋์ด ``parse error'' ๋๋ ``syntax'๋ผ๋ ์ค๋ช ๊ณผ ํจ๊ป ๋ํ๋ฉ๋๋ค.
์ค๋ฅ''(ํ์ ์์ฑ๊ธฐ์ ๋ฒ์ ๊ณผ GNU์ธ์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฆ) ๋ฐ์ด์จ or
UNIX ์ผํฌ). ์ด๋ฌํ ์ ํ์ ์ค๋ฅ ๋ฉ์์ง๋ ํ์๋์ง ์์ต๋๋ค. ์ด๋ฐ ์ข ๋ฅ์
์ค๋ฅ๋ ์ข ์ข ๋ค์์ ์๋ฏธํฉ๋๋ค. ftnchek ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ง์ ์ ์ ๋๋ก ํด์ํ์ง ์์์ต๋๋ค.
ํ์ ๊ฒ์ฌ ์์ ์ด ์์๋ ์ ์์ต๋๋ค. ๋น์ ์ํด์ผ
๋ค๋ฅธ ๋ฉ์์ง ํด์์ ์งํํ๊ธฐ ์ ์ ๋ชจ๋ ๊ตฌ๋ฌธ ์ค๋ฅ๋ฅผ ์ ๊ฑฐํ์ญ์์ค. ftnchek
์ค๋ค.
``๊ฒฝ๊ณ : ๋นํ์ค ๊ตฌ๋ฌธ''์ ๋ค์๊ณผ ๊ฐ์ Fortran์ ํ์ฅ์ ๋ํ๋ ๋๋ค. ftnchek ์ง์
๊ทธ๋ฌ๋ ์ด๋ Fortran 77 ํ์ค์ ๋ฐ๋ฅธ ๊ฒ์ด ์๋๋๋ค. ํ์ฅ ๊ธฐ๋ฅ ftnchek ๋ฐ์ ๋ค์ธ๋ค
์๋ ํ์ฅ ์น์ ์ ์ค๋ช ๋์ด ์์ต๋๋ค. ํ ๊ฐ์ง ์๋ DO ... ENDDO์ ๋๋ค.
๊ฑด์ค. ํ๋ก๊ทธ๋จ์ด ์ด๋ฌํ ํ์ฅ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ค์์ ๋ฐ๋ผ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
์ฌ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. -f77 ํ๊ฒฝ. ๊ธฐ๋ณธ ๋์์ ๊ฒฝ๊ณ ๋ฅผ ํ์ํ์ง ์๋ ๊ฒ์ ๋๋ค.
๋ค๋ฅธ ๊ฒฝ์ฐ์ '๊ฒฝ๊ณ '๋ ์์ฌ์ค๋ฝ๊ธฐ๋ ํ์ง๋ง ๊ทธ๋ด ์๋ ์๊ณ ์๋ ์๋ ์๋ ์ํ๋ฅผ ์๋ฏธํฉ๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ. ์ด๋ฌํ ์กฐ๊ฑด์ ํ์ค์ ๋ฐ๋ผ ํฉ๋ฒ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ผ๋ถ๋
๋ถ๋ฒ์ด์ง๋ง ๊ตฌ๋ฌธ ์ค๋ฅ ์ ๋ชฉ์ ์ํ์ง ์์ต๋๋ค. ์ฌ์ฉ ์ค๋ฅ๊ฐ ํ ๊ฐ์ง ์์ ๋๋ค.
์ด๋ ๋ณ์๊ฐ ํ ๋น๋๊ธฐ ์ ์ ๋ณ์๊ฐ ์ฌ์ฉ๋ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ๋ํ๋ ๋๋ค.
๊ฐ(์ผ๋ฐ์ ์ผ๋ก ์ค๋ฅ) ๋๋ ๋ณ์๊ฐ ์ ์ธ๋์์ง๋ง ์ฌ์ฉ๋์ง ์์ ๊ฒฝ์ฐ(ํด๋กญ์ง๋ ์์ง๋ง
๋ถ์ฃผ์ํจ์ ๋ํ๋ผ ์ ์์) ์ฌ์ฉ ์ค๋ฅ๋ฅผ ํ์ธํ๋ ์์ ๋ค์์ ์ํด ์ ์ด๋ฉ๋๋ค.
-์ฉ๋ฒ ํ๋๊ทธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ต๋ ๊ฒ์ฌ๋์ ์ง์ ํฉ๋๋ค.
์๋ฆผ ๊ฒฝ๊ณ ๋ ์๋์น ์๊ฒ ์ ํ๋๊ฐ ์์ค๋ ์ ์๋ ์ํฉ์ ๋ค๋ฃน๋๋ค.
์ค์ ๋ณ์์ ๋ฐฐ์ ๋ฐ๋ ๊ฐ์ ํ ๋นํ๋ ๊ฒฝ์ฐ์ ์์ ๋๋ค. ์ด๋ฌํ ๊ฒฝ๊ณ ๋
์ ์ํด ์ ์ด -์๋ฆผ ์ค์ ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ต๋๋ค.
``์ด์ ๋ถ๊ฐ๋ฅํ ์ฌ์ฉ๋ฒ''์ ์ผ๋ถ ์ปดํ์ผ๋ฌ์์ ํ์ฉ๋์ง ์๋ ์ผ๋ถ ๊ธฐ๋ฅ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.
Fortran 77 ํ์ค์ ์๋ฐฐ๋์ง ์๊ฑฐ๋ ํ๋ก๊ทธ๋จ์ด ์ค๋จ๋ ์ ์์์๋ ๋ถ๊ตฌํ๊ณ
๋ค์ํ ํ๋ซํผ์์ ๋ค๋ฅด๊ฒ ์ํ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ค์์ ๋๋ฑํ
์ ์ ๋ณ์๋ ์ผ๋ฐ์ ์ผ๋ก ์ด์์ฑ์ด ์๋ ๋ฐฉ์์ ๋๋ค. ํ์ฅ ๊ธฐ๋ฅ ์ฌ์ฉ
๋ฌผ๋ก ํ์ค ์ธ์ด๋ ์ด์์ฑ์ด ๋จ์ด์ง๋ ๋ ๋ค๋ฅธ ์์ธ์ด์ง๋ง ์ด๋ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌ๋ฉ๋๋ค.
๋ณ๋์ ๊ฒฝ์ฐ. ํ๋ก๊ทธ๋จ์ ์ง์ ํ ์ด์์ฑ์ ํ์ธํ๋ ค๋ฉด ๋ ๊ฐ์ง ๋ชจ๋ -์ด์์ฑ ๊ทธ๋ฆฌ๊ณ
-f77 ํ๋๊ทธ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ ๋ค ๊ธฐ๋ณธ์ ์ผ๋ก ๊บผ์ ธ ์์ต๋๋ค. ๊ทธ๋งํผ -๋จ์ด ํฌ๊ธฐ ์ค์ ์
ํน์ ๋จธ์ ์ ์์กดํ๋ ์ด์ ๋ถ๊ฐ๋ฅํ ์ฌ์ฉ๋ฒ๋ง ํ์ธํ๊ธฐ ์ํด ์ ๊ณต๋ฉ๋๋ค.
๋จ์ด ํฌ๊ธฐ.
'์๋ง๋ ์คํด์ ์์ง๊ฐ ์๋ ์ธ๊ด'์ ๋ฌด์์ ์๋ฏธํ์ง ์์ ์ ์๋ ๋ฒ์ ํด์์ ์ฌ์ฉ๋ฉ๋๋ค.
์ธ๋ป ๋ณด๋ฉด ์๋ฏธํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ์๋ฅผ ๋ค์ด Fortran์ ๊ณต๋ฐฑ์ ๊ตฌ๋ถํ์ง ์์ต๋๋ค.
๋ณ์ ์ด๋ฆ ๋ด์ ๊ณต๋ฐฑ์ด ์๊ฑฐ๋ ํค์๋์ ๋ณ์ ์ฌ์ด์ ๊ณต๋ฐฑ์ด ๋ถ์กฑํฉ๋๋ค.
๋ณ์๋ ๋ ์์๊ฒ ์๋ชป๋ ์ธ์์ ์ ๋ฌํ ์ ์์ต๋๋ค. ์ด ๋ฉ์์ง๋ ํ์๋์ง ์์ ์ ์์ต๋๋ค.
๋๊ธฐ๋ก -์์ ํ๋๊ทธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ต๋๋ค.
๋ชจ๋ ํ์ผ์ด ์ฒ๋ฆฌ๋ ํ ์ ๊ณต๋๋ ๊ธฐํ ๋ฉ์์ง ๋ฐ ๊ด๋ จ ๋ฉ์์ง
๋ชจ๋ ๊ฐ์ ํฉ์์ ๋ฐ๋ผ '๊ฒฝ๊ณ '๋ผ๋ ๋จ์ด๋ฅผ ์ฌ์ฉํ์ง ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ๊ฒฝ๊ณ ๋ผ๋ ๋จ์ด์ ์ํฉ๋๋ค.
๋ฒ์ฃผ. ์์๋ ์๋ก ๋ค๋ฅธ ํด๋น ๋ณ์ ๊ฐ์ ์ ํ ๋ถ์ผ์น๊ฐ ํฌํจ๋ฉ๋๋ค.
COMMON ๋ธ๋ก ์ ์ธ ๋๋ ์๋ธํ๋ก๊ทธ๋จ์ ๋๋ฏธ ์ธ์์ ์ค์ ์ธ์ ์ฌ์ด. ์ด๊ฒ๋ค
๊ฒฝ๊ณ ๋ ๋ค์์ ์ํด ์ ์ด๋ฉ๋๋ค. -ํํ ๊ณผ -์ธ์ ๊ฐ๊ฐ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก
๋ ๋ค ์ต๋ํ ์๊ฒฉํ๊ฒ ๊ฒ์ฌํ๋๋ก ์ค์ ๋์ด ์์ต๋๋ค.
์ข ์ข ๋ฌดํดํ ์ํ์ ๋ํ ๋ ๋ค๋ฅธ ๊ฒฝ๊ณ ๊ทธ๋ฃน์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ๋ํ๋ ๋๋ค.
์๋ธํ๋ก๊ทธ๋จ ์ธ์๋ก ์ ๋ฌ๋ ๋ณ์์ ๋ฐฐ์ด ์์ฑ์ ๋ ์ฌ์ด์ ๋ค๋ฆ ๋๋ค.
๋ฃจํด. ์๋ฅผ ๋ค์ด, ๋ฐฐ์ด ์์๋ ๋ค์์ ๊ธฐ๋ํ๋ ์๋ธ๋ฃจํด์ ์ ๋ฌ๋ ์ ์์ต๋๋ค.
์ ์ฒด ๋ฐฐ์ด. ์ด๋ ๋จ์ผ ํ์ด๋ ์ด์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ธฐ์ ์ ๋๋ค.
XNUMX์ฐจ์ ๋ฐฐ์ด. ๊ทธ๋ฌ๋ ์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ๋ฅผ ๋ํ๋ผ ์๋ ์์ต๋๋ค. ๊ทธ๋งํผ -์ ๋ ฌ
์ค์ ์ ํตํด ์ฌ์ฉ์๋ ์ด๋ฅผ ํ์ธํ๋ ๋ฐ ์ฌ์ฉํ ์๊ฒฉํจ์ ์ ๋๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.
์ค์ ๋ฐฐ์ด ์ธ์์ ๋๋ฏธ ๋ฐฐ์ด ์ธ์ ๊ฐ์ ์ผ์ข ์ ์ผ์น์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๊ฒฉํจ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ต๊ณ .
``์ฃ์กํฉ๋๋ค''๋ ๊ธฐ์ ์ ์ธ ๋ฌธ์ ๋ฅผ ๋ํ๋ ๋๋ค. ftnchek ์๋๋ฉด ๊ทธ๊ฒ
๋ฆฌ์์ค๊ฐ ์ด๊ณผ๋์์ต๋๋ค.
๊ตฌ๋ฌธ ์ค๋ฅ ๋ฉ์์ง ๋ฐ ๊ฒฝ๊ณ ์๋ ์ค ๋ฒํธ์ ํจ๊ป ํ์ผ ์ด๋ฆ์ด ํฌํจ๋ฉ๋๋ค.
์ด ๋ฒํธ. ftnchek ์ด๋ฌํ ์ค๋ฅ๊ฐ ๋ํ๋๋ ๋ฐ์๋ ๋ ๊ฐ์ง ๋ค๋ฅธ ์ต์ ์ด ์์ต๋๋ค
๋ฉ์์ง. ๋ง์ฝ์ -์ด์ฌ์ ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ด๋ฉฐ, ๋ฉ์์ง๋ ์คํ์ผ๋ก ๋์ด ์์ต๋๋ค.
์ผ๋ฐ ์์ด์ ๊ฐ๊น์ต๋๋ค. (๊ธฐ๋ณธ ์คํ์ผ์์๋ ํ์ผ ์ด๋ฆ์ด ๋ฉ์์ง์ ์ธ์๋์ง ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ ๋ณธ๋ฌธ ๋ด์์ -๋ช ๋ถ ์ ์ฉ๋ฉ๋๋ค.) ๋ค๋ฅธ ์คํ์ผ์ ์ค๋ฅ ๋ฉ์์ง
์ ์ํด ์ ํ๋ฉ๋๋ค -๋น์ด์ฌ์ ์ต์ . ์ด ์คํ์ผ์์๋ ๋ฉ์์ง์ ๋ชจ์์ด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ๋์ค์ ๋น์ทํ๋ค ๋ณดํ ํ๋ก๊ทธ๋จ)
ftnchek ์ฌ์ ํ ์ด๋ค ์ข ๋ฅ์ ๊ตฌ๋ฌธ ์ค๋ฅ์ ๋ํด์๋ ๋์ด ๋ฉ์์ต๋๋ค. ๊ฐ์ฅ ์ค์ํ ๋ ๊ฐ์ง๋
FORMAT ๋ฌธ์ ๋ํ ์์ธํ ๊ฒ์ฌ ๋ฐ ์ ์ด์ ๊ด๋ จ๋ ๊ฑฐ์ ๋ชจ๋ ๊ฒ
IF, DO ๋ฐ GOTO ๋ฌธ์ ํตํ ์คํ ํ๋ฆ: ์ฆ ์ฌ๋ฐ๋ฅธ ์ ์ด ์ค์ฒฉ
๊ตฌ์กฐ, IF ... THEN๊ณผ ๊ฐ์ ์ฌ๋ ๋ฌธ๊ณผ ๋ซ๋ ๋ฌธ ์ผ์น
ENDIF์ ๊ฐ์ ๋ช ๋ น๋ฌธ ๋ ์ด๋ธ(๋ฒํธ)์ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ. ๋๋ถ๋ถ์ ์ปดํ์ผ๋ฌ๋
์ด๋ฌํ ์ค๋ฅ๋ฅผ ์ก์๋ผ. ๋ ์์ธํ ๋ด์ฉ์ ์ ํ ์ฌํญ ์น์ ์ ์ฐธ์กฐํ์ธ์.
If ftnchek ์ปดํ์ผ๋ฌ๋ ๊ตฌ๋ฌธ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ํ์ง ์์ง๋ง ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทํ์ ํ๋ก๊ทธ๋จ์๋ ์ปดํ์ผ๋ฌ์์ ํ์ฉ๋๋ ํ์ค Fortran์ ๋ํ ํ์ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํ์ง๋ง ~์ ์ํด ftnchek. (ํ์ฅ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.) VAX/VMS ์์คํ ์์๋ ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ปดํ์ผ๋ฌ ์ต์ /STANDARD๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ๋ฌ๊ฐ ํ์ค Fortran๋ง ํ์ฉํฉ๋๋ค. ~์
๋๋ถ๋ถ์ UNIX ๋๋ UNIX ์ ์ฌ ์์คํ ์์๋ ํ๋๊ทธ๋ฅผ ์ค์ ํ์ฌ ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค. -์์.
๋์ด ๋ณด๋ด์ฃผ์ ๋ง์ ๋ฉ์์ง ์ค ftnchek ์๋ช ํ๋ค. ์ข ํ์ํ์ ๋ถ๋ค
์ถ๊ฐ ์ค๋ช ์ ์๋์ ์ํ๋ฒณ์์ผ๋ก ๋์ด๋์ด ์์ต๋๋ค.
๊ณตํต์ ๋ธ๋ก ์ด๋ฆ: ๋ฐ์ดํฐ ์ ํ ๋ถ์ผ์น at ์์น n
XNUMXD๋ดํ์ n- COMMON ๋ธ๋ก์ ๋ฒ์งธ ๋ณ์๋ ๋ ๊ฐ์ง ๋ค๋ฅธ ์ ์์ ๋ฐ์ดํฐ ์ ํ์ด ๋ค๋ฆ ๋๋ค.
COMMON ๋ธ๋ก ์ ์ธ. ๊ธฐ๋ณธ์ ์ผ๋ก (-ํํ ์๊ฒฉํจ ์์ค 3), ftnchek
COMMON ๋ธ๋ก์ ๋ํด ๋งค์ฐ ๊น๋ค๋กญ์ต๋๋ค. ์ฌ๊ธฐ์ ๋์ด๋ ๋ณ์๋ ์ ํํ ์ผ์นํด์ผ ํฉ๋๋ค.
๋ฐ์ดํฐ ์ ํ ๋ฐ ๋ฐฐ์ด ์ฐจ์๋ณ. ์ฆ, ๋ค์์ ๋ฒ์ ์ ์ธ ์์
๋ค์ํ ๋ชจ๋:
๊ณตํต /COM1/ A,B
๊ณผ
๊ณตํต /COM1/ A(2)
์์ธ์ด๋ฉ๋๋ค ftnchek ์๊ฒฉํจ ์์ค 3์์ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ๋ ์ ์ธ์
๋ ๋ค ๋ ๊ฐ์ ์ค์ ๋ณ์๋ฅผ ์ ์ธํ๋ฏ๋ก Fortran์์๋ ํฉ๋ฒ์ ์ ๋๋ค. ์๊ฒฉํ๊ฒ
์์ค 1 ๋๋ 2์ธ ๊ฒฝ์ฐ ์ด ์์์๋ ๊ฒฝ๊ณ ๊ฐ ์ ๊ณต๋์ง ์์ง๋ง ๊ฒฝ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๋ฅผ ๋ค์ด B๊ฐ INTEGER๋ก ์ ์ธ๋ ๊ฒฝ์ฐ์ ๊ฐ์ด ๋ฐ์ดํฐ ์ ํ ๋ถ์ผ์น๊ฐ ์๋ ๊ฒฝ์ฐ ์ ๊ณต๋ฉ๋๋ค.
์ ์ํด ํต์ ๋๋ -ํํ ํ๊ฒฝ.
๊ณตํต์ ๋ธ๋ก ์ด๋ฆ ์ด ๊ธด ๋ฐ์ดํฐ ์ ํ ์ํ์ ์งง์ ๋ฐ์ดํฐ ์ ํ
์ผ๋ถ ์ปดํ์ผ๋ฌ์์๋ ๊ฐ ํญ๋ชฉ์ด ๋ค์ ์์น์์ ์์๋๋๋ก ๋ฉํฐ๋ฐ์ดํธ ํญ๋ชฉ์ ์ ๋ ฌํด์ผ ํฉ๋๋ค.
ํญ๋ชฉ ํฌ๊ธฐ์ ๋ฐฐ์์ธ ์ฃผ์์ ๋๋ค. ๋ฐ๋ผ์ ์งง์ ๊ฒฝ์ฐ(์: ๋จ์ผ-
์ ๋ฐ๋ ์ค์) ํญ๋ชฉ ๋ค์๋ ๊ธด(์: ๋ฐฐ์ ๋ฐ๋ ์ค์) ํญ๋ชฉ์ด ์ต๋๋ค.
ํ์๋ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฌ๋์ง ์์ ์ ์์ต๋๋ค. ์ ์ํด ํต์ ๋๋ -์ด์์ฑ=๊ณตํต ์ ๋ ฌ
์ต์ ์ ์ ํํฉ๋๋ค.
๊ณตํต์ ๋ธ๋ก ์ด๋ฆ ์ด ํผํฉ ๋ ๋ฌธ์ ๊ณผ ๋น๋ฌธ์ ๋ณ์
ANSI ํ์ค์์๋ COMMON ๋ธ๋ก์ ๋ณ์๊ฐ ์ ํ์ธ ๊ฒฝ์ฐ ๋ค์์ ์๊ตฌํฉ๋๋ค.
CHARACTER์ธ ๊ฒฝ์ฐ ๋์ผํ COMMON ๋ธ๋ก์ ๋ค๋ฅธ ๋ชจ๋ ๋ณ์๋ ์ ํ์ด์ด์ผ ํฉ๋๋ค.
์ฑ๊ฒฉ. ์ ์ํด ํต์ ๋๋ -f77=ํผํฉ-๊ณตํต ์ต์ ์ ์ ํํฉ๋๋ค.
๊ณตํต์ ๋ธ๋ก ์ด๋ฆ: ๋ณํ ๊ธธ์ด
๋ญ์ ๋ฆฌ -ํํ ๋ ๋ฒจ 2๋ฅผ ์ค์ ํ๋ฉด ์ด ๋ฉ์์ง๋ COMMON ๋ธ๋ก์ด ๋ค์์ผ๋ก ์ ์ธ๋์์์ ์๋ฏธํฉ๋๋ค.
๋ ๊ฐ์ ์๋ก ๋ค๋ฅธ ํ์ ํ๋ก๊ทธ๋จ์ ์๋ก ๋ค๋ฅธ ๋จ์ด ์๊ฐ ์์ต๋๋ค. ํ๋ง๋๊ฐ ๊ธ์ก์ด๋ค
ํ๋์ ์ ์ ๋๋ ์ค์ ๋ณ์๊ฐ ์ฐจ์งํ๋ ์ ์ฅ ๊ณต๊ฐ. ์ ์ํ -ํํ ๋ ๋ฒจ 3 ์ค์ ,
์ด๋ ๋ ์ ์ธ์ ๋ณ์ ์๊ฐ ์๋ก ๋ค๋ฅด๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๋ชจ๋ ํฌ๊ธฐ์ ๋ฐฐ์ด์ ํ๋์ ๋ณ์๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๋ฐ๋์ ์ค๋ฅ๋ ์๋์ง๋ง,
๊ทธ๋ฌ๋ ๋ชฉ๋ก ์ค ํ๋์ ๋ณ์๊ฐ ๋๋ฝ๋์์์ ๋ํ๋ผ ์๋ ์์ต๋๋ค. ์ฐธ๊ณ ํ์ธ์
Fortran 77 ํ์ค์ ๋ฐ๋ฅด๋ฉด ์ด๋ ๋ช ๋ช ๋ COMMON ๋ธ๋ก์ ๋ํ ์ค๋ฅ์ ๋๋ค(๊ทธ๋ฌ๋
๊ณต๋ฐฑ์ด ์๋ COMMON) ๋ค๋ฅธ ์ ์ธ์ ๋จ์ด ์๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ
๋ชจ๋. ์ฃผ์ด์ง -ํํ 2 ๋๋ 3์ผ๋ก ์ค์ ํฉ๋๋ค.
์ค๋ฅ: ์ฌํ๊ฒ ํ์ฑ ๋ ผ๋ฆฌ/๊ด๊ณ ์ฐ์ฐ์ or ์์
์ค๋ฅ: ์ฌํ๊ฒ ํ์ฑ ํ์ค ์์
๊ตฌ๋ฌธ ๋ถ์๊ธฐ๊ฐ ๋ค์์ผ๋ก ์์ํ๋ ํน์ ๋จ์ด ์ค ํ๋์ ์์์ ์ฐพ์์ต๋๋ค.
๋ง์นจํ(์: .EQ.)๋ก ๋๋๊ฑฐ๋ ์ซ์ ์์์ ์์์ผ๋ก ๋๋์ง๋ง ๊ทธ๋ ์ง ์์์ต๋๋ค.
๊ทธ๋ฐ ์ข ๋ฅ์ ์์ ํ ํญ๋ชฉ์ ์ฐพ๋ ๋ฐ ์ฑ๊ณตํฉ๋๋ค.
์ค๋ฅ: be ์กฐ์ ํฌ๊ธฐ in ๋ชจ๋ ์ด๋ฆ
๋ณํ๋ก ํ์๋ ํฌ๊ธฐ๋ก๋ ๋ฌธ์ ๋ณ์๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค.
๋๋ฏธ ์ธ์, ๋งค๊ฐ๋ณ์ ๋๋ ํจ์ ์ด๋ฆ์ด ์๋ ๊ฒฝ์ฐ ๊ดํธ
๋ชจ๋์ ์ ์๋์ด ์์ต๋๋ค.
์ค๋ฅ: be ์ ์ธ ํ in ๊ตฌํ๋ค ์ฑ๋ช ์ in ๋ชจ๋ ์ด๋ฆ
SAVE ๋ฌธ์์๋ ์ง์ญ ๋ณ์์ ๊ณตํต ๋ธ๋ก๋ง ์ ์ธํ ์ ์์ต๋๋ค.
์ค๋ฅ: ์๋ ํต๋ก ์ ์ด ์ฑ๋ช ์
ftnchek ์๋ฌด ๊ฒ๋ ์๊ธฐ ๋๋ฌธ์ ๋ฌด์๋๊ฑฐ๋ ๋ฌด์๋๋ ๋ช ๋ น๋ฌธ์ ๊ฐ์งํฉ๋๋ค.
์ฑ๋ช ์์ ์์ธก ๊ฐ๋ฅํ ๊ฒฝ๋ก. ์๋ฅผ ๋ค์ด, ๋ฒํธ๊ฐ ์๋ ์ง์ (a
๋ช ๋ น๋ฌธ ๋ ์ด๋ธ์ด ์๋ ๋ช ๋ น๋ฌธ), GOTO ๋ช ๋ น๋ฌธ ๋ฐ๋ก ๋ค์์ ๋ฐ์ํฉ๋๋ค.
๋์ ํ ์คํ๋ ์ ์์ต๋๋ค.
์ค๋ฅ: ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ
์ด๋ Fortran ํ๋ก๊ทธ๋จ์ ํํ์์ผ๋ก ๋ถ์ํ๋ ํ์๊ฐ
์ง์ ๋ฑ ์ผ๋ถ ๋ถ๋ถ์ ๋ํ ์ ํจํ ํด์์ ์ฐพ์ ์ ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ง์ ์ค. ์ปดํ์ผ๋ฌ๊ฐ ๊ตฌ๋ฌธ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํ์ง ์๋ ๊ฒฝ์ฐ
๊ฐ์ ์ฅ์์์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ค๋ช ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. (1) ANSI ํ์ฅ ์ฌ์ฉ
์์ ์ธ์ํ์ง ๋ชปํ๋ ํ์ค Fortran ftnchek, ๋๋ (2) ์ง์ ์์์ ์๊ตฌํ๋ ์ฌํญ
๊ทธ๋ณด๋ค ๋ ๋ฏธ๋ฆฌ ftnchek ์ฌ์ฉํฉ๋๋ค(๋ฒ๊ทธ ์น์ ์ฐธ์กฐ).
์ฐธ๊ณ : ์ด ๋ฉ์์ง๋ ์ํฅ์ ๋ฐ์ ๋ฌธ์ด ํด์๋์ง ์์์ ์๋ฏธํฉ๋๋ค.
๋ฐ๋ผ์ ๊ฐ๋ฅํฉ๋๋ค. ftnchek๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ ํ์ ์ฒ๋ฆฌ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด๋ ์ด ๋ช ๋ น๋ฌธ์ ์ํฅ์ ๋ฐ๋ ๋ชจ๋ ์ฌํญ(์ ํ ์ ์ธ ๋ฑ)์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์ค๋ฅ: ํต์ฌ๋ก ์ค๋ฅ
์ด๋ ``์ค๋ฅ: ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ''(์ ์ฐธ์กฐ)์ ๋์ผํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์์ฑ๋ฉ๋๋ค.
๋ฒ์ ftnchek UNIX๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋์์ต๋๋ค. ์ผํฌ GNU๊ฐ ์๋ ํ์ ์์ฑ๊ธฐ
๋ฐ์ด์จ.
์๋ณ์ ์ด๋ are ์ง์ ์ ์ผํ in ๋จผ์ ์ฌ์ฏ ๋ฌธ์๋ค
6์๋ณด๋ค ๊ธด ๋ ๊ฐ์ ์๋ณ์๊ฐ ์๋ก ๋ค๋ฅด์ง ์์์ ๊ฒฝ๊ณ ํฉ๋๋ค.
์ฒ์ 6์. ์ด๋ ์ด์์ฑ์ ์ํ ๊ฒ์ ๋๋ค. ๋ณ๊ฐ์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ง ์์ ์ ์์ต๋๋ค.
์ผ๋ถ ์ปดํ์ผ๋ฌ์ ์ํด. ์ ์ํด ํต์ ๋๋ -์ฌ์ฏ์ ์ต์ ์ ์ ํํฉ๋๋ค.
ํด๋ ๋ถ๊ฐ๋ฅ ์ฉ๋ฒ: ๋ ผ์ ์ ํ ๏ผ์ ์ง์ be ์์ for ๋ณธ๋ ๊ฐ์ถ์ด ์ง ๊ธฐ๋ฅ
๋ด์ฅ ํจ์์ ์ ๋ฌ๋ ์ธ์์ ์ ๋ฐ๋๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ ์ ์์ต๋๋ค.
์ผ๋ถ ์ปดํจํฐ. ๋ช ์์ ์ธ ์ ๋ฐ๋๋ก ์ซ์ ๋ณ์๊ฐ ์ ์ธ๋ ๊ฒฝ์ฐ ๋ฐํ๋ฉ๋๋ค.
(์: REAL*8 X)๋ ํน์ ๋ด์ฅ ํจ์(์: DSQRT(X))๋ก ์ ๋ฌ๋ฉ๋๋ค.
์ ์ํด ํต์ ๋๋ -ํด๋์ฑ=ํผํฉ ํฌ๊ธฐ ๊ณผ -๋จ์ด ํฌ๊ธฐ.
ํด๋ ๋ถ๊ฐ๋ฅ ์ฉ๋ฒ: ๋ฌธ์ ์์/๋ณ์ ๊ธธ์ด ์ด๊ณผ 255
์ผ๋ถ ์ปดํ์ผ๋ฌ๋ ๊ธธ์ด๊ฐ 255์๋ฅผ ์ด๊ณผํ๋ ๋ฌธ์์ด์ ์ง์ํ์ง ์์ต๋๋ค.
์ ์ํด ํต์ ๋๋ -์ด์์ฑ=๊ธด ๋ฌธ์์ด.
ํด๋ ๋ถ๊ฐ๋ฅ ์ฉ๋ฒ: ์ ์ ๋ถ๋ชจ๋ก์์ ๊ทํ์ ์ ํฉ์ฑ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ๋ฏธ๊ตญ ์ด๋ฏผ๊ตญ์ ์ด ํฌํจ๋์ด ์์ต๋๋ค ํญ
ftnchek ํญ์ ๋ค์ ์ด๊น์ง ๊ณต๋ฐฑ๊ณผ ๋์ผํ๊ฒ ํ์ฅํฉ๋๋ค.
8์ ๋ฐฐ์. ์ผ๋ถ ์ปดํ์ผ๋ฌ๋ ํญ์ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ ๊ฐ๋ฅํฉ๋๋ค.
์ ์ ๋ฉ์ผ๋ก ์ ์ก๋ ํ์ผ์๋ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ํญ์ด ๊ณต๋ฐฑ์ผ๋ก ๋ณํ๋ฉ๋๋ค.
๋ฐ๋ผ์ ํญ์ด ํฌํจ๋ ํ์ผ์ ์ปดํ์ผ๋ ํ ์ฌ๋ฐ๋ฅด๊ฒ ์ปดํ์ผ๋์ง ์์ ์ ์์ต๋๋ค.
์๋. ftnchek ํญ์ด ์ฃผ์ ๋ด์์๋ง ๋ํ๋๋ ๊ฒฝ์ฐ ์ด ๋ฉ์์ง๋ฅผ ํ์ํ์ง ์์ต๋๋ค.
๋๋ ๋ฌธ์ ์์. ์ ์ํด ํต์ ๋๋ -์ด์์ฑ=ํญ.
ํด๋ ๋ถ๊ฐ๋ฅ ์ฉ๋ฒ: ์ ์๊ฐ ์๋ DO ๊ณ ๋ฆฌ ๋ฒ์
์ด ๊ฒฝ๊ณ ๋ DO ์ธ๋ฑ์ค์ ๊ฒฝ๊ณ๊ฐ ์ ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ์ ๊ณต๋ฉ๋๋ค. ์ฌ์ฉ
DO ๋ฌธ์ ์ ์๊ฐ ์๋ ์๋์ผ๋ก ์ธํด ์์์น ๋ชปํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ฐ์ฌ๋ฆผ ํจ๊ณผ๋ก ์ธํด ์๋ก ๋ค๋ฅธ ์์คํ ์์ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋ฉ๋๋ค. ์ ์ํด ํต์ ๋๋
-์ด์์ฑ=์ค์ .
ํน์ it is an ์ ๋ ฌ ์ด๋ ์๋ค ์ง์ ์ ์ธ ํ
์ด ๋ฉ์์ง๋ ํจ์ ํธ์ถ ๋๋
์ธ์ ์ ํ ๋ถ์ผ์น๋ก ์ธํด ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํฉ๋๋ค.
ํจ์๋ ์ค์ ๋ก ๋ฐฐ์ด์ ์๋ฏธํฉ๋๋ค. ํ๋ก๊ทธ๋๋จธ๊ฐ ์น์ ์ธก์ ์ ์์ด๋ฒ๋ฆฐ ๊ฒฝ์ฐ
๋ฐฐ์ด์ธ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ๋ํ ์ฐธ์กฐ๋ ํจ์ ํธ์ถ๋ก ํด์๋ฉ๋๋ค.
๋ฌธ์ ์ ์ด๋ฆ์ด EXTERNAL ๋๋
INTRINSIC ๋ฌธ. ๋ค์์ ์ํด ํต์ ๋จ -์ด์ฌ์ ์ต์ ์ ์ ํํฉ๋๋ค.
ํน์ ์ค๋ โโ๋ ์ธ๊ด: ๋ฌธ์ ๊ณผ๊ฑฐ 72 ์ด
ํ๋ก๊ทธ๋จ์ ํ์ค ๊ฐ์ ๋ช ๋ น๋ฌธ ํ๋ ๋๋น๋ก ์ฒ๋ฆฌ๋๊ณ ์์ต๋๋ค.
72์ด ์ค ์ผ๋ถ์ด๋ฉฐ, 72์ด ์ดํ์ ์ผ๋ถ ๊ณต๋ฐฑ์ด ์๋ ๋ฌธ์๊ฐ ๋ฐ๊ฒฌ๋์์ต๋๋ค. ์ด ๊ฒฝ์ฐ
ftnchek 72์ด ์ดํ์ ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ์ง ์๊ณ ์ฌ์ฉ์์๊ฒ ์๋ฆฌ๊ณ ์์ต๋๋ค.
๊ทธ ์ง์ ์ด ๊ทธ๊ฒ์ด ๊ฐ์ง๊ณ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์๋ฏธ๋ฅผ ๊ฐ์ง ์์ ์๋ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ๋ค
ํ๋ก๊ทธ๋๋จธ๋ ๋ฌธ์๋ฅผ ์ค์ํ๊ฒ ์ฌ๊ธฐ๋ ค๊ณ ์๋ํ์ ์๋ ์์ง๋ง,
์ปดํ์ผ๋ฌ์์๋ ๋ฌด์๋ฉ๋๋ค. ์ ์ํด ํต์ ๋๋ -์์๋ค=๊ธด ์ค.
ํน์ ์ค๋ โโ๋ ์ธ๊ด: ๊ณตํต์ ๋ธ๋ก ์ ์ธ ํ in ๋ฐฐ์ฐ๊ธฐ ๋ณด๋ค ํ ์ฑ๋ช ์
์ด๋ฌํ ๋ค์ค ์ ์ธ์ ํฉ๋ฒ์ ์ด๋ฉฐ ๋ค์์ ์ฐ์๊ณผ ๋์ผํ ํจ๊ณผ๋ฅผ ๊ฐ์ต๋๋ค.
๋ธ๋ก์ ์๋ ์ ์ธ. ์ด ๊ฒฝ๊ณ ๋ ๋ ๊ฐ์ง ๊ฒฝ์ฐ์๋ง ์ ๊ณต๋ฉ๋๋ค.
์ ์ธ์ ํ๋ ์ด์์ ์ค๊ฐ ๋ฌธ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ์ ์ํด ํต์ ๋๋
-์์=์ฌ๋ฌ-๊ณตํต.
ํน์ ์ค๋ โโ๋ ์ธ๊ด: ๊ณ์ ๋ค์ ๋ณธ๋ฌธ or ๊ณต๋ฐฑ ์
ftnchek ์ด ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ฐํํ์ฌ ์ฌ์ฉ์์๊ฒ
๋ฌธ์๋ ์ฃผ์์ด ์ฝ์ ๋์ด ์์ด ๊ฐ๊ณผํ๊ธฐ ์ฝ์ต๋๋ค. ์ ์ํด ํต์ ๋๋
-์์๋ค=๊ณ์.
ํน์ ์ค๋ โโ๋ ์ธ๊ด: ๊ด๊ณ ์๋ ๊ดํธ
ํํ์์์ ๋ณ์ ์์ฒด๋ฅผ ๋๋ฌ์ธ๋ ๊ดํธ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค. ์ธ์
๊ดํธ ์์ ์๋ ๋ณ์๋ ํ์ ํ๋ก๊ทธ๋จ์ ์ธ์๋ก ์ ๋ฌ๋๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌ๋ฉ๋๋ค.
ํธ์ถ๋ ๋ฃจํด์ ์ํด ๊ฐ์ด ์์ ๋ ์ ์๋ ๋ณ์๊ฐ ์๋ ํํ์์ ๋๋ค.
์ ์ํด ํต์ ๋๋ -์์=๊ดํธ.
์๋ธํ๋ก๊ทธ๋จ ์ด๋ฆ: ๋ ผ์ ๋ฐ์ดํฐ ์ ํ ๋ถ์ผ์น at ์์น n
์๋ธํ๋ก๊ทธ๋จ์ n-๋ฒ์งธ ์ค์ ์ธ์(CALL ๋๋ ํจ์ ์ฌ์ฉ ์)
๋ฐ์ดํฐ ์ ํ์ด๋ ์ ๋ฐ๋๊ฐ ๋ค๋ฆ ๋๋ค. n-๋ฒ์งธ ๋๋ฏธ ์ธ์(SUBROUTINE ๋๋
FUNCTION ์ ์ธ). ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ๋ค์๊ณผ ๊ฐ์ด ํ์ ํ๋ก๊ทธ๋จ์ ์ ์ํ๋ ๊ฒฝ์ฐ
์๋ธ๋ฃจํด SUBA(X)
๋ฆฌ์ผ์์ค
๋ค๋ฅธ ๊ณณ์์๋ ๋ค์๊ณผ ๊ฐ์ด SUBA๋ฅผ ํธ์ถํฉ๋๋ค.
CALL ์ค๋ฐ(2)
ftnchek ์ค๋ฅ๋ฅผ ๊ฐ์งํ๊ฒ ๋ฉ๋๋ค. ๊ทธ ์ด์ ๋ ์ซ์ 2๊ฐ ์ ์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ง์ง๊ฐ ์๋์ผ. ์ฌ์ฉ์๊ฐ ์์ฑํ์ด์ผ ํฉ๋๋ค.
์ฝ์ค๋ฐ(2.0)
์๋ธ ํ๋ก๊ทธ๋จ์ธ ์ธ์๋ฅผ ํ์ธํ ๋, ftnchek ๊ฒฐ์ ํ ์ ์์ด์ผ ํ๋ค
๊ทธ๊ฒ์ด ํจ์์ด๋ ์๋ธ๋ฃจํด์ด๋ . ์ฌ์ฉ๋๋ ๊ท์น ftnchek ์ด๊ฒ์ ํ๊ธฐ ์ํด์๋
๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์๋ธํ๋ก๊ทธ๋จ์ด ์ค์ ์ธ์๋ก ์ ๋ฌ๋๋ ๊ฒ ์ธ์๋
๋์ผํ ๋ชจ๋์ ๋ค๋ฅธ ๊ณณ์์ ์ง์ ํธ์ถ๋๋ฉด ํด๋น ์ ํ์ ํด๋น ๋ชจ๋์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค.
์ฉ๋ฒ. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ํ์ ํ๋ก๊ทธ๋จ ์ด๋ฆ์ด ๋ช ์์ ์ผ๋ก ๋ํ๋์ง ์์ผ๋ฉด
์ ํ ์ ์ธ์ ์๋ธ๋ฃจํด์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๋ช ์์ ์ผ๋ก ์ ๋ ฅ๋ ๊ฒฝ์ฐ
ํจ์๋ก ๋ฐ์๋ค์ฌ์ก์ต๋๋ค. ๋ฐ๋ผ์ ์ค์ ์ธ์๋ก ์ ๋ฌ๋ ์๋ธ๋ฃจํด์๋ ๋ค์ ์ฌํญ๋ง ํ์ํฉ๋๋ค.
ํธ์ถ ๋ชจ๋์ EXTERNAL ๋ฌธ์ ์ํด ์ ์ธ๋๋ ๋ฐ๋ฉด, ํจ์๋ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
์ด ์ค๋ฅ ๋ฉ์์ง๊ฐ ์์ฑ๋์ง ์๋๋ก ํ๋ ค๋ฉด ๋ช ์์ ์ผ๋ก ์ ๋ ฅํด์ผ ํฉ๋๋ค.
์ ์ํด ํต์ ๋๋ -์ธ์ ํ๊ฒฝ.
์๋ธํ๋ก๊ทธ๋จ ์ด๋ฆ: ๋ ผ์ ๋ฐฐ์ด์ฑ ๋ถ์ผ์น at ์์น n
์์ ์ํฉ๊ณผ ์ ์ฌํ์ง๋ง ์๋ธํ๋ก๊ทธ๋จ ๋๋ฏธ ์ธ์๋ ๋ค์๊ณผ ๋ค๋ฆ ๋๋ค.
์ฐจ์ ์ ๋๋ ์ฐจ์ ์๋ก ํด๋น ์ค์ ์ธ์
๊ฐ์. ์ ์ํด ํต์ ๋๋ -์ ๋ ฌ ์ ํจ๊ป -์ธ์ ์ค์ .
์๋ธํ๋ก๊ทธ๋จ ์ด๋ฆ: ๋ ผ์ ๋ถ์ผ์น at ์์น n
๋ฌธ์ ๋๋ฏธ ์ธ์๊ฐ ํด๋น ์ค์ ์ธ์๋ณด๋ค ํฌ๊ฑฐ๋
Hollerith ๋๋ฏธ ์ธ์๊ฐ ํด๋น ์ค์ ์ธ์๋ณด๋ค ํฝ๋๋ค.
์ ์ํด ํต์ ๋๋ -์ธ์ ํ๊ฒฝ.
์๋ธํ๋ก๊ทธ๋จ ์ด๋ฆ: ๋ ผ์ ์ฉ๋ฒ ๋ถ์ผ์น
ftnchek ํ์ ํ๋ก๊ทธ๋จ์ด ์ธ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์ ์ฌ์ด์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ ๊ฐ์งํฉ๋๋ค.
์ธ์๊ฐ ํ์ ํ๋ก๊ทธ๋จ์ ์ ๊ณต๋๋ ๋ฐฉ์์ ๋๋ค. ๊ฐ๋ฑ์ ์
์๋์ ์ค๋ช ๋ ๋๋ก ๋ ๊ฐ์ง ์ ํ ์ค ํ๋์ฌ์ผ ํฉ๋๋ค.
๋๋ฏธ ์๋ฅดํจํฐ๋ is ์์ , ์ค์ ์๋ฅดํจํฐ๋ is const๋ฅผ or ํน๊ธ
๋๋ฏธ ์ธ์๋ SUBROUTINE ๋๋ FUNCTION ๋ฌธ์ ๋ช ๋ช ๋ ์ธ์์ด๋ฉฐ
์๋ธํ๋ก๊ทธ๋จ ๋ด์์ ์ฌ์ฉ๋ฉ๋๋ค. ์ค์ ์ธ์๋ a์ ์ ๋ฌ๋๋ ์ธ์์ ๋๋ค.
ํธ์ถ์์ ์ํ ์๋ธ๋ฃจํด ๋๋ ํจ์. ftnchek ๋๋ฏธ ๋ ผ์์ด ์๋ค๊ณ ๋งํ๊ณ ์์ต๋๋ค.
์๋ธํ๋ก๊ทธ๋จ์ ์ํด ์์ ๋๋ฉฐ, ์ด๋ ํธ์ถ ์ ํด๋น ๊ฐ์ด ๋ณ๊ฒฝ๋จ์ ์๋ฏธํฉ๋๋ค.
๊ธฐ์ค ์น์. ํด๋น ์ค์ ์ธ์๋ ์์๋ ํํ์์ด ์๋์ด์ผ ํฉ๋๋ค.
์คํ๋ ค ํฉ๋ฒ์ ์ผ๋ก ํ ๋นํ ์ ์๋ ๋ณ์๋ ๋ฐฐ์ด ์์์ ๋๋ค.
๋ค์์ ์ํด ํต์ ๋จ -usage=arg-const-์์ ๋จ ์ต์ ์ ์ ํํฉ๋๋ค.
๋๋ฏธ ์๋ฅดํจํฐ๋ ์ต์ํ ์ ์ ์ธํธ, ์ค์ ์๋ฅดํจํฐ๋ ์ง์ ์ธํธ
์ฌ๊ธฐ์๋ ๊ฐ์ด ํ ๋น๋๊ธฐ ์ ์ ์๋ธํ๋ก๊ทธ๋จ์์ ๋๋ฏธ ์ธ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋ธํ๋ก๊ทธ๋จ์ ์ํด ๊ทธ๊ฒ์. ํด๋น ์ค์ ์ธ์์๋ ๊ฐ์ด ์์ด์ผ ํฉ๋๋ค.
์๋ธํ๋ก๊ทธ๋จ์ ํธ์ถํ๊ธฐ ์ ์ ํธ์ถ์๊ฐ ์ด๋ฅผ ํ ๋นํฉ๋๋ค. ๋ค์์ ์ํด ํต์ ๋จ
-์ฌ์ฉ=var-์ด๊ธฐํ๋์ง ์์ ์ต์ ์ ์ ํํฉ๋๋ค.
์ด ๊ฒฝ๊ณ ๋ ๋ค์์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค. -์ธ์ ํ๊ฒฝ.
์๋ธํ๋ก๊ทธ๋จ ์ด๋ฆ ํธ์ถ ์ผ๊ด์ฑ ์์ด
์ฌ๊ธฐ์ ๋ถ์ผ์น๋ ์ฌ์ฉ๋ ์๋ธ ํ๋ก๊ทธ๋จ ์์ฒด์ ๋ฐ์ดํฐ ์ ํ๊ณผ
ํ์ ๋. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ์ ์ธํ๋ ๊ฒฝ์ฐ
์ ์ ํจ์ ๊ฐ์(A)
๋ค์๊ณผ ๊ฐ์ด ๋ค๋ฅธ ๋ชจ๋์์ COUNT๋ฅผ ํธ์ถํฉ๋๋ค.
N = ๊ฐ์(A)
๋ฐ์ดํฐ ์ ํ์ ์ ์ธํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฒซ ๋ฒ์งธ ์ ํ์ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ์ ํ์ด ์ฌ์ฉ๋ฉ๋๋ค.
๊ทธ ์ด๋ฆ์ ํธ์ง. ํธ์ถ ๋ชจ๋์๋ ์ ์ธ์ด ํฌํจ๋์ด ์์ด์ผ ํฉ๋๋ค.
์ ์ ๊ฐ์
์ฃผ์ด์ง -์ธ์ 2 ๋๋ 3์ผ๋ก ์ค์ ํฉ๋๋ค.
์๋ธํ๋ก๊ทธ๋จ ์ด๋ฆ: ๋ณํ ๊ธธ์ด ๋ ผ์ ๊ธฐ์ธ๊ธฐ:
๋๋ฏธ ์ธ์(๋งค๊ฐ๋ณ์) ๊ฐ์์ ๋ถ์ผ์น๊ฐ ๋ฐ๊ฒฌ๋์์ต๋๋ค.
ํ์ ํ๋ก๊ทธ๋จ์๋ ํธ์ถ ์ ์ ๊ณต๋๋ ์ค์ ์ธ์์ ๊ฐ์๊ฐ ์์ต๋๋ค.
ftnchek ํ์ ํ๋ก๊ทธ๋จ(CALL ๋ฌธ ๋ฐ
ํจ์๋ฅผ ์ฌ์ฉํ ํํ์)์ ํจ์์ ์ ์์ ๋น๊ตํฉ๋๋ค.
์์ค ์ฝ๋์ ๋ค๋ฅธ ๊ณณ์ ์๋ ํ์ ํ๋ก๊ทธ๋จ. Fortran ์ปดํ์ผ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก
์ด๋ฐ ์ ํ์ ์ค๋ฅ๋ฅผ ์ก์๋ณด์ธ์. ์ฃผ์ด์ง -์ธ์ 1 ๋๋ 3์ผ๋ก ์ค์ ํฉ๋๋ค.
๋ณํ๊ธฐ ์ฌ์ด ์ง์ ์ ์ธํ๋ค. ํ์ ์ด ๋ ์๋ฌต์ ์ผ๋ก ํ์ ๋
๋ชจ๋์ ๊ธฐํธ ํ ์ด๋ธ์ ์ธ์ํ ๋, ftnchek ๋ชจ๋ ๋ณํ๋ก ํ์๋ฉ๋๋ค.
๋ช ์์ ์ผ๋ก ์ ํ์ด ์ง์ ๋์ง ์์ ์๋ณ์์ด๋ฉฐ ํด๋น ๋ฐ์ดํฐ ์ ํ์ ํ์ํฉ๋๋ค.
์์์ ํ์ดํ์ ํตํด ํ ๋น๋ฉ๋๋ค. ์ด๋ ๋ค์์ ์ํ๋ ์ฌ์ฉ์์๊ฒ ์ง์์ ์ ๊ณตํฉ๋๋ค.
Pascal์ด๋ ๋ค๋ฅธ ์ธ์ด์์ ์๊ตฌ๋๋ ๋๋ก ๋ชจ๋ ๋ณ์๋ฅผ ์ ์ธํฉ๋๋ค. ์ด๊ฒ
๋ฉ์์ง๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ๋ํ๋ฉ๋๋ค. -์ฌํญ ์ต์ ์ด ์ ์ฉ๋ฉ๋๋ค. ๋๋
-์ ์ธํ๋ค ์ ์ธ๋์ง ์์ ๋ชจ๋ ๋ณ์์ ๋ชฉ๋ก์ ์ป์ผ๋ ค๋ฉด ํ๋๊ทธ๋ฅผ ์ง์ ํ์ญ์์ค.
๋ณ์ ์ ์ธ ํ ๋น์ ๋ฉด์ ํ๋ก๊ทธ๋จ์ ํด๋นํ๋ ๊ตญ๊ฐ์ ์๋ฏผ๊ถ์ ๊ฐ์ง๊ณ ์์ง๋ง ๋ชป ์ฐธ์กฐ ๋
ํ๋ก๊ทธ๋จ์์ ์ ์ธ๋์์ง๋ง ํ ๋ฒ๋ ์ฌ์ฉ๋์ง ์์ ์๋ณ์๋ฅผ ๊ฒ์ํฉ๋๋ค.
๊ฐ์ ํ ๋นํ๊ฑฐ๋ ํด๋น ๊ฐ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. COMMON์ ๋ณ์
์ ์ธ๋ฉ๋๋ค. ๋ค์์ ์ํด ํต์ ๋จ -usage=var-๋ฏธ์ฌ์ฉ ์ต์ ์ ์ ํํฉ๋๋ค.
๋ณ์ ์ธํธ ๋น์ ๋ฉด์ ํ๋ก๊ทธ๋จ์ ํด๋นํ๋ ๊ตญ๊ฐ์ ์๋ฏผ๊ถ์ ๊ฐ์ง๊ณ ์์ง๋ง ๋ชป ์ต์ํ
ftnchek ๋ณ์์ ๊ฐ์ด ํ ๋น๋๋ฉด ์ฌ์ฉ์์๊ฒ ์๋ฆฝ๋๋ค.
๋ณ์๋ ํ๋ก๊ทธ๋จ์์ ๋ฌ๋ฆฌ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ ๋ค์์ผ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค.
๊ฐ์. ๋ค์์ ์ํด ํต์ ๋จ -usage=var-set-๋ฏธ์ฌ์ฉ ์ต์ ์ ์ ํํฉ๋๋ค.
๋ณ์ ์ต์ํ ์ ์ ์ธํธ
์ด ๋ฉ์์ง๋ ์๋ณ์๊ฐ ํด๋น ๊ฐ ์ด์ ์ ๊ฐ์ ๊ณ์ฐํ๋ ๋ฐ ์ฌ์ฉ๋จ์ ๋ํ๋ ๋๋ค.
์ด๊ธฐํ. ์ด๋ฌํ ์ฌ์ฉ์ผ๋ก ์ธํด ์๋ชป๋ ๊ฐ์ด ๊ณ์ฐ๋ ์ ์์ต๋๋ค.
์ด๊ธฐ๊ฐ์ ์ ์ด๋์ง ์์ต๋๋ค. ๋ค์์ ์ํด ํต์ ๋จ -์ฌ์ฉ=var-์ด๊ธฐํ๋์ง ์์
์ต์ ์ ์ ํํฉ๋๋ค.
๋ณ์ ๏ผ์ be ์ต์ํ ์ ์ ์ธํธ
๋ค์์ ์ ์ธํ๋ฉด ์ค์ ์ ์ฌ์ฉ๊ณผ ์ ์ฌํฉ๋๋ค. ftnchek ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
ํ์คํ๊ฒ. ftnchek ์ฒซ ๋ฒ์งธ ๋ณ์๊ฐ ์ค์ ๋๊ธฐ ์ ์ ๋ณ์๊ฐ ์ฌ์ฉ๋ ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๋ณ์์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ ํ ์คํธ์์ ํด๋น ํ ๋น ์ด์ ์ ๋ฐ์ํฉ๋๋ค.
๋ค์์ ์ํด ํต์ ๋จ -์ฌ์ฉ=var-์ด๊ธฐํ๋์ง ์์ ์ต์ ์ ์ ํํฉ๋๋ค.
๊ฒฝ๊ณ : DO ์์ธ is ์ง์ ์ ์
์ด ๊ฒฝ๊ณ ๋ DO ๋ฒ์๊ฐ ์ ์์ผ ๋๋ง ์ ๊ณต๋์ง๋ง DO ์ธ๋ฑ์ค๋ ์ ์๊ฐ ์๋๋๋ค.
์ด๋ ์ธ๋ฑ์ค๋ฅผ ์ ์๋ก ์ ์ธํ์ง ๋ชปํ์์ ๋ํ๋ผ ์ ์์ต๋๋ค. ์ ์ํด ํต์ ๋๋
-์๋ฆผ=์ค์ ์ต์ ์ ์ ํํฉ๋๋ค.
๊ฒฝ๊ณ : ์ ์ ๋ชซ ํน๊ธ ... ๋ณํ ์ ํ์ค
๋ ์ ์์ ๋ชซ์ ์ ์ ์ ํ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์ต๋๋ค.
์์ ๋ถ๋ถ์ด ์ญ์ ๋ฉ๋๋ค. ๋๋๊ธฐ์ ๊ด๋ จ๋ ์ ์ ํํ์์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ
๋์ค์ ์ค์ ๋ฐ์ดํฐ ์ ํ์ผ๋ก ๋ณํ๋๋ฉด ์ค์ ์ ํ ๋ถํ ์ด ์ํ๋์์ ์ ์์ต๋๋ค.
์์ ๋. ์ ์ํด ํต์ ๋๋ -์๋ฆผ=int-div-real ์ต์ ์ ์ ํํฉ๋๋ค.
๊ฒฝ๊ณ : ์ ์ ๋ชซ ํน๊ธ ... ์ต์ํ in ๋ฉฑ์ง์
๋ ์ ์์ ๋ชซ์ ์ ์ ์ ํ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์ต๋๋ค.
์์ ๋ถ๋ถ์ด ์ญ์ ๋ฉ๋๋ค. ์ด๋ฌํ ์ ์ ํํ์์ ์ง์๋ก ์ฌ์ฉํ๋ฉด
์ค์ ์ ํ ๊ตฌ๋ถ์ด ์๋๋์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ ์ํด ํต์ ๋๋
-์๋ฆผ=int-div-์ง์ ์ต์ ์ ์ ํํฉ๋๋ค.
๊ฒฝ๊ณ : ์ด๋ฆ ์ง์ ์ธํธ ์ธ์ RETURN ๋ง์ฃผ ์น
Fortran์ ํจ์๊ฐ ๊ฐ์ ๋ฐํํ๋ ๋ฐฉ์์ ๊ฐ์
ํจ์์ ์ด๋ฆ. ์ด ๋ฉ์์ง๋ ํด๋น ๊ธฐ๋ฅ์ด ํ ๋น๋์ง ์์์์ ๋ํ๋ ๋๋ค.
RETURN ๋ฌธ์ด ๋ฐ๊ฒฌ๋ ์ง์ ์ด์ ์ ๊ฐ์ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๊ทธ๊ฒ์
ํจ์๊ฐ ์ ์๋์ง ์์ ๊ฐ์ ๋ฐํํ ์๋ ์์ต๋๋ค.
๊ฒฝ๊ณ : ๋นํ์ค ํต์ฌ๋ก : ์กฐ์ ํฌ๊ธฐ be ์ฐ๊ฒฐ๋ ์ฌ๊ธฐ์์ ์ง๊ธ ํ์ธํด ๋ณด์ธ์.
Fortran 77 ํ์ค(6.2.2์ )์์๋ ๋ฌธ์ ๋ณ์ ์ฐ๊ฒฐ์ ๊ธ์งํฉ๋๋ค.
ํ ๋น ๋ฌธ์ ์ ์ธํ๊ณ ํฌ๊ธฐ๋ ๊ดํธ ์์ ๋ณํ๋ก ํ์๋ฉ๋๋ค.
์ ์ํด ํต์ ๋๋ -f77=ํผํฉ ํํ์.
๊ฒฝ๊ณ : ๋นํ์ค ๊ตฌ๋ฌธ : ์๋นํ ๋ฌธ์ ๊ณผ๊ฑฐ 72 ์ด
์ด ๊ฒฝ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ณต๋ฉ๋๋ค. -f77=๊ธด ์ค ์ค์ ํ๋ ๊ฒฝ์ฐ -์ด ์ค์ ์๋
๋ช ๋ น๋ฌธ ํ๋ ๋๋น๋ฅผ ๋๋ฆฌ๋ ๋ฐ ์ฌ์ฉ๋์์ผ๋ฉฐ ๋ช ๋ น๋ฌธ์๋ ์๋ฏธ๊ฐ ์์ต๋๋ค.
์ด 72๋ฅผ ๋์ด์๋ ํ๋ก๊ทธ๋จ ํ ์คํธ. ํ์ค ํฌํธ๋์ ํด๋น ์ด์ ๋ชจ๋ ํ ์คํธ๋ฅผ ๋ฌด์ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ผ๋ถ ์ปดํ์ผ๋ฌ๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ํ๋ก๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ด ๋ค๋ฅด๊ฒ ์ทจ๊ธ๋ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์ปดํ์ผ๋ฌ.
๊ฒฝ๊ณ : ๋นํ์ค ๊ตฌ๋ฌธ : ์ฑ๋ช ์ ์์ of ์ฃผ๋ฌธ.
ftnchek ANSI์ ์ง์ ๋ ์์๋ฅผ ๋ฒ์ด๋ ๋ช ๋ น๋ฌธ์ ๊ฐ์งํฉ๋๋ค.
ํ์ค Fortran 77. ํ 1์ ๋ค์์์ ํ์ฉ๋๋ ๋ช ๋ น๋ฌธ ์์๋ฅผ ๋ณด์ฌ์ค๋๋ค.
ํฌํธ๋ ์ธ์ด. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์์๊ฐ ์๋ชป๋ ์ง์ ์ ๋ค์์ ์ํด ํด์๋ฉ๋๋ค.
ftnchek, ์ค๋ฅ ๋ฉ์์ง์ '์ฐ์'์ ๋ฐฉ์งํฉ๋๋ค. ์ํ์ค ์นด์ดํฐ๋
์ ์ฌํ ๋ธ๋ก์ ๋ํ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ฐ๋ณต๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋กค๋ฐฑ๋์์ต๋๋ค.
์ง์ . ๋ค์์ ์ํด ํต์ ๋จ -f77=๋ช ๋ น๋ฌธ ์์ ์ต์ ์ ์ ํํฉ๋๋ค.
-------------------------------------------------- ------
| | ์ ๋์ ์ธ
| ๋งค๊ฐ๋ณ์ |---------
| | ๋ค๋ฅธ ์ฌ์
ํ์ |---------------|-------
๊ทธ๋ฆฌ๊ณ | | ๋ช ๋ น๋ฌธ ๊ธฐ๋ฅ
์ ์ฅ | ๋ฐ์ดํฐ |----------------------
| | ์คํ ๊ฐ๋ฅ
-------------------------------------------------- ------
ํ 1
๊ฒฝ๊ณ : ๊ฐ๋ฅํ ๋ถํ by ์ ๋ก
์ด ๋ฉ์์ง๋ ๋๋๊ธฐ๊ฐ ์๋ฃ๋ ๋๋ง๋ค ์ธ์๋ฉ๋๋ค(๋๋๊ธฐ์ ์ํ ๋๋๊ธฐ๋ ์ ์ธ).
๋์์๋). ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๊ฐ ์๋ ๋ฐํ์ ๋ถํ ์ ์ฐพ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ํต์ ๋จ
by -๋ถํ ์ต์ ์ ์ ํํฉ๋๋ค.
๊ฒฝ๊ณ : ํ์ค ์๋ฆฐ ์ ์ ์
ftnchek ์์ ์ค์ ํํ์์ด ํฌํจ๋ ํ ๋น๋ฌธ์ ๊ฐ์งํ์ต๋๋ค.
์ค๋ฅธ์ชฝ์๋ ์ ์ ๋ณ์๊ฐ ์์ง๋ง ์ผ์ชฝ์๋ ์ ์ ๋ณ์๊ฐ ์์ต๋๋ค. ์ค์ ๊ฐ์น์ ๋ถ์ ๋ถ๋ถ
์๊ฒ ๋ ๊ฒ์ด๋ค. ๋ค์์ ์ฌ์ฉํ์ฌ ์ค์ ํํ์์ ์ ์๋ก ๋ช ์์ ์ผ๋ก ๋ณํํ๋ ๊ฒฝ์ฐ
INT ๋๋ NINT ๋ด์ฅ ํจ์์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๊ฐ ์ธ์๋์ง ์์ต๋๋ค. ๋น์ทํ ๋ฉ์์ง๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฐฐ์ ๋ฐ๋ ํํ์์ด ๋จ์ ๋ฐ๋์ ํ ๋น๋ ๊ฒฝ์ฐ ์ธ์๋ฉ๋๋ค.
๋ณ์ ๋ฑ์ ์ํด ์ ์ด๋ฉ๋๋ค. -์๋ฆผ=๊ฐ๋ฑ ์ต์ ์ ์ ํํฉ๋๋ค.
๊ฒฝ๊ณ : ์๋ ์ฒจ์ is ์ง์ ์ ์
๋ฐฐ์ด ์ฒจ์๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ ์๋์ด๋ฏ๋ก ์ ์๊ฐ ์๋ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ฉด
์ฌ๊ธฐ์ ํํ์์ ์ค๋ฅ๋ฅผ ๋ํ๋ผ ์ ์์ต๋๋ค. ์ ์ํด ํต์ ๋๋ -์๋ฆผ=์ค์ ์ฒจ์
์ต์ ์ ์ ํํฉ๋๋ค.
๊ฒฝ๊ณ : ์ ์ ์๋ ๋ณธ๋ ๊ฐ์ถ์ด ์ง ๊ธฐ๋ฅ
์ด ๋ฉ์์ง๋ INTLINSIC ๋ฌธ์ ์ ์ธ๋ ์ด๋ฆ์ด ๋ค์๊ณผ ๊ฐ์์ ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ํฉ๋๋ค.
~์๊ฒ ์๋ ค์ง์ง ์์ ftnchek. ์๋ง๋ ์ด๋ ๋นํ์ค ๋ด์ฅ ํจ์์ผ ๊ฒ์ ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ด์์ฑ์ด ์์ต๋๋ค. ํจ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌ๋ฉ๋๋ค. ftnchek ์ฌ์ฉ์๋ก์-
์ ์๋ ๊ธฐ๋ฅ. ์ด ๊ฒฝ๊ณ ๋ ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ์ด๋ค ์ต์ ์ผ๋ก๋ ํ์๋์ง ์์ต๋๋ค.
ftnchekํ๋ก๊ทธ๋จ ๋ถ์์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ด์ฅ ํจ์๊ฐ ๋ค์ ์ค ํ๋์ ์๋ ๊ฒฝ์ฐ
์ง์๋๋ ๋นํ์ค ๋ด์ฅ ํจ์ ์ธํธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด -๋ณธ์ง์ ์ค์ ์
์์ธ ftnchek ๊ทธ๊ฒ์ ์ธ์ํ๋ ๊ฒ.
์ ํ ์ฌํญ ๋ฐ ํ์ฅ
ftnchek ๋ช ๊ฐ์ง ์ฌ์ํ ์ ํ ์ฌํญ๊ณผ ์๋ง์ ์ ํ ์ฌํญ์ด ์๋ ANSI ํ์ค Fortran-77 ํ๋ก๊ทธ๋จ์ ํ์ฉํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ํ์ฅ.
์ ํ ์ฌํญ:
๋ช ๋ น๋ฌธ ํจ์์ ๋๋ฏธ ์ธ์๋ ์ผ๋ฐ ๋ณ์์ฒ๋ผ ์ฒ๋ฆฌ๋ฉ๋๋ค.
ํ๋ก๊ทธ๋จ. ์ฆ, ํด๋น ๋ฒ์๋ ๋ช ๋ น๋ฌธ๋ฟ๋ง ์๋๋ผ ์ ์ฒด ํ์ ํ๋ก๊ทธ๋จ์ ๋๋ค.
๊ธฐ๋ฅ ์ ์.
FORMAT ๋ฌธ ๊ฒ์ฌ๊ฐ ๋์จํ์ฌ ๊ตฌ๋ถ ๊ธฐํธ ๋๋ฝ(์ผํ,
๋ฑ) ํ์ค์์ ์๊ตฌํ๋ ํ์ ์ค๋ช ์ ์ฌ์ด
์ .d ์ค๋ช ์์ ์์ด์๋ ์ ๋๋ ํ๋์ ๋๋ค. ์๋์ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
-f77=ํ์-ํธ์ง-์ค๋ช ๋นํ์ค ์ค๋ช ์ ์ ํ(์: O)์ ๋ํด ์ง์๋ฉ๋๋ค.
ํ์ฅ.
๋ช ๊ฐ์ง ๊ตฌ๋ฌธ ํ์ฅ๊ณผ Fortran 90 ์์๊ฐ ์์ต๋๋ค. ftnchek ๋ฐ์ ๋ค์ธ๋ค
ํ์ง๋ง ๊ฒ์ฌ๋ ๊ฑฐ์ ํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํฌ์ธํฐ ์ฌ์ฉ(
๋นํ์ค Cray ๊ตฌ๋ฌธ ๋๋ Fortran 90 ๊ตฌ๋ฌธ)์ ์ธํธ ์ธ์๋ ํ์ธ๋์ง ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์ํ์ ๋๋ค. ์ธ์ ๊ฐ๋ ์ข ๋ ์ฒ ์ ํ ์ ๊ฒ์ด ์ด๋ฃจ์ด์ง๊ธธ ๋ฐ๋๋๋ค.
๊ตฌํ๋์์ง๋ง ํ์ฌ ์ฌ์ฉ์๋ ์ด๋ฌํ ๊ตฌ๋ฌธ์ ์์ฉ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
๊ธฐ๋ฅ์ ๋จ์ํ ์ฝ๋์ ๋ค๋ฅธ ์ธก๋ฉด์ ํ์ธํ ์ ์๋๋ก ํธ์๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
๊ทธ๊ฒ๋ค์ ํฌํจํ๊ณ ์์ต๋๋ค. ์ด๋ค ๊ธฐ๋ฅ์ด ์๋์ง์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ์ฅ ์น์ ์ ์ฐธ์กฐํ์ธ์.
์น์ธ๋์์ง๋ง ์์ ํ ํ์ธ๋์ง ์์์ต๋๋ค.
์ฌ์ฉ์ ์ ๊ณต ์๋ธํ๋ก๊ทธ๋จ์ ์ด๋ฆ์ด ๋นํ์ค ๋ด์ฅ ์๋ธํ๋ก๊ทธ๋จ ์ค ํ๋์ ๋์ผํ ๊ฒฝ์ฐ
์ ์ํด ์ธ์๋๋ ๊ธฐ๋ฅ ftnchek์ ๊ฒฝ์ฐ EXTERNAL ๋ฌธ์์ ์ ์ธํด์ผ ํฉ๋๋ค.
์ด๋ฅผ ํธ์ถํ๋ ๋ชจ๋ ๋ฃจํด. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๊ฒ์ฌ๋ฅผ ๋ฐ๊ฒ ๋ฉ๋๋ค.
๋ด์ฅ ํจ์์ ์ ๊ณต๋ฉ๋๋ค. ๋นํ์ค ๋ด์ฅ ํจ์๋ ๊ทธ๋ ์ง ์๊ธฐ ๋๋ฌธ์
ํ์ค์์๋ Fortran 77 ํ์ค์ ์ด EXTERNAL ๋ฌธ์ด ํ์ํ์ง ์์ต๋๋ค.
์ฌ์ฉ๋ฒ - -๋ณธ์ง์ =์์ ์ค์ , ๋๋ถ๋ถ์ ๋นํ์ค ๋ด์ฅ ํจ์ ์ธ์
(์ด์ค ๋ณตํฉ ๋ฐ์ดํฐ ์ ํ์ ์ง์ํ๋ ๋ฐ ํ์ํ ๊ฒ๋ง ์ ์ธ)
๋๋ค. ์๋์์ ์ง์๋๋ ๋นํ์ค ๋ด์ฅ ํจ์ ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.
ํ ๋ก -๋ณธ์ง์ ์์ ์ค์ .
ํ์ฅ:
์ด๋ฌํ ๋ชจ๋ ํ์ฅ๋ช (์๋ฌธ์ ์ ์ธ)์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฅผ ์์ฑํฉ๋๋ค.
๊ด๋ จ -f77 ์ต์ ์ด ์ค์ ๋์์ต๋๋ค. ์๋ ๋์ด๋ ํ์ฅ ์ค ์ผ๋ถ๋ ๋ค์์ ์ผ๋ถ์ ๋๋ค.
ํฌํธ๋-90 ํ์ค. ์ด๋ ํ๊ธฐ๋ฒ(F90)์ผ๋ก ํ์๋ฉ๋๋ค.
ํญ์ด ํ์ฉ๋๋ฉฐ ํญ์ ํด๋นํ๋ ๋๋ฑํ ๊ณต๋ฐฑ์ผ๋ก ๋ณํ๋ฉ๋๋ค.
8์ด๋ง๋ค ์ค์ง๋ฉ๋๋ค. ํ์ค์์๋ ํญ์ ์ธ์ํ์ง ์์ต๋๋ค. ์ผ๋ถ๋ ์ฐธ๊ณ ํ์ธ์
์ปดํ์ผ๋ฌ๋ ํญ์ ํ์ฉํ์ง๋ง ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํฉ๋๋ค. DEC์ ๋ํด ์ ์๋ ์ฒ๋ฆฌ
FORTRAN์ ๋ค์์ ์ฌ์ฉํ์ฌ ์ป์ ์ ์์ต๋๋ค. -์์ค=dec-ํญ ํ๊ฒฝ.
๋ฌธ์์ด์ ๋ฐ์ดํ๋ ์ํฌ์คํธ๋กํผ๋ก ๊ตฌ๋ถํ ์ ์์ต๋๋ค. ๋ ๊ฐ์ ์ํ์ค
๊ตฌ๋ถ ๋ฌธ์๋ ํฌํจ๋ ๋จ์ผ ๊ตฌ๋ถ ๋ฌธ์๋ก ํด์๋ฉ๋๋ค.
(F90)
๋ฌธ์์ด์๋ UNIX ์คํ์ผ ๋ฐฑ์ฌ๋์ ์ด์ค์ผ์ดํ ์ํ์ค๊ฐ โโํฌํจ๋ ์ ์์ต๋๋ค. ๊ทธ๋ค์ ๋ ๊ฒ์ด๋ค
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ก ํด์๋ฉ๋๋ค. -source=unix-๋ฐฑ์ฌ๋์ ์ค์ ์ด ์ฃผ์ด์ง๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด
๋ฐฑ์ฌ๋์ ๋ฌธ์๋ ์ผ๋ฐ ์ธ์ ๋ฌธ์๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
์์ค ์ฝ๋๋ Fortran 90 ๋ฌด๋ฃ ํ์ ๋๋ ๊ธฐ์กด ๊ณ ์ ํ์์ผ ์ ์์ต๋๋ค.
(F90)
๋ช ๋ น๋ฌธ ๊ตฌ๋ถ ๊ธฐํธ๋ก ์ธ๋ฏธ์ฝ๋ก ์ด ํ์ฉ๋ฉ๋๋ค. (F90)
์๋ฌธ์๋ ํ์ฉ๋๋ฉฐ ๋ด๋ถ์ ์ผ๋ก ๋๋ฌธ์๋ก ๋ณํ๋ฉ๋๋ค.
๋ฌธ์์ด์ ์ ์ธํ๊ณ . ํ์ค์ ๋ค์์ ์ ์ธํ๊ณ ๋๋ฌธ์๋ง ์ง์ ํฉ๋๋ค.
์ฃผ์๊ณผ ๋ฌธ์์ด. (F90)
Fortran 77 ํ์ค์ ๋ฐ๋ผ Hollerith ์์๊ฐ ํ์ฉ๋ฉ๋๋ค.
๋ถ๋ก C. ํํ์์ ์ฌ์ฉํ๊ฑฐ๋ ๋ฐ์ดํฐ ์ ํ๊ณผ ํผ๋ํด์๋ ์ ๋ฉ๋๋ค.
์ฑ๊ฒฉ.
์ด 1์ ๋ฌธ์ 'D'(๋๋ฌธ์ ๋๋ ์๋ฌธ์)๋ ๋ฌธ์์ ์์์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
๋ ผํ. ์ด๋ฌํ ์ค์ ์ฃผ์ ๋์ ๋ช ๋ น๋ฌธ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ์ต์ ์ ์์ต๋๋ค.
๋ค์ ์ค์ ์ ๋ฐ๋ผ ๋ช ๋ น๋ฌธ์ 72์ด๋ณด๋ค ๊ธธ์ด์ง ์ ์์ต๋๋ค. -์ด ์๋ค
ํ๋๋ฅผ ๋๋ฆฌ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํ์ค์ ๋ฐ๋ฅด๋ฉด 73์ด์ ๋ชจ๋ ํ ์คํธ๋
80๋ถํฐ 80๊น์ง๋ ๋ฌด์๋๋ฉฐ ํ์ XNUMX์ด๋ณด๋ค ๊ธธ ์ ์์ต๋๋ค.
๋ณ์ ์ด๋ฆ์ XNUMX์๋ฅผ ์ด๊ณผํ ์ ์์ต๋๋ค. ํ์ค์์๋ XNUMX์ ๋ค์๊ณผ ๊ฐ์ด ์ง์ ํฉ๋๋ค.
์ต๋. ftnchek ์ต๋ 31์ ๊ธธ์ด์ ์ด๋ฆ์ ํ์ฉํฉ๋๋ค(F90).
๋ณ์ ์ด๋ฆ์๋ ๋ฐ์ค๊ณผ ๋ฌ๋ฌ ๊ธฐํธ(๋๋ ๊ธฐํ ์ํ๋ฒณ์ด ์๋ ๋ฌธ์)๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
์ ์ํด ์ง์ ๋ ๋ฌธ์ -์๋ณ์-๋ฌธ์ ์ต์ ). ์ด ์บ๋ฆญํฐ๋ค์
์ํ๋ฒณ ๋ฌธ์์ ๋์ผํ๊ฒ ์ทจ๊ธ๋ฉ๋๋ค. ์์ํ๋ ๋ณ์์ ๊ธฐ๋ณธ ์ ํ
์ด ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ง์ง์ ๋๋ค. IMPLICIT ์ ํ ๋ฌธ์์ ๋ค์ ๋ฒ์๋ฅผ ์ง์ ํฉ๋๋ค.
๋ฌธ์์ ๊ฒฝ์ฐ ๋ฌ๋ฌ ๊ธฐํธ๋ Z ๋ค์์ ๋ฐ์ค์ด ์ต๋๋ค. (๋ค๋ฅธ ์ด๋ค
์ฌ์ฉ์ ์ ์ ๋ฌธ์๋ ๋ฌ๋ฌ ๊ธฐํธ์ ๋์ผํ๊ฒ ์ฒ๋ฆฌ๋ฉ๋๋ค.) Fortran 90
๋ณ์ ์ด๋ฆ์ ๋ฐ์ค์ ํ์ฉํฉ๋๋ค.
UNIX ๋ฒ์ ์์๋ ์ ์ฒ๋ฆฌ๊ธฐ ์ง์๋ฌธ, ์ฆ ํ์ ์กด์ฌ๋ฅผ ํ์ฉํฉ๋๋ค.
ํ์ด๋ ๊ธฐํธ(#)๋ก ์์ํฉ๋๋ค. #line์ ์ ์ธํ๊ณ ๋ ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
ํด์๋์ด ํ ๋ฒํธ์ ์์ค๋ฅผ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ง์๋ฌธ
๊ฒฝ๊ณ ๋ฐ ์ค๋ฅ ๋ฉ์์ง์ ํ์ผ ์ด๋ฆ์ ๋๋ค. #include ์ง์์ด๋ ๊ทธ๋ ์ง ์์ต๋๋ค.
์ ์ํด ์ฒ๋ฆฌ ftnchek. ์์ค ํ์ผ์ ํฌํจํ๊ธฐ ์ํด ์ด๋ฅผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
์ ๋ ฅ๋๊ธฐ ์ ์ ์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ํต๊ณผํจ ftnchek. ์๋์์ ์ธ๊ธํ๋ฏ์ด,
ftnchek ๊ตฌ๋ฌธ์ด ๋ค๋ฅธ INCLUDE ๋ฌธ์ ์ฒ๋ฆฌํฉ๋๋ค. ์
์ ํ ํ๋ก๊ทธ๋จ, ftnpp(1L) (๋ณ๋ ๊ตฌ๋งค ๊ฐ๋ฅ)์ ๋ค์๊ณผ ๊ฐ์ ์ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
INCLUDE ํ์ผ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํฉ๋๋ค.
Fortran 90 DO ... ENDDO ์ ์ด ๊ตฌ์กฐ๊ฐ ํ์ฉ๋ฉ๋๋ค. ์ฌ์ดํด๊ณผ EXIT
์ง์ ์ด ํ์ฉ๋ฉ๋๋ค. ์ด๋ค ๋ชจ๋์๋ ์ ํ์ do-construct ์ด๋ฆ์ด ์์ ์ ์์ง๋ง
๊ตฌ์ฑ ์ด๋ฆ์ ์ผ๊ด์ฑ์ด ํ์ธ๋์ง ์์ต๋๋ค. (F90)
Fortran 90 SELECT CASE ๊ตฌ๋ฌธ์ด ํ์ฉ๋ฉ๋๋ค. (F90)
๊ตฌ์ฑ ์ด๋ฆ์ IF, THEN, ELSE, ENDIF ๋ฐ SELECT CASE์์๋ ํ์ฉ๋ฉ๋๋ค.
์ง์ . (F90)
ACCEPT ๋ฐ TYPE๋ฌธ(ํฐ๋ฏธ๋ I/O์ฉ)์ ๋์ผํ๊ฒ ํ์ฉ๋ฉ๋๋ค.
PRINT๋ก์์ ๊ตฌ๋ฌธ.
์์ ``Cray ํฌ์ธํฐ'' ๊ตฌ๋ฌธ์ด ํ์ฉ๋ฉ๋๋ค. ๊ทธ๊ฒ์
ํฌํธ๋ 90 ํฌ์ธํฐ ๋ฌธ. ๋ค๋ฅธ ์ง์ ์ ๋ํ ์ค์ ํ์ธ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ๊ตฌ๋ฌธ๋ณด๋ค ์ด ์ง์ ์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํฌ์ธํฐ(ํฌ์ธํฐ, ๋พฐ์กฑํ) [,(ํฌ์ธํฐ, ๋พฐ์กฑํ)]
ํฌ์ธํฐ ๋ณ์์๋ INTEGER *4์ ๋ฐ์ดํฐ ์ ํ์ด ํ ๋น๋ฉ๋๋ค. ์ฌ์ฉ๋ ํ์ธ
pointee ๋ณ์๋ ์ค์ ๋ก ๊ฐ์ ์ ์ผ๋ก ์ ๊ทผ๋๊ธฐ ๋๋ฌธ์ ์ต์ ๋ฉ๋๋ค.
ํฌ์ธํฐ๋ฅผ ํตํด.
๋ค์ Fortran 90 ํฌ์ธํฐ ๊ด๋ จ ๊ตฌ๋ฌธ์ด ํ์ฉ๋ฉ๋๋ค: ALLOCATABLE,
POINTER ๋ฐ TARGET ๋ฌธ๊ณผ ์ ํ ์ ์ธ์ ๋์ผํ ์์ฑ
ALLOCATE, DEALLOCATE ๋ฐ NULLIFY ์คํ๋ฌธ. ํฌ์ธํฐ ํ ๋น์ ์ฌ์ฉํ์ฌ
=> ์ฐ์ฐ์; ๊ทธ๋ฆฌ๊ณ ๋ด์ฅ ํจ์ ALLOCATED ๋ฐ ASSOCIATED. ์์ ์๋ฏธ
ํฌ์ธํฐ ๋ณ์ ๋ฐ ์ฐ์ฐ์ ๋ํ ํ์ธ์ ๊ธฐ๋ณธ ์ค์ ์ด์์ผ๋ก ์ํ๋์ด ์ฌ์ฉ๋ฉ๋๋ค.
์ํ. ์๋ฅผ ๋ค์ด, ๋งค๋ฌ๋ฆฐ ํฌ์ธํฐ์ ๊ฐ์ ์ค๋ฅ๋ฅผ ๊ฒ์ฌํ์ง ์์ต๋๋ค.
๋๋ ํ ๋น๋์ง ์์ ๋ฐฐ์ด์ ์ฌ์ฉํฉ๋๋ค.
๋ช ๋ น๋ฌธ์๋ ์ฐ์ ์ค์ด ์ฌ๋ฌ ๊ฐ ์์ ์ ์์ต๋๋ค. ํฌํธ๋ 77๊ณผ ํฌํธ๋
90๊ฐ ํ์ค์์๋ ๊ณ ์ ์์ค ํ์์ผ๋ก ์ต๋ 19๊ฐ๋ฅผ ํ์ฉํฉ๋๋ค. ํฌํธ๋ 90 ํ์ค
๋ฌด๋ฃ ์์ค ํ์์ผ๋ก ์ต๋ 39๊ฐ๋ฅผ ํ์ฉํฉ๋๋ค.
๊ตฌ๋์ ์ผ๋ก ๊ตฌ์ฑ๋ ๊ด๊ณํ(๋น๊ต) ์ฐ์ฐ์: < <= == /= > >=
ํ์ฉ๋ฉ๋๋ค. (F90)
๋๋ํ๋ก ์์ํ๋ ์ธ๋ผ์ธ ์ฃผ์์ด ํ์ฉ๋ฉ๋๋ค. (F90)
NAMELIST I/O๊ฐ ์ง์๋ฉ๋๋ค. ๊ตฌ๋ฌธ์ Fortran 90๊ณผ ๋์ผํฉ๋๋ค.
FORMAT ๋ฌธ์๋ ์บ๋ฆฌ์ง ๊ธ์ง๋ฅผ ๋ํ๋ด๋ ๋ฌ๋ฌ ๊ธฐํธ๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
๋ฐํ. ๊บพ์ ๊ดํธ๋ก ๋ฌถ์ธ ์ ์ ํํ์์ ์ด๋์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Fortran 77 ํ์ค์์ ์ ์ ์์๋ฅผ ํ์ฉํ๋ FORMAT ๋ฌธ(์์ธ
Hollerith ์์์ ๊ธธ์ด), ๋ฐ๋ณต์ ๋ํ ๋ฐํ์ ๊ฐ์ ์ ๊ณตํฉ๋๋ค.
์ฌ์ ๋๋ ํ๋ ๋๋น.
๋นํ์ค ํค์๋๋ VMS์ ํค์๋์ ํด๋นํ๋ I/O ๋ฌธ์์ ํ์ฉ๋ฉ๋๋ค.
ํฌํธ๋.
IMPLICIT NONE ๋ฌธ์ด ์ง์๋ฉ๋๋ค. ์ด ์ง์ ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ชจ๋ ๋ณ์์๋ ๋ช ์์ ์ผ๋ก ์ ์ธ๋ ๋ฐ์ดํฐ ์ ํ์ด ์์ด์ผ ํฉ๋๋ค. ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ ๊ฒ๋ณด๋ค
๊ตฌ๋ฌธ ์ค๋ฅ ๋ฉ์์ง์ ํจ๊ป ์ด๋ฌํ ๋ณ์๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ftnchek ๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค
๋ชจ๋์ ๋์ ํ์ธํ ๋ค์ ์ ์ธ๋์ง ์์ ๋ชจ๋ ๋ณ์ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค.
์ํด ์์ต๋๋ค -์ ์ธํ๋ค ์ต์ . (F90)
๋ฐ์ดํฐ ์ ํ INTEGER, REAL, COMPLEX ๋ฐ LOGICAL์ ์ ํ ์ฌํญ์ ๊ฐ์ง ์ ์์ต๋๋ค.
์ ํ ์ ์ธ์ ์ ๋ฐ๋ ์ฌ์. ์๋ฅผ ๋ค์ด REAL*8์ 8๋ฐ์ดํธ๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ถ๋ ์์์ ๋ฐ์ดํฐ ์ ํ. REAL*8 ๋ฐ์ดํฐ ์ ํ์ด ๋ฐ๋์ ๊ณ ๋ ค๋๋ ๊ฒ์ ์๋๋๋ค.
DOUBLE PRECISION๊ณผ ๋์ผํฉ๋๋ค. -๋จ์ด ํฌ๊ธฐ ํ๊ฒฝ. ํฌํธ๋ 77
ํ์ค์์๋ CHARACTER ๋ฐ์ดํฐ์ ๋ํด์๋ง ๊ธธ์ด ์ง์ ์ ํ์ฉํฉ๋๋ค.
ftnchek ๋ณต์์์ ๋ํ DOUBLE COMPLEX ์ ํ ์ฌ์์ ์ง์ํฉ๋๋ค.
์ค์๋ถ์ ํ์๋ถ๋ ๋ฐฐ์ ๋ฐ๋์ ๋๋ค. ํฌํจ๋ ํผํฉ ๋ชจ๋ ์ฐ์ฐ
๋ฐฐ์ ๋ฐ๋ ์ค์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๋จ์ ๋ฐ๋ ๋ณตํฉ๋ฌผ, ๋ค์์์ ๊ธ์ง๋จ
ํ์ค์ ์ด์ค ๋ณต์์ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์ถํฉ๋๋ค.
๊ฒฐํฉ๋ ์ ํ ์ ์ธ๊ณผ ๋ฐ์ดํฐ ๋ฌธ๊ณผ ์ ์ฌํ ์ด๊ธฐํ๊ฐ ํ์ฉ๋ฉ๋๋ค.
์ด๋ ํ์ค Fortran 77 ์ ํ ์ ์ธ ํ์์ ๊ฐ์ง๋ฉฐ ๊ทธ ๋ค์ ์ฌ๋์๊ฐ ์ต๋๋ค.
DATA ๋ฌธ์ ์ฌ์ฉ๋๋ ๊ฒ๊ณผ ๊ฐ์ ๊ตฌ๋ถ๋ ์์ ๋ชฉ๋ก์ ๋๋ค. ์ ์
๊ตฌ๋ฌธ์
์ ์ N / 100 /
์ด ๋ฉ์ฒญํ ์ด๊ธฐํ ์ ์ธ ํ์์ Fortran 90์์๋ ์ฑํ๋์ง ์์์ต๋๋ค.
์ ์ธ์ ์๋ ์ค๋ช ๋ ํ์ค ํ์์ ์ฌ์ฉํ์ฌ ์์ฑ๋์ด์ผ ํฉ๋๋ค.
~์๊ฒ ์ธ์ ๋ฐ๋ค ftnchek.
Fortran 90 ์์ฑ ๊ธฐ๋ฐ ์ ํ ์ ์ธ์ ๋ํ ์ง์์ ์ ํ๋์ด ์์ต๋๋ค. ์ด๊ฒ
์ ์ธ ์คํ์ผ์ ๋ ๊ฐ์ ์ฝ๋ก (::)์ ์ฌ์ฉํ์ฌ ๊ตฌ๋ณ๋ฉ๋๋ค.
์์ฑ ๋ชฉ๋ก๊ณผ ์ ์ธ๋ ๋ณ์ ๋ชฉ๋ก์ ๋๋ค. ์ง์๋๋ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด๋ณด ํ๋ก๊ทธ๋๋จธ์๊ฒ๋ ์ ํฉํ์ง๋ง ์์ง ์ ๋ฌธ์ ์ธ ํ๋ก๊ทธ๋๋จธ์๊ฒ๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค.
๊ณ ํ์ง Fortran 90 ํ๋ก๊ทธ๋จ. ์์ผ๋ก ๋ ๋ง์ ๊ธฐ๋ฅ์ ๋ํ ์ง์์ ์ถ๊ฐํ๊ณ ์ถ์ต๋๋ค.
๋ฆด๋ฆฌ์ค. ๋๋ ์ด ์ผ์ ๋์ธ ์์๋ด์ฌ์๋ค์ ์ด๋ํฉ๋๋ค. ToDo ํ์ผ์ ์ฐธ์กฐํ์ธ์.
์์ธํ ๋ด์ฉ์ ์์ค ์ฝ๋ ๋ฐฐํฌ๋ฅผ ์ฐธ์กฐํ์ธ์. ํ์ฌ ํ์ฉ๋๋ ์์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ชจ๋ ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ์ ํ์ DIMENSION, EXTERNAL, INTRINSIC, PARAMETER ๋ฐ SAVE์ ๋๋ค.
์๋ก์ด ํํ์ ์ ์ธ์ ํตํด ๋ณ์์ ๊ฐ์ ํ ๋นํ ์๋ ์์ต๋๋ค.
์ ์ธํ๋ค. ํ์ฌ (LEN=๊ฐ) ๋ฌธ์ ๊ธธ์ด๋ฅผ ์ง์ ํ๋ ํ์๋
๋ฐ์๋ค์ฌ์ก์ต๋๋ค. ์ข ๋ฅ ์ฌ์, ๋ค์์ ์ฌ์ฉ(KIND=๊ฐ) ๊ตฌ๋ฌธ ๋ถ์๋์ง๋ง ๊ทธ๋ ์ง ์์ต๋๋ค.
์ฒ๋ฆฌ๋จ: ๋ชจ๋ ์ข ๋ฅ๊ฐ ๊ธฐ๋ณธ ์ข ๋ฅ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๋ํ ์ ๊ฒ์ด ๊ฑฐ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ๊ตฌ๋ฌธ์ ๋์ด์๋ ์ด๋ฌํ ์ ์ธ.
์ผ๋ฐ์ ์ผ๋ก ๋ฐ๊ฒฌ๋๋ ๋นํ์ค ๋ด์ฅ ํจ์๊ฐ ๋ง์ด ์ ๊ณต๋ฉ๋๋ค. ์ฐธ์กฐ
ํ ๋ก -๋ณธ์ง์ ๊ธฐ๋ฅ ๋ชฉ๋ก๊ณผ ํด๋น ๊ธฐ๋ฅ์ ์ ์ดํ๋ โโ๋ฐฉ๋ฒ์
์ธ์.
๋ฐฐ์ด์ ์ทจํ๋ ๋นํ์ค ๋ด์ฅ ํจ์์ ๊ฒฝ์ฐ ์ธ์ ๊ฒ์ฌ๊ฐ ์๊ฒฉํ์ง ์์ต๋๋ค.
ํผํฉ ์ธ์ ์ ํ.
ftnchek INCLUDE ๋ฌธ์ ํ์ฉํฉ๋๋ค. ์ด๋ ๋ค์์ ํ ์คํธ๋ฅผ ํฌํจ์ํต๋๋ค.
์ฃผ์ด์ง ํ์ผ. ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค
ํฌํจํ๋ค 'ํ์ผ ์ด๋ฆ'
์ด๋ Fortran 90๊ณผ ํธํ๋ฉ๋๋ค. -์์ค=vms-include ์ต์ ์ด ์ฃผ์ด์ง๊ณ ,
ftnchek ์ด ๋ช ๋ น๋ฌธ๊ณผ ๊ด๋ จํ์ฌ VMS ๊ท์น์ ๋ฐ๋ฆ ๋๋ค.
๊ธฐ๋ณธ ํ์ฅ์ .์์ํ ํ์ผ ์ด๋ฆ ํ์ฅ์๊ฐ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ
ํฌํจ๋ ๋ชฉ๋ก์ ์ ์ดํ๊ธฐ ์ํด ํ์ผ ์ด๋ฆ ๋ค์ ํ์ ์ /[NO]LIST
ํ์ผ. VMS ํ ์คํธ ๋ชจ๋ ํฌํจ์ ์ง์๋์ง ์์ต๋๋ค.
ํฌํจ ํ์ผ์ ํฌํจ๋ ํญ๋ชฉ๊ณผ ๊ด๋ จ๋ ์ง๋จ ์ถ๋ ฅ์์
์ค๋ฅ๋ ํฌํจ ํ์ผ์ ์์น์
ํ์ผ์ด ํฌํจ๋ ์์ ํ์ผ์ ๋๋ค.
ftnchek ๊ดํธ๊ฐ ์๋ PARAMETER ๋ฌธ์ ํ์ฉํฉ๋๋ค. ์ด๋ค์ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์ ๊ฒ์ด๋ค
๋ง์ฝ์ ๋ํด -f77=ํ๋-๋ ธํ๋ ํ๋๊ทธ๊ฐ ์ฃผ์ด์ง๋๋ค.
ftnchek ๋ด์ฅ ํจ์์ ๊ด๋ จ๋ PARAMETER ์ ์๋ฅผ ํ์ฉํฉ๋๋ค.
์ ์๊ฐ ์๋ ์ง์์ ์ํ ์ง์. ์ด ๋ ๊ฐ์ง ๊ฒฝ์ฐ ๋ชจ๋ ๊ธ์ง๋์ด ์์ต๋๋ค.
Fortran 77 Standard์ ๋ํด ๊ฒฝ๊ณ ๋ฅผ ๋ฐ๊ฒ ๋ฉ๋๋ค. -f77=๋งค๊ฐ๋ณ์ ๋ด์ฅ ํ๋๊ทธ
์ฃผ์ด์ง๋ค. ๋ด์ฅ ํจ์ ๊ฐ์ด ์ปดํ์ผ ํ์ ์ ์ ์์์ธ ๊ฒฝ์ฐ
ftnchek ํ๊ฐํ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด ๋งค๊ฐ๋ณ์๊ฐ ๋ค์์์ ์ฌ์ฉ๋๋์ง ๋ ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ฐฐ์ด ํฌ๊ธฐ ์ ์ธ. Fortran 90์ PARAMETER์ ๋ด์ฅ ๊ธฐ๋ฅ์ ํ์ฉํฉ๋๋ค.
์ ์.
ํ๊ฐ๋๋ ๋ด์ฅ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ABS IABS ํฌ๋ฏธํ IDIM MAX
MAX0 MIN MIN0 MOD ๊ธฐํธ
ISIGN LEN ICHAR ์ธ๋ฑ์ค
์ ์ ์ธ์์ ํจ์๋ ์ธ์๊ฐ ์ ์์ธ ๊ฒฝ์ฐ์๋ง ํ๊ฐ๋ฉ๋๋ค.
๋์์๋ ํํ. (์ฌ๊ธฐ์๋ ์ ์ ์์, ๋งค๊ฐ๋ณ์ ๋ฐ
๋ด์ฅ ํจ์๋ฅผ ํ๊ฐํ์ต๋๋ค.) LEN ํจ์๋ ์ธ์๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ํ๊ฐ๋ฉ๋๋ค.
๋ฌธ์ ์์์ ๊ธธ์ด๊ฐ ์๋ ๋ณ์๋ง ํฌํจํ๋ ํํ์
์กฐ์ ํ ์ ์๋. ICHAR ๋ฐ INDEX ํจ์๋ ์ธ์๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ํ๊ฐ๋ฉ๋๋ค.
๋ฌธ์ ์์. ftnchek ์ผ๋ถ ๊ฐ์ด ํ์ํ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฅผ ํ์ํฉ๋๋ค.
ํ๊ฐ๋์ง ์๋ ๋ด์ฅ ํจ์.
ํ์ฌ STYLE
๋ฒ์ 3.2์์ ๋ฒ์ 3.3์ผ๋ก ๋ณ๊ฒฝ๋ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ๋ฌด์ ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ํด ํ๋ฐํธ์๋๋ฅผ ๋ค์ ์์ฑํ์ฌ ์ค๋ ๋ฒ๊ทธ๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
๋ชจํธ์ฑ์ด ํด๊ฒฐ๋์ง ์์ ์ง์ ์ ๋ํ ์๋ชป๋ ํด์์ ์ด๋ํ
์ฒซ ๋ฒ์งธ ์ค.
2. ๊ทธ๋งํผ -mkhtml ์ต์ ์ ์ด์ MS-DOS ๋ฒ์ ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
3. Fortran 90 ํฌ์ธํฐ ๊ด๋ จ ๊ตฌ๋ฌธ์ ๋ํ ์ง์ ์ถ๊ฐ: ALLOCATE, DEALLOCATE ๋ฐ NULLIFY
์ง์ ; ์ ํ ์ ์ธ์ ALLOCATABLE, POINTER ๋ฐ TARGET ์์ฑ; ๊ทธ๋งํผ
ํฌ์ธํฐ ํ ๋น ์ฐ์ฐ์ => ๋ฐ ๋ด์ฅ ํจ์ ALLOCATED ๋ฐ ASSOCIATED; ๊ทธ๋ฆฌ๊ณ
์ง์ฐ๋ ํํ์ ๋ฐฐ์ด ์ ์ธ. ํ์ฌ ์ด๋ฌํ ์๋ก์ด ๊ตฌ๋ฌธ ๊ธฐ๋ฅ์ด ํ์ฉ๋ฉ๋๋ค.
ํ์ง๋ง ์ ๋๋ก ํ์ธ๋์ง ์์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ Robert Landrito๊ฐ ์ถ๊ฐํ์ต๋๋ค.
4. ๊ทธ๋งํผ -f77 ๊ณผ -f90 ํฌ์ธํฐ ``Cray ํฌ์ธํฐ''์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํ๋ โโ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ด๋ฆ์ด ํฌ๋ ์ด ํฌ์ธํฐ. ๊ทธ๋งํผ -f77=ํฌ์ธํฐ ์ด์ ์ต์ ์ด ๋ค์์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
Fortran 90 ํฌ์ธํฐ ๊ด๋ จ ๊ตฌ๋ฌธ์ด ํฌํจ๋ ์ฝ๋์ ๋๋ค.
5. ์ฌ๊ตฌํ -mkhtml ์ด์ ๋ค์์ ํฌํจํ๋ ์์ค ํ์ผ์์ ์ฒ๋ฆฌ ์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ก์ต๋๋ค.
๋ง์ ๋ฃจํด.
6. ๋ ์ด์ ์์ ํ ํ์๊ฐ ์๋๋ก ํ ์คํธ ๋๋ ํ ๋ฆฌ์ ๋ฐฐ์ด์ ๋ณ๊ฒฝํ์ต๋๋ค.
ํ ์คํธ ์ค์ํธ๋ฅผ ์คํํ๊ธฐ ์ํ ๋ฐฐํฌํ(์ฒดํฌ.๋ฐ์ฅ) MS-DOS์์.
7. ๋จ์ถ๋ ์ด๋ฆ์ ์ค์ ํ ๋ ๋ช ๋ น์ค์์ ์ซ์ ์ค์ ์ ์ฝ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ต๋๋ค.
3 ์
8. ๋ ์ด๋ธ์ด ์ง์ ๋ END ๋ฌธ์ ์ฐธ์กฐํ๋ GOTO์ ๋ํด ์๋ชป๋ ๊ฒฝ๊ณ ๋ฅผ ์ ๋ฐํ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ต๋๋ค.
END ์์ ๋ช ๋ น๋ฌธ์ด FORMAT์ธ ๊ฒฝ์ฐ.
9. ์๋ก์ด ๊น๋ฐ -f77=๋ฌธ์ Fortran 77 ํ์ฅ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ์ดํฉ๋๋ค.
๋ฌธ์ ๋ฐ์ดํฐ ์ ํ. ์ด ์๋ก์ด ํ๋๊ทธ์ ํจ๊ป Fortran 90 ๊ท์น์ ๋ํ ์ง์์ด ์ ๊ณต๋ฉ๋๋ค.
XNUMX ๋๋ ์์ ๊ธธ์ด๋ก ํ๊ฐ๋๋ ๋ฌธ์ ๋ณ์ ์ ์ธ
์์ ๊ธธ์ด ๊ฐ์ XNUMX์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
10. ๋ง์ง๋ง END ๋ฌธ ๋ค์์ ์ฃผ์๊ณผ ๋น ์ค์ด ์ธ์๋๋ ์ฌ์ํ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ต๋๋ค.
in -๋ช ๋ถ ๋ฐฉ๋ฒ.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์ผ๋ก ftnchek ์ฌ์ฉ