1. ã¯ããã«
ããããããã°ã©ãã³ã°èšèªã®äžã€ã§ãããFortranãã«ã€ããŠåŠãã§ããããšã«ãªããŸããããã§ã¯ããŸãã¯Fortranã«é¢ããŠåºæ¬çãªç¥èããã説æããŸãã
1.1 Fortranãšã¯
Fortranã¯ãIBMã1950幎代ã«éçºããäžçåã®é«æ°Žæºããã°ã©ãã³ã°èšèªã§ãããFormula Translationãã®ç¥ç§°ã§ããããã®åã®éãæ°åŒã®èšç®ãèªååããç®çã§çãŸããŸãããçŸåšã§ãç§åŠæè¡èšç®ãäžå¿ã«åºã䜿çšãããŠããŸãã
1.2 Fortranã®ç¹åŸŽãšçšé
Fortranã®äž»ãªç¹åŸŽã¯ãé ååŠçãåŸæã§ããããšãšã¹ãŒããŒã³ã³ãã¥ãŒã¿ãšã®èŠªåæ§ãé«ãããšã§ããé åã䜿ã£ãæ°å€æŒç®ãåŸæãªçºãç©çèšç®ãçµ±èšåŠçã«å©çšãããŠããŸããããŸããã¹ãŒããŒã³ã³ãã¥ãŒã¿ãšçžæ§ãè¯ãããã倧èŠæš¡ãªç§åŠæè¡èšç®ã®åéã§é«ãè©äŸ¡ãæã£ãŠããŸãã
ãããã®ç¹æ§ãããFortranã¯ç©çãååŠãæ°è±¡åŠãèªç©ºå®å®å·¥åŠãšãã£ãåŠåã®é åã§å€ãã®ç 究è ããšã³ãžãã¢ã«äŸ¿å©ãªããŒã«ãšããŠäœ¿çšãããŠããŸãããã£ãŠãç§åŠæè¡èšç®ãè¡ãããã®ãœãããŠã§ã¢éçºããçµ±èšè§£æãæµäœååŠãçŽ ç²åç©çåŠãªã©ã®ã·ãã¥ã¬ãŒã·ã§ã³ã«ãé©ããŠããŸãã
2. Fortranã®ç°å¢æ§ç¯ã«åããŠ
ã§ã¯ãFortranã®ç°å¢æ§ç¯ã«åããŠå¿ èŠãªèŠçŽ ã«ã€ããŠè©³ããèŠãŠãããŸããããäž»ã«ãããœã³ã³ã®ã¹ããã¯ãšãäºåã«æºåããŠãããªããã°ãªããªãããŒã«ã«ã€ããŠèª¬æããŸãã
2.1 å¿ èŠãªPCã¹ããã¯
äžè¬çã«ãFortranã®ç°å¢æ§ç¯ã«ã¯ç¹å¥é«ã¹ããã¯ãªããœã³ã³ã¯å¿ èŠãããŸãããããããããã°ã©ã ã®ãµã€ãºãè€éãããããã¯åæã«å®è¡ãããœãããŠã§ã¢ã®éã«ãã£ãŠã¯ãé©åãªæ§èœãæã€ããœã³ã³ãå¿ èŠã«ãªãããšããããŸãããã®ç¹ã«ã€ããŠã以äžã®åºæ¬èŠä»¶ãèŠããŠãããŸãããã
OSïŒFortranã¯å€çš®å€æ§ãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§åäœããŸããWindowsãMacãLinuxãªã©ã©ã®OSã§ãæ§ããŸããã
ããã»ããµïŒæäœã§ã1GHzã®ã¯ããã¯ã¹ããŒããæã€ããã»ããµãæšå¥šãããŸãããŸããããé«åºŠãªããã°ã©ãã³ã°ãè¡ãå Žåãã倧èŠæš¡ãªæ°å€èšç®ãè¡ãå Žåã«ã¯ããã«ãã³ã¢ã®ããã»ããµãæãŸããã§ãã
ã¡ã¢ãªïŒRAMïŒïŒå©çšããIDEããFortranããã°ã©ã ã®èŠæš¡ã«ããããŸãããæäœã§ã2GBã®ã¡ã¢ãªãå¿ èŠãšãªããŸãããã倧ããªããã°ã©ã ãæ±ãå Žåããè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ãåæã«å®è¡ããå Žåã«ã¯ãããã«å€§å®¹éã®ã¡ã¢ãªãå¿ èŠãšãªãå ŽåããããŸãã
ã¹ãã¬ãŒãžïŒSSDïŒSolid State DriveïŒãæšå¥šãããŸãããŸããã¹ãã¬ãŒãžã®ç©ºã容éã«ã€ããŠãèæ ®ããå¿ èŠããããŸããFortranã®ã€ã³ã¹ããŒã«èªäœã¯ããã»ã©å€§ããªå®¹éãåããŸããããäœæããããã°ã©ã ãããŒã¿ã®éã«ãã£ãŠã¯ãååãªç©ºã容éãå¿ èŠãšãªããŸãã
2.2 äºåã«ã€ã³ã¹ããŒã«ãã¹ãããŒã«
Fortranç°å¢ã®æ§ç¯ã«å ç«ã£ãŠãããã€ãã®ãœãããŠã§ã¢ãããœã³ã³ã«ã€ã³ã¹ããŒã«ããŠããå¿ èŠããããŸãããããã®ããŒã«ã¯ãFortranã®ã³ãŒããç·šéãããã³ã³ãã€ã«ãããããéã«ããããã¯Fortranã³ãŒãã®ãšã©ãŒããããã°ããéã«å¿ èŠãšãªããŸãã
ããã¹ããšãã£ã¿ãŒ:Fortranã³ãŒãã®æžã蟌ã¿ã«ã¯ããã¹ããšãã£ã¿ãŒãå¿ èŠã§ããNotepad++ãSublime TextãAtomãªã©ã人æ°ã®ããéžæè¢ã§ãã
ã³ãã³ãã©ã€ã³ããŒã«:Fortranã®ã³ã³ãã€ã©ãæäœããããã«ã¯ãã³ãã³ãã©ã€ã³ããŒã«ãå¿ èŠã§ããWindowsãªãPowerShellãmacOSãLinuxãªãTerminalãããã©ã«ãã§æäŸãããŠããŸãã
Fortranã³ã³ãã€ã©:Fortranããã°ã©ã ãå®è¡å¯èœãªåœ¢åŒã«å€æããããã®ããŒã«ã§ããããŸããŸãªçš®é¡ã®Fortranã³ã³ãã€ã©ãååšããŸããããã®äžã§ãGNU FortranãIntel Fortranããã䜿çšãããŸãã
ããŒãžã§ã³ç®¡çã·ã¹ãã :ããã°ã©ã ã®ããŒãžã§ã³ç®¡çãè¡ãããã®ããŒã«ã§ããGitãåºã䜿çšãããŠããŸãã
ãããã®ããŒã«ã¯ãã»ãšãã©ã®å Žåãç¡æã§å©çšããããšãã§ããŸããããããã€ã³ã¹ããŒã«ããé©åã«èšå®ããããšã§ãFortranã®ç°å¢æ§ç¯ãã¹ã ãŒãºã«é²è¡ããŸãã
3. Fortranã³ã³ãã€ã©ã®å°å ¥
3.1 ã³ã³ãã€ã©ãšã¯
ããã°ã©ãã³ã°èšèªãåŠã¶éã«ã¯ããã®èšèªã®ã³ã³ãã€ã©ãšãããã®ãç解ããããšãéèŠã§ããã³ã³ãã€ã©ãšã¯ã人éãæžããã³ãŒããã³ã³ãã¥ãŒã¿ãç解ã§ãã圢åŒïŒéåžžã¯ãã·ã³ã³ãŒãïŒã«å€æãã圹å²ãæãããŸããã³ã³ãã€ã©ããªããã°ãæã ã®æžããããã°ã©ã ã¯ãã ã®ææžã«éããŸããããããã£ãŠãFortranã®ã³ãŒããæžãå§ããåã«ããŸãã¯Fortranèšèªã®ã³ã³ãã€ã©ãå°å ¥ããå¿ èŠããããŸãã
3.2 Fortranã³ã³ãã€ã©ã®çš®é¡
Fortranã³ã³ãã€ã©ã«ã¯ããã€ãã®çš®é¡ããããŸãããããã§ã¯äž»ã«äºã€ã®ç¡æãšãªãŒãã³ãœãŒã¹ã®ã³ã³ãã€ã©ãåãäžããŸããäžã€ç®ã¯Gnu Fortran (gfortran)ã§ãããã¯GNUã³ã³ãã€ã©ã³ã¬ã¯ã·ã§ã³ã®äžéšãšããŠæäŸãããŠããŸããå€ãã®ãã©ãããã©ãŒã ã«å¯Ÿå¿ããŠãããç°¡åã«åæ±ãããšãã§ããŸããäºã€ç®ã¯Intel Fortran compiler (ifort)ã§ãããããã¯Intel補åã«æé©åãããããã©ãŒãã³ã¹ãçºæ®ããŸãããã ããå人çãªäœ¿çšã«å¶éããããåçšå©çšã«ã¯ææã©ã€ã»ã³ã¹ãå¿ èŠãšãªããŸãã
3.3 ã³ã³ãã€ã©ã®ã€ã³ã¹ããŒã«æé
ããã§ã¯ããŸãæåã«gfortranã®ã€ã³ã¹ããŒã«æé ã説æããŸãããã®æé ã¯äž»èŠãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ããWindowsãMacOSãLinuxå ±éã§ãããŸããã³ãã³ãã©ã€ã³ãŸãã¯ã¿ãŒããã«ãéããŸãã次ã«ä»¥äžã®ã³ãã³ããå ¥åããŸãã
sudo apt update sudo apt install gfortran
äžèšã³ãã³ããå®è¡ããåŸãã€ã³ã¹ããŒã«ãå®äºãããã©ããã確èªããããã«ã以äžã®ã³ãã³ããå ¥åããŸãã
gfortran --version
ããã§ãFortranã³ã³ãã€ã©ã®ã€ã³ã¹ããŒã«ã¯å®äºã§ãã次ã«ãæã ã®programãæžãããã®ç°å¢ãæºåããŸãããã
4. Fortranã®ã³ãŒãã£ã³ã°ç°å¢ãæŽåãã
Fortranã®ããã°ã©ãã³ã°ãå¹çè¯ãããã«ã¯ãé©åãªã³ãŒãã£ã³ã°ç°å¢ã®æŽåãäžå¯æ¬ ã§ãããã®äžå¿ã«ãªãã®ã¯Integrated Development EnvironmentïŒIDEïŒãšåŒã°ããããŒã«ã§ãã
4.1 Integrated Development Environment (IDE)ãšã¯
Integrated Development EnvironmentïŒIDEïŒãšã¯ãããã°ã©ãã³ã°ãå¹ççã«é²ããããã®ã¢ããªã±ãŒã·ã§ã³ã®ããšã§ãããšãã£ã¿æ©èœãã³ãŒãè£å®ããããã¬ãªã©ãããã°ã©ãã³ã°ã«å¿ èŠãªæ©èœãäžäœåããããŒã«ã§ããããã«ãããããã°ã©ã ã®ã³ãŒãã£ã³ã°ããããã°ããã¹ããã¹ã ãŒãºã«è¡ãããšãå¯èœã«ãªããŸãã
4.2 Fortranã«ããããã®IDE
å€æ°ã®IDEãååšããŸãããFortranéçºã«ã¯ç¹ã«Visual Studio CodeãGeanyãããããã§ãã
Visual Studio CodeïŒVS CodeïŒã¯ãã€ã¯ããœãããçºè¡šããããªãŒã§ãªãŒãã³ãœãŒã¹ã®é«æ©èœãªãšãã£ã¿ã§ãæ©èœãæ¡åŒµãããã©ã°ã€ã³ãæ°å€ãçšæãããŠããŸãããã®äžã«ã¯Fortranã«å¯Ÿå¿ãããã®ããããã·ã³ã¿ãã¯ã¹ãã€ã©ã€ããã³ãŒããã©ãŒããããã³ãŒãè£å®ãšãã£ãåºæ¬æ©èœããããœãŒã¹ã³ãŒãã®ãã«ãããããã°ãŸã§å¯Ÿå¿ããŠããŸãã
äžæ¹ãGeanyã¯è»œéã§æäœãã·ã³ãã«ãªãšãã£ã¿ã§ããã€ã€ãã·ã³ã¿ãã¯ã¹ãã€ã©ã€ããã³ãŒãæãããã¿ãèªåè£å®ãªã©ãåºæ¬çãªæ©èœã¯äžéãæã£ãŠããŸããç¹ã«ã軜éã§ããããããœã³ã³ã®æ§èœã«å·Šå³ããã«ãããååŠè ãã·ã³ãã«ãªéçºç°å¢ãæ±ããæ¹ã«é©ããŠããŸãã
4.3 IDEã®ã€ã³ã¹ããŒã«ãšèšå®
Visual Studio Codeã®ã€ã³ã¹ããŒã«ã¯å ¬åŒãŠã§ããµã€ãããè¡ãããšãã§ããŸããWindowsãMacãLinuxãšåã ã®OSã«å¯Ÿå¿ããã€ã³ã¹ããŒã©ãŒãæäŸãããŠããŸããã€ã³ã¹ããŒã«åŸã¯ããVisual Studio Code for FortranãããModern Fortranããªã©ã®ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããFortranã®ã³ãŒããšãã£ã¿ãšããŠæ©èœãããããšãå¯èœã§ãã
Geanyãåæ§ã«å ¬åŒãŠã§ããµã€ãããããŠã³ããŒãããŠã€ã³ã¹ããŒã«ãå¯èœã§ããGeanyã¯åãããå€ãã®ããã°ã©ãã³ã°èšèªã«å¯Ÿå¿ããŠããŸãããFortranã«é¢ããŠã¯ãSettingsãã¡ãã¥ãŒã®ãEditorãã¿ãããããã¡ã€ã«ã¿ã€ããšããŠâFortranâãéžã³ãã·ã³ã¿ãã¯ã¹ãã€ã©ã€ããèªåè£å®ãæå¹ã«ããããšãã§ããŸãã
以äžãFortranã®éçºç°å¢ãæŽåããéã®åºæ¬çãªæé ãšãªããŸãããã®ã¹ããããèžãããšã§ãããã°ã©ãã³ã°ã®ææãæ倧éã«äŒžã³ãããèªäœã®æ¥œãããå¢ããã§ãããã
5. å®è·µïŒæåã®Fortranããã°ã©ã ãæžã
ããã§ã¯æ©éãFortranã§æåã®ããã°ã©ã ãæžããŠã¿ãŸããããä»åã¯ãåºæ¬ç㪔Hello, World!”ã®ã³ãŒããäœæããŸãããªããããã°ã©ãã³ã°ã®åã£æãããšããŠãã䜿ããããã®ãã¬ãŒãºã¯ã端çã«èšãã°ãç»é¢ã«ãHello, World!ããšè¡šç€ºããããšããã·ã³ãã«ãªããã°ã©ã ãæããŸãã
5.1 ããã°ã©ã ã®äœæ
program HelloWorld implicit none print*, "Hello, World!" end program HelloWorld
ãããFortranã§æžããã”Hello, World!”ã®ã³ãŒãã®å šäœåã§ããåããŠç®ã«ããæ¹ãããããšæããŸãããäžã€äžã€ã®éšåãå解ããŠç解ããŠãããŸãããã
5.2 ã³ãŒãã®è§£èª¬
ãŸãããprogram HelloWorldããšæžãããè¡ã¯ãããã°ã©ã ã®éå§ã宣èšããŠããŸãããHelloWorldãã¯ããã°ã©ã ã®ååã§ãããã®ååã¯äœã§ãè¯ãã§ãããèªåãäœã®ããã°ã©ã ãæžããŠããããæãåºãããããã«äžå®ã®æå³ãæã€ååã䜿çšããããšãããããããŸãã
次ã«ãimplicit noneãã§ããããã®æã¯å€æ°ãå宣èšãããŠããªãå Žåã«ãšã©ãŒãåŒãèµ·ãããšããFortranç¹æã®æ©èœãç¡å¹ã«ããŸããåå¿è ã¯ãã®è¡ãå¿ ãããã°ã©ã ã®å é ã«çœ®ããŠãå€æ°ã®æç¹ã§ééãã«æ°ä»ããããã«ããŸãããã
ãprint*, “Hello, World!”ããšããè¡ã§ã¯ããHello, WorldïŒããšããæååãåºåããŠããŸããã*’ã¯ãã¹ãŠã®ããã€ã¹ãã€ãŸãç»é¢çã«åºåãããšããæå³ã§ãã
æåŸã®è¡ã®ãend program HelloWorldãã¯ãããã°ã©ã ã®çµäºã瀺ããŸããããã°ã©ã ã®éå§ãè¡šããprogram HelloWorldããšå¯Ÿã«ãªã圢ã§æåŸã«çœ®ãããšã§ãããã°ã©ã ã®éå§ãšçµäºã®ç¯å²ãæ瀺çã«ç€ºã圹å²ããããŸãã
5.3 ããã°ã©ã ã®å®è¡ãšçµæ
ã§ã¯ããHello, World!ãããã°ã©ã ãå®éã«å®è¡ãããHello, World!ããšè¡šç€ºãããããšã確èªããŸããå®è¡çµæã¯æ¬¡ã®ããã«ãªãã¯ãã§ãïŒ
Hello, World!
ãã®äžèŠäœã®å€å²ããªãçµæããããç§ãã¡ãæžããã³ãŒãã®ææãªã®ã§ããç¹ã«å¿ããŠã¯ãªããªãã®ã¯ããããFortranã«å¯Ÿãã第äžæ©ã§ãããããããæŽã«é£è§£ãªåé¡ã«æãã§ããããã®ã¹ãããã¢ãããšãªãããšã§ããåžžã«åé²ãç¶ããŠããã°ãããFortranããã°ã©ããŒã«ãªãéãéããŸãããã
6. Fortranéçºã®ãã€ã³ã
Fortranã®éçºã«ãããŠãéèŠãªãã€ã³ãã¯åºæ¬çãªã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ããããã°ææ³ããããŠããã©ãŒãã³ã¹æ¹åã®ãã³ãã®3ã€ã§ããããããç解ããå®è·µããããšã§å¹ççã§ããšã©ãŒã«åŒ·ããé«æ§èœãªããã°ã©ã ãäœæããããšãã§ããŸãã
6.1 åºæ¬çãªã³ãŒãã£ã³ã°ã¹ã¿ã€ã«
Fortranã®ã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ã¯ãããã°ã©ã ã®èª¬ææ§ãšå¯èªæ§ã確ä¿ããããã®ææ³ã®äžã€ã§ããã³ãŒããæŽçããä»ã®éçºè ãç解ãããã圢ã«ä¿ã€äºãéèŠã§ããå ·äœçã«ã¯å€æ°åãæ確ã«ããå¿ èŠãªã³ã¡ã³ããé©åãªå Žæã«æ¿å ¥ããŸããæå³ã®ããå€æ°åã¯ãã³ãŒããäœãè¡ã£ãŠããã®ããç解ããã®ã«åœ¹ç«ã¡ãŸãããŸããèšç®åŒãåŠçã®æµããªã©ãéèŠãªç®æã«ã¯ã³ã¡ã³ããå ¥ãããšãèªåèªèº«ãŸãã¯ä»ã®éçºè ãåŸããã³ãŒããèŠçŽããæã«å€§å€åœ¹ç«ã¡ãŸãã
6.2 ãããã°ææ³
ãããã¯ã¯ãFortranéçºã§æãå¿ èŠãšãããã¹ãã«ã®äžã€ã§ããééã£ãåºåãçæããããäºæããªãæ¯ãèããããããã°ã©ã ã®ãšã©ãŒãç¹å®ããä¿®æ£ããææ³ãæããŸããFortranã®ãããã¯ã«ã¯äž»ã«printæã䜿ã£ãåºå芳å¯ããIDEã®ãããã°æ©èœã䜿çšããŸããprintæã¯ãå€æ°ã®å€ãåºåããŠããã°ã©ã ã®åäœãè¿œãæãåºæ¬çãªæ¹æ³ã§ããIDEã®ãããã°æ©èœã䜿ãã°ããã¬ãŒã¯ãã€ã³ããèšå®ããŠããã°ã©ã ã®ç¹å®ã®å°ç¹ã§å®è¡ãæ¢ãããã®æç¹ã§ã®å€æ°ã®å€ã芳å¯ããããšãã§ããŸãã
6.3 ããã©ãŒãã³ã¹æ¹åã®ãã³ã
Fortranã¯æ°å€èšç®ãé«éã«è¡ãããšãç®çãšããŠèšèšãããèšèªã§ãããããããã©ãŒãã³ã¹æ¹åã®ç¥èã¯éèŠã§ããããã§åãäžããããã©ãŒãã³ã¹æ¹åã®ãã³ãã¯ãèšç®åŠçã®ããã«ããã¯ãæ¢ããããã¡ã€ãªã³ã°ã䞊ååŠçããããŠé«éãªç®æ³ã®æ¡çšã§ãã
ãããã¡ã€ãªã³ã°ã¯ãããã°ã©ã ã®åéšåãã©ãã ãå®è¡æéãèŠããŠãããã調ã¹ãããšã§ããã©ãŒãã³ã¹äžã®åé¡ç¹ãç¹å®ããŸãããããè¡ãããã«ã¯å°çšã®ãããã¡ã€ã©ããŒã«ã䜿çšããŸãã
䞊ååŠçã¯ãè€æ°ã®ã³ã³ãã¥ãŒã¿ãŒããã»ããµãã³ã¢ã䜿ã£ãŠè€æ°ã®åŠçãåæã«è¡ããå šäœã®åŠçæéãççž®ããææ³ã§ããFortranã§ã¯OpenMPãMPIã©ã€ãã©ãªã䜿çšããããšã§å®¹æã«äžŠååŠçãè¡ãããšãã§ããŸãã
ãŸããèšç®æéãççž®ããããã«ã¯ç®æ³èªäœã®æé©åãéèŠã§ããäŸãã°ç·åœ¢æ¹çšåŒã®è§£æ³ã§ããã°ãã¬ãŠã¹ã®æ¶å»æ³ããããããé«éãªLUå解ãªã©ã®ã¢ã«ãŽãªãºã ãéžæããããšã§èšç®æéãççž®ããããšãã§ããŸãã
ãããã®ãã€ã³ããå¿ã«çããŠããããšã§ãããé«å質ã®Fortranããã°ã©ã éçºãå¯èœãšãªããŸãã
7. Fortranã®åŠç¿ãªãœãŒã¹
ããã°ã©ãã³ã°èšèªãåŠã¶äžã§ã質ã®é«ãåŠç¿ãªãœãŒã¹ã®å©çšã¯æ¬ ãããŸããããããŠãããã¯Fortranã«ã€ããŠãåæ§ã§ããããããã®ãªãœãŒã¹ãååšããŸãããããã§ã¯ç¹ã«ãªã³ã©ã€ã³ããã¥ã¢ã«ãšãã¥ãŒããªã¢ã«ãããããã®æžç±ããããŠåçš®ã³ãã¥ããã£ãšãã©ãŒã©ã ãã玹ä»ããŸãã
7.1 ãªã³ã©ã€ã³ããã¥ã¢ã«ãšãã¥ãŒããªã¢ã«
åããŠFortranãåŠã¶ãªãããªã³ã©ã€ã³ããã¥ã¢ã«ããã¥ãŒããªã¢ã«ããšãŠã䟿å©ã§ããããããããåŸãããç¥èãšæ å ±ã¯ææ°ã§ããããç¡æãšããã¡ãªããããããŸããäŸãã°ãFortranã®å ¬åŒãµã€ãã«ã¯ææ°èšèªä»æ§ã®è©³çŽ°ãªæ å ±ãå©çšäºäŸçãèšèŒãããŠããããŸããã¥ãŒããªã¢ã«åœ¢åŒã§åºæ¬ããå¿çšãŸã§å©çšæ¹æ³ãåŠã¹ãŸãããããã®ãªãœãŒã¹ãå©çšããããšã§ãèªåã®ããŒã¹ã§åŠç¿ãé²ããããŸãããåå¿è ã§ãå®å¿ããŠåŠã¹ãå 容ãšãªã£ãŠããŸãã
7.2 ããããã®æžç±
äžæ¹ã§ãç©ççãªæžç±ã奜ãŸããæ¹ãããã§ããããæžç±ã®ã¡ãªããã¯ãäžåãéããŠäžè²«ãã解説ããããèè ãæå³ããé åºãšæ·±ãã§åŠã¹ããšããç¹ã«ãããŸããäŸãã°ããFortran 95/2003 for Scientists & Engineersãã¯ãç§åŠæè¡åéã§ã®Fortranã®äœ¿çšã«ç¹åããå 容ãšãªã£ãŠããŸãããŸãããModern Fortran Explainedããªã©ãæ°ããFortranã¹ã¿ã€ã«ãšææ°ã®Fortranæ©èœãåŠã¶ã®ã«éåžžã«æçšãªæžç±ããããŸãã
7.3 ã³ãã¥ããã£ãšãã©ãŒã©ã
æåŸã«çŽ¹ä»ããåŠç¿ãªãœãŒã¹ã¯ãã³ãã¥ããã£ãšãã©ãŒã©ã ã§ãããããã¯ä»ã®åŠç¿è ãçµéšè±å¯ãªããã°ã©ããšçŽæ¥äº€æµã§ããå Žæã§ããStack Overflowã®Fortranã¿ã°ãRedditã®Fortranãã©ãŒã©ã ãªã©ããããŸããèªåã²ãšãã§ã¯è§£æ±ºã§ããªãåé¡ãçåç¹ãæçš¿ããä»ã®ã¡ã³ããŒããæ§ã ãªã¢ããã€ã¹ãåŸãããšãã§ããŸãããŸãèªåãä»ã®äººã®è³ªåã«çããŠèŠéãåºããããšãå¯èœã§ãããããã®ã³ãã¥ããã£ã¯åå¿è ããäžçŽè ãŸã§å¹ åºãå©çšãããŠãããFortranåŠç¿ã®äžç«¯ãæ ã£ãŠããŸãã
8. ãŸãšã
ããã§ãFortranã®ç°å¢æ§ç¯ã«ã€ããŠã®äžé£ã®ããã»ã¹ãå®äºããŸãããç°å¢æ§ç¯ã¯ããã°ã©ãã³ã°åŠç¿ã®ç¬¬äžæ©ã§ãããæ£ããæé ãèžãããšã倧åã§ãããŸãæåã«ã匷åã§æè»æ§ã®ããFortranã³ã³ãã€ã©ã®ã€ã³ã¹ããŒã«ãè¡ããŸãããããã§ã¯ãããã€ãç°ãªãã³ã³ãã€ã©ã®éžæè¢ãæ€èšããããããã®å©ç¹ãšæ¬ ç¹ãèæ ®ã«å ¥ããŸããã
次ã«ãå¹ççãã€å¿«é©ãªã³ãŒãã£ã³ã°ç°å¢ãèšå®ããããã®Integrated Development Environment (IDE) ã®å°å ¥ãè¡ããŸããããããã¯ããã§ã«ãæ°ã«å ¥ãã®ããã¹ããšãã£ã¿ããææã¡ã®å Žåã¯ãããã®èšå®æ¹æ³ã説æããŸãããIDEãããã¹ããšãã£ã¿ã®èšå®ã¯ãã³ãŒãã£ã³ã°ã®é床ãšå¹çãåäžãããããã«éèŠã§ãã
ãã®åŸãå®éã®Fortranããã°ã©ã ã®äœæãšãã®å®è¡ã«ã€ããŠè§£èª¬ããŸãããããã«ãããèšå®ããç°å¢ãæ£ããæ©èœããŠããããšã確èªããããã«Fortranããã°ã©ãã³ã°ã®åºç€ã«è§Šããããšãã§ããŸããã
ãŸããFortranã®éçºã§ç¹ã«çæãã¹ããã€ã³ããããã€ãæããã©ã®ããã«ã³ãŒãã£ã³ã°ãè¡ãããããã¬ã掻çšãããŸãããã©ãŒãã³ã¹ã®æ¹åãç®æããã«ã€ããŠãè°è«ããŸããããããã¯ãåèªã®Fortranã®ã¹ãã«ã磚ãç¶ããŠããäžã§ã®åèãšãªãã§ãããã
æåŸã«ãæç¶å¯èœãªåŠã³ãšã¹ãã«ã¢ãããæ¯ããããã«ãããããã®åŠç¿ãªãœãŒã¹ãšã³ãã¥ããã£ã玹ä»ããŸããããããã¯ãããªããçŽé¢ããåé¡ã«å¯Ÿå¿ããããæ°ããªèª²é¡ã«ææŠãããããäžã§ããŸãFortranã³ãã¥ããã£ãšäº€æµããããšã§äžå±€ã®ã¹ãã«ã身ã«ã€ããäžã§ãéåžžã«æçã§ãã
ãã®èšäºã®éãã«è¡ãã°ãçããèªèº«ã®çŽ æŽãããFortranéçºç°å¢ãæŽãã¯ãã§ããå®éã«æãåãããŠã¿ãããšã§ãåŠç¿ãããæ·±ãŸãããšã¯ééããããŸããããããFortranãšããæ°ããªèŠç¹ã§ç§åŠæè¡èšç®ã®äžçã«äžæ©èžã¿åºããŸãããã