版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序的三种基本结构程序的三种基本结构一、顺序结构一、顺序结构 二、选择结构二、选择结构 (if (if 、case)case) 三、循环结构三、循环结构(for(for、whilewhile、repeat) repeat) 例:输入三角形的三条边例:输入三角形的三条边a,b,c,输出三角形的,输出三角形的面积。(面积。(a,b,c是正整数是正整数c)and(a+cb)and(b+ca) then begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c); writeln(s:0:2); end else writeln(No answer);end.无无“
2、;”二、二、 选择结构选择结构1 1if if 语句:语句:功能:执行过程功能:执行过程说明:说明:1 1)该语句为一个语句;)该语句为一个语句; 2 2)条件是一个布尔表达式或一个布尔变量,)条件是一个布尔表达式或一个布尔变量,then then 和和elseelse后的后的语句可以是单个语句,当需要多条语句时,用语句可以是单个语句,当需要多条语句时,用beginbegin和和endend括起括起来构成复合语句。来构成复合语句。 3 3)当布尔表达式的值为真,则执行当布尔表达式的值为真,则执行thenthen后面的语句,值为假时有两种后面的语句,值为假时有两种情况:要么什么也不做,要么执行情
3、况:要么什么也不做,要么执行elseelse后面的语句。后面的语句。 注意注意:else:else前面没有分号前面没有分号. .格式一:格式一: if then ;格式二:格式二: if then else ;逻辑、算术、关系运算符的运算次序:逻辑、算术、关系运算符的运算次序:n 括号n 函数、notn *、/、div、mod、andn +、-、orn 、=、=、=、补充补充3case 语句:分情况语句(多分支语句)格式:case 表达式 of 常数表1:语句1; 常数表2:语句2; 常数表n:语句n; else 语句n+1 end;功能:执行过程说明:1)end 与case 对应 2)表达式
4、的类型通常是整型、字符型 3)常量表是常量,其类型与表达式的类型要一致。常量表中的常量不能重复。【例【例4】:输入两个数(均不为零)及一个算术运算符,输输入两个数(均不为零)及一个算术运算符,输出其运算的结果出其运算的结果程序代码:程序代码:program ex3(input,output); varx,y,s:real;ch:char;begin writeln(input x & y & ch:); readln(x,y); readln(ch); case ch of +:s:=x+y; -:s:=x-y; *:s:=x*y; /:s:=x/y end; writeln(
5、x,ch,y,=,s) end.三、三、 循环结构循环结构循环结构的三种形式:循环结构的三种形式: 循环结构程序通常由三种的循环语句来实现。它们分别为循环结构程序通常由三种的循环语句来实现。它们分别为 FOR循环、当循环循环、当循环while、直到、直到repeat循环。循环。 通常将一组重复执行的语句称为循环体,而控制重复执行或终止通常将一组重复执行的语句称为循环体,而控制重复执行或终止执行由重复终止条件决定。执行由重复终止条件决定。 因此,重复语句是由因此,重复语句是由循环体循环体及及重复终止条件重复终止条件两部分组成。两部分组成。1for语句1 1forfor语句:(语句:(“计数循环计
6、数循环”):就是将规定循环体重复执行的次数。):就是将规定循环体重复执行的次数。格式:格式:for for 控制变量:控制变量:= =初值初值 to to 终值终值 dodo 循环体语句;循环体语句; for for 控制变量:控制变量:= =初值初值 downto downto 终值终值 dodo 循环体语句;循环体语句;2 2、forfor语句执行过程语句执行过程 先将初值赋给左边的变量(称为循环控制变量);先将初值赋给左边的变量(称为循环控制变量); 判断循环控制变量的值是否已判断循环控制变量的值是否已“超过超过”终值,如已超过,则跳到步骤终值,如已超过,则跳到步骤; 如果末超过终值,则
7、执行如果末超过终值,则执行dodo后面的那个语句(称为循环体);后面的那个语句(称为循环体); 循环变量递增(对循环变量递增(对toto)或递减(对)或递减(对downto)downto); 返回步骤返回步骤; 循环结束,执行循环结束,执行forfor循环下面的一个语句。循环下面的一个语句。3 3、说明:、说明: 1) 1) 初值和终值可以是表达式,控制变量和初值、终值的类型相同,且必须初值和终值可以是表达式,控制变量和初值、终值的类型相同,且必须是整型、布尔型和字符型等顺序类型,不能为实型。是整型、布尔型和字符型等顺序类型,不能为实型。 2 2)递增按)递增按succsucc函数规律变化,递
8、减按函数规律变化,递减按predpred函数规律变化,整型按数值大小函数规律变化,整型按数值大小变化,如果为字符型量,按变化,如果为字符型量,按ASCIIASCII码表的顺序计算。码表的顺序计算。 3 3)初值和终值在循环之前计算,重复过程中,其值不受影响;不得在循环语)初值和终值在循环之前计算,重复过程中,其值不受影响;不得在循环语句中对控制变量进行赋值。句中对控制变量进行赋值。 4 4)当初值超过终值,不执行循环,循环次数为零。)当初值超过终值,不执行循环,循环次数为零。 【例1】:计算1+2+3+4+100之和。 算法分析: 对于求和,我们使用的是累加的办法。 程序代码: program
9、 ex1(input,output); var i,sum:integer; begin sum:=0; for i:=1 to 100 do sum:=sum+I; writeln(sum=,sum) end. 补充说明:类似sum迭加变量这样的功能称为“累累加器加器”;类似i这样的变量称为“计数器”;“计数器”和“累加器”是在程序中经常使用的基本操作语句。 【例3】:键入一个自然数,输出其所有约数,计算出这些约数之和并输出。算法分析:解决这一问题的关键是找出约数,也就是判定一数能否被另一数整除。可以用x mod y=0,来找出所有约数。程序代码:program ex3(input,outp
10、ut);program ex3(input,output); var var i,x,y,sum:integer; i,x,y,sum:integer; begin begin write(x=);read(x); write(x=);read(x); sum:=0;i:=0; sum:=0;i:=0; for y:=1 to x dofor y:=1 to x do if x mod y=0 if x mod y=0 then begin then begin write(y:8); write(y:8); i:=i+1; i:=i+1; if i mod 5=0 then writeln;
11、 if i mod 5=0 then writeln; sum:=sum+y sum:=sum+y end; end; writeln(sum=,sum) writeln(sum=,sum) end. end.If语句For语句If语句作为For语句的循环体【例4】:编程找出四位整数abcd中满足下述关系的数。 (ab+cd)(ab+cd)=abcd算法分析:这道题属于搜索问题,因为是四位整数,其范围从10009999,所求的数究竟在哪里,无法确定,只有在这个范围内从小到大一个一个进行搜索,对每一个数,看它的高两位数与低两位数和的平方是否为该数。高两位数:abcd div 100=ab低两位数
12、:abcd mod 100=cd程序代码:program ex4(input,output);program ex4(input,output); var var i,m,n,k:integer; i,m,n,k:integer; begin begin for i:=1000 to 9999 do for i:=1000 to 9999 do begin begin m:=i div 100; m:=i div 100; n:=i mod 100; n:=i mod 100; k:=(m+n) k:=(m+n)* *(m+n);(m+n); If k=i then write(I:8) If
13、 k=i then write(I:8) end end end. end.补充说明:以上用的方法也叫以上用的方法也叫“枚举法枚举法”,又称,又称“穷举法穷举法”。它是用计算机解题的一种常用的。它是用计算机解题的一种常用的办法。它的基本思路是:一一枚举各种可能的情况,并判断哪一种可能是符合要求办法。它的基本思路是:一一枚举各种可能的情况,并判断哪一种可能是符合要求的解。方法虽然很笨,然而与计算机高速的处理能力相结合,也不失为一种较有用的解。方法虽然很笨,然而与计算机高速的处理能力相结合,也不失为一种较有用的方法的方法 2while语句:语句: 对于对于for循环有时也称为计数循环。循环有时也称
14、为计数循环。适合用于事先知道循环次适合用于事先知道循环次数数. 当循环次数未知,只能根据某一条件来决定是否进行循环时,用当循环次数未知,只能根据某一条件来决定是否进行循环时,用while 语句实现循环要更方便。语句实现循环要更方便。(“当型循环当型循环”):当条件满足时反复执行循环体。):当条件满足时反复执行循环体。格式:格式:while 布尔表达式布尔表达式 do 语句;语句;执行过程:执行过程: while语句的执行过程为:语句的执行过程为: 判断布尔表达式的值判断布尔表达式的值,如果其值为真如果其值为真,执行步骤执行步骤2,否则执行步骤否则执行步骤4; 执行循环体语句执行循环体语句(do
15、后面的语句后面的语句); 返回步骤返回步骤1; 结束循环结束循环,执行执行while的下一个语句。的下一个语句。说明:说明: 1)为了是)为了是while循环能正常终止,布尔表达式中的变量必须在循环体中的某循环能正常终止,布尔表达式中的变量必须在循环体中的某语句中有所改变,即有可能是布尔表达式的值为假,使循环结束,否则将语句中有所改变,即有可能是布尔表达式的值为假,使循环结束,否则将出现死循环。出现死循环。 2)循环体中的语句一般是多条语句,用)循环体中的语句一般是多条语句,用begin和和end使其成为一条复合语句。使其成为一条复合语句。【例5】:输出1100之间的奇数。程序代码:progr
16、am ex5(input,output);var x:integer;begin x:=1; while x100 do begin write(x:5); x:=x+2 endend.【例6】:输入若干个字符,它的终止符是#,计算输入的字符中a(A)出现的次数。算法分析:设计数器i,置初值为0;出入字符;当字符不为#时循环:如果字符为a或A,则计数器加1;读入下一个字符;输出计数器的值,程序结束。程序代码:program ex6(input,output);program ex6(input,output); var var ch:char; ch:char; i:integer; i:in
17、teger;beginbegin i:=0; i:=0; read(ch); read(ch); while ch# dowhile ch# do begin begin if (ch=a) or (ch=A) if (ch=a) or (ch=A) then i:=i+1; then i:=i+1; read(ch) read(ch) end; end; writeln(i=,i) writeln(i=,i)end.end. repeat语句:(“直到型循环”):反复执行循环体直到条件满足为止。格式:repeat 语句1; 语句2; 语句3; 语句n until 布尔表达式;功能:执行过程:
18、先执行指定的语句序列,然后判别表达式。3 repeat语句:(“直到型循环”)说明:while语句和repeat语句都可以实现循环结构,但它们有四点不同: 【例7】:将例题6的程序用repeat语句改写。 program ex7(input,output); var ch:char; i:integer; begin i:=0; repeat read(ch); if (ch=a) or (ch=A) then i:=i+1; until ch=#; writeln(i=,i) end.【例【例8】:从从n个数中挑出最大的数。个数中挑出最大的数。算法分析:算法分析:读入读入n值;值;读入第读入第1个数,赋值给变量个数,赋值给变量max;依次读入后依次读入后n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版智慧城市基础设施施工进度管理协议3篇
- 2025年度体育场馆建设承包合同书模板8篇
- 2024精油购销合同范本
- 2025年度个人房屋建造项目验收标准合同4篇
- 2025年物流信息化平台开发与应用合同3篇
- 二零二五年度集体土地征收补偿安置协议范本3篇
- 2025版二手房买卖合同示范文本4篇
- 2025版协议离婚条件及程序法律援助与指导合同3篇
- 2025年度个人股权质押股权投资基金管理合同(专业管理版)3篇
- 2025版美术教师教育项目评估聘用合同协议4篇
- 生物人教版七年级(上册)第一章第一节 生物的特征 (共28张)2024版新教材
- 2025届安徽省皖南八校高三上学期8月摸底考试英语试题+
- 工会资金采购管理办法
- 玩具活动方案设计
- Q∕GDW 516-2010 500kV~1000kV 输电线路劣化悬式绝缘子检测规程
- 2024年湖南汽车工程职业学院单招职业技能测试题库及答案解析
- 家长心理健康教育知识讲座
- GB/T 292-2023滚动轴承角接触球轴承外形尺寸
- 2024年九省联考高考数学卷试题真题答案详解(精校打印)
- 军人结婚函调报告表
- 民用无人驾驶航空器实名制登记管理规定
评论
0/150
提交评论