pascal教程03

来源:网络收集 时间:2025-08-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第三课 基本语句(一)

§3.1 程序的三种结构

从程序结构化设计的角度来讲,程序可以分成三种基本结构:顺序结构、分支结构和循环结构,在下面结束基本语句中,将进行详细的介绍。

是 A B A 条件 否 条件 B 是 A 否

顺序结构 分支结构 循环结构 §3.2 赋值语句

赋值语句是程序设计中最基本的语句,其作用是计算表达式的值,并把它赋给一个变量。 赋值语句的一般形式:

<变量标识符> : = <表达式>;

其中表达式可以是算术表达式、布尔表达式、字符表达式或集合表达式。 【例】 (1) a := 200; (2) b := a + 30*2; (3) a := a–50;

200 - 50

200 200 + 30*2 a 200 a a b (1) (2) (3)

使用赋值语句,必须注意:

(1) 任何一个变量必须先赋值,然后才能引用。

(2) “:=”称为赋值号,不要与数学上的等号“=”混淆。

(3) 一个赋值语句只能给一个变量赋值,如:a := b:= 3; 或 a , b := 3.1;都是错的!

-- 13 --

(4) 赋值号右边的表达式必须是一个能够计算出来的值! (5) 赋值号“ : = ”的左边只能是变量,而不允许是表达式,如

– a : = 0; a + b * c : = a * b; 等都是错误的。

(6) 表达式计算值的类型和变量的类型必须是赋值兼容的:

· 变量和表达式的类型相同;

· 变量是实型,而表达式计算结果为整型,反之则不能;

· 变量是长整型,而表达式计算结果为整型,反之则会引起程序出错; §3.3 写语句

输出计算结果,它有两种形式:

write(<项目名表>); writeln(<项目名表>);

<项目名表>是一串逗号分隔的输出项。若输出项为常量或变量,直接输出常量或变量的

值;若输出项为表达式,则先对表达式进行计算,然后输出计算结果;若输出项为字符串,原样输出。

☆ write和writeln的区别:

执行write语句时,是一项接着一项连续地输出,并不换行。

【例】 x := 20; y := 30; write(x,’+’,y,’=’); { 输出字符或字符串须用单引号括起 } write(x + y);

执行上述语句后,在显示屏输出: 20+30=50

执行writeln语句,也是一项接着一项输出,但输完最后一项后自动换行。 【例】 x := 20; y := 30; writeln(x,’+’,y,’=’); writeln(x + y);

执行上述语句后,在显示屏输出: 20+30= 50

write语句至少必须输出一项内容,writeln语句允许不输出任何内容,仅仅换行。 即:writeln;是合法的,而write;是不合法的。

-- 14 --

write或writeln语句可带有参数,其格式取决于变量的类型,现描述如下: ① write(e:n); n为整数表达式。

在n个字符宽的输出域上,以右对齐方式输出。 ② write(R:n:m); n、m为整数

以右对齐方式在n个字符宽的输出域上输出R值,其中小数点之后带m个数字。

【例】:下面的例子,说明如何使用参数。

program form;

var r :real; c :char; begin

c := ’a’; r := 3. 5;

writeln(c : 6); writeln(r); writeln(r : 9);

writeln(r : 1); writeln(r : 9 : 3); writeln(r : 2 : 3); end. 输出:

a

3 . 5 0 0 0 0 0 0 0 0 0 e + 0 0 3 . 5 0 e + 0 0 3 . 5 0 e + 0 0

3 .

3 .

5 0 0

5 0 0

* 当输入域宽说明n大于输出数据字符数时,输出时左面自动补空格。

* 当输入域宽n小于所要求的字符数时,输出时将自动突破域宽说明限制,按实际字符数输出。 §3.4 读语句

把键盘输入的数据赋给相应的变量。有两种形式的读语句:

read(<变量名表>); readln(<变量名表>);

<变量名表>是一串用逗号隔开的变量标识符。程序运行时,执行到read或readln语句时,系统处于等待状态,等待用户从键盘输入数据。

输入数值型数据时,数据间用空格分隔,然后按回车键,表示输入结束;输入字符型数据时,数据间不能用空格分隔,可以连续输入。当输入项中的变量为多个时,要求输入

-- 15 --

的数据不能少于其变量个数,若少于变量个数时,系统仍处于等待状态,接着输入的数据无论是换行输入还是不换行输入均有效。

☆ read 和readln的区别:

readln语句与read语句不同之处是依次读入一串数据到相应变量中去后自动换行。当输入的数据多于变量个数时,readln将忽略同一行输入中多余的数据,后面若还有read或readln语句,将从下一行数据读起。而执行read后,多余的数据要么被忽略,要么被下一个read或readln语句读入。 【例】 read(x , y , z);

表示从键盘上输入三个数,并把它们依次存放到变量x,y,z中去。 当输入: 20 30 40 (然后按回车键表示本行数据输完) 其结果为 x=20,y=30,z=40。

这条语句也可以写成以下三个读语句: read(x);read(y);read(z);

【例】 read(a ,b ,c); readln(i ,j ,k); readln(x ,y); 当输入数据:

1 2 3 4 5 6 7 8 9 10 11 读入结果为:

1 2 3 4 5 ↓ ↓ ↓ ↓ ↓ a b c i j

6 7 8 ↓ k 9 10 11 ↓ ↓ x y

使用读语句要注意几个问题:

(1)输入数据的类型和顺序必须与该读语句中变量的类型和顺序一致。

(2)读语句中的变量不能是布尔类型和枚举类型。

(3)read语句中必须至少有一个变量,而readln语句允许不含变量,其作用是读入一

个回车换行符。即:readln;是合法的,而read;是不合法的。

★(4)整型和实型变量可以共用一个输入语句,但字符型变量不能与整型、实型变量同

时出现在一个read或readln语句中。

-- 16 --

§3.5 标准函数和过程的使用

Pascal中预定义了许多标准函数,在P12页附录3中列出了一些常用的函数。函数就是系统预先做好的一些程序,能进行一些常用的运算,调用它,函数会根据你给的不同参数,进行运算,然后将运算结果返回给你。函数常用于表达式中,如P7页程序中, s:=pi*sqr(r);

下面,再对随机函数的使用做详细的介绍。

请大家把下列程序输入,并运行几次,比较一下运行结果。

var j:real;

begin

j:=random; { random函数产生一个0-1之间的随机小数(不含1),赋给j } writeln(j); {j以指数的形式输出} end.

大家会发现,几次运行的结果都是一样的,这是因为我们产生的随机数是伪随机数,需要进行初始化,否则每次会产生同样的随机序列。请大家在程序中加入一句:

var j:real; begin 加上这句 randomize;

j:=random; writeln(j); end.

这回产生的随机数每次都不同了。注意,不管程序中使用了多少次random函数,randomize只须写一次!我们再将程序改动一下:

var j:integer; { 这里改为整型 } begin randomize;

j:=random(100); { 加上参数100 } writeln(j); end.

这次,将产生一个0到99的随机整数,注意,加上参数后,产生的是整数!

“标准过程”也是系统预先编写好的一些程序,能实现某些常用的功能,例如上面例子中的randomize,就是一个标准过程。标准过程的使用和函数不一样,没有返回值,要作为单独的语句使用。

下面再列出几个常用的标准过程:

inc(x) 给变量x加上1,等价于 x:=x+1 inc(x , n) 给变量x加上n,等价于 x:=x+n dec(x) 将变量x减去1,等价于 x:=x-1

dec(x , n) 将变量x减去n,等价于 x:=x-n exit 从子程序中返回 halt 中断程序运行

-- 17 --

课后练习三:

1、下面程序是输入三条边长度,根据海伦公式求该三角形面积,阅读程序回答问题。

var x, y, z, p, s : real; (1) s 是什么类型的变量:_________

begin

readln (x,y,z); (2) 输出结果时保留几位小数:_____ p:=(x+y+z)/2; s:=sqrt(p*(p-x)*(p-y)*(p-z)); (3) 输入:3 4 5 ↙ writeln (s:10:2); end. 输出:___________ 2、阅读程序,回答问题。

var a,b,c,d,e : char ; begin readln(a,b,c); readln(d,e); writeln(a,b,c,d,e); end. 3、计算下列表达式的值: x=4,y= –5,z=9 ① sqrt(ord(‘K’)– ord(‘B’))= ② sqr(z – abs(y))= ③ (z + 100)mod(round(37 / 3))= ④ 12 / x = 12 div x = ⑤ chr(103)= pred(‘M’)= 4、将下列数学表达式表示成Pascal表达式:

① sin(x + 0.5)+ 3 cos(2x + 4) ② 1?2?

3 若输入: (↙表示按回车)

U F O↙ (字符之间一个空格) ET↙ (字符间没空格) 则输出:__________________ 再想想,为什么?

5、请根据要求完善以下程序: 随机产生一个两位整数x;

将x个位和十位的数字调换,形成 一个新的整数y; 再将y加上1; 输出x和y。

var x,a,b,y:integer; begin x:=_______________________; a:=x div 10; b:=x mod 10; y:=_______________________; inc(y); writeln(x , ’ ’, y); end. -- 18 --

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库pascal教程03在线全文阅读。

pascal教程03.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/315005.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219