当前位置:首页 >> 学科竞赛 >>

pascal语法讲义-第五讲


百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

第五讲 循环结构的程序设计
一、循环结构
循环结构(Cycle Structure)可以减少源程序重复书写的工作量, 用来描述重复执行某段算法的问题, 这是程序设计中最能发挥计算机 特长的程序结构。 循环结构可以看成是一个条件判断语句和一个向回转向语句的 组合。另

外,循环结构的两个要素:循环体和循环终止条件,循环结 构在程序框图中是利用判断框来表示,判断框内写上条件,两个出口 分别对应着条件成立和条件不成立时所执行的不同指令, 其中一个要 指向循环体,然后再从循环体回到判断框的入口处。一组被重复执行 的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结 构是在一定条件下反复执行某段程序的流程结构, 被反复执行的程序 被称为循环体。 下面是最常见的循环结构的流程图。

F

循环终止条件

T

循环体

第 1 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

下图为循环结构的两种 N-S 图:

在 Pascal 中,被推荐的循环一共有三种:计数型循环(for 循 环) 、当型循环(while 循环) 、直到型循环(repeat-until 循环) 。

二、for 循环(计数型循环)
for 循环一共有三种常见类型:for-to-do 循环、for-downto-do 循环、for-in-do 循环。 (1)for-to-do 循环(递增型计数循环) 基本语法: for <循环控制变量>:=<初值> to <终值> do 循环体语句; 例如: for i:=1 to 100 do writeln(i); //输出 1..100 内所有的整数 Turbo Pascal 和 Free Pascal 下执行过程可以这样理解: T i:=0; i:=succ(i); writeln(i); until i=100 如果所需要的循环体语句不止一句的话, 可以选择使用复合语句。
第 2 页,共 27 页

1<=100

F

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

在 for-to-do 语句的使用中,需要注意以下几点: 1)其中初值和终值可以是表达式,控制变量与初值、终值的类 型相同,且必须是顺序类型,不能是实型、字符串、数组等非顺序类 型。 2)对于控制变量的递增规律是:按照 succ 函数(后继函数)规 律变化。 备注:
1 succ(i)=i+1; //i∈longint 且 i<maxlongint ○
E A

2 succ(ch)=chr(succ(ord(ch))); //ch∈char 且 ord(ch)<255 ○
E A A

3 succ(false)=true; ○
E A A

3)初值与终值在循环开始之前计算,再重复执行过程中,其值 不受影响。 例如: i:=5; for i:=1 to i+1 do write(i, ' '); 结果是“1 2 3 4 5 6 ” 。 4)循环控制变量再循环过程中建议不要进行操作,在循环过程 中对于控制变量的更改在各个不同的编译器中的支持是不同的, 例如 在 Turbo Pascal 7 和较早版本的 Free Pascal 中是支持在循环过程 中对于控制变量的更改的,而在较新的 Free Pascal 的版本中就不再 支持。同样的,也不要将循环控制变量在循环体内部作为子程序的变 参使用。
第 3 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

5)当初值超过终值时,不执行循环,即循环的次数为 0。 6)当初值不超过终值时,循环的次数为 ord(<终值>)-ord(<初值>)+1 例题 1.3.3.2.1:顺序输出 26 个英文字母的大写。 法一: program p1_3_3_2_1_1(input,output); var ch:char; begin for ch:='A' to 'Z' do write(ch); readln(); end. 其中,循环变量为一字符型变量 ch。 法二: program p1_3_3_2_1_2(input,output); var i:byte; begin for i:=1 to 26 do write(chr(i+64)); readln(); end. 其中,循环变量为一字节型变量 i。
第 4 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

例题 1.3.3.2.2:输入一个自然数 n(n∈integer 且 n>0),输出 该自然数的全部约数之和。 program p1_3_3_2_2_1(input,output); var i,n,sum:longint; begin readln(n); sum:=0; for i:=1 to n do if n mod i = 0 then inc(sum,i); writeln(sum); readln(); end. 思考:若 a|i,则必有 a|(a/i),只要考虑 a=i2 这一特殊情况, 即可以将程序的时间复杂度由 O(n)降为 O( )。
1 2

program p1_3_3_2_2_2(input,output); var i,n,sum:longint; begin readln(n); sum:=0; i:=0; for i:=1 to trunc(sqrt(n)) do
第 5 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

if n mod i = 0 then begin inc(sum,i); inc(sum,n div i); end; if n=sqr(trunc(sqrt(n))) then dec(sum,trunc(sqrt(n))); //如果是完全平方数就把多计算一次的平方根减掉 writeln(sum); readln(); end. (2)for-downto-do 循环(递减型计数循环) 基本语法: for <循环控制变量>:=<初值> downto <终值> do 循环体语句; 例如: for i:=100 downto 1 do writeln(i); //倒序输出 1..100 内所有的整数 Turbo Pascal 和 Free Pascal 下执行过程可以这样理解: T i:=101; i:=pred(i); writeln(i); until i=1
第 6 页,共 27 页

100>=1

F

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

在 for-downto-do 语句的使用中,所需要注意的几个要点与 for-to-do 语句基本相同: 1)其中初值和终值可以是表达式,控制变量与初值、终值的类 型相同,且必须是顺序类型。 2)对于控制变量的递增规律是:按照 pred 函数(前驱函数)规 律变化。 备注:
1 pred(i)=i-1; //i∈longint 且 i>-maxlongint-1 ○
E A A

2 pred(ch)=chr(pred(ord(ch))); //ch∈char 且 ord(i)>0 ○
E A A

3 pred(true)=false; ○
E A A

3)初值与终值在循环开始之前计算,再重复执行过程中,其值 不受影响。 4)循环控制变量再循环过程中建议不要进行操作,在循环过程 中对于控制变量的更改在各个不同的编译器中的支持是不同的, 例如 在 Turbo Pascal 7 和较早版本的 Free Pascal 中是支持在循环过程 中对于控制变量的更改的,而在较新的 Free Pascal 的版本中就不再 支持。同样的,也不要将循环控制变量在循环体内部作为子程序的变 参使用。 5)当初值小于终值时,不执行循环,即循环的次数为 0。 6)当初值大于等于终值时,循环的次数为 ord(<初值>)-ord(<终值>)+1 7)理论上,for-to-do 与 for-downto-do 可以互换
第 7 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

(3)for-in-do 循环 for-in-do 语句的语法来自 Borland Delphi。Turbo Pascal7.0 并不支持该语法,但较新的 Free Pascal 版本支持。 for...in 语 句 用于 对一 个 容器 ( container )中 的所 有 元素 (element)进行逐一的遍历。其具体语法为: for 元素变量 in 容器 do 循环语句; 有关 for-in-do 语法的具体应用, 我们将在 1.4 的学习中详细为 大家介绍。 (4)for 循环的嵌套与实际运用 在某一循环语句的循环体中出现了循环语句, 我们就称之为循环 的嵌套。 例题 1.3.3.2.3:输出 100~999 中的全部水仙花数。 备注: 三位数水仙花数的定义如下: 若一三位数 a*100+b*10+c (a ≠0 且 a,b,c∈{x∈N|x<10})符合 ? 100 + ? 10 + = 3 + 3 + 3 ,

则称该三位数为水仙花数。

program p1_3_3_2_3(input,output); var a,b,c,m:longint; begin for a:=1 to 9 do for b:=0 to 9 do for c:=0 to 9 do begin
第 8 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

m:=a*a*a+b*b*b+c*c*c; if m=a*100+b*10+c then writeln(m); end; readln(); end. 在这里,我们使用了一个三重循环。当然,本题也可以使用一个 一重循环来, 大家可以自己试试看, 并且, 分析一下哪一种方法更好。 例题 1.3.3.2.4:编程打印如下图形。

program p1_3_3_2_4(input,output); var i,j:longint; begin for i:=6 downto 1 do begin for j:=1 to 6-i do write(' '); for j:=2*i-1 downto 1 do write('#');
第 9 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

writeln(); end; readln(); end. 运用 for 语句可以打印各种各样的东西, 我们将运用 for 循环语 句打印图形的这一类程序统称为 for 循环打印。 例题 1.3.3.2.5:警察查一个杀人犯。A 说,是 B 杀的;B 说:不 是我;C 说:是 A 杀的。已知有且只有一个人说了谎,且说谎者即为 杀人犯。问人是谁杀的。 program p1_3_3_2_5 (input,output); var a,b,c:boolean; begin for a:=false to true do for b:=false to true do for c:=false to true do if ord(a)+ord(b)+ord(c)=2 then if ord(not(b))+ord(b)+ord(not(a))=2 then if not(a) then writeln('a') else if not(b) then writeln('b') else writeln('c'); readln(); end.
第 10 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

三、while 循环(当型循环)
计数型循环仅适用于循环次数是确定的情况,然而,如果循环次 数不确定,又应该如何解决呢? 这个时候,我们就需要使用当型循环或直到型循环。 当型循环语句(while 语句)是这样描述循环的:当循环控制条件 成立时,重复执行指定的语句。 格式: while 循环控制条件 do 循环体语句; while 语句的执行过程是:先求循环控制条件这一布尔表达式的 值, 当其值为真时, 重复执行循环体语句, 当其值为假时, 终止循环。 为了防止出现死循环(在编程中,一个无法靠自身的控制终止的 循环称为“死循环” ) ,在循环体语句中必须出现能够更改循环控制条 件的语句,并且能够在一定条件下使循环控制条件为假。 例如,下面的循环语句是不被欢迎的: while true do writeln('Pascal'); 死循环并不能被编译器所识别,仍然能够被正常的编译,所以, 编程者必须要万分小心、时常注意,严防死循环的出现。 例题 1.3.3.3.1:读入两个正整数 a,b(a,b∈longint), 输出这两 个数的最大公约数。 这里我们使用欧几里得算法(辗转相除法) 。 公式: gcd(a,b) = gcd(b,a mod b)
第 11 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

program p1_3_3_3_1(input,output); var a,b:longint; begin readln(a,b); while a mod b <> 0 do begin a:=a mod b; a:=a xor b; b:=a xor b; a:=a xor b; end; writeln(b); readln(); end. 这里我们附上欧几里得算法正确性的证明。 (备注: 以下内容引自 《普通高中课程标准实验教科书 数学 (选 修 4-6) 初等数论初步》 (人民教育出版社) )

第 12 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

另外,最小公倍数可以根据欧几里得算法由下式求出 [a,b]*(a,b)=a*b 例 1.3.3.3.2:读入一行字符,以回车为结束,计算输入的字符 中'a'出现的次数。 本题可以使用字符串,但是考虑到对于 string 长度的限制,我 们可以使用 AnsiString、UnicodeString 等类型,不过,读入一个字 符处理一个字符的方法更为优秀,因为其所需的空间复杂度为 O(1) 而非 O(n)。 program p1_3_3_3_2(input,output); var ch:char; total:longint=0; begin while not(eoln()) do begin read(ch); if ch='a' then inc(total);
第 13 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

end; writeln(total); readln(); end. 事实上,while 语句可以替代 for 语句。但是我们并不推荐这么 做,因为 for 语句更简洁,更具可读性,并且也符合结构化程序编写 的要求。当然,在循环控制变量需要在循环体内进行修改时就必须使 用 while 或 repeat 来改写 for 语句了。 例题 1.3.3.3.3:输出 100 以内的全部奇数。 program p1_3_3_3_3(input,output); var i:longint=-1; begin while i<100 do begin inc(i,2); writeln(i); end; end. 有兴趣的同学可以尝试着将本程序改写为 for 循环的程序。 其中心程序段为:for i:=1 to 50 do writeln(i*2-1);
1 为什么是 i*2-1? 思考:○ 2 能不能在改变映射的情况下改变循环的初值与终值? ○
E A

第 14 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

四、repeat 循环(直到型循环)
repeat 语句又被称为直到语句,它是这样描述循环的:重复执 行指定的语句序列,直到指定的条件成立时才结束该重复。 语句格式: repeat 循环体语句序列; until 循环控制条件; repeat 语句的执行过程为:先执行循环体语句序列,然后判别 循环控制条件,当循环控制条件不成立时,继续执行循环体语句序列 这样重复进行,直到循环控制条件成立才终止。 与 while 语句相似,我们也必须严防如“repeat until false” 这类的死循环。 while 语句与 repeat 语句都能实现循环,但有四点不同: while 语句 先判断条件,后执行语句 循环体部分只能是一条语句 (当然可以是一条复合语句) 当条件成立时重复执行 当条件一开始就不成立时, 循环体部分一次也不执行 repeat 语句 先执行语句,后判断条件 循环体可以是多条语句, 无需复合语句 当条件不成立时重复执行 无论条件是否成立,总要执行一 次循环体语句序列

因此,while 和 repeat 语句可以相互改写,但改写后可能会导 致程序复杂化。 到底使用哪一种, 需要同学们根据具体情况具体分析。
第 15 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

例题 1.3.3.4.1:读入一个字符 ch,在紧接着的字符串中查找第 一次出现 ch 的位置。保证在字符串中至少出现一次 ch。 这里仍然使用读入一个字符处理一个字符的方法。 program p1_3_3_4_1(input,output); var ch,ch2:char; sum:longint=0; begin readln(ch); repeat inc(sum); read(ch2); until ch=ch2; writeln(sum); readln(); end. 例题 1.3.3.4.1:读入一个大于 2 的偶数,将之分解为两个质数 (p1,p2)的和。只要输出一组解,但要求 p1<p2 且 p1 尽可能的小。 program p1_3_3_4_2(input,output); var n,p1,p2,i:longint;f:boolean; begin readln(n); p1:=1;
第 16 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

repeat inc(p1); f:=false; for i:=2 to trunc(sqrt(p1)) do if p1 mod i = 0 then begin f:=true; break; end; if f then continue; p2:=n-p1; f:=false; for i:=2 to trunc(sqrt(p2)) do if p2 mod i = 0 then begin f:=true; break; end; until not(f); writeln(p1,' ',p2); readln(); end.
第 17 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

本题题设来自于哥德巴赫猜想: 任一大于 2 的整数都可写成两个 质数之和。该命题于 1742 年由哥德巴赫提出,至今近 300 年历史, 无数大数学家对其进行了研究,但目前无人能证明其真,也无法举出 反例, 被誉为 “数学皇冠上的明珠” 。 有兴趣的同学以后可去研究它。 这个程序并不是很好,原因有二: 1、对于质数的判断可以优化,具体的优化方式我们将会在 1.5 以及第二卷中进行详细讨论 2、使用了 continue、break 这类结构化程序语言所不推荐的过 程。 下面我们通过流程图来简单解释一下 break 与 continue 的使用 方式。

break

continue

普通循环结构

break

continue

第 18 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

1) break 表示直接结束当前循环, 即 break 所在的最内层循环。 例如 for i:=1 to 10 do begin for j:=1 to 10 do begin write(j, ' '); if j=i then break; end; writeln(); end; 这段程序与下面的程序等效: for i:=1 to 10 do begin for j:=1 to i do write(j, ' '); writeln(); end; 2)continue 表示直接跳至循环体尾部,但是否继续循环需要依 据循环控制条件来判断。 3)break、continue 的使用,影响了结构化程序设计的要求, 所以并不推荐,理论上,break、continue 完全可以被代替,但事实 上,break、continue 的使用可以增强程序可读性,并提升效率。
第 19 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

五、goto 语句
结构化程序是不赞成随意控制程序跳转的, 所以并不推荐使用例 如 break、continue、exit、halt 等命令(关于 exit、halt,我们 将在 1.5 中详细讨论) ,然而,事实上,在 Unextended Pascal 就为 我们提供 了一 个更为 随意的 跳转 方式 ——goto 语句 (当然 ,在 Extended Pascal 等其他 Pascal 版本仍然是允许的) 。自然,goto 语 句也并不被我们所推荐。事实上,在某些 Pascal 的编译器中,goto 语句的使用会影响最终程序的稳定性。 下面我们简单了解一下 goto 语句的使用方式。 第一步,在程序的说明部分定义标号。 第二步,在程序中标记标号所在位置。 第三步,在程序中写入跳转语句。 我们用一个简单的程序来说明。 例题 1.3.3.5.1:顺序输出 1..100 内全部整数。 program p1_3_3_5_1(input,output); var i:longint=0; label 1; begin 1: inc(i); writeln(i); if i<100 then goto 1;
第 20 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

readln(); end. 从程序中,我们可以得到以下结论: 1) 我们需要在程序首部定义标号 (如程序中的 “label 1;”) , 标号必须是 1..9999 间的整数,可以不止一个,不要求连续,也不要 求按大小排序。例如,下面的定义是合法的: label 500,1,9999; 2)程序仍然必须符合先定义后使用的原则,即必须在程序首部 定义标号,在程序体内才能使用。 3)程序中标号可以在 goto 以前出现,如本程序,事实上,也可 以在 goto 语句后出现。当跳转发生时,程序将会跳过 goto 与标号中 间的部分,直接执行标号以后的部分。 4)程序中标号位置是唯一的。但是可以有多个跳转到同一出口 的入口(即可以在程序的不同位置出现目标是同一个标号的 goto 语 句) 。 5)当一个程序中使用了 goto 语句,程序的正文书写顺序就不再 是静态顺序(即对于每一条语句,有且仅有一个入口,有且仅有一个 出口) 了, 取而代之的是动态顺序。 这样, 程序就不再具有单个入口、 单个出口的特色了,这便与结构化程序设计的宗旨不符,所以 goto 语句的使用并不被推荐。 6)goto 语句的使用效果可以完全由静态顺序的语句来实现,不 过有的时候会需要借助其他变量来标记。
第 21 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

六、Pascal 程序缩进、换行的推荐规范
在 1.3.2.4 中,我们第一次看到了缩进的魔力——同样的程序, 不同的缩进方式,常会让程序阅读者产生不同的理解(虽然便一起的 理解方式是唯一的, 所以也就只有一种理解方式是正确的) 。 事实上, 规范的缩进,不仅可以让程序阅读者有正确的理解,而且会有一种美 的享受,这也正是 Pascal 语言的优点之一。优美的缩进与换行,可 以使程序有诗歌一般的即视感。以下是比较常见的,也是最为我们所 推荐、且所有标程都遵从的缩进、换行规范: 1)表示从属,通常 缩进两格。我们以 1.2.1.1.1 的标程为例, 过程 change 是隶属于 过程 sort 的子程序, 所以子程序的首部缩 进两格。除主程序的说 明及程序体部分外,通 常都要缩进,如本程序 ort 与 change 的部分。 另外,同等级的控制在 一个纵列上。 2)if-else 的缩进遵从 else 与其对应的 then 在同一纵列上的 原则。
第 22 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

3)for、if、while、with 句型后的命令若较短,则可以 不换行,若很长,如复合或嵌 套等,则通常换行。如标程 p1_2_1_1_1 中第 49 到 50 行, 我们就将 for 循环拆成了两个 部分,而第 57 行,if 语句就 没有与 exit 分为两行。 另外, 还有一个原则是程序的一行 不能过长,如 Turbo Pascal 7 一行程序不得超过 80 个字符。 4) 原则上语法结构不拆分。 例如 p1_2_1_1_1 中, 第 49 至 50 行, 我们写的是

而不是

虽然这两种表达都是合法的,但显然第一种比第二种更为美观, 也更易于理解。 5)有关其他语法的缩进、换行格式,可以参见本教程的样例程 序。
第 23 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

七、命令提示符简介
命令提示符即 cmd.exe, 是一个 32 位的命令行程序, 微软 Windows 系统基于 Windows 上的命令解释程序,类似于微软的 DOS 操作系统。 输入一些 DOS 命令,cmd.exe 可以执行,比如输入 shutdown -s 就会 在 30 秒后关机。总之,它非常有用。打开方法:开始-所有程序-附 件或开始-运行,输入:cmd 或 cmd.exe。它也可以执行 BAT 文件。 DOS 命令, 是 DOS 操作系统的命令, 是一种面向磁盘的操作命令, 主要包括目录操作类命令、磁盘操作类命令、文件操作类命令和其它 命令。 下面是常见的 DOS 命令。 ASSOC AT ATTRIB BREAK CACLS CALL CD CHCP CHDIR CHKDSK CHKNTFS CLS 显示或修改文件扩展名关联。 计划在计算机上运行的命令和程序。 显示或更改文件属性。 设置或清除扩展式 CTRL+C 检查。 显示或修改文件的访问控制列表(ACLs)。 从另一个批处理程序调用这一个。 显示当前目录的名称或将其更改。 显示或设置活动代码页数。 显示当前目录的名称或将其更改。 检查磁盘并显示状态报告。 显示或修改启动时间磁盘检查。 清除屏幕。
第 24 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

CMD COLOR COMP COMPACT CONVERT

打开另一个 Windows 命令解释程序窗口。 设置默认控制台前景和背景颜色。 比较两个或两套文件的内容。 显示或更改 NTFS 分区上文件的压缩。 将 FAT 卷转换成 NTFS。您不能转换 当前驱动器。

COPY DATE DEL DIR

将至少一个文件复制到另一个位置。 显示或设置日期。 删除至少一个文件。 显示一个目录中的文件和子目录。

DISKCOMP 比较两个软盘的内容。 DISKCOPY 将一个软盘的内容复制到另一个软盘。 DOSKEY ECHO 编辑命令行、调用 Windows 命令并创建宏。 显示消息,或将命令回显打开或关上。

ENDLOCAL 结束批文件中环境更改的本地化。 ERASE EXIT FC 删除至少一个文件。 退出 CMD.EXE 程序(命令解释程序)。 比较两个或两套文件,并显示 不同处。 FIND FINDSTR FOR 在文件中搜索文字字符串。 在文件中搜索字符串。 为一套文件中的每个文件运行一个指定的命令。
第 25 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

FORMAT FTYPE GOTO

格式化磁盘,以便跟 Windows 使用。 显示或修改用于文件扩展名关联的文件类型。 将 Windows 命令解释程序指向批处理程序 中某个标明的行。

GRAFTABL 启用 Windows 来以图像模式显示 扩展字符集。 HELP IF LABEL MD MKDIR MODE MORE MOVE PATH PAUSE POPD PRINT PROMPT PUSHD RD RECOVER 提供 Windows 命令的帮助信息。 执行批处理程序中的条件性处理。 创建、更改或删除磁盘的卷标。 创建目录。 创建目录。 配置系统设备。 一次显示一个结果屏幕。 将文件从一个目录移到另一个目录。 显示或设置可执行文件的搜索路径。 暂停批文件的处理并显示消息。 还原 PUSHD 保存的当前目录的上一个值。 打印文本文件。 更改 Windows 命令提示符。 保存当前目录,然后对其进行更改。 删除目录。 从有问题的磁盘恢复可读信息。
第 26 页,共 27 页

百度 Pascal 吧公开培训教材-Pascal 培训课程普及讲义-第五讲

REM REN RENAME REPLACE RMDIR SET

记录批文件或 CONFIG.SYS 中的注释。 重命名文件。 重命名文件。 替换文件。 删除目录。 显示、设置或删除 Windows 环境变量。

SETLOCAL 开始批文件中环境更改的本地化。 SHIFT SORT START SUBST TIME TITLE TREE TYPE VER VERIFY 更换批文件中可替换参数的位置。 对输入进行分类。 启动另一个窗口来运行指定的程序或命令。 将路径跟一个驱动器号关联。 显示或设置系统时间。 设置 CMD.EXE 会话的窗口标题。 以图形模式显示驱动器或路径的目录结构。 显示文本文件的内容。 显示 Windows 版本。 告诉 Windows 是否验证文件是否已正确 写入磁盘。 VOL XCOPY 显示磁盘卷标和序列号。 复制文件和目录树。

具体每一个命令的使用方法,可以在 cmd 中输入“help 命令” 或“命令 /?”来查询。
第 27 页,共 27 页


相关文章:
语法第五讲
语法第五讲_英语_初中教育_教育专区。语法第五讲:冠词、动词分类及形式一、冠词:a / an the 1. a“u” ; an “f h l m n r s x ” 2. 零冠词:...
PASCAL讲义
PASCAL讲义_IT/计算机_专业资料。编程必备第...如果程序有语法错误,则会在程序窗口的第一行处显示...五、输出语句 输出语句的作用是将程序运算的结果输出...
初中英语语法 第五讲
英语语法 语法讲义 济南新年华教育 初中英语语法讲义 第五讲 2009 年中考英语复习五:代词考点讲解和训练 年中考英语复习五:代词考点讲解和训练 五、代词【考点直击...
PASCAL语法基础-答案
Pascal 语法基础习题 第一题:下列哪些常量是对的,哪些是错误的,错在哪? Const...如在 begin 下加 pi:=3.1415926; r:=100; h:=30; 第五题:编写一程序,...
高中语法讲义
高中语法讲义_高三英语_英语_高中教育_教育专区。英语...当主句主语为第一人称,谓语动词是时,反意疑问句应...五. 时态呼应(主要用于宾语从句中) 1. 当主句为...
第五讲 小学英语语法讲义
济南新年华教育 小学英语讲义 次课) 济南新年华教育 小学英语讲义 (第五 次课)小升初英语基本语法与练习五 动词 知识要点 动词表示人或事物的动作或状态。 根据其...
pascal语法
pascal语法_经济学_高等教育_教育专区。DELPHI语言pascal 语法 2005 年 1 月 27 日 09:45 作者:不详 来源:中国烟机备件网 第一章,pascal 介绍 一,pascal 的基...
第五讲、高中英语语法指津与能力训练(上) [讲义]
第​五​讲​、​高​中​英​语​语​法​指​津​与...Ok 学习网 www.okxuexi.com 高考英语语法指津与能力训练一、高考英语语法题命题...
Pascal语法小全
Pascal语法小全_其它语言学习_外语学习_教育专区。Pascal 语法小全 OBJECTPASCALPROGRAMING(WRITEDBYC.Y.CATTENTIONSYSTEMDEVELOPMENTCO,.) 1.标记(TOKEN) 1.1特别...
Pascal语法小结
Pascal 语法小结请同学们牢记:计算机的实质是对存储器中(容器)的数据进行修改。不能被计算机语 言的语法所迷惑。对一个程序要一眼就看到本质,找到程序中最关键的...
更多相关标签:
上交所期权讲义第五讲 | pascal语法 | pascalscript语法 | pascal基本语法 | pascal语法分析器 | pascal if then 语法 | pascalscript乘法语法 | pascal语言语法 |