第三章顺序结构优秀PPT.ppt

上传人:石*** 文档编号:74241378 上传时间:2023-02-25 格式:PPT 页数:32 大小:1.55MB
返回 下载 相关 举报
第三章顺序结构优秀PPT.ppt_第1页
第1页 / 共32页
第三章顺序结构优秀PPT.ppt_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《第三章顺序结构优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第三章顺序结构优秀PPT.ppt(32页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三章 顺序结构现在学习的是第1页,共32页Pascal的程序结构采用了顺序、选择、循环的控制结构,使编写的程序结构清晰,进而达到易懂、易改的目的。第一节赋值语句第一节赋值语句变量既然代表一个存储单元,其值是可变的,在pascal程序中可以通过赋值语句来进行。赋值语句的格式为::=赋值语句的作用是计算表达式的值,并将结果赋给变量。对于任何一个变量必须首先赋值,然后才能引用,否则,未赋初值的变量将以一个随机值参与运算。另外,赋值号两边的类型必须相同,但表达式值为整型时,它会自动转变为实型后赋值给该实型变量,即符合相容赋值。现在学习的是第2页,共32页 例例3-1 关于赋值功能的例子 progra

2、m example3_1;var a,b:integer;begin a:=3;b:=2;a:=a+b;b:=a-b;a:=a-b;writeln(a);writeln(b);end.程序中整型变量a,b分别赋初值3,2,接着a的值加b的值为5仍赋给a,a的值改变为5,再接下去的两条赋值语句同样使b的值改为3,a的值又改为2,最后输出的a,b的值分别为2,3。现在学习的是第3页,共32页 例例3-2 关于变量必须赋初值及相容赋值的例子 program example3_2;var c:real;begin writeln(c=,c);c:=5 div 2;writeln(c=,c);end.经

3、编译运行的结果如下:c=1.00473604E-18 c=2.0000000000E+00现在学习的是第4页,共32页可以看出:实型变量c在未赋值前的值为随机数,赋值语句中的表达式5 div 2的结果应是整数2,但左边为实型变量c,故结果2自动转变为实型数2.0000000000E+00赋给c。因此,我们必须养成给变量赋初值的习惯,并注意赋值相容的情况。现在学习的是第5页,共32页例例3-3 某仓库8月1日有粮食100吨,8月2日又调进20吨,8月3日卖出库存的三分之二,8月4日又调进库存的3倍粮食,问该仓库从8月1日到8月4日期间每天的粮食分别是多少吨?(输出每天的库存量)分析:在这个问题中

4、,主要要描述从8月1日到8月4日期间仓库的粮食库存量,且易知它是不断变化的。因此我们可以用一个变量A来描述仓库的粮食库存量。程序可写如下:Program ex33;Var A:integer;Begin A:=100;Writeln(8/1:,A);A:=A+20;Writeln(8/2:,A);A:=A div 3;writeln(8/3:,A);A:=A*4;writeln(8/4:,A)End.注:上程序各writeln中A前的8/1:,8/2:,8/3:,8/4:都表示一个字符串(即用一对单引号括起来的一串字符),对于字符串,只输出字符串的内容(即引号内的字符),而引号不会输出。现在学

5、习的是第6页,共32页例例3-4 有三个小朋友甲、乙、丙。甲有50粒糖果,乙有43粒糖果,丙有13粒糖果。现在他们做一个游戏。从甲开始,将自己的糖分三份,自己留一份,其余两份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依次这样做。问最后甲、乙、丙三人分后各有多少粒糖果?现在学习的是第7页,共32页分析:这个问题中我们关心的是在游戏过程中每个小朋友的糖果个数,且他们所拥有的的糖果数是在变化的。因此可用a、b、c三个变量分别存放甲、乙、丙三个小朋友在某一时刻所拥有的糖果数。对于每个人分糖后,他的糖果数一定为原来的糖果数 div 3(因为分糖过程中,糖果的数目不一定都刚好分完,用整除恰恰可以表示多

6、余的糖自己吃掉)。而其他两人则增加与这个小朋友现在拥有的一样的糖果。程序可写如下:program ex3_4;var A,B,C:integer;begin A:=50;B:=43;C:=13;初始时每个小朋友所拥有的糖果数 A:=A div 3;B:=B+A;C:=C+A;甲小朋友分糖果后,每个人拥有的糖果数变化情况 B:=B div 3;A:=A+B;C:=C+B;乙小朋友分糖果后,每个人拥有的糖果数变化情况 C:=C div 3;A:=A+C;B:=B+C;丙小朋友分糖果后,每个人拥有的糖果数变化情况 writeln(A=,A,B=,B,C=,C);输出结果end.以上程序的运行结果为:

7、A=51 B=35 C=16现在学习的是第8页,共32页有三个小朋友甲、乙、丙。甲有50粒糖果,乙有43粒糖果,丙有13粒糖果。现在他们做一个游戏。从甲开始,将自己的糖分三份,自己留一份,其余两份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依次这样做。问最后甲、乙、丙三人分后各有多少粒糖果?现在学习的是第9页,共32页输出语句输出语句输出语句或写语句是每个程序用于从屏幕显示计算结果的语句,是必不可少的。一、输出语句的两种格式1、write语句格式Write(表达式1,表达式2,);如:write(1,2,3,4);write(1.2,3.4,5);write(My name is Lipin

8、g);2、writeln语句格式:Writeln(表达式1,表达式2,)或writeln现在学习的是第10页,共32页二、输出语句的功能 计算机执行到某一输出语句时,先计算出输出语句中的每个表达式的值,并将每一个表达式的值一个接一个地输出到屏幕上。Write语句与writeln语句格式上都相似,但它们在功能上有所不同,两个语句的区别在于,write语句将其后括号中的表达式一个接一个输出后,没有换行。而writeln语句则在输出各个表达式的值后换行。例如以下两个程序段的输出分别为:write(1,2,3,4);write(5,6);输出为:123456writeln(1,2,3,4);write

9、ln(5,6);输出为:123456现在学习的是第11页,共32页三、输出语句的输出格式 在pascal语言中输出数据时是可以按照一定格式表示的,对整数隐含的输出形式为按十进制数形式。对实数的输出,隐含的形式是科学记数法形式(如果不想用科学记数法输出而用小数形式输出,要自己另行定义)。事实上,输出语句中的每个输出项中的表达式之后可以加上格式说明,若输出项后没有加格式说明,则数据按系统隐含的格式输出,还可加上一定格式符号按特定格式输出。现在学习的是第12页,共32页1、隐含的输出格式 pascal语言为整型量、实型量、布尔型量和字符串(用一对单引号括起来的字符序列)规定了每种数据所占的宽度(即一

10、个数据占几列),一个数据所占的宽度称为“场宽”或“域宽”。系统给出的隐含场宽称为标准场宽。下表给pascal所规定的标准场宽。数据类型 标准场宽Integer 实际长度Real 17Boolean 4或5现在学习的是第13页,共32页在Pascal系统中,对于整型字符串的输出都是按数据本身长度输出,对于布尔型数据(只有True和False两种值),TRUE为4列,FALSE为5列,一律采用大写输出。而real型数据的输出时,则按17列输出,其中第一列为符号位,正号不显示,后四位为“Enn”,中间的12列为尾数部分。如:writeln(4/7);则输出 1.1428571492E+00。这种隐含

11、的输出格式不容易看清楚,因此在程序中往往根据实际情况,需要自己定义场宽。现在学习的是第14页,共32页2、指定场宽在输出语句中输出项允许含有格式符号,其作用就是为了指定场宽。指定单场宽格式:write(表达式:N)或writeln(表达式:N),其中N为整数类型表达式,但多数情况下直接就用自然数表示,一旦指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出。若数据实际长度小于指定场宽时,则一律“向右靠齐,左留空格”。如write(1234:8);write(abcdef:12)输出结果:1234abcdef对于标准实型数据指定单场宽时,如果场宽大于标准场宽时,右靠齐按标准场宽格式输出17

12、位,左留空格。若场宽小于标准场宽时,第一位仍为符号位,最后四位仍为Enn,中间部分为尾数显示部分。如果指定的宽度小于8位,则数据按8位格式*.*Enn 输出。现在学习的是第15页,共32页指定双场宽当输出项是实数时,如果希望输出的实数不用科学记数法输出,而用小数形式输出,可以用指定双场宽的方法输出。双场宽输出格式为:write(实型表达式:m:n),其中m和n都是整型表达式或自然数,m 用以指定整个数据所占的宽度,n指定输出实数的小数位数。如:write(8/7):9:4);输出:1.1429如果双场宽不能满足输出数据的最低要求,系统自动突破指定的场宽限制,按实际长度输出。如:write(8/

13、7:5:4);要使小数点后有4位数字,而总场宽为5,是不可能的(因为还有一个小数点,小数点前面还有一个数字)。它最低限度要有6列,即输出为:1.1429现在学习的是第16页,共32页 例例3-5 写出下列程序的输出结果.program ex3_5;const s=abcdefg;var i:integer;r:real;c:char;b:boolean;begini:=1234;r:=1234.5678;c:=#;b:=true;writeln(i,i:6,i:3);writeln(r,r:12:5,r:8:5);writeln(c,c:5);writeln(s,s:10,s:5);write

14、ln(b,b:5,b:3);end.运行结果如下:1234123412341.2345678000E+031234.567801234.56780#abcdefgabcdefgabcdefgTRUETRUETRUE现在学习的是第17页,共32页四、应用实例分析 例例3-6 已知A=253,B=43,输出A*B的运算式子。即要求输出格式如下:253*43=10879 253 *43 -759+1012-10879分析:对于该问题,我们只要控制好输出时右靠齐即可。即前四行的总宽度一样(例如为12),第五行总宽度比前面少1。第六、七行总宽度与前四行一样。现在学习的是第18页,共32页参考程序如下:v

15、ar a,b:integer;begina:=253;b:=43;writeln(a:10,*,b,=,a*b);writeln(a:12);write(*:8);writeln(b:4);writeln(-:12);writeln(a*3:12);write(+:6);writeln(a*4:5);writeln(-:12);writeln(a*b:12);end.现在学习的是第19页,共32页第三节输入语句第三节输入语句在程序中变量获得一个确定的值,固然可以用赋值语句,但是如果需要赋值的变量较多,或变量的值经常变化,则使用本节介绍的输入语句读语句,将更为方便。读语句是在程序运行时由用户给变

16、量提供数据的一种很灵活的输入动作,它有两种格式:read();readln();其中变量名表是用逗号隔开的若干个变量名组成的。功能:从标准输入文件(即INPUT,一般对应着键盘)中读入数据,并依次赋给相应的变量。现在学习的是第20页,共32页说明:read和readln是标准过程名,它们是标准标识符。执行到read或readln语句时,系统处于等待状态,等待用户从键盘上输入数据,系统根据变量的数据类型的语法要求判断输入的字符是否合法。如执行read(a)语句,a是整型变量,则输入的字符为数字字符时是合法的,当输入结束时,则自动将刚接受的一串数字字符转换为整数赋给变量a。在输入数值型(整型或实型

17、)数据时,数据间要用空格或回车分隔开各个数据,输入足够多个数据,否则仍要继续等待输入,但最后一定要有回车,表示该输入行结束,直到数据足够,该读语句执行结束,程序继续运行。现在学习的是第21页,共32页 设a、b、c为整型变量,需将它们的值分别赋以10、20、30,写出对应下列语句的所有可能输入格式。Read(a,b,c);根据,即可列出所有可能输入格式:(a)102030(b)102030(c)102030(d)102030其中“”表示回车键。现在学习的是第22页,共32页read语句与readln语句的第一个区别是:read语句是一个接一个地读数据,在执行完本Read语句(读完本语句中变量所

18、需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是说不换行。例如:Read(a,b);Read(c,d);Read(e);如果输入数据行如下:123456则a、b、c、d、e的值分别为1、2、3、4、5,如果后面无读语句则数据6是多余的,这是允许的。现在学习的是第23页,共32页Readln则不同,在读完本Readln语句中变量所需的数据后,该数据行中剩余的数据多余无用,或者说,在读完本Readln语句中变量所需数据后,一定要读到一个回车,否则多余的数据无用。例如:readln(a,b);readln(c);则对于上述4种输入格式只有(b)(d)是有效的。readln语句与rea

19、d语句的第二个区别是:read 后一定要有参数表,而readln可以不带参数表,即可以没有任何输入项,只是等待读入一个换行符(回车)。经常用于暂停程序的运行,直到输入一个回车。现在学习的是第24页,共32页 例例3-7 关于输入功能的例子设有下列语句:read(a,b,c);readln(d,e);readln;readln(f,g);其中,所有变量均为整型。再设输入的数据如下:12345678910111213列表给出每个变量的值.分析:可以假想有一“数据位置指针”,每读一个数据后,指针后移到该数据之后,每执行一个readln语句后,指针移到下一个数据行的开头。各变量的值如下表所示。变量名A

20、 B c D e f g值 1 2 3 4 5 11 12现在学习的是第25页,共32页为了避免可能出现的错误,建议在程序中按下列原则使用读语句:(A)如果没有特殊需要,在一个程序中尽量避免混合使用read语句和readln语句;(B)尽量用readln语句来输入数据,一个数据行对应一个readln语句;(C)由于执行read或readln语句时,系统不会提供任何提示信息,因此,编程时最好在readln语句之前加以适当提示,例如:write(Input a,b,c:);readln(a,b,c);在执行时,屏幕上显示:Input a,b,c:_其中,“_”为光标。执行readln语句后,系统处

21、于待待输入状态,只有输入了所需数据后才继续往下执行。现在学习的是第26页,共32页第四节第四节 复合语句复合语句 复合语句由若干语句组成序列,语句之间用分号“;”隔开,并以begin与end括起来,作为一条语句。复合语句的一般形式:begin 语句1;语句2;语句n end现在学习的是第27页,共32页 例例3-8 变量值交换 program ex3_8;var a,b,t:integer;begin a:=10;b:=20;writeln(a=,a,b=,b);begin t:=a;a:=b;b:=t end;writeln(a=,a,b=,b)end.程序中的复合语句完成变量a,b中值的交

22、换,整个复合语句作为一条语句,程序执行时,按其中语句依序执行,即完成一个复合动作。在本例中当然去除复合语句的begin和end后,结果是一样的。复合语句常用在某些控制语句语法上规定只能是一条语句的情况下。现在学习的是第28页,共32页练练 习习1、按下列输出格式输出,即1后面空1格,2后面空2格,5后面空5格,要求方法越多越好。1 2 3 4 52、用输出语句输出下列字符图形:|/-/()+-oOOo-(_)-oOOo-+|How do you do?|My name is computer.|Oooo|+-oooO-()-+()/(_/_)现在学习的是第29页,共32页3、用realn语句输

23、入两个四位整数,求出它们相加之和,要求用加法竖式表示。例如:4357 +2124 64814、输入两个正整数a、b(a,b=100000),输出a除以b的商和余数。5、输入一个字符,输出与其对应的ASCII码。(提示:用ord(x)函数求字符x的ASCII码,例如ord(A)的值为65)现在学习的是第30页,共32页6、已知某梯形的上底A=13,下底B=18,高H=9,求它的面积S。7、某机关组织游泳比赛。将一堆西瓜分给前三名,把该堆西瓜中的一半又半个西瓜奖给第一名;剩下的一半又半个西瓜给第二名;把最后剩下的一半又半个西瓜给第三名,但每次分时并没切开任何一个西瓜,且刚好西瓜分完。问前三名各分到多少个西瓜8、已知三角形三边长为a、b、c,求三角形的面积公式为:sp(p-a)(p-b)(p-c)开平方根 其中:p(abc)2 开平方根函数为sqrt()编写程序读入a、b、c,输出三角形的面积。现在学习的是第31页,共32页9、写出程序,以摄氏为单位读入温度值,并以华氏为单位将它输出。摄氏华氏的转换 公式是:F9/5C32.其中C表示摄氏,F表示华氏。10、写一程序,读入以秒为单位读入角度,将其转换为度、分、秒(用、”表示)形式输出。转换关系:1=60 1=60”(提示:、”符号的字符转换函数分别为chr(248)、chr(39)、chr(34))现在学习的是第32页,共32页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com