ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:27.86KB ,
资源ID:9526764      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9526764.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Pascal程序设计基本教程.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Pascal程序设计基本教程.docx

1、Pascal程序设计基本教程第一部分预备知识第一课 Pascal程序基本知识一、科学记数法7.8530000000E+01=78.53 7.8530000000E+02=785.3.853*.853*.853* 10位小数二、基本结构例1.1计算半径为R的圆面积Sprogram li1; 程序首部const pi=3.14159; 说明部分数据描述var s,r:real;beginreadln(r); 程序体s:=pi*sqr(r); 执行部分writeln(s=,s);end.二、各部分说明1、程序首部例1.1的第一行称为程序首部。program是保留字,接着是程序名(字母和数字的组合,开

2、头必须是字母),最后以分号表示程序首部结束,下面是程序主体的开始。2、程序体 (1)说明部分说明部分用于定义和说明程序中用到的数据,比较常用的常量说明和变量说明。常量说明用const,变量说明用var。变量的类型有:实型变量(real)、整型变量(integer)、字符型变量(char)。举例:定义变量x,y,zvar;x,y:integer;z:real;(2)执行部分执行部分描述了程序要执行的操作。它必须以一个Turbo Pascal保留字begin开始,以保留字end后跟句点结束,其间是一些执行具体操作的语句,并且以分号作为语句之间的分隔符。begin 和end必须成对出现。紧跟end之

3、后的句号表示执行部分的结束,也表示整个程序的结束。此后的任何语句都无效。练习:1、课本P12练一练2、同步P7练习赛场一第二部分顺序结构程序设计包括四个语句:一是输出语句;二是赋值语句;三是复合语句;四是输入语句。第二课 输出语句计算机是如何把图形或解决问题的结果显示在屏幕上的呢?pascal语言给我们提供了一条实现这一目的的语句write(writeln)。举例:program li2; beginwriteln( ,”#”);writeln( :2,”#”);writeln( :3,”#”);writeln( :4,”#”);writeln( :5,”#”);writeln( :6,”#”

4、); end.输出内容:#1、格式(1)write(输出项1,输出项2,输出项3,);(2)writeln(输出项1,输出项2,输出项3,);你想在屏幕上显示什么,就在输出项的位置填上什么。可以多项输出,中间用逗号隔开。2、输出项可以是常量、变量、函数名、表达式或字符串等,如果要输出常量、变量、函数名、表达式的值,则就直接输入即可;如果要照原样输出常量、变量、函数名、表达式或字符串等,则需要把输出项用单引号引起来。3、场宽(1)单场宽场宽就是在输出项后面用冒号隔开再加上一个数,它是用来说明这个输出项所占得宽度,主要目的是确定输出项的位置。(2)双场宽在双场宽中,第一个场宽意义不变,第二场宽是对

5、常量或变量的值的小数位数进行定义,是什么数,就保留几位小数。练习 课本:P26练一练;P28例1;P32练一练 同步操作:P15P18第三课 赋值语句(一)赋值语句是最简单的语句,其一般形式为::= 例:x:=15 s:=ok m:=3+5 w:=a+b赋值语句的作用是计算表达式的值,并赋给变量。对于任何一个变量必须首先赋值,然后才能引用,否则,未赋初值的变量将以一个随机值参与运算。另外,赋值号两边的类型必须相同,但表达式值为整数时,它可自动化为实型后赋给该实型变量,即符合赋值相容。例:关于赋值的例子program example;var a,b:integer;begina:=3;b:=2;

6、writeln(a);writeln(b);a:=a+b;writeln(a);writeln(b);b:=a-b;writeln(a);writeln(b);a:=a-b;writeln(a);writeln(b);readlnend. (二)算术表达式是由符合pascal语法规定的运算对象、算术运算符、圆括号组成的有意义的式子。常用的算术运算符由以下6个:+、-、*、/、div、mod、补充1、trunc(取整函数)、round(舍入取整函数)例:trunc(1.2)=1 round(1.2)=1trunc(1.7)=1 round(1.7)=2trunc(-3.7)=-3 round(-

7、3.7)=-42、pred(前导函数)、succ(后继函数)pred(5)=4 succ(5)=63、chr(取字符函数)、ord(取序号函数)chr(65)=A ord(A)=65chr(97)=a ord(a)=97练习课本:P34练一练;P36练一练;P38第七课;同步操作:P21P24;第四课复合语句复合语句是由若干语句组成的序列,语句之间用分号“;”隔开,并且以begin和end括起来,作为一条语句。复合语句的一般形式:begin语句1;语句2;语句n;end 例:变量值的交换program jiaohuan;vara,b,t:integer;begin a:=10;b:=20;be

8、gint:=a;a:=b;b:=t;end;writeln(a=,a,b=,b)end.练习:同步操作P2629(讲解第三题)第五课 输入语句通过计算机的外设把数据送到计算机内存的过程称为输入。Turbo Pascal语言的输入语句有如下两种形式:read();readln();是一个或几个由逗号隔开的变量标识符,他们必须在程序说明部分预先说明,他们可以是整型、实型或字符型,布尔型不可以直接读入。例如a,b,c为整型变量,read(a,b,c)之后键盘输入:20 30 40 (表示回车)结果:a=20,b=30,c=40readln语句和read语句不同之处在于输入数据到各变量之后,readl

9、n自动换行,从下一行开始再输入数据。一个read语句执行完后,数据行中多余的未读数据可以被下一个输入语句读入;而一个readln于执行完后,数据行中多余未读数据就没有用了。readln语句中可以不包含变量名表。即有以下等价情况:readln(a,b);readln等价于readln(a,b)输入语句输入的数据类型必须和变量一一对应。如果输入的是一串整数或实数,数据间用空格或回车分隔;若输入的是一串字符,则不用分隔。 例:输入语句示例program shuru;varx:real;c:char;beginwrite(please input the number: ($XXX.XX);readl

10、n(c,x);writeln(The price is ,c,x) ;end. 练习课本:P50练一练;同步操作:P31P33;第三部分选择结构程序设计包括两个部分:一是if语句;二是case语句。第六课 if语句.1if语句IF语句是由一个布尔表达式和两个供选择的操作序列组成。运行时根据布尔表达式求值结果,选取其中之一的操作序列执行。有两种形式的IF语句:ifthen ;ifthen else ;当布尔表达式的值为真,则执行then后面的语句,值为假时有两种情况:要么什么也不做,要么执行else后面的语句。注意else前面没有分号,因为分号是两个语句之间的分隔符,而else并非语句。如果在该

11、处添了分号,则在编译的时候就会认为if 语句到此结束,而把else当作另一句的开头,输出出错信息。例1:求y=f(x),当x0时,y=1,当x=0时,y=0,当x0 then y:=1;if x=0 then y:=0;if x0时候,计算x*x,并且输出x和x*x,program lianxie3;var x,x1:integer;beginreadln(x);if x=0 then beginx1:=x*x;writeln(x*x=,x1);writeln(x=,x);end;end.当if 语句嵌套时,Turbo Pascal约定else总是和最近的一个if配对。第七课 case语句ca

12、se语句是由一个表达式和众多可选择的操作序列组成。运行时,根据表达式的求值结果,在众多的分支中选取一个分支执行。其形式为:case表达式of常量1:语句1;常量2:语句2;常量n:语句n;else语句 n+1 可选项 end;表达式只能是顺序类型(除了实型以外的简单类型),其值必须是唯一确定并且和表达式类型相同。case语句执行和表达式值相匹配的case常数所指向的那条语句,如果没有相匹配的值,则执行else部分(如果有的话)或者什么也不做。在else前面的语句末尾有分号,这是和if语句不同的。例:根据学生的成绩给予相应的等低,对应关系如下: 以下program chengji;var s:r

13、eal;x:integer;ch:char;beginwrite(input the score: );readln(s);x:=torunc(s);if(s=0)and(s=100)thencase x div 10 of10,9:ch:=A;8:ch:=B;7,6:=C;else ch:=D;end;writeln(s,-,ch);end. 补充练习:试编写一个根据用户键入的两个操作数和一个运算符,由计算机输出运算结果的程序。这里只考虑加()、减()、乘()、除()四种运算。例:Input x,y:15 3 Input operator(+,-,*,/): 15.00+ 3.00= 18.

14、00例:Input x,y:5 0 Input operator(+,-,*,/): divide is zero!第四部分 循环结构程序设计包括部分:一是for语句;二是while语句;三是repeat语句;第八课 for语句补充:类型 integer longint real 数值范围 -32768.32767 -2147483648.2147483647 2.9e-39.1.7e+38 for 语句用来描述已知重复次数的循环结构。for 语句有两种形式:(1) for 控制变量:初值to终值do语句;(2) for 控制变量:初值downto终值do语句;第一种形式的for 语句是递增循

15、环。首先将初值赋给控制变量,接着判断控制变量的值是否小于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的后继值,并重新判断是否小于或等于终值。当控制变量的值大于终值时,退出for循环,执行for语句之后的语句。第一种形式的for 语句是递减循环。首先将初值赋给控制变量,接着判断控制变量的值是否大于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的前趋值,并重新判断是否大于或等于终值。当控制变量的值小于终值时,退出for循环,执行for语句之后的语句。for 语句中的初值、终值、控制变量的数据都必须是顺序类型。当初值和终值确定后,重复的次

16、数就确定不变了,并且控制变量在重复语句内不能施加任何赋值操作。 例:计算1+2+3+99+100program jia;var n,sum:integer;beginsum:=0;for i:=1 to 100 dosum:=sum+i;writeln(sum);end. (1)5、程输出如下的乘法口诀表:1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2

17、=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81(2)25、求112123.123.910(3)38、求111111.共N项之和(1N9)(4)54、用5元钱买100只纽扣,其中金属纽扣每只5角,有机玻璃纽扣每只1角,小纽扣1分钱买3个,编程求出各种纽扣买了多少只?(5)56、按字母表顺序和逆序每隔一个字母打印,即A C E G I K

18、 M O Q S U W YZ X V T R P N L J H F D B(6)64、求1到100的偶数及奇数和(7)68、“水仙花数”是指一个3位数,其各位数的立方和等于该数,如: 153=13+53+33。编写程序,输出所有的“水仙花数”.(8) 88、请编制程序输出的结果是如下图所示。(用循环语句实现)12 1 23 2 1 2 34 3 2 1 2 3 4 54 3 2 1 2 3 4 5654 3 2 1 2 3 4 5 6 54 3 2 1 2 3 4 54 3 2 1 2 3 4 3 2 1 2 3 2 1 2 1(9) 161、输入N值,编程输出如下图形。 Input 一个

19、整数N(1=N=7)。 Output 排列成菱形的大写字符,首字符为Z,以后依次为Y,X. Sample Input 3 Sample Output Z Y X W V U T S (10) 162、输入下列图形:以26英文字母 a a b a b c . . . . . . . . . . . . . . . . . . . . . . . . a b c d e. w y z第九课 while语句while语句用于“当满足某一条件时进行循环”的情况。while语句的语法格式:while 布尔表达式do语句;循环结束条件在进入循环体之前测试,若最初的测试值为false,则根本不进入循环体,也

20、就是说while循环是是属于当型循环。为了能使while重复能终止,循环体中一定要有影响布尔表达式的操作,否则该循就是一个死循环。例:计算从到某个数之间所有奇数的和。program jishu;var odds,limit,sum:integer;beginreadln(limit);sum:=0;odds:=1;while odds=limit dobeginsum:=sum+odds;odds:=odds+2end;writeln(sum:1)end. 第十课 repeat语句repeat 语句用于“重复执行循环体,一直到指定的条件为真时为止”。语法格式为:repeat语句1; 语句n;u

21、ntil布尔表达式;repeat重复基本上有和while重复一样的描述循环计算的能力,但有一些不同:在repeat语句的结构中,布尔表达式求值在计算操作之后,而while语句中,布尔表达式求值在计算操作之前,也就是说repeat至少执行一次循环体。while语句的成分语句只能是一个语句。因此,当重复动作包含多个语句时,要用begin和end ,使它变成一个复合语句。而repeat语句的保留字repeat和until已经起语句括号作用,可以包含多个语句而无须begin和end。repeat语句中,当布尔表达式为true时结束循环,而while语句中,是当表达式为false时才结束循环。当描述由计

22、算操作后的情况确定重复是否继续进行的计算时,通常用repeat语句描述。 第四部分数组1.数组的定义数组是程序中最常用的结构数据类型,用来描述由固定数目的同一类型的元素组成的数据结构。数组的每个元素和下标相关联,根据下标指示数组的元素。数组的存储方式为按行存储,在编译阶段,计算机根据数组的类型说明,确定其存储空间的大小。数组可以是任何顺序类型。数组的定义形式:array , of 其中n称为数组的维数,每维的下标类型必须是一个顺序类型,通常为子界类型或枚举类型,其作用是指定数组下标的编制方式和下标取值范围。例如:var a:array 1.10of integer;有10个元素的一维数组m,n

23、:array 1.10of integer;b:arrayp1.5,1.5of real;有25个元素的二维数组,依次按1,1,1,5,2,1,2,5,5,1,5,52.数组的操作当数组的元素类型为简单类型时,其下标变量和简单类型变量一样使用。例如:a50:=50;a20:=a5;一个数组,下标的起始值和终止值是在类型定义中给定的,不能在程序执行中再通过其他途径来改变,所以数组元素的个数在程序运行期间是固定不变的。数组变量作为整体仅允许同类型数组之间的赋值运算。例如:var x,y:array1.10of integer;x:=y例:读入个学生的学号和成绩,计算他们的平均分,若比平均分高分的等

24、第为A,若比平均分高小于分的等地为B,若低于平均分,则等第为C,输出他们的成绩和等第。program sample7d1(input,output);const n=5;typeno=array1.n of integer;s=array1.nof real;vari:integer;k:real;num:no;score:s;begink:=0;for i:=1 to n dobeginreadln(numi,scorei);k:=k+scorei;end;k:=k/n;for i:=1 to n dobeginwrite(numi,scorei);if (scorei-k)=10 then writeln(A)else if(scorei-k)0) then writeln(B)else writeln(C);end;end.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1