当前位置:文档之家› pascal简单程序

pascal简单程序

pascal简单程序
pascal简单程序

第一章简单程序

无论做任何事情,都要有一定的方式方法与处理步骤。计算机程序设计比日常生活中的事务处理更具有严谨性、规范性、可行性。为了使计算机有效地解决某些问题,须将处理步骤编排好,用计算机语言组成“序列”,让计算机自动识别并执行这个用计算机语言组成的“序列”,完成预定的任务。将处理问题的步骤编排好,用计算机语言组成序列,也就是常说的编写程序。在Pascal语言中,执行每条语句都是由计算机完成相应的操作。编写Pascal 程序,是利用Pascal语句的功能来实现和达到预定的处理要求。“千里之行,始于足下”,我们从简单程序学起,逐步了解和掌握怎样编写程序。

第一节Pascal 程序结构和基本语句

在未系统学习Pascal语言之前,暂且绕过那些繁琐的语法规则细节,通过下面的简单例题,可以速成掌握Pascal程序的基本组成和基本语句的用法,让初学者直接模仿学习编简单程序。

[例1.1]编程在屏幕上显示“Hello World!”。

Pascal程序:

Program ex11;

Begin

Writeln(‘Hello World!’);

ReadLn;

End.

这个简单样例程序,希望大家的程序设计学习能有一个良好的开端。程序中的Writeln 是一个输出语句,它能命令计算机在屏幕上输出相应的内容,而紧跟Writeln语句后是一对圆括号,其中用单引号引起的部分将被原原本本地显示出来。

[例1.2]已知一辆自行车的售价是300元,请编程计算a辆自行车的总价是多少?

解:若总售价用m来表示,则这个问题可分为以下几步处理:

= 1 \* GB3 ①从键盘输入自行车的数目a;

= 2 \* GB3 ②用公式m=300*a 计算总售价;

= 3 \* GB3 ③输出计算结果。

Pascal程序:

Program Ex12; {程序首部}

Var a,m : integer; {说明部分}

Begin {语句部分}

Write(‘a=’);

ReadLn(a); {输入自行车数目}

M := 300*a; {计算总售价}

Writeln(‘M=’,m);{输出总售价}

ReadLn; {等待输入回车键}

End.

此题程序结构完整,从中可看出一个Pascal 程序由三部分组成:

(1)程序首部

由保留字Program开头,后面跟一个程序名(如:Exl1);其格式为:

Program 程序名;

程序名由用户自己取,它的第一个字符必须是英文字母,其后的字符只能是字母或数字和下划线组成,程序名中不能出现运算符、标点符和空格。

(2)说明部分

程序中所用的常量、变量,或类型、及过程与自定义函数,需在使用之前预先说明,定义数据的属性(类型)。[例1.2] 程序中 Var S,R,C: Real;是变量说明,此处说明S,R,C三个变量均为实数类型变量。只有被说明为某一类型的变量,在程序中才能将与该变量同类型的数值赋给该变量。变量说明的格式为:

Var 变量表:类型;

(3)语句部分

指由保留字 Begin (开始)至 End. (结尾)之间的语句系列,是解决问题的具体处理步骤,也是程序的执行部分。

Pascal程序不管是哪部分,每句末尾都必须有分号(;),但允许最接近 End 的那个语句末尾的分号省略;程序结束的End末尾必须有圆点(. ),是整个程序的结束标志。

程序中花括号“{ }”之间的部分为注释部分。

Pascal程序结构可归纳用如下来表示:

Program 程序名;程序首部

标号说明; (Label)

常量说明; (Const) 说明部分

类型说明; (Type)

变量说明; (Var)

过程或函数说明;

Begin 程序体 (主程序)

语句系列;语句部分

End.

把处理问题的步骤编成能从上到下顺序执行的程序,是简单程序的基本特征。再来分析下面两道例题的Pascal程序结构和继续学习基本语句。

[例1.3]编程计算半径为R的圆的面积和周长。

解:这是一个简单问题,按数学方法可分以下几步进行处理:

①从键盘输入半径的值R;{ 要求告诉圆的半径R }

②用公式S=πR2计算圆面积;

③用公式C=2πR 计算圆周长;

④输出计算结果。

Pascal程序:

Program Ex13;{程序首部 }

Var R,S,C: Real;{说明部分 }

Begin {语句部分 }

Write ('R=?');

Readln(R);{输入半径 }

S:=Pi*R*R;{圆面积公式S=πR2}

C:=2*Pi*R;{圆周长公式C=2πR}

Writeln('S=',S);{输出结果 }

Writeln('C=',C);

Readln {等待输入回车键}

End.

程序中Pi是Pascal提供的标准函数,它返回圆周率的近似值:3.1415926…。

(:=)是赋值符号,赋值语句的格式为:

变量:=表达式;

赋值语句的作用是将:=右边表达式的值记录到左边的变量中。

Writeln是输出语句,输出语句有三种格式:

① Write (输出项1,输出项2) ;{执行输出后光标不换行}

② Writeln (输出项1,输出项2) ;{执行输出后光标换到下一行}

③ Writeln {仅输出空白且光标换到下一行}

Writeln语句后面的圆括号以内部分均为输出项,可以是多项,各项间用逗号分隔;对单引号里的内容按照引号内的原样(字符)输出显示。如果输出项是表达式,则只输出表达式的值,而不是表达式本身。

[例1.4] 输出两个自然数相除的商和余数。

解:设被除数、除数、商和余数,分别为A,B,C,D,均为变量,且都是整数类型。题中未给出具体的自然数A、B,可采用键盘输入方式。

①给出提示,从键盘输入a, b;

②显示两数相除的数学形式;

③求出a除以b的商c;

④求出a除以b的余数d;

⑤紧接等式后面输出显示商和余数。

Pascal程序:

Program Ex14;

Var a,b,c,d : integer;

Begin

Write('INPUT A,B:');{给出提示信息}

Readln(a,b);{输入a,b}

Writeln;{输出一空行}

Write(a,'/',b,'=');{输出等式之后不换行}

c:=a div b;{整除运算,取商的整数部分}

d:=a mod b;{相除求余运算,取商的余数部分}

Writeln(C,'…',d);{输出后自动换行 }

Readln {等待输入回车键 }

End.

执行本程序中第一个Write语句,输出其引号以内的一串提示信息,是给紧接着的输入语句提供明确的提示(要求),有“一目了然,人机对话”之效果。

Readln是一个特殊的输入语句,要求输入一个回车(换行)才能往下执行。

Readln是输入语句,它的一般格式为:

① Read (变量1,变量2);

② Readln (变量1,变量2);

③ Readln

前两种格式均要从键盘给变量输入数据,输入时,所键入的数据之间以空格为分隔,以回车为输入结束。若多输入了数据(即数据个数超过变量个数),Read语句读完数据之后,能让后续的读语句接着读取多下来的数据;而Readln 语句对本行多输入的数据不能让后续语句接着读取多下来的数据。为了防止多输入的数据影响下一个输入语句读取数据,建议尽量使用Readln语句输入数据。第三种格式不需输入数据,只需按入一个回车键。

[例1.5]自然数的立方可以表示为两个整数的平方之差,比如43=102-62,请输出自然数1996的这种表示形式。(这里的43用自乘三次的形式4*4*4表示;102也用自乘二次的形式10*10表示)

解:此题没有现成的计算公式能直接利用,但可以自行推出处理方法或构建适当的运算公式,按着构想的处理方案编排出各步骤。

设这个自然数为N,两个平方数分别为X,Y,将问题表示为求 N3=X2—Y2

①先找出X的值,仔细观察题中的示例,用数学方法归纳可得出X=N*(N+1)/2;(构成本题可用的计算公式)

②再仔细观察,发现Y值比X小一个N值,即 Y=X—N;

③输出等式 N3=X2—Y2或N*N*N=X*X—Y*Y

Pascal程序:

Program Ex15;

Const N=1996;{常量说明 }

Var X,Y: Longint;{变量说明,此题计算中的数值较大,用长整型 }

Begin

X:=N*(N+1) div 2;{ div 是整除运算 }

Y:=X-N;

Writeln(N,'*',N,'*', N,'=', X,'*', X,'—',Y,'*',Y);{ 输出结果 }

Readln

End.

本程序中N是常量,X,Y是变量,为长整数类型(Longint);程序中的div 是整除运算,其结果只取商的整数部分;

[例1.6] 求一元二次方程x2+3x+2=0的两个实数根。

解:方程的系数是常量,分别用a,b,c表示,可运用数学上现成的求根公式求方程的根,采取如下方法:

①先求出d=b2-4ac;(求根公式中需用开方运算的那部分)

②再用求根公式算出x1,x2的值。(x1,x2 = ? )

③输出x1,x2.

Pascal程序:

program Ex16;

Const a=1;{常量说明 }

b=3;

c=2;{a,b,c表示方程系数}

Var d : integer;{d为整型变量}

X1,X2: Real;{X1,X2为实型变量}

Begin

d:=b*b-4*a*c;

x1:=(-b+sqrt(d))/(2*a);{求方程的根}

x2:=(-b-sqrt(d))/(2*a);

Writeln('X1=',X1,' ':6,'X2=',X2);{输出结果}

Readln {等待输入一个回车键}

End.

本程序中的a,b,c均为常量;变量d是整数类型,而变量x1,x2则是实数类型,因为运算式中的Sqrt(d)开平方运算和(/)除法运算使结果为实数。Sqrt( ) 是开平方函数,是Pascal 系统的一个标准函数。

习题1.1 模仿例题编程

1. 加法计算器:编程由键盘输入两个整数a和b,计算出它们的和并输出到屏幕上。

2. 某梯形的上底、下底和高分别为8,12,9,求该梯形的面积。

3. 求边长为5.6 的正立方体表面积。

4. 已知图园柱体的高为12,底面园的半径为7,求园柱体表面积。

5. 计算某次考试语文、数学、英语和计算机等四科的总成绩与平均成绩。

(请用输入语句从键盘输入各科成绩分

第二节顺序结构程序与基本数据类型

前面的简单程序已体现出处理问题步骤、思路的顺序关系,这就是顺序结构程序。

[例1.7]交换两个变量的值:由键盘输入两个正整数A和B,编程交换这两个变量的值。

解:交换两个变量的值,可以想象成交换两盒录音带(称为A和B)的内容,可以按以下步骤处理:

步骤①:拿一盒空白录音带C为过渡,先将A翻录至C;

步骤②:再将B翻录至A;

步骤③:最后将C翻录至B。

这样操作,可达到题目要求。

Pascal程序:

Program Exam17;

Var a,b,c : integer;

Begin

Write(‘A,B=’);

Readln(a,b);

C:= A; {等价于步骤1}

A := B; {等价于步骤2}

B := C; {等价于步骤3}

Writeln(A,B);

End.

[例1.8] 分钱游戏。甲、乙、丙三人共有24元钱,先由甲分钱给乙、丙两人,所分给的数与各人已有数相同;接着由乙分给甲、丙,分法同前;再由丙分钱给甲、乙,分法亦同前。经上述三次分钱之后,每个人的钱数恰好一样多。求原先各人的钱数分别是多少?

解:设甲、乙、丙三人的钱数分别为A,B,C。用倒推(逆序)算法,从最后结果入手,按反相顺序,分步骤推算出每次各人当时的钱数:(在每个步骤中,各人钱数分别存在A、B、C中)

步骤①: A=8 B=8 C=8 {这是最后结果的钱数,三人都一样多 }

步骤②: A=A/2 (=4) B=B/2 (=4) C=A+B+C(=16) { A,B未得到丙分给的钱时,只有结果数的一半;C应包含给A,B及本身数三者之和 }

步骤③: A=A/2 (=2) C=C/2 (=8) B=A+B+C(=14) {A,C未得到乙分给的钱时,只有巳有数的一半;B应包含给A,C及本身数三者之和 }

步骤④: B=B/2 (=7) C=C/2 (=4) A=A+B+C(=13)

C未得到甲分给的钱时,只有巳有数的一半;A应包含给B,C及本身数三者之和 } 步骤⑤: 输出A(=13)B(=7)C(=4){此时的A,B,C 就是三人原先的钱数 }

Pascal程序:

Program Exam18;

Var a,b,c: integer;

Begin

a:=8; b:=8; c:=8;{对应于步骤①}

a:=a div 2; b:=b div 2; c:=a+b+c;{对应于步骤②}

a:=a div 2; c:=c div 2; b:=a+b+c;{对应于步骤③}

b:=b div 2; c:=c div 2; a:=a+b+c;{对应于步骤④}

Writeln('a=',a,' ': 4,'b=',b,' ': 4,'c=',c) ; {输出}

Readln

End.

细心观察,会发现本程序语句的顺序很关键。此例用反推顺序(逆序),按步骤正确推算出各变量的值。当然,有的问题可按正序步骤编程,这类程序都称为顺序程序。

本程序Writeln语句的输出项含有( ' ' : 4 ),这里的冒号用来指定该项显示所占宽度,此处是输出4个空格即(空格项占4格)。

[例1.9] 有鸡兔同笼,头30,脚 90,究竟笼中的鸡和兔各有多少只?

解:设鸡为J只,兔为T只,头为H,脚为F,则:

J+T=30 ①

2*J+4*T=90 ②

解此题暂不必采用数学上直接解方程的办法,可采用“假设条件与逻辑推理”的办法:假设笼中30 个头全都是兔,那么都按每头4只脚计算,总脚数为(4*H),与实际脚数 ( F )之差为(4*H—F),如果这个差=0,则笼中全是兔(即鸡为0只);如果这个差值 >0,说明多计算了脚数,凡是鸡都多给算了两只脚,用它除以2就能得到鸡的只数,处理步骤为:

①J=(4*H—F)/2 {先用脚数差值除以2算出鸡的只数}

②T=H—J {再用总头数减鸡数算出免的只数}

按此方法,这两步运算必须注意先后顺序才会符合运算逻辑。

Pascal程序:

Program Exam16;

Const H=30;{常量说明 }

F=90;

Var J,T: byte;{为字节类型的整数 }

Begin

J:=(4*H-F) div 2;{整除运算 }

T:=H-J

Writeln ('J=',J,' ': 6,'T= ',T ) ;

Readln

End.

本程序中H,F为常量,变量J,T为byte类型,属于整数类型。

在前面程序中常用的数据类型除整数类型,还有实数类型。Pascal 还定义了五个标准实数

在Turbo Pascal 中实数的表示用科学记数法,可认为由三部分组成:

# . ## E +## 或# . ## E -##

①#.##表示有效数字;② E表示以10为底的幂;③ +##或-##是指数部分,+号可省略。

例如: 1.7E+38 可写成1.7E38 (等同于1. 7×1038 )。

在实数类型定义下,即使是整数,在程序执行时系统也将自动转换成科学记数形式,试请运行下面程序并注意观察运行结果:

Program Exam17;

Var x: real;{x为实数类型 }

Begin

X:=180;{把整数180赋给实数类型变量X}

Writeln ('x=',x) ; {输出的x自动表示成实数形式 }

Readln

End.

习题1. 2

1.已知△ABC中的三边长分别为25.76,74.03,59.31,求△ABC的面积。

( 计算公式: S= 。其中P = )

2.某车棚存有自行车和三轮车共65辆,它们的轮子数合计为150个。求该棚内存有的自行车和三轮车各是多少辆?

3.甲、乙、丙三人分别有磁带36,48,64盒。先由甲把自己的磁带平均分为三份,分给乙、丙各一份,自己留下一份;接着是乙,最后是丙,都按甲的方法处理。编程输出甲、乙、丙在上述过程中各人的磁带数分别是多少? (输出所有的中间结果)

4.五位好朋友相聚。第一位朋友带来了很多糖块赠送给各位朋友,使每人的糖块在各自原有的基础上翻了一倍;接着第二位好友也同样向每人赠送糖块,他同样使每人的糖块在各人已有的数量上翻了一倍;第三、第四、第五位好友都照此办理。经过这样的赠送之后,每人的糖块恰好都为32块。问各位好友原先的糖块数分别是多少?

Pascal语言编程基础程序

Pascal语言编程基础程序 (常州市) 十进制转二进制 var i,n,j:longint; a:array[1..100] of longint; begin readln(n); i:=1; while n<>0 do begin a[i]:=n mod 2; i:=i+1; n:=n div 2; end; write('Bin:'); for j:= i-1 downto 1 do write(a[j]) end. 数组元素删除 var a:array[1..10]of longint; i,t,x:longint; begin read(x); for i:=1 to 10 do a[i]:=2*i-1; t:=a[x]; for i:=x+1 to 10 do a[i-1]:=a[i]; for i:=1 to 9 do write(a[i]:4); end. 数组元素删除2 var a:array[1..11]of longint; i:longint; begin for i:=1 to 10 do a[i]:=i; a[11]:=a[1]; for i:= 1 to 10 do a[i]:=a[i+1]; for i:= 1 to 10 do write(a[i]:4); end. 数组元素的移动 var a:array[1..10] of longint; s,n,i,x,t:longint; begin readln(n); for i:=1 to n do read(a[i]); readln(x); s:=a[x]; for i:=x+1 to n do a[i-1]:=a[i]; for i:=1 to n-1 do write(a[i],' '); write(s); end. 排除所有异形基因 var a:array[1..100] of longint; n,g,j,i,wz:longint; begin readln(n); for i:=1 to n do read(a[i]); g:=0; for i:=1 to n do if sqr(a[i]) mod 7=1 then begin wz:=i; for j:=wz+1 to n do a[j-1]:=a[j]; g:=g+1 end; write(a[1]); for i:=2 to n-g do write(' ',a[i]); writeln; end. 排除第一个异形基因 var a:array[1..100] of longint; n,i,wz:longint; begin readln(n); for i:=1 to n do read(a[i]); for i:=1 to n do if sqr(a[i]) mod 7=1

PASCAL语言程序设计

目录 第一部分 PASCAL语言程序设计 (1) 第一章 PASCAL语言基础 (1) 第一节程序的组成与上机调试运行 (2) 第二节常量、变量与数据类型 (3) 第三节表达式与标准函数 (6) 第四节赋值语句、输入与输出语句 (9) 习题 (12) 第二章程序的三种基本结构 (15) 第一节顺序结构 (15) 第二节选择结构 (15) 第三节循环结构 (17) 习题 (20) 第三章数组 (22) 第一节一维数组 (22) 第二节二维数组及应用 (25) 习题 (26) 第四章字符与字符串操作 (29) 第一节字符和字符数组 (29) 第二节字符串变量 (29) 第三节字符串应用举例 (31) 习题 (33) 第五章函数与过程 (35) 第一节自定义函数 (35) 第二节自定义过程 (38) 第四节递归 (42) 第五节递归与回溯 (45) 习题 (50) 第一部分 PASCAL语言程序设计 第一章 PASCAL语言基础 Pascal语言是瑞士苏黎士工科大学的Niklans Wirth(沃思)1971年发表的,是为了纪念17世纪法国著名哲学和数学研究者Blaisc Pascal而将它命名为Pascal程序设计语言。Pascal语言是信息学奥赛中普遍使用的程序设计语言。

第一节程序的组成与上机调试运行 一、程序的组成 我们先看一道例题。 例1-1 输入两个整数a和b,计算a和b的和(a+b)。 【参考程序】 program a1(input,output); //程序首部 var a,b,c:integer; //程序说明部分,a,b,c被说明为整型变量 begin //程序执行部分,下面是程序的内容 write('a='); //在屏幕上输出一个字符串“a=”,输出完后不换行 read(a); //从键盘输入一个数值赋给变量a write('b='); //在屏幕上输出一个字符串“b=”,输出完后不换行 read(b); //从键盘输入一个数值赋给变量b c:=a+b; //计算a+b的和,并将这个和赋值给变量c writeln(a,'+',b,'=',c); //输出a+b=c的等式,输出完后换行 end. //程序结束 【样例输入】 a=10 b=30 【样例输出】 10+30=40 由上可以看出,一个Pascal程序由以下三部分组成: (1)由Program 引导的一行是Pascal程序的首部。 程序首部指出了源程序的名称,是由用户自己给出的,该例子称为a1。程序名后用括号括住的两个参数input与output,通常表示程序运行中的标准输入和输出文件,程序首部以分号结束。 (2)Pascal程序的第二部分是说明部分。 说明部分要求列出程序中引用的全部常量、变量、转移标号、类型、过程和函数的有关说明。若变量c在说明部分没有说明,后边的语句c:=a+b在执行时;翻译软件便能指出其错误并提醒用户加以改正,程序中每个语句都以分号表示结束。 (3)程序的第三个部分是用BEGIN和END括住的一串语句,称为程序的执行部分。有的书中将说明部分和执行部分合称为程序体。 二、PASCAL语言编辑软件的基本操作 下面我们以Free Pascal 1.10系统为例来学习一下Pascal语言编辑软件的使用。 1.Free Pascal的启动 在运行程序目录下(一般是c:\pp\bin\go32v2)运行启动程序fp.exe,即可启动系统。屏幕上出现如图1-1所示的集成环境。 图1-1 2.Free Pascal系统集成开发环境(IDE)简介 最顶上一行为主菜单,中间蓝色框内为编辑窗口,在编辑窗口内可以进行程序的编辑,最底下一行为提示行,显示出系统中常用命令的快捷键,如将当前编辑窗口中文件存盘的命令快捷键为F2,打开磁盘文件命令F3,等等。

FREE-PASCAL入门-循环结构程序(DOC)

循环结构程序设计 第1节 For循环程序实例 【问题描述】 计算一副扑克牌的点数,其中牌A为1点,牌J、Q、K分别为11、12、13点,大、小王不算点。 【问题分析】 根据题意,要计算一副扑克牌的点数,可以先求出一种花色牌的点数和,再乘以4即可。进一步分析,求一种花色牌的点数和,即是求1~13的连续自然数之和。我们用S表示所求数的和,用T表示加数,这样可以让T从1变化到13,每次让T不断加入到S中,就可以求出S的值,最后乘以4即可。 【算法设计】 ◆自然语言 ①置初值,即S=0,T=1; ②使S=S+T ,所求出的和仍放入S中; ③使T增加1,即T=T+1; ④如果T小于等于13,转第二步,否则转第五步; ⑤输出计算结果。 ◆程序流程图和结构化流程(N-S)图

【程序设计】 [程序清单] program ex3_1; var s,t:integer; begin s:=0; {S置初值为0} for t:=1 to 13 do {For循环语句} s:=s+t; writeln(‘total:’,s*4); end. [运行示例] total:364 【知识拓展】 1.在程序处理过程中,经常需要对某一条或一组语句重复执行多次,以最终完成某项任务,这就是循环。对于重复次数已知,而不依赖循环中语句的结果,常用计数循环(f or / to /do 语句)。 2.for循环语句格式: 格式一:for 控制变量:= 初值to 终值do 循环体语句; 格式二:for 控制变量:= 初值downto 终值do 循环体语句; 其中for、to、downto、do为保留字,do后面的语句称为循环体。其中循环控制变量可以是整型、字符或布尔型,但不能为实型。一般地,可以是顺序类型数据。 初值、终值表达式通常要与控制变量的类型相同。

Pascal程序基本组成与符号

Pascal程序基本组成与符号 hb007 发表于 2006-3-22 8:55:50 一、Pascal程序基本组成 例1计算半径为r的圆的周长C和面积S。 上述程序第一行称为程序首部。用花括号(注释可以用{ }或(* *)来表示)括起来的内容是注释,注释除了给人看,增加程序的可读性外,对程序编译和运行不起作用。一个程序可以包含多个出现在不同处注释,亦可无注释。程序第二行是变量说明。程序从begin到end都是执行(语句)部分。 (1)程序首部 例1的第一行称为程序首部。program是保留字,接着是程序名(由你依据“标示符”规则自行定义),最后以分号表示程序首部结束,下面是程序主体的开始。程序首部在一个Turbo Pascal(仅在Turbo Pasca l中有效)程序中并非必须出现,它是可选的。写上它仅起了文档作用。因此,时间有限的情况下,如果用Turbo Pascal编程完全可以省略程序首部。 (2)程序体 ①说明部分 说明部分用于定义和说明程序中用到的数据,由单元说明、标号说明、常量说明、类型说明、变量说明、函数或过程说明组成,并且这些数据的说明次序必须按照以上次序。但是一个简单的Turbo Pascal程序也可以不包含说明部分,也就是说说明部分是可选的。 ②执行部分 执行部分描述了程序要执行的操作。它必须以一个Turbo Pascal保留字begin开始,以保留字end后跟句点结束,其间是一些执行具体操作的语句,并且以分号作为语句之间的分隔符。begin和end必须成对出现,这是一个Turbo Pascal程序所必须有的。紧跟end之后的句号表示执行

部分的结束,也表示整个程序的结束。此后的任何语句都无效。Turbo Pascal规定紧随end之前出现的分号允许省略。 (3)一个完全的Pascal程序结构 program 程序名; uses 已知单元说明; label 标号说明; const 常量说明; type 类型说明; var 变量说明; function 函数说明; procedure 过程说明; begin 语句; 语句; …… 语句 end. 二、Pascal字符与符号 1、保留字(关键字) 所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。Turbo Pascal语言一共有5 0多个。下面是Pascal语言的保留字:

PASCAL语言复习题

《Pascal》复习题 一、选择题 1、设有如下的过程说明 PROCEDURE wri; BEGIN Writeln(‘Welcome to use pascal!!!’); End; 则下面有关过程wri的叙述中正确的是____D_____ A)过程说明有错,因为没有形式参数 B)过程说明有错,因未说明过程的类型 C)过程说明有错,因为在过程体内没有给过程名赋值的语句 D)过程说明正确 (2章赋值语句) 2、已知变量ch是字符型变量,下面PASCAL赋值语句正确的是___D_____ A)ch:=’ab cd’; B)ch:=chr(ord(succ(‘c’)+1)); C)ch:=ord(‘b ’)+ord(‘a’); D)ch:=pred(succ(succ(‘f’))); (2章赋值语句) 3、判断以下叙述,其中正确的是___A_______ A) 在pascal程序中所用到的变量必须先说明后使用 B) 在pascal程序中,允许使用的最小值是-maxint C) 在pascal程序中,分号是语句的一部分,在每个语句中不能省略 D) 在pascal程序中,符号常数的值可根据需要随时修改 (1,2章基本知识) 4、以下不符合pascal规定的字符常量是___B_________

A)‘2’ B)‘pascal’ C)’’’’ D)‘a’ (2章标准数据类型) 5、以下属非法的pascal用户自定义标识是_____A____ A)CONST B)FORMAT C) MAX D) NEXT (1章保留字) 6、下面循环语句仅执行一次的是_____A_____ A) I:=0; B) I:=0; Repeat while (I<3) do I:=I+1; I:=I+1; Writeln(i) writeln(i); Until I<3 C)for I:=0 downto 3 do D) I:=0 I:=I+1; while (I>0) or (I<3) do Writeln(i); I:=I+1; writeln(i); (4 章循环结构) 7、下面函数首部或过程首部合法的是__B_______ A)function sum; B)procedure next; C)function s(VAR s:real):integer;

Pascal基本教程

Pascal基本教程 Pascal基本教程第一章 第一章 Pascal语言概述与预备知识 1 关于Turbo Pascal Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth 教授于六十年代末设计并创立。 以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。 正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。 在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。 下面列出Turbo Pascal编年史 出版年代 版本名称 主要特色 1983 Turbo Pascal 1.0 Turbo Pascal 2.0 Turbo-87 Pascal 提高实数运算速度并扩大值域

1985 Turbo Pascal 3.0 增加图形功能 Turbo BCD Pascal 特别适合应用于商业 1987 Turbo Pascal 4.0 提供集成开发环境(IDE),引入单元概念 1988 Turbo Pascal 5.0 增加调试功能 1989 Turbo Pascal 5.5 支持面向对象的程序设计(OPP) 1990 Turbo Pascal 6.0 提供面向对象的应用框架和库(Turbo Vision) 1992 Turbo Pascal 7.0 面向对象的应用系统、更完善的IDE Turbo Vision 2.0 1993 Borland Pascal 7.0 开发 Object Windows库、 (For Windows) 提供对OLE多媒体应用开发的支持 1995 Delphi Visual Pascal Turbo Pascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体。 1.2 Turbo Pascal 或 Borland Pascal 的启动

pascal语言中的程序和单元

单元 虽然所有窗体都在单元中定义,但反之则不然。除窗体外,单元中还可以定义一系列能访问的例程。选择File > New菜单命令,然后在Object Repository 的New 页中选择Unit 图标,随即当前工程中就会加入一个空白单元。单元代码分区存放,空白单元的代码如下: unit Unit1; interface implementation end. 单元的概念比较简单,单元名与文件名相同,而且必须唯一。单元包括界面区(interface)及实现区(implementation),界面区用于声明其它单元能看到的部分;实现区存放界面的实现代码及外部不可见的声明。此外还有两个可选的区,即初始化区及结束区,其中初始化区存放初始化代码,当程序加载到内存时执行;结束区存放程序终止时执行的代码。 单元总体结构如下: unit unitName; interface // other units we need to refer to uses A, B, C; // exported type definition type newType = TypeDefinition; // exported constants const Zero = 0; // global variables var Total: Integer; // list of exported functions and procedures

procedure MyProc; implementation uses D, E; // hidden global variable var PartialTotal: Integer; // all the exported functions must be coded procedure MyProc; begin // ... code of procedure MyProc end; initialization // optional initialization part finalization // optional clean-up code end. 界面区头部的uses子句表示需要访问的外部单元,这些外部单元中定义了你需要引用的数据类型,如自定义窗体内所用的控件。 实现区头部的uses子句用于表示只在实现部分访问的单元。如果例程或方法的代码需要引用其他单元,你应该把这些单元加到实现区子句中,而不是界面区。你所引用的单元必须在工程文件目录中能找到,或在工程选项对话框的Directories/Conditionals 页设定这些单元的搜索路径。 C++程序员应该知道uses语句和include 指令是不同的。uses语句只是用于输入引用单元的预编译界面部分,引用单元的实现部分在单元编译时才考虑。你引用的单元可以是源代码格式(PAS),也可以是编译格式(DCU),但是必须用同一版本的Delphi进行编译。 在单元的界面区中可以声明许多不同的元素,包括过程、函数、全程变量及数据类型。在Delphi 应用程序中,数据类型可能用得最频繁。每创建一个窗体,Delphi 会在单元中自动建立一个新的数据类型--类(class)。在Delphi 单元中不仅能定义窗体;还能象传统单元一样,只包含过程及函数;还可以定义与窗体和任何可视控件无关的类。

PASCAL程序设计

第一章PASCAL程序设计基础 我们日常工作、学习和生活中,要做某件事,如果事先没有计划,只是想一步做一步,是达不到理想效果的。要很好地、高效率地完成某件事,必须事先有一个计划,第一步做什么,下一步做什么,最后一步做什么。即先考虑好做这件事的所有步骤,然后按部就班地完成它。在计算机系统中,能完成某项任务的一系列指令或语句就是程序。程序设计是设计、书写和调试程序的过程。 第一节程序设计语言及算法 一、程序设计语言 人们使用计算机,可以通过某种计算机语言与其交谈,用计算机语言描述所要完成的工作。为了完成某项特定任务用计算机语言编写的一组指令序列就称之为程序。编写程序和执行程序是利用计算机解决问题的主要方法和手段。程序设计语言是用来书写计算机程序的语言。程序设计语言经历了机器语言、汇编语言、高级语言到面向对象的程序设计语言等多个阶段。 1.机器语言 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。 用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且编出的程序全是些0和1的指令代码,直观性差,还容易出错。现在,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言了。 2.汇编语言 为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。 3.高级语言 20世纪50年代后期,在对低级语言的改进过程中,又研制出一种既接近于自然语言,又接近数学语言的程序设计语言。使用这种语言编写程序快捷方便,便于修改和高度,大大提高了编程的效率,同时这种语言编写的程序不依赖具体的机器,能用性好,我们称之为高级语言。用高级语言,不必考虑机器的结构和特点,可以集中精力考虑解决问题的算法,因此,高级语言也称为算法语言。 4.面向对象的程序设计语言

PASCAL基本程序结构和概念

要求: 1.程序的结构 2.了解:常量变量运算符表达式标准数据类型 3.学会安装TP并做简单的操作。 PASCAL基本程序结构和概念 标识符保留字常量变量运算符表达式标准数据类型 例1: 为了明显起见先举一个最简单的PASCAL程序例子: 例2: Program ex11; Begin Writeln(‘Hello World!’); ReadLn; End. [例3]已知一辆自行车的售价是300元,请编程计算a辆自行车的总价是多少? 解:若总售价用m来表示,则这个问题可分为以下几步处理: ①从键盘输入自行车的数目a; ②用公式m=300*a 计算总售价; ③输出计算结果。 Pascal程序: Program Ex12; {程序首部} Var a,m : integer; {说明部分} Begin {语句部分} Write(‘a=’); ReadLn(a); {输入自行车数目} M := 300*a; {计算总售价} Writeln(‘M=’,m);{输出总售价} ReadLn; {等待输入回车键} End.

[例4] 输出两个自然数相除的商和余数。 解:设被除数、除数、商和余数,分别为A,B,C,D,均为变量,且都是整数类型。题中未给出具体的自然数A、B,可采用键盘输入方式。 ①给出提示,从键盘输入a, b; ②显示两数相除的数学形式; ③求出a除以b的商c; ④求出a除以b的余数d; ⑤紧接等式后面输出显示商和余数。 Pascal程序: Program Ex14; Var a,b,c,d : integer; Begin Write('INPUT A,B:');{给出提示信息} Readln(a,b);{输入a,b} Writeln;{输出一空行} Write(a,'/',b,'=');{输出等式之后不换行} c:=a div b;{整除运算,取商的整数部分} d:=a mod b;{相除求余运算,取商的余数部分} Writeln(C,'…',d);{输出后自动换行} Readln {等待输入回车键} End. 例5:从键盘读入4个数据,逆序输出 program pname; const n=4; type ar=array [1..4] of integer; var i:integer; a:ar; begin for i:=1 to n do read(a[i]); readln; for i:=n downto 1 do write(a[i]:4); writeln; end. [例1.6]自然数的立方可以表示为两个整数的平方之差,比如43=102-62,请输出自然数1996的这种表示形式。(这里的43用自乘三次的形式4*4*4表示;102也用自乘二次的形式10*10表示) 解:此题没有现成的计算公式能直接利用,但可以自行推出处理方法或构建适当的运算公式,按着构想的处理方案编排出各步骤。 设这个自然数为N,两个平方数分别为X,Y,将问题表示为求N3=X2—Y2

C语言和Pascal语言的对比

C语言和Pascal语言的对比 林金正(2010101032) (汕头大学计算机系,广东汕头515063) 摘要:C语言和Pascal语言是目前对计算机发展影响较深的两门计算机程序设计语言。两种语言各有特点,Pascal语言是一种结构式程序设计语言,最初是为系统地教授程序设计而发明的,语法严谨,特点是简明化和结构化,适合教学,科学计算等。C语言则是国际上应用最广泛的计算机中级语言,具有语言简洁紧凑,使用方便灵活及运算符丰富等特点,语法限制不严格,程序设计自由度大,程序可移植性好。以下从程序结构、数据类型、运算和指针共四个方面对两种语言进行比较。 关键词:C语言、Pascal语言、对比、程序结构、数据类型、运算、指针。 The Comparison between Language C and language Pascal Lin Jinzheng (2010101032) (Computer Science Department Shantou University, Guangdong, Shantou 515063) Abstract: the language C and language Pascal is currently on computer development influence of deep two foreign computer programming language. Two languages have different features, Pascal language is a structured programming language, was initially for systematically professor programming and invention, grammar is rigorous, the characteristic is concise change and structured, suitable for teaching, scientific calculations, etc. C language is the most widely used on international computer intermediate language, with simple language is compact, easy to use and flexible and operators rich characteristics, such as grammar limit not strictly, program design freedom is big, program portability. The following items from the program structure, data type, computing, subroutine and pointer 5 aspects of two languages are compared. Keywords: Language C, Language Pascal, comparison, program structure, operation, pointer.

几种常用排序Pascal源程序

几种常用排序Pascal源程序 A.快速排序: procedure sort(l,r:integer); var i,j,mid:integer; begin i:=l;j:=r; mid:=a[(l+r) div 2]; {将当前序列在中间位置的数定义为中间数} repeat while a[i]< mid do i:=i+l; {在左半部分寻找比中间数大的数} while mid< a[j] do j:j-1;{在右半部分寻找比中间数小的数} if i< =j then begin {若找到一组与排序目标不一致的数对则交换它们} swap(a[i],a[j]); inc(i);dec(j);{继续找} end; until i >j; if l< j then sort(l,j); {若未到两个数的边界,则递归搜索左右区间} if i< r then sort(i,r); end;{sort} B.插入排序: procedure insert_sort(k,m:word); {k为当前要插入的数,m为插入位置的指针} var i:word; p:0..1; begin p:=0; for i:=m downto 1 do if k=a[i] then exit; repeat If k >a[m] then begin a[m+1]:=k; p:=1; end else begin a[m+1]:=a[m]; dec(m); end; until p=1; end;{insert_sort} l 主程序中为: a[0]:=0; for I:=1 to n do insert_sort(b[I],I-1);

Pascal语言小程序练习

1.输出一句话 请参考如下程序: program p1(input,output); begin writeln('WoHuiLaiLe!'); end. 请编写程序输出一句话:"HuiLaiYeMeiYong!' 2.输出两句话 请参考如下程序 program p2(input,output); begin writeln('NiShuaYa?'); writeln('WoBuHeShui!'); end. 请编写程序输出两句话:"HaoHaoBianCheng" "TianTianGaoXing" 3.请输出一个三角形 请参考如下程序 program p3(input,output); begin writeln(' 1'); writeln(' 2 3'); writeln('4 5 6'); end. 请输出一个三角形 1 2 3 4 5 6 7 8 9 10 4.输出5到15这16个数,一行一个。 请参考如下程序 program p4(input,output); var i:integer; begin for i:=1 to 10 do writeln(i); end. 请编写如下程序 输出5到15的数字(一行一个): 5

6 7 . . . 15 5.在一行输出5到15这11个数,中间有一个空格。 请参考如下程序 program p5(input,output); var i:integer; begin for i:=1 to 10 do write(i,' '); end. 请编写如下程序 输出5到15的数字(一行输出,中间有一个空格): 5 6 7 . . . 15 6.在一行输出15到5这16个数,中间有一个空格。 请参考如下程序 program p6(input,output); var i:integer; begin for i:=10 downto 1 do write(i,' '); end. 请编写如下程序 输出15到5的数字(一行输出,中间有一个空格):151413 (5) 7.输出1到100这100个数,中间有一个空格(自然换行)。请参考第5题的程序 1 2 3 (100) 8.输出1到100这100个数,10个一换行。

小学PASCAL全教程

PASCAL全教程 Pascal基本教程第一章 第一章 Pascal语言概述与预备知识 1 关于Turbo Pascal Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth 教授于六十年代末设计并创立。 以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。 正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。 在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。 下面列出Turbo Pascal编年史 出版年代 版本名称 主要特色 1983 Turbo Pascal 1.0 Turbo Pascal 2.0 Turbo-87 Pascal 提高实数运算速度并扩大值域 1985 Turbo Pascal 3.0 增加图形功能

Turbo BCD Pascal 特别适合应用于商业 1987 Turbo Pascal 4.0 提供集成开发环境(IDE),引入单元概念 1988 Turbo Pascal 5.0 增加调试功能 1989 Turbo Pascal 5.5 支持面向对象的程序设计(OPP) 1990 Turbo Pascal 6.0 提供面向对象的应用框架和库(Turbo Vision) 1992 Turbo Pascal 7.0 面向对象的应用系统、更完善的IDE Turbo Vision 2.0 1993 Borland Pascal 7.0 开发 Object Windows库、 (For Windows) 提供对OLE多媒体应用开发的支持 1995 Delphi Visual Pascal Turbo Pascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体。 1.2 Turbo Pascal 或 Borland Pascal 的启动 (1) Turbo Pascal的启动 a.DOS下的启动(适用于MS-DOS6.22之前的版本或Win 9X & Win2000 的Command Mode)

Pascal入门教程

第一章 初步认识PASCAL 语言 内容提要 本章介绍了计算机语言的分类及特点,PASCAL 源程序的调试过程。 学习要求 通过对本章的学习,要求学生对计算机语言的发展及特点有一定的了解,认识PASCAL 语言源 程序的一般结构,掌握PASCAL 源程序的调试过程。 第一节 关于计算机语言 在日常生活中,语言是人和人之间交流信息的一种工具。通过语言,我们可以把我 们的想法或要求告诉人家。众所周知,计算机的功能是非常强大的,那么,怎样充分利 用计算机为人类服务呢?其实计算机是一个非常忠实的伙伴,只要让他明白了你的意 思,他一定会又快又好地为你完成任务。但问题是:计算机和人类语言不通,难以了解 人类的意图。对应这种需求,出现了一系列的计算机语言,通过这些计算机语言,我们 便可以和计算机之间进行交流,进而轻松地驾驭计算机。 从计算机问世到现在,计算机语言的发展经历了这样几代: 一 机器语言 计算机是由电子元件构成的,这些电子元件在通电工作时一般有两种状态:导通 或截止,高电平 或低电平┈┈于是便出现了一种用数字1或0作为代码的语言,称为机器语言。这 种语言与机器工作状态相适应,计算机执行起来速度相当快,效率相当高。但因程 序全是一长串二进制代码,程序员编写起来比较吃力,调试程序也十分困难,而且 不同的计算机有不同的机器语言,不能通用。 二 汇编语言 汇编语言又叫符号语言,是用符号来代替机器语言中的二进制代码,这样看起 来就直观多了。比如要把寄存器AX 和BX 中的数相加,结果存放在寄存器AX 中, 用汇编语言就这样写:ADD AX ,BX 。这样程序员在编写时就方便多了。但 计算机不能直接执行汇编程序,必须经过汇编软件将其转换成机器语言后才能执 行。在这个过程中,汇编软件象一个桥梁,连接在机器语言和汇编源程序之间: 汇编语言还是依赖机器硬件,所以不同种类的机器有不同的汇编语言。编写汇编语 言程序需比较熟悉机器硬件短知识,而且指令较多,编写和调试都不是很容易。 三 高级语言 计算机是为人类服务的,如果为了学语言而不得不学习计算机的硬件、工作原 理,这就为许多计算机爱好者设置了不小的障碍。有没有一种语言,人们用不着学习 计算机工作的细节就可以上手?有!这就是高级语言。高级语言比较接近人们的自然 语言,学习起来要容易得多,编写和调试程序也比较方便。但高级语言程序必须先经 过编译程序将其转变成机器语言程序后方可执行。所以这种语言执行起来效率相对较 汇编语言源程序 汇编软件 机器语言

调试 PASCAL程序

调试PASCAL程序 任何一个天才都不敢说,他编的程序是100%正确的。几乎每一个稍微复杂一点的程序都必须经过反复的调试,修改,最终才完成。所以说,程序的调试是编程中的一项重要技术。PASCAL语言提供了很强大的调试功能,使我们能很方便的找出程序的错误。 程序错误: 编译错误:即语法错误。如:命令错写,少分号等等。此种错误在程序编译执行就能发现,而把光标停留在错误行上,并显示出错误信息 ,由用户修改。 运行错误:如果没有语法错误。则程序可以运行,但在运行过程中也有可能出现错误,如程序结构不合理,打印语句错误等。此时,程序 将中止运行,光标停留在错误语句处,并显示错误信息,等待用户修改。 逻辑错误:如:程序递归出口设置不正确,逻辑判断设置错误,这样程序虽然能够正常运行,但运行结果却不正确,这是用户最难发现有 错误,也是最难查找的错误,此时计算机也无任何错误信息。 TURBO PASCAL的集成调试器 在TURBO PASCAL语言集成环境中,我们可以非常方便地调试程序。 暂停(CTRL+BREAK):在程序运行过程中,我们可用CTRL+BREAK暂停程序的运行,此时集成环境会在当前运行到的语句上设置一 条光带,表示程序可继续运行。此时,如果要程序继续执行(接着刚刚中断的语句),可用CTRL+F9(即RUN功能)继续运行程序;如 果不需程序继续运行,可用CTRL+F2清除光带并复位,这样程序将不能被继续运行。 跟踪(F7):菜单RUN|TRACE INTO功能能够逐步运行程序,即使在过程中也能逐步运行。 跟踪(F8):菜单RUN|STEP功能能够使我们逐段运行程序,即子程序中的语句将不会逐步执行。 执行到光标处(F4):把光标移到要执行到的语句行,再用F4(菜单RUN|GOTO CRUSOR)可让程序执行到该行暂停。

pascal编程基础练习题

pascal编程基础练习题 一、不定项选择和填空题 1、下列关于程序语言的叙述,不正确的是() A、编写机器代码不比编写汇编代码容易 B、高级语言需要编译成目标代码或通过解释器解释后才能被CPU执行 C、同样一段高级语言程序通过不同的编译器可能产生不同的可执行程序 D、汇编代码可被CPU直接运行 E、不同的高级语言语法略有不同 2、下列哪一种程序设计语言是解释执行的() A、PascalB、GWBASICC、C++D、FORTRAN 3、解释程序的功能是() A、将高级语言程序转换为目标程序B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序D、解释执行汇编语言程序4、下列中没有语法错误的PASCAL程序首都是() A、PROGRAM A1; B、PROGRAM A1(0utPut) C、PROGRAM(Input,OutPut); D、PROGRAM A1(Input OutPut); 5、结构化程序的结构由三种基本结构组成,下面哪个不属于这三种基本结构()A、顺序结构B、输入输出结构构C、分支结构D、循环结构6、Pascal程序必须包括() A、程序首部、说明部分、语句部分B、程序首部、说明部分 C、说明部分、语句部分D、程序首部、语句部分7、标准Pascal程序说明部分的正确顺序是() A、LABEL—CONST—VAR—TYPEB、VAR—CONST—LABEL—TYPE C、LABEL—CONST—TYPE—VARD、CONST—VAR—TYPE—LABEL 8、下面对Pascal程序组成结构的描述错误的是() A、程序体可以为空B、程序的注释部分只能写在程序中一条语句的最后 C、程序首都的参数部分可有可无D、一个完整的PASCAL程序的主程序只能有一个 9、要编写并执行—个PASCAL程序,—般的步骤是() A、①用编辑软件编写源程序 ②用PASCAL的编译程序把源程序转换成目标程序 ③用连接程序把目标程序转换为可执行程序 ④运行可执行程序 B、①用编辑软件编写源程序 ②修改和调试源程序 ③用PASCAL的编译程序把源程序转换成可执行程序 ④运行可执行程序 C、①用编辑软件编写源程序 ②用连接程序把源程序转换成可执行程序 ③试运行可执行程序

Pascal基本教程(循环程序)

Pascal基本教程 循环程序 for 语句 for 语句用来描述已知重复次数的循环结构。for 语句有两种形式: (1) for 控制变量:=初值to 终值do 语句; (2) for 控制变量:=初值downto 终值do 语句; 第一种形式的for 语句是递增循环。首先将初值赋给控制变量,接着判断控制变量的值是否小于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的后继值,并重新判断是否小于或等于终值。当控制变量的值大于终值时,退出for循环,执行for语句之后的语句。第一种形式的for 语句是递减循环。首先将初值赋给控制变量,接着判断控制变量的值是否大于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的前趋值,并重新判断是否大于或等于终值。当控制变量的值小于终值时,退出for循环,执行for语句之后的语句。for 语句中的初值、终值、控制变量的数据都必须是顺序类型。当初值和终值确定后,重复的次数就确定不变了,并且控制变量在重复语句内不能施加任何赋值操作。 例1:计算1+2+3+……+99+100 program jia; var i,sum:integer; begin sum:=0; for i:=1 to 100 do sum:=sum+i; writeln(sum); readln; end. 练习:试打印出1~20的自然数。 解:①用a代表1~20各数,同时也用a兼作计数,以控制循环次数; ②让a从1开始; ③输出a; ④a自动计数(加1),如果未超越所规定的循环范围则重复步骤③,否则结束循环。 练习:试打印出1~20的自然数。 Program Exam12; Var a:integer ; Begin for a:=1 to 20 do Writeln (a); Readln End. 例2:打印出30至60的偶数。 方法一: ①设a表示30至60的所有的数,可用for循环列出; ②用式子 a mod 2=0筛选出其中的偶数并输出。 例2:打印出30至60的偶数。 Program ex2;

相关主题
文本预览
相关文档 最新文档