Современный Фортран_учебник
.pdfСОВРЕМЕННЫЙ ФОРТАН
  | 
	
  | 
	
  | 
	3  | 
	
  | 
  | 
	4  | 
	
  | 
	
  | 
|
1.  | 
	IDE Studio......................................................  | 
	5  | 
||
  | 
	1.1. DevStudio, FPS 4.0....................................  | 
	6  | 
||
  | 
	1.2. Visual Studio..............................................  | 
	7  | 
||
  | 
	1.3. Plato IDE Studio ........................................  | 
	9  | 
||
2.  | 
	.............................................................................  | 
	10  | 
||
  | 
	2.1. ...............................................................  | 
	10  | 
||
  | 
	2.2. If Do .................................................................  | 
	20  | 
||
  | 
	2.3. - . 30  | 
|||
  | 
	2.4.  | 
	...................................  | 
	40  | 
|
  | 
	2.5.  | 
	......................................  | 
	48  | 
|
  | 
	2.6.  | 
	! ..................................  | 
	57  | 
|
  | 
	2.7. " # #...............................................  | 
	71  | 
||
3.  | 
	$ .....................................  | 
	75  | 
||
  | 
	3.1. % .......................................................  | 
	75  | 
||
  | 
	3.2. , ..........................................  | 
	76  | 
||
  | 
	3.3. & ...................................................................  | 
	81  | 
||
  | 
	3.4. If Do ................................................................  | 
	82  | 
||
  | 
	3.5. ' ! where forall ....................................  | 
	87  | 
||
4.  | 
	.......................................................................  | 
	95  | 
||
  | 
	4.1. ............................................................................  | 
	95  | 
||
  | 
	4.2. ( #.......................................................................  | 
	97  | 
||
  | 
	4.3. write format............................  | 
	97  | 
||
5.  | 
	" ...................................................................................................  | 
	
  | 
	
  | 
	99  | 
  | 
	5.1. ) .................................................................  | 
	99  | 
||
  | 
	5.2. * !+ ................................  | 
	101  | 
||
  | 
	5.3. # / ......  | 
	102  | 
||
6.  | 
	', # .........................  | 
	103  | 
||
  | 
	6.1. ( # ............................................  | 
	104  | 
||
  | 
	6.2. % ,# .................................................  | 
	106  | 
||
  | 
	6.3. ! .................................  | 
	107  | 
||
  | 
	6.4. & .............................................................  | 
	109  | 
||
7.  | 
	..........................................................  | 
	112  | 
||
  | 
	7.1. - .........................................................................  | 
	113  | 
||
  | 
	7.2. ........................................................  | 
	113  | 
||
8.  | 
	........................................................................  | 
	119  | 
||
  | 
	8.1. ' Agrapher ...................................  | 
	120  | 
||
  | 
	8.2. % # # ...................  | 
	122  | 
||
  | 
	8.3. % ................  | 
	123  | 
||
  | 
	8.4. ' + # , .....  | 
	128  | 
||
9.  | 
	
  | 
	.............................................................................................  | 
	
  | 
	129  | 
4
“ ” –
. . , ? & ,
. . / , . ?
-. , 66, 77, 90, 95, 03, 08;
-. , ;
-! + ,
, - + -77;
-. , ! ,
MS Fortran, Intel Fortran Compiler, GNU-Fortran, Plato IDE;
-. , ;
-. , # ;
-. , ! ! ! -
! , , Intel Fortran Compiler;
-. , ! , ,
# !+ !+;
-, . -95.
% !+ + : !
, ! , ! ,
! , !, !, !, ! -
! !. ,
, Fortran - . . 0
Formula Translator – .
– . . 0 -
. 1 - ,
- , . 0-
, , !+, - . - *. «!», -
! !, # ! # -
+:
-1954, – , ( 2., IBM;
-66, – ! ! !;
-77, , +;
- 90/ 95, # :
-, , , ,
! , , ;
-! , # #;
-03, 08 – 3- , coarrays.
xx – # , . -
, !, +*, *, ! ,:
-58 , # ;
-! # ;
--
# # * ;
5
-,
, - , *;
-(IMSL, NAG, LAPACK, BLAS, Intel MKL), ! (MPI, PVM), -
(Quickwin, FORTRAN/TK);
-: 95, 03 –
. Intel Fortran Compiler, ifc-9, ifc-10, ifc-11, ifc-12 -
# !+ !+,
Linux; Plato Silverfrost Ltd. Studio; 9095 – Fortran Power Station 4.0 5, 6 Compaq; GNU Fortran.
&:
-www.fortran.com,
-www.npac.syr.edu ,
-netlib.org – ,
-www.j3 – fortran.org – ,
-– twcad.ifmo.ru,
-parallel.ru/tech/tech_dev/newfortran.html,
-free compilers –www.thefreecountry.com/compilers/fortran.shtml.
' , , , .
1. IDE Studio
Integrated Developer Studio (IDE) – . -
. & . ! , -
# # #. & + # -
+ # , * ,
*.for,
- *.f90 *.f03.
' , # ,# - +* .
MS Developer Studio, 1996 – ( 110 ") -
Fortran, C++. 4 5
110 " – . * 3, Developer Studio,
Fortran, ,# *. 0: , Debug
! Windows-XP. #, # & #-
! Debug, ! Release. -
! . MS Developer
! # : DEC, HP.
MS Visual Studio, 2010 – . & Debug Windows-7 Vista. - + Visual Studio (400 ") , , C++ C#,
Intel. Intel Fortran Compiler # ifc- 9, ifc-10, ifc-11, ifc-12 ( 500 ".). ifc-9, ifc-10, ifc-11, ifc-12 -
+ ! ! -
. 1 ! Windows, Linux.
6
Plato Silverfrost Ltd. Studio, 2011 – . .
' Fortran, C++. & Debug Windows- 7. . / -
! ! ! # ,
# #.
GNU Fortran – . Fortran. 1 !
Windows, Linux.
( * ! #
, , d:/PROJ, . ! !
# .
1.1. DevStudio, FPS 4.0
/ (110 ") MS Developer Studio (DevStudio) ! Fortran Power Station (FPS 4.0)
C ++.
DevStudio , ,
*, , ! Windows-XP. -
Release Windows-Vista, Windows-7. Debug|Release + :
-Release – ( <Ctrl>+<F5>);
-Debug – ( <F5>);
-+ ! Release, +
Debug ! Windows-XP.
, #
! ! . d:/PROJ/myProj
File|New|Project WorkSpace|Console Application:
-# myProj;
-<Browse> *
myProj d:/PROJ;
-<Create> – ! , #
<Save all>;
-! # ! + - +, ! , * #-
.
+ d:/PROJ/myProj:
1.+ ! + lab.f90 +
Insert | File into project ==> ! ! d:/PROJ/myProj;
2.! Lab.f90 DevStudio, + , :
-! + File|New|Text;
-! ;
-File|Save as ==> ! Lab1.f90;
-* ! Compile -
, «+ ! -
?» - ! ! .
7
' # ,
! . c . 4 + ! +*
*.txt:
-# !, + Insert | File into project ==> ! myProj/in.txt, -
+ *
, open;
-! , open.
% ! .
FPS40 – # MS Developer Studio.
(+
Windows):
-. ;
-<Ctrl>+<F5>, + Build|execute Lab1.exe -
.
( Windows-XP):
-* <F5>, FPS40 , -
;
-, <F5>, « » ( -
+* ! «go»).
( ! ( Windows-XP):
-<F8> – ,
-<F10> – <F8>, «!» ,
-<F7> – , ,
-<F7> , <F8>, <F10> «#» ,
-+ – , .
1.2. Visual Studio
0 MS Visual Studio (600 "-1000
") ! Fortran, C ++ C#. $ MS Visual Studio,
C++, C# + Intel Fortran compiler (500 ").
Visual Studio , ,
*, . :
- File|New|New Project|Intel Visual Fortran|Console Application;
-Name;
-<Browse> Location * -
myProj;
-<Ok> – ! .
+
:
1.+ ! + lab.f90 +
Source|File project ==> ! lab.f90;
2.! lab.f90 Visual Studio + ! .
8
lab.f90 Visual Studio:
-! + Source|New|Text;
-! ;
-! lab1.f90 ! *-
myProj;
-* , ! +
Compile .
4 + ! +* :
-# , !,
+ Insert|File into project, myProj/in.txt
!, ,
open;
-! , open.
, , , !
txt, + . % ! .
- . MS Visual Studio. -
! # ! + +,
! , * #
.
' # ! .
– + ! Debug|Release:
-Debug – ( <F5>) ;
-Release – ( <Ctrl>+<F5>).
:
-* “
” – ,
;
-, “ ”, <F5> . ( ! :
-Start Debug – ! ( <F5>) ;
- <F10> – , «#» ;
-<F11> – <F10>, «!» ;
-Run to Cursor – , -
;
-<F10> , Run to Cursor, <F11>, <F5> «#» ;
-+ – , ;
& (Debug) Windows-Vista
Windows-7.
( ! :
-<Ctrl>+<F5>;
-+ Build|execute lab1.exe .
9
1.3.Plato IDE Studio
Plato IDE Studio Fortran. -
Plato IDE , , *-
, . :
−d:/PROJ # ;
−d:/PROJ myProj ;
−! ! .
myProj File|New Project|Fortran Application:
−Name;
−<Browse> Location *
myProj d:/PROJ <Open>, !
.
+ :
1)! Lab.f90 Plato IDE Studio
+ ! ;
2)+ ! + labac.f90
+ Source Files | Add existing item ==> ! labac.f90.
Lab.f90
Project Explorer Source Files | New Item:
−Name;
−<Browse> Location *
lab.f90 d:/PROJ/myProj Open, -
! ;
−! ;
−* ! – Compile !
+.
4 + ! +* :
− # + Source Files|Add existing item
==> ! myProject/in.txt, -
! *
, open;
− ! – , open.
, , , ! txt,
+ . % -
! .
– Plato IDE. - !
# ! + +, ! , *
# . ' #
! .
– + ! Debug|Release:
−Debug – , <F7>;
−Release – , <Ctrl>+<F5>.
10
:
-Step Info, ,
* <F7>, ,
, ! ;
-Start run, , <Ctrl>+<F5>, ! -
, ;
( ! :
-<F6> – Continue, ! ;
-<F7> – Step Info, ,
-<F8> – Step Over, , « » ,
-<Ctrl>+<F10> – Goto Cursor, , -
,
-<F7> , <F8>, <Ctrl>+<F10> «#» ,
-(Debug) WindowsVista Windows-7.
2.
  | 
	2.1.  | 
	
  | 
  | 
	
  | 
|
! , :  | 
	
  | 
|
1.  | 
	# . # #  | 
	
  | 
  | 
	y1 y2 z1 z2, !  | 
	
  | 
  | 
	# # #.  | 
	
  | 
2.  | 
	out.txt # ! .  | 
|
:
a).,
# # # # ;
b)! , -
+* 6-7 !+ real;
c)# ! ! ,
#, # # , sec x;
d)! * !, !
! ( ) .
1.0 ! .
2., , .
3.% , ,
! .
4.& # (&(5) # y1, y2.
5." # # (
! + ).
11
6.!
# # #.
' * ! ! .
1.' #
( ) %.1.
% 1. ' #
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	1  | 
|
  | 
	
  | 
	
  | 
	
  | 
!  | 
	**  | 
	
  | 
	2  | 
  | 
	
  | 
	
  | 
	
  | 
4,  | 
	*,  | 
	/  | 
	3  | 
  | 
	
  | 
	
  | 
	
  | 
,  | 
	+,  | 
	–  | 
	4  | 
  | 
	
  | 
	
  | 
	
  | 
: + ( ).
2.# #
%. 2; - Sqrt(x)
# .
% 2.
# #
-
sin  | 
	
  | 
	Sin(x)  | 
|
  | 
	
  | 
	
  | 
	
  | 
cos  | 
	
  | 
	Cos(x)  | 
	
  | 
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
sec  | 
	
  | 
	1/Сos(х)  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
b  | 
	
  | 
	Abs(b)  | 
	
  | 
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
-  | 
	
  | 
|
  | 
||
  | 
||
  | 
	
  | 
|
Tg  | 
	Tan(x)  | 
|
  | 
	
  | 
|
Ctg  | 
	Cotan(x)  | 
|
  | 
	
  | 
|
arcsin x  | 
	Аsin(x)  | 
|
  | 
	
  | 
π2*Аsin(1.)
  | 
	
  | 
	
  | 
-  | 
	
  | 
|
  | 
	
  | 
|
  | 
	2  | 
	Sqrt(2.)  | 
  | 
	
  | 
	>0 Sqrt(x)  | 
  | 
	x  | 
	<0  | 
  | 
	
  | 
	Sqrt(cmplx(x))  | 
  | 
	
  | 
	>0  | 
  | 
	
  | 
	x**(1./n)  | 
n  | 
	x  | 
	<0 n .  | 
-(-x)**(1./n)  | 
||
  | 
	
  | 
	<0 n  | 
  | 
	
  | 
	cmplx(x)**(1./n)  | 
3.% ! ( *-
) , -
. # :
