顺序结构
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1.1赋值语句注意事项
1.赋值号“:=”,注意区分“:、=、:=”三个符号; a,b:integer; a=b; a:=3; 2.赋值号左边的变量,要先在说明部分加以说明; 3.赋值号右边的表达式,经过运算之后,能得出一 个具体的、确定的值; 4.赋值号两边的数据类型必须相同或相容。 5.常量说明语句中只能使用“=”, 如:const pi=3.14;
例3-4:场宽,changkuan.pas
var x,n:integer; a:real; x:=123; n:=4; a:=20/3; writeln('*':6); writeln(' ':6); writeln(x:n); writeln(a); writeln(a:4:2); writeln(a:0:0);
例3-1:赋值语句,fuzhiyuju.pas
program fuzhiyuju; var a,b:integer; c:real; d:0..100; begin a:=100; 相同数据类型进行赋值 b:=a; writeln(a,' ',b); d:=100; b:=d; 相容数据类型进行赋值 c:=b; writeln(d,' ',b,' ',c:4:4); d:=b; 赋值语句出现溢出,编译时出错 a:=c; writeln(d,' ',a:4:4); end.
program swsgwqh;{si wei shu ge wei qiu he} var a,b,c,d,sws,he:integer; begin write('shu ru si wei shu:'); readln(sws); if ((sws>=1000) and (sws<=9999)) then begin
例3-3:比较练习,bjlx.pas
bjlx1.pas var a,b,c,i,j,k,l,m,n:integer; readln(a, b, c); readln(i, j, k, l); readln(m, n); 输入数据: 12 6 7 8 9 10 11 12 结果: a、b、c、i、j、k、l、m、n 1 2 6 11 12 0 0 0 0 bjlx2.pas var a,b,c,i,j,k,l,m,n:integer; read(a, b, c); read(i, j, k, l); read(m, n); 输入数据: 12 6 7 8 9 10 11 12 结果: a、b、c、i、j、k、l、m、n 1 2 6 7 8 9 10 11 12
3. pascal语言顺序结构
本节目录3
3.1赋值语句 3.2读语句 3.3写语句 3.4顺序结构 3.5复合语句 3.6无条件转向语句
3.1赋值语句
Байду номын сангаас
pascal有两个语句可以改变变量的值, 赋值语句、读语句。 赋值,就是把某个值赋给某个变量。 赋值语句格式,变量:=表达式; a:=123; 先计算右边表达式的值,再将该值 赋给左边的变量。
⊔ ⊔ ⊔ ⊔ ⊔* ⊔⊔⊔⊔⊔ ⊔ ⊔123 6.6667e+0 ⊔ ⊔ ⊔6.67 7
3.4顺序结构
本节所学的赋值语句、读语句、写语句所 构成的程序,是按其书写顺序从上到下依 次执行的,此类程序结构成为顺序结构。 良好的程序设计风格: 1.选用合适的标示符,如:r、d、l、s。 2.适当使用注释,{yuan} 3.使程序具有一定的交互性,如: write('shu ru yuan banjing:'); readln(r); 4.恰当的安排输出。
1.输入数值型(整型或实型)数据时,数据之间用空 格或回车分隔,最后一定要有一个回车,表示输 入结束。 2.输入字符型数据时,不需分隔符,因为计算机默 认空格、回车也是字符。字符串以回车符为分隔 符。 3.当“变量表”中有多个变量时,要求从键盘上输 入的数据个数不能少于变量的个数,如果输入的 数据个数少于变量的个数,则系统始终处于等待 状态。 4.如果输入的数据数多于变量列表中变量的个数, 这是允许的,但多余的数据对当前的read语句来 说,不起作用。
输入一个四位千位数,然后把各位数相加求和。
a:=sws div 1000; b:=(sws div 100) mod 10; c:=(sws div 10) mod 10; d:=sws mod 10; he:=a+b+c+d; writeln(he); end else write('gai shu bu shi si wei shu'); end.
3.3写语句
write(输出量表);输出后不换行 writeln(输出量表);输出后换行 writeln;输出一个回车符 输出量可以是: 1.变量,输出变量的值。多个变量间用“,”分隔。 2.表达式,先计算表达式的值,再将其输出。 3.常量,直接输出常量值。 4.字符串,输出字符串的内容(不包括单引号)。如: ch1:=‘abc’;write(ch1);输出结果为abc。
3.6无条件转向语句
goto语句,它可以控制程序直接从一条语句转向另 一条语句,语法形式为: goto 语句标号; 标号在说明语句中予以说明,由不超过4位的正整 数或标识符组成;各标号间用逗号分开,最后以分 号结束,其一般形式为: label 标号1,标号2,…,标号n; 语句标号可以由一个标号名后跟上一个冒号“:”构成。 任何语句前都可以加上一个标号,使得goto语句可 以直接转向它,形式: 语句标号名:语句;
3.2读语句
read(变量表);从键盘读入数据后不换行 readln(变量表);从键盘读入数据后换行 readln;从键盘读入一个回车换行符 读语句从键盘或文件接收值赋给变量。 “变量表”可以是单个变量,也可以是用 逗号分隔开的多个变量,变量表中可以包 括多种数据类型。
3.2.1读语句注意事项
例3-6:标号goto语句,bhgt.pas
program bhgt; label bh1,101; var a,b:integer; begin a:=1;b:=2; goto 101; bh1:a:=a+1; 101:b:=b+2; writeln('a=',a,' ','b=',b); end.
3.3.1写语句注意事项
1.write(‘ ’:6);输出6个空格。 write(‘*’);输出5个空格1个*。 2.write(x:n);以n个字符宽度输出冒号前数据项。 除实型之外都是“左留空右对齐”。 如果数据项长度不足n,则前面以空格补齐;如 果数据项长度大于n,则以实际长度输出。 3.writeln(a:4:2);整数部分4位,小数部分2位。 实型向小数点看齐,多余的小数位数补0。 实型数据不带格式限制时,以科学计数法的形 式输出。
例3-2:输入字符,shuruzifu.pas
var ch1, ch2, ch3: char;
read(ch1, ch2, ch3); 如果键入mnp再按回车,则执行结果为: ch1=‘m’, ch2=‘n’, ch3=‘p’ 如果键入m⊔np,则执行结果为:
ch1=‘m’, ch2=‘⊔’, ch3=‘n’
注意事项
goto语句执行效率高,但与结构化程序设计 思想相悖。因此加入重要限制条件以避免对 它的误用,就是只允许在当前程序块(如过程 说明、函数说明等)内跳转。 使用规则:(1)标号使用之前,必须预先说明; (2)不准用goto语句从构造型语句(复合语句、 条件语句、循环结构语句)外部转入构造型语 句内部。当然,从构造型语句内部转移出来 不仅许可,而且是程序设计的一种技能,但 并非必须用goto语句来实现。
3.5复合语句
1.复合语句格式: begin <语句1>; <语句2>; <语句3>; end 2.由若干条语句所组成的语句序列。 3.每个语句可以是简单语句,如赋值语句、输出语 句等,也可以是过程语句、结构型语句,各语句之 间用分号来分隔。
例3-5:四位数各位求和,swsgwqh.pas
例3-3:比较练习,bjlx.pas
bjlx1.pas var a,b,c,i,j,k,l,m,n:integer; readln(a, b, c); readln(i, j, k, l); readln(m, n); 输入数据: 12345 6 7 8 9 10 11 12 结果: a、b、c、i、j、k、l、m、n 1 2 3 6 7 8 9 11 12 bjlx2.pas var a,b,c,i,j,k,l,m,n:integer; read(a, b, c); read(i, j, k, l); read(m, n); 输入数据: 12345 6 7 8 9 10 11 12 结果: a、b、c、i、j、k、l、m、n 1 2 3 4 5 6 7 8 9