信息学奥赛--程序的三种基本结构.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、case 语句:分情况语句(多分支语句) 格式:case 表达式 of 常数表1:语句1; 常数表2:语句2; ···· 常数表n:语句n; else 语句n+1 end; 功能:执行过程 说明:1)end 与case 对应 2)表达式的类型通常是整型、字符型 3)常量表是常量,其类型与表达式的类型要一致。常量表中的常量不能重复。 输入两个数(均不为零)及一个算术运算符,输出其运算的结果 程序代码: program ex3(input,output); var x,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(x,ch,y,’=’,s) end. 例3、输出1~100之间的奇数。 程序代码: program ex5(input,output); var x:integer; begin x:=1; while x<100 do begin write(x:5); x:=x+2 end end. 三) repeat语句:(“直到型循环”) repeat语句:(“直到型循环”):反复执行循环体直到条件满足为止。 格式:repeat 语句1; 语句2; 语句3; ··· 语句n until 布尔表达式; 功能:执行过程:先执行指定的语句序列,然后判别表达式。 说明:while语句和repeat语句都可以实现循环结构,但它们有四点不同: 【例6】:输入若干个字符,它的终止符是‘#’,计算输入的字符中‘a’(‘A’)出现的次数。 算法分析: 设计数器i,置初值为0; 出入字符; 当字符不为‘#’时循环:如果字符为‘a’或‘A’,则计数器加1;读入下一个字符; 输出计数器的值,程序结束。 While循环 Repeat循环 程序代码: program ex6; var ch:char; i:integer; begin i:=0; read(ch); while ch<>’#’ do begin if (ch=’a’) or (ch=’A’) then i:=i+1; read(ch) end; writeln(‘i=’,i) end. 本讲结束! 谢谢! 引例: 求恰好使s=1+1/2+1/3+…+1/n的值大于10时n的值。 var s : real; n : integer;{n分母} begin s:=0; n:=0; while s<=10 do{当s的值还未超过10时} begin n:=n+1;{分母1} s:=s+1/n;{将下一项值累加到s} end; writeln(n);{输出结果} end. while循环 当循环次数不能预先确定时,只能根据某一条件来决定是否进行循环时,用while 语句实现。 格式: while <布尔表达式> do <一条语句:循环体>; 或: while <布尔表达式> do begin <语句组:循环体> end; 其意义为: 当布尔表达式的值为true时,执行do后面的语句。 循环体中必须有改变循环控制变量的语句,否则出现死循环。区别于for结构 例1: 求两个数a,b(<1000)的最小公倍数。 样例: 输入: 30 输出: 60 var a,b:integer; s:longint; begin readln(a,b); s:=a; while s mod b<>0 do s:=s+a; writeln(s); end. 最大公约数 最小公倍数 例2、输入n(<

文档评论(0)

seunk + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档