📄 sec6-1.htm
字号:
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoBodyTextIndent2 style='text-indent:0cm;mso-char-indent-count:
0;line-height:17.0pt;mso-line-height-rule:exactly;tab-stops:21.0pt 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-char-indent-size:0cm'><span lang=ZH-CN>块数据单元</span><span lang=EN-US><o:p></o:p></span></p>
</td>
<td width=465 valign=top style='width:348.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoBodyTextIndent2 style='text-indent:0cm;mso-char-indent-count:
0;line-height:17.0pt;mso-line-height-rule:exactly;tab-stops:21.0pt 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-char-indent-size:0cm'><span lang=ZH-CN>在命名的公共块中提供变量初始值的程序单元</span></p>
</td>
</tr>
<tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes'>
<td width=103 valign=top style='width:77.6pt;border:solid windowtext 1.0pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoBodyTextIndent2 style='text-indent:0cm;mso-char-indent-count:
0;line-height:17.0pt;mso-line-height-rule:exactly;tab-stops:21.0pt 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-char-indent-size:0cm'><span lang=ZH-CN>模块</span><span lang=EN-US><o:p></o:p></span></p>
</td>
<td width=465 valign=top style='width:348.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoBodyTextIndent2 style='text-indent:0cm;mso-char-indent-count:
0;line-height:17.0pt;mso-line-height-rule:exactly;tab-stops:21.0pt 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-char-indent-size:0cm'><span lang=ZH-CN>包含数据对象定义、类型定义、函数或子程序接口和其它程序可访问的函数或子程序</span></p>
</td>
</tr>
</table>
<p class=MsoBodyTextIndent2 style='margin-top:6.0pt;line-height:17.0pt;
mso-line-height-rule:exactly'><span lang=ZH-CN>程序单元之间的关系有:</span><span
lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='margin-left:49.65pt;text-indent:-24.0pt;
mso-char-indent-count:0;line-height:17.0pt;mso-line-height-rule:exactly;
mso-list:l1 level1 lfo2;tab-stops:list 49.65pt left 89.4pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-char-indent-size:0cm'><![if !supportLists]><span lang=EN-US
style='font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><img width=13 height=13 src="Sec6-1.files/image001.gif"
alt="*"><span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=ZH-CN style='color:fuchsia'>联合</span><span
lang=ZH-CN>:这种机制允许不同的程序单元共享变量,从而不用重新定义变量就可以以不同的名字处理同一数据。</span><span
lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='margin-left:49.65pt;text-indent:-24.0pt;
mso-char-indent-count:0;line-height:17.0pt;mso-line-height-rule:exactly;
mso-list:l1 level1 lfo2;tab-stops:list 49.65pt left 89.4pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-char-indent-size:0cm'><![if !supportLists]><span lang=EN-US
style='font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><img width=13 height=13 src="Sec6-1.files/image001.gif"
alt="*"><span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=ZH-CN style='color:fuchsia'>范围</span><span
lang=ZH-CN>:它描述的是一个名称</span><span lang=EN-US>(</span><span lang=ZH-CN>或者是全局的或者是局部的</span><span
lang=EN-US>)</span><span lang=ZH-CN>作用的范围。</span></p>
<p class=MsoNormal align=center style='margin-top:15.6pt;margin-right:0cm;
margin-bottom:15.6pt;margin-left:0cm;mso-para-margin-top:1.0gd;mso-para-margin-right:
0cm;mso-para-margin-bottom:1.0gd;mso-para-margin-left:0cm;text-align:center'><a
name="第6_1_2"><span lang=EN-US style='font-size:16.0pt;mso-bidi-font-size:12.0pt;
mso-fareast-font-family:楷体_GB2312'>6.1.2</span></a><span lang=EN-US
style='font-size:16.0pt;mso-bidi-font-size:12.0pt;mso-fareast-font-family:楷体_GB2312'>
</span><span lang=ZH-CN style='font-size:16.0pt;mso-bidi-font-size:12.0pt;
font-family:楷体_GB2312;mso-ascii-font-family:"Times New Roman";color:red'>主程序</span><b><span
lang=EN-US style='font-size:16.0pt;mso-bidi-font-size:12.0pt;mso-fareast-font-family:
楷体_GB2312'><o:p></o:p></span></b></p>
<p class=MsoBodyTextIndent2 style='line-height:17.0pt;mso-line-height-rule:
exactly'><span lang=ZH-CN>程序的执行始终是开始于主程序的第一条可执行语句,所以每个完整的</span><span
lang=EN-US>Fortran</span><span lang=ZH-CN>程序<span class=GramE>必须有且仅有</span>一个主程序。其形式为:</span><span
lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:73.45pt;mso-char-indent-count:
6.12;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US style='color:#FF9900'>[PROGRAM [</span><span lang=ZH-CN
style='color:#FF9900'>程序名</span><span lang=EN-US style='color:#FF9900'>]]<o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:99.85pt;mso-char-indent-count:
8.32;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US style='color:#FF9900'>[</span><span lang=ZH-CN style='color:#FF9900'>说明部分</span><span
lang=EN-US style='color:#FF9900'>]<o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:99.85pt;mso-char-indent-count:
8.32;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US style='color:#FF9900'>[</span><span lang=ZH-CN style='color:#FF9900'>可执行部分</span><span
lang=EN-US style='color:#FF9900'>]<o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:73.45pt;mso-char-indent-count:
6.12;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US style='color:#FF9900'>[CONTAINS<o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:99.85pt;mso-char-indent-count:
8.32;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=ZH-CN style='color:#FF9900'>内部过程</span><span lang=EN-US style='color:#FF9900'>]<o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:73.45pt;mso-char-indent-count:
6.12;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US style='color:#FF9900'>END [PROGRAM[</span><span lang=ZH-CN
style='color:#FF9900'>程序名</span><span lang=EN-US style='color:#FF9900'>]]</span></p>
<p class=MsoBodyTextIndent2 style='line-height:17.0pt;mso-line-height-rule:
exactly'><span lang=ZH-CN>可以看到,主程序单元中允许包含内部过程。主程序名和外部过程名和公共块名都被认为是<span
style='color:fuchsia'>全局名称</span>。全局名称在一个程序中必须是唯一的。</span><span lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:50.4pt;mso-char-indent-count:
4.2;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=ZH-CN>例:</span><span lang=EN-US>PROGRAM </span><st1:place><span
lang=EN-US>MAIN</span></st1:place><span lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:99.85pt;mso-char-indent-count:
8.32;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US>REAL <span class=GramE>X(</span>10),A(10,10),B(10)<span
style='mso-spacerun:yes'> </span>!</span><span lang=ZH-CN>说明部分</span><span
lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:99.85pt;mso-char-indent-count:
8.32;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=ZH-CN>…</span><span lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:99.85pt;mso-char-indent-count:
8.32;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US>CALL <span class=GramE>GAUSS(</span>A,B,X)<span
style='mso-spacerun:yes'>
</span>!</span><span lang=ZH-CN>执行部分,调用内部过程</span><span lang=EN-US>GAUSS<o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:73.45pt;mso-char-indent-count:
6.12;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US>CONTAINS<o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:99.85pt;mso-char-indent-count:
8.32;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US>SUBROUTINE GAUSS(R<span class=GramE>,S,T</span>)<span
style='mso-spacerun:yes'> </span>!</span><span
lang=ZH-CN>内部过程的开始</span><span lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:99.85pt;mso-char-indent-count:
8.32;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=ZH-CN>…</span><span lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:99.85pt;mso-char-indent-count:
8.32;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US>END SUBROUTINE GAUSS<span
style='mso-spacerun:yes'> </span>!</span><span
lang=ZH-CN>内部过程的结束</span><span lang=EN-US><o:p></o:p></span></p>
<p class=MsoBodyTextIndent2 style='text-indent:73.45pt;mso-char-indent-count:
6.12;line-height:15.0pt;mso-line-height-rule:exactly;mso-char-indent-size:12pt'><span
lang=EN-US>EHD PROGRAM </span><st1:place><span lang=EN-US>MAIN</span></st1:place></p>
<p class=MsoBodyTextIndent2 style='line-height:17.0pt;mso-line-height-rule:
exactly'><span lang=ZH-CN>下图显示的是一个</span><span lang=EN-US>F90</span><span
lang=ZH-CN>程序的标准结构。<span class=GramE>每个框都可以</span>是一个独立的源文件:</span><span
lang=EN-US><o:p></o:p></span></p>
<p class=MsoNormal align=center style='margin-top:15.6pt;margin-right:0cm;
margin-bottom:15.6pt;margin-left:0cm;mso-para-margin-top:1.0gd;mso-para-margin-right:
0cm;mso-para-margin-bottom:1.0gd;mso-para-margin-left:0cm;text-align:center;
mso-char-indent-size:0cm'><!--[if gte vml 1]><o:wrapblock><v:group id="_x0000_s1028"
style='position:absolute;left:0;text-align:left;margin-left:57.15pt;
margin-top:0;width:297pt;height:234pt;z-index:1;mso-position-vertical:top'
coordorigin="2520,3156" coordsize="5940,4680">
<v:rect id="_x0000_s1029" style='position:absolute;left:2520;top:3156;
width:2892;height:3311' filled="f"/>
<v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe">
<v:stroke joinstyle="miter"/>
<v:path gradientshapeok="t" o:connecttype="rect"/>
</v:shapetype><v:shape id="_x0000_s1030" type="#_x0000_t202" style='position:absolute;
left:2520;top:3156;width:3102;height:3402' filled="f" stroked="f">
<v:textbox style='mso-next-textbox:#_x0000_s1030' inset=",,,0">
<![if !mso]>
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td><![endif]>
<div>
<p class=MsoNormal style='margin-top:6.0pt'><span lang=EN-US
style='font-size:12.0pt'>Program A1<o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt;text-indent:20.4pt'><span
lang=EN-US style='font-size:12.0pt'>Use module A<o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt;text-indent:20.4pt'><span
lang=EN-US style='font-size:12.0pt'>Call B<o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt'><span lang=EN-US
style='font-size:12.0pt'>Contains<o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt;text-indent:20.4pt'><span
lang=ZH-CN style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>内部子程序</span><span
lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt;text-indent:20.4pt'><span
lang=ZH-CN style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>或内部函数</span><span
lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt'><span lang=EN-US
style='font-size:12.0pt'>End Program A1<o:p></o:p></span></p>
</div>
<![if !mso]></td>
</tr>
</table>
<![endif]></v:textbox>
</v:shape><v:line id="_x0000_s1031" style='position:absolute' from="4860,3936"
to="6300,3936">
<v:stroke endarrow="block"/>
</v:line><v:rect id="_x0000_s1032" style='position:absolute;left:6300;top:3468;
width:2160;height:2028' filled="f"/>
<v:shape id="_x0000_s1033" type="#_x0000_t202" style='position:absolute;
left:6300;top:3468;width:2160;height:1872' filled="f" stroked="f">
<v:textbox style='mso-next-textbox:#_x0000_s1033'>
<![if !mso]>
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td><![endif]>
<div>
<p class=MsoNormal style='margin-top:6.0pt'><span lang=EN-US
style='font-size:12.0pt'>Module A<o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt'><span lang=EN-US
style='font-size:12.0pt'>Contains<o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt;text-indent:27.0pt'><span
lang=ZH-CN style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>模块子程序</span><span
lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt;text-indent:27.0pt'><span
lang=ZH-CN style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>或函数</span></p>
</div>
<![if !mso]></td>
</tr>
</table>
<![endif]></v:textbox>
</v:shape><v:shape id="_x0000_s1034" type="#_x0000_t202" style='position:absolute;
left:5760;top:5808;width:2160;height:1872' filled="f" stroked="f">
<v:textbox style='mso-next-textbox:#_x0000_s1034'>
<![if !mso]>
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td><![endif]>
<div>
<p class=MsoNormal style='margin-top:6.0pt'><span lang=EN-US
style='font-size:12.0pt'>Subroutine B<o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:6.0pt'><span lang=EN-US
style='font-size:12.0pt'>(</span><span lang=ZH-CN style='font-size:12.0pt;
font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>外部子程序</span><span lang=EN-US style='font-size:12.0pt'>)<o:p></o:p></span></p>
</div>
<![if !mso]></td>
</tr>
</table>
<![endif]></v:textbox>
</v:shape><v:rect id="_x0000_s1035" style='position:absolute;left:5760;top:5808;
width:2160;height:2028' filled="f"/>
<v:line id="_x0000_s1036" style='position:absolute' from="3780,4404" to="5940,4404"/>
<v:line id="_x0000_s1037" style='position:absolute' from="5940,4404" to="5940,5808">
<v:stroke endarrow="block"/>
</v:line><w:wrap type="topAndBottom" anchorx="page"/>
</v:group><![endif]--><![if !vml]><span style='mso-ignore:vglayout'>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -