pascal带数据结构.doc
《pascal带数据结构.doc》由会员分享,可在线阅读,更多相关《pascal带数据结构.doc(119页珍藏版)》请在咨信网上搜索。
目录: 第一章 简单程序 第一节 Pascal 程序结构和基本语句 第二节 顺序结构程序与基本数据类型 第二章 分支程序 第一节 条件语句与复合语句 第二节 情况语句与算术标准函数 第三章 循环程序 第一节 for 循环 第二节 repeat 循环 第三节 While 循环 第四章 函数与过程 第一节 函数 第二节 自定义过程 第五章 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来表示,则这个问题可分为以下几步处理: ①从键盘输入自行车的数目a; ②用公式 m=300*a 计算总售价; ③输出计算结果。 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. 图1.1 Pascal程序的结构 把处理问题的步骤编成能从上到下顺序执行的程序,是简单程序的基本特征。再来分析下面两道例题的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,求该梯形的面积。 ( 梯形面积公式为 S= 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定义了五个标准整数类型,如下表所示: 类型 取值范围 占字节数 格式 Shortint(短整型) -128..127 1 带符号8位 Integer (整型) -32768..32767 2 带符号16位 Longint(长整型) -2147483648..2147483647 4 带符号32位 Byte (字节型) 0..255 1 无符号8位 Word (字型) 0..65535 2 无符号16位 在前面程序中常用的数据类型除整数类型,还有实数类型。Pascal 还定义了五个标准实数类型,列表所示如下: 类型 取值范围 占字节数 有效数字 Real 2.9×10-39~1.7×1038 6 7~8位 Single 1.5×10-45~3.4×1038 4 11~12位 Double 5.0×10-324~1.7×10308 8 15~16位 Extended 1.9×10-4951~1.1×104932 10 19~20位 Comp -263+1~238-1 8 19~20位 在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块。问各位好友原先的糖块数分别是多少? 第二章 分支程序 在程序设计中,许多问题是在一定条件下才选择某种处理方式的,这就需要用条件判断语句或情况选择语句进行处理。程序执行中将出现选择(分支),根据条件只选择执行部分语句,不一定都是按原顺序从头到尾地执行所有语句,这样的程序称为分支程序。 第一节 条件语句与复合语句 [例2.1] 某服装公司为了推销产品,采取这样的批发销售方案:凡订购超过100 套的,每套定价为50元,否则每套价格为80元。编程由键盘输入订购套数,输出应付款的金额数。 解:设X为订购套数,Y为付款金额,则: ① 输入X; ② 判断 X 值; ③ 根据判断结果选择符合条件的那种方法计算Y值; ④ 输出计算结果。 Pascal程序: Program Exam21; Var x,y: integer; Begin Write('X=') ;Readln(x) ; { 输入X} if x >100 then y:=50*X else y:=80*X; {条件判断与选择 } Writeln('y=',y) ; Readln End. 程序中的 if 语句常称为条件语句,它的一般格式为: (1) if 条件 then 语句; (2) if 条件 then 语句1 else 语句2; IF 语句的功能是按条件在两种可能中选择其中一种。习惯上把if 后面的表达式称为条件,then 后面的语句称为真项,else 后面的语句称为假项。若条件成立(为真)就执行真项,然后执行if语句的后继语句;若条件不成立(为假)就跳过真项而执行假项,然后执行后继语句。而第一种格式只有真项,没有假项,当条件不成立(为假)就什么也不需做,直接往下去执行后继语句。 [例2.2] 读入三个不同的数,编程按由小到大的顺序排列打印出来。 解:设读入的三个数为a,b,c,为了把较小的数排在前面,可作如下处理: ① 如果a>b就交换a、b的值,将较大的值换至后面; ② 如果a>c就交换a、c的值,将较大的值换至后面; ③ 如果b>c就交换b、c的值,将较大的值换至后面; ④ 输出处理后的a,b,c。 Pascal程序: Progranm Exam22; Var a,b,c,t: Real; Begin Write('Input a, b,c='); Readln(a,b,c); if a>b then begin {复合语句} t:=a; a:=b; b:=t {交换a,b} end; if a>c then begin {复合语句} t:=a; a:=c; c:=t {交换a,c} end; if b>c then begin {复合语句} t:=b; b:=c; c:=t {交换b,c} end; Writeln('a,b,c:',a:6, b:6, c:6); Readln End. if 语句规定它的真项或假项位置上只能是一个基本语句,如果需要写一组语句,就应当使用复合语句。本程序中有三处用到复合语句。每个复合语句的范围是从Begin开始到与它相对应的End为止。复合语句的地位和一个基本语句相同;其一般格式为: Begin 语句系列 End; 习题2. 1 1.假设邮局规定寄邮件时若每件重量在1公斤以内(含1公斤),按每公斤1.5元计算邮费,如果超过1公斤时,其超出部分每公斤加收0.8元。请编程序计算邮件收费。 2.输入三个正整数,若能用这三个数作为边长组成三角形,就计算并输出该三角形的面积,否则输出Can't。(组成三角形的条件为:任意两边之和大于第三边) 3.输入一个三位数的整数,将数字位置重新排列,组成一个尽可大的三位数。例如:输入213,重新排列可得到尽可能大的三位数是321。 第二节 情况语句与算术标准函数 如果有多种(两种或两种以上)选择,常用情况语句编程。 将前面[例2.1]改成用如下方法来处理。根据题意,付款计算可分为两种情况: ① Y=50*X (X>100) ② Y=80*X (X<=100) 显然,情况①与②的选择取决于X值。假设用N表示“情况值”,暂且先让N=2; 如果X>100则N=1;(此题中N的值只是1或2,且取决于X值) Pascal 程序: Program Exam21_1; Var X,Y,N: integer; Begin Write('X=') ;readln(x) ; n:=2; { 先让n=2 } if X>100 then n:=1; {如果X>100则 n=1 } Case n of { 关于情况处理 } 1: Y:=50*X; 2: Y:=80*X; end; Writeln('Y=',Y) ; Readln End. 程序中的 Case─end 语句为情况语句,是多路分支控制,一般格式为: Case 表达式 of 情况常量表1: 语句1; 情况常量表2: 语句2; : : 情况常量表n: 语句n end; 执行情况语句时,先计算Case后面表达式的值,然后根据该值在情况常量表中的“对应安排”,选择其对应的语句执行,执行完所选择语句后就结束Case语句;如果常量表中没有一个与表达式值对应的语句,则什么也不做就结束本Case语句。 Case 语句的另一种应用格式为: Case 表达式 of 情况常量表1: 语句1; 情况常量表2: 语句2; : : 情况常量表n: 语句n; else 语句 n+1 end; 这种格式的前面部分是相同的,所不同的是:如果常量表中没有一个与表达式值对应的语句,则执行与else对应的语句,然后结束Case语句。 [例2.2] 对某产品征收税金,在产值1万元以上征收税5%;在1万元以下但在5000元 以上的征收税3%;在5000元以下但在1000元以上征收税2%;1000元以下的免收税。编程计算该产品的收税金额。 解:设x为产值,tax为税金,用P表示情况常量各值,以题意中每1000元为情况分界: P=0: tax=0 (x<1000 ) P=1,2,3,4: tax=x*0.02 (1000<=x<5000 ) P=5,6,7,8,9: tax=x*0.03 (5000<X<=10000 ) P=10: tax=x*0.05 (x> 10000 ) 这里的P是“情况”值,用产值x除以1000的整数值作为P,如果P>10也归入P=10的情况。Pascal语言用P=trunc(x/1000)取整计算, Pascal程序: Program Exam22; Var x,p : integer; Tax : real; Begin Write('Number=') ; readln(x) ; P:=trunc(x/1000) ; if P>9 then P:=10; Case P of 0 : tax:=0; 1,2,3,4 : tax:=x*0.2; 5,6,7,8,9 : tax:=x*0.3; 10 : tax:=x*0.5 end; Writeln('tt=',tt:5:2) ; Readln End. 情况表达式的计算必须考虑到“全部”情况,不要有遗漏。如果情况常量表的“值”在某范围内是连续的,可将常量表写成: n1.. n2:语句; 因此,上面程序中的情况常量表可以写成如下程序中表示形式: Program Exam22_1; Var x,p: integer; tax: real; Begin Write('Number=') ; readln(x) ; P:=trunc(x/1000) ; if P>9 then P:=10; Case P of 0 : tax:=0; 1..4 : tax:=x*0.2; { 从1至4作为同一情况处理 } 5..9 : tax:=x*0.3; { 从5至9作为同一情况处理 } 10 : tax:=x*0.5 end; Writeln('tt=',tt:5:2) ; Readln End. 程序中的trunc(x)为取整函数,是Pascal的算术标准函数之一。Pascal常用的算术标准函数有19个: (1) abs(x) 求x的绝对值(|x|); (2) exp(x) 求ex的值; (e为无理数2.71828…) (3) frac(x)求x的小数部分; (4) int(x) 求x的整数部分(不舍入,函数值为实型); (5) ln(x) 求以e为底的x的对数(log ex ); (6) odd(x) 判断x的奇偶数(当x为奇数时odd(x)值为true,否则为false); (7) ord(x) 求x的序号,结果为整型(x为有序类型量); (8) pi π值(3.1415926535897932…); (9) pred (x) 求x(有序类型)的前趋值; (10) succ(x) 求x(有序类型)的后继值; (11) random 随机函数,产生0~1的随机值; (12) random(n)产生0~n的随机数(n为word类型,先执行randomize, 才能得到随机整数); (13) round(x) 求x的四舍五入整数; (14) trunc(x) 求x的整数部分(截掉小数部分,结果为整型); (15) sqr(x) 求x的平方值(x2 ); (16) sqrt(x) 求x的开平方根值( ); (17) sin(x) 求x的正弦函数(x为弧度); (18) cox(x) 求x的余弦函数(x为弧度); (19) arctan(x) 正切的反三角函数(x为数值); 习题2.2 1.运输公司计算运费时,距离(S)越长,每公里运费越低,标准如下: 如果S<250公里;运费为标准运价的100% 如果250公里<=S<500公里,运费为标准运价的98%; 如果500公里<=S<1000公里,运费为标准运价的95%; 如果1000公里<=S<2000公里,运费为标准运价的92%; 如果2000公里<=S<3000公里,运费为标准运价的90%; 如果S=>3000公里,运费为标准运价的85%;。请编计算运费的程序。 2. 输入考试成绩,如果获85分以上为 A等,获60分~84分为B等,60分以下为C等,编程输出考试等级。 3. 某车间按工人加工零件的数量发放奖金,奖金分为五个等级:每月加工零件数N < 100者奖金为10元;100 < = N < 110者奖金为30元;110 < = N <120 者奖金为50元;120 < = N <130 者奖金为70元;N > 130者为80元。 请编程,由键盘输入加工零件数量,显示应发奖金数。 第三章 循环程序 在编程中经常遇到需要多次规律相同的重复处理,这就是循环问题。Turbo Pascal采用不同的循环方式来实现,常用的环循有三种: for、re- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pascal 数据结构
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文