欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    中学信息学奥林匹克竞赛培训课件17557.doc

    • 资源ID:62381843       资源大小:1.16MB        全文页数:47页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    中学信息学奥林匹克竞赛培训课件17557.doc

    中学信息息学奥林林匹克竞竞赛培训训教程Pasccal语言和和程序设设计基础础(第一部部分)第一部分分 Paascaal语言言和程序序设计基基础预备知识识基本程序序结构和和几个概概念::标识符   保留留字     常常量    变量量     运算算符    表达达式     标标准数据据类型Pacaal语言言程序结结构Proggramm prrog_namme;var变变量申明明;begiin程序体;end.例如:proggramm pnnamee;consst nn=4;typee arrr=aarraay 1.4 of inttegeer;var i:iinteegerr; aa:arrr;begiinfor i:=1 tto nn doo rreadd(ai);readdln;for i:=n ddownnto 1 ddo wwritte(aai:4);writtelnn;ennd.以上是一一个PAASCAAL程序序。从键键盘读入入4个数据据,逆序序输出。一般来说说,一个个PASSCALL程序包包括以下下几个部部分:程序头:proograam ppnamme;   其中中,prrogrram是是保留字字,表示示程序从从这个地地方开始始,pnnamee是标识识符,是是程序的的名字,可可由程序序员自定定。保留留字是PPASCCAL选选定的,具具有固定定意义和和用法的的专用单单词或缩缩写,这这些单词词不允许许作其它它使用。如上,“program”就有“程序从这里开始”这样一种特别的意义,而“const”就有“常量说明从这里开始”的意义。我们不能再用“program”、“const”来作为其它变量、常量等的名字。标识符是以字母开头的字母数字串,其长度最大为8个字符。用来表示常量、变量、类型、文件、过程、函数和程序的名字。如“pname”、“i”、“j”、“a1”就是合法的标识符;但“1a”、“#a”是非法的标识符。有一点要注意的是,在PASCAL中,字母除了作为字符值或字符串值之外,其大小写是无关的。如标识符“A1”和“a1”在PASCLA看来是同一标识符。在PASCAL中除了保留字和自定义的标识符外,还有一类有特殊含义的标识符,这类标识符称为标准标识符。它们是用来标记程序中经常引用的处理对象,如常量、函数。(PASCAL定义的保留字和标准标识符附后) 标识符符在命名名的时候候要注意意:1、名字字要易记记易读,有有意义。如8皇后问问题程序序名可以以是“queeen”也可以以是“huaanghhou”等;2、不能能用保留留字、标标准标识识符作为为自定义义的标识识符。说明部分分:consst nn=4;typee arr=arrrayy 11.44 oof iinteegerr;var i:iinteegerr; aa:arr;其中,cconsst部分是是常量说说明,说说明一些些在以下下部分用用到的,在在整个程程序执行行过程不不改变值值的量。这些量量PASSCALL称为常常量。在在程序中中用到这这个值的的地方均均用常量量名来代代替。如如上题中中定义“n=4”指本程程序处理理4个数值值,在下下面的程程序体中中就用“n”来代替替具体的的值(如如forr i:=1 to n)。如如果要改改变处理理数据个个数,则则只在常常量说明明部分修修改“n=4”这一句句就行了了,而不不用在程程序中每每一个用用到的地地方都加加以修改改。这样样不但在在编写程程序的时时候很方方便,也也增加了了程序的的可读性性,修改改时更方方便。常量说明明在保留留字“connst”下开始始。可以以有多个个语句。常量说说明语句句的格式式是:“常量名=值;”。如“n=4;”。n是常量量名,4是该常常量的值值,“;”是语句句分隔符符。typee部分是是类型说说明,说说明一些些在以下下部分用用到的数数据类型型。如数数组、记记录、指指针等。类型说明明在保留留字“typpe”下开始始。可以以有多个个语句。类型说说明语句句的格式式是:“类型名=类型说说明;”。如“ar=arrray 1.4 off inntegger;”。ar是类型型名,arrray 1.4 off inntegger是类型型说明,“;”是语句句分隔符符。var部部分是变变量说明明。变量量是指在在程序执执行过程程中可以以通过赋赋值语句句或读语语句来改改变值的的量。所所有在程程序中使使用的变变量都应应该先在在变量说说明部分分说明。PASSCALL中引用用的每个个变量都都有“名字”和“类型”属性。变量说说明“说明”的主要要工作是是告诉PASSCA下面程程序中要要用到这这个名字字的量,同同时这个个量的类类型是什什么。变量说明明在保留留字“var”下开始始。可以以有多个个语句。变量说说明语句句的格式式是:“变量名名:变量量类型;”。其中中,如果果有多个个变量同同一类型型,则变变量名与与变量名名之间用用逗号分分隔,变变量名与与变量类类型之间间用冒号号分隔。如“i:inttegeer;”(i是变量量名,inttegeer是类型型名)、“i、j:inttegeer;”(i、j是变量量名,inttegeer是类型型名)变量说明明要注意意:1、有效效变量名名称不能能大于8个字符符;2、变量量名称必必须以字字母开头头;3、在同同一个有有效范围围内变量量名称必必须唯一一。各个说明明部分均均以该部部分的保保留字开开始。如如“connst”开始常常量说明明;“typpe”开始类类型说明明;“var”开始变变量说明明。一个个程序包包含多少少种类型型的说明明,看需需要而定定,不是是每一个个程序都都必须同同时包含含这三种种说明。如果程程序不须须要用到到常量,则则常量说说明部分分可以省省略;如如果不须须要用到到类型说说明,则则类型说说明可省省     PAASCAAL还有一一条规则则:先说说明后引引用。即即所有在在程序体体中用到到的“名字”必须都都在说明明部分说说明过才才能引用用,否则则就会出出错,通通不过编编译,也也执行不不了。如如上,类类型“ar”先在类类型说明明中定义义,然后后在变量量说明中中引用;变量i在变量量说明中中定义,在在程序中中引用。 程序体体:begiinfor i:=1 tto nn doo readd(ai);readdln;for i:=n ddownnto 1 ddo writte(aai:4);writtelnn;end.程序体是是以beggin    eend.括起来来的语句句系列。“end”后面是是一个小小圆点,标标识着程程序结束束,整个个程序只只有一个个是一个个程序的的主要部部分。编编程要完完成的工工作大部部分都在在这里完完成。程程序体中中每一语语句均以以“;”作为结结束符。在书写写程序时时,以“分层缩缩进”的风格格来写,以以便提高高程序的的可读性性。所谓谓的“分层缩缩进”是指在在逻辑上上同一级级的语句句其起始始点对齐齐,下一一级的语语句向右右缩进。运算符   表达式式PASCCAL中的运运算符有有算术运运算符和和关系运运算符。和我们们在数学学课中学学的基本本一样但但在写法法上有些些不同,在在写程序序时要特特别注意意写法的的不同:     + 加号;- 减号;* 乘号( 数学中中写为 × );/ 除号( 数学中中写为 ÷);MODD  取余  如:8 MMOD 2=00,7 MODD 2=1,22 MOOD 33=2;DIVV  取整  如:8 DDIV 2=44,7 DDIV 2=33,2 DDIV 3=00。在PASSCALL只有上上面6种数学学运算。其它的的就只能能利用这这6种运算算的组合合通过语语句来实实现。如如a2(a的平方方)可以以化成a*a。> 大于于;< 小于;<> 不等于(数学中中写为 );<= 小于等等于(数学中中写为);>= 大于等等于(数学中中写为 ),变量、常常量通过过运算符符连接起起来的式式子我们们称为表表达式。一个单单独的变变量或常常量也是是表达式式。如a、a+3、a*33+b都是表表达式。写表达达式时要要注意PASSCALL表达式式跟我们们已经熟熟悉的数数学表达达式在格格式上的的区别:数学表达达式PASCCAL表达式式注意2a2*a*号不能能省略a÷ba/b除号的写写法aba<>bb不等号的的写法aba<=bb小于等于于号的写写法标准数据据类型:整型  实型  字符型   布尔型型     数据类类型可以以理解为为一个取取值范围围和定义义在这取取值范围围上的运运算规则则。想一一想我们们对于数数的理解解:小学学学自然然数,范范围是从从0开始,那那时候不不知道有有小数,也也不知道道有负数数,允许许的运算算是+、-、×、÷,而且且对于减减法规定定被减数数要大于于减数。到了中中学,数数的范围围扩大了了,整数数包括正正数和负负数,减减法运算算也不再再有额外外的规定定的了。同理,在PASCAL中“数据类型”也是一个取值范围和在它上面定义的运算规则。PASCAL中定义好的标准数据类型一共有4个:整型、实型、字符型、布尔型,分别用保留字integer、real、char、boolean来标记它们。其取值范围和运算如下:    整型(integer):范围  -3276832767;运算  +   -  *  /  mod  div    实型(real):范围  运算  +  -  *  /字符型(chaar):范围  可显示示的ASCCII字符 布尔型型(boooleean):范围  ttruee  ffalsse  运算   andd  oor  nott在PASSCALL中可使使用的基基本符号号有:     (1)大写写字母 AZ ;小写写字母az  ;数字09     (2)其它它字符 +   *  /  =  >>   <    >=     <=   <>   := (   )    . , :  $ (*  *)    其中,有有些符号号是以双双字符作作为一个个整体,拆拆开后就就失去原原有的意意义。如如“<>”是一个个表示“不等于”的关系系运算符符,如拆拆开后就就变成了了两个关关系运算算符,分分别表示示“小于”、“大于”。PASCCAL使使用的保保留字有有: ANDD、ARRRAY、BEGGIN、CASSE、CONNST、DIVV、DO、DOWWNTOO、ELSSE、ENDD、FILLE、FORR、FUNNCTIION、GOTTO 、IF、IN、LABBEL、MODD、NILL、NOTT、OF、PACCKEDD、PROOCEDDUREE、PROOGRAAM、RECCORDD、REPPEATT、SETT、THEEN、TO、TYPPE、UNTTIL、VARR、WHIILE、WITTH、FORRWARRD常用的标标准标识识符有:    标准常常量:FFALSSE  TRUUE  MAXXINTT  MMAXLLONGGINTT     标准准类型:INTTEGEER  BOOOLEAAN  REAAL  CHAAR  TEXXT     标标准文件件:INNPUTT  OOUTPPUT     标准函函数:AABS   ACCTANN  CCHR   COOS  EOFF  EELONN     EXXP  LN   ODDD                  ORDD     PRRED   ROOUNDD  SSIN   SQQR  SQRRT  SUCCC  TRUUNC     标准过过程:AASSIIGN   GEET  NEWW  DDISPPOSEE  PPACKK     PUUT  REAAD                  REAADLNN     REESETT  RREWRRITEE  UUNPAACK   WRRITEE  WWRITTELNN函数格式式:funcctioon ffun_namme(参参数表):数据据类型;var 变量声声明;begiin函数体;end;例题:写写出计算算两个整整数a,b的和和函数aadd(a,bb)。过程格式式:procceduure prooc_nnamee(参数数表);var 变量声声明;begiin 过程体;end;例题:写写出在屏屏幕打印印一行文文字:”helllo,Passcall laanguuagee iss veery eassy!”函数和过过程的调调用:例题:从从键盘输输入:aa,b两两个数,输输出由这这两个数数为直角角边的三三角形的的面积。【xooi000_011.paas】proggramm xooi000_011;funcctioon aareaa(coonstt a,b:rreall):rreall;var s:rreall;begiin s:=a*b/22.0; arrea:=s;end;procceduure mypprocc;var a,bb:reeal; s:rreall;begiin wriite('Plleasse iinpuut ttwo nummberr a,b:''); reaadlnn(a,b); s:=areea(aa,b); wriitelln(''thee arrea of triian is: ',s:55:2);end;= mmainn prrogrram =begiin myyprooc;end.练习:一、 判断以下下标识符符的合法法性:a3 33a aa17 abccd eex9.5 二、 将下列的的数学表表达式改改写成PPASCCAL表表达式:b2-4acc 三、 求下列表表达式的的值:20 mmod 19, 一五 mood 99, 7 divv 8 ,19 divv 3,(4>55) aand (7<<8),(8>99) oor ( 9<<10),2 aand (33=3) orr (33<7)第一节顺顺序结构构操作一操作二顺序结构构是程序序设计中中最简单单的结构构,也是是最基本本的结构构,它就就是按照照程序书书写的顺顺序逐句句执行程程序中的的指令。流程图图如下:例题:计计算圆的的周长的的过程:输入圆的的半径;(操作作一)计算圆的的周长;(操作作二)输出圆的的周长;(操作作三)基本的程程序语句句:赋值语句句:赋值语句句是最简简单的语语句,其其一般形形式为:<变量>>:=<<表达式式>“:=”称为赋赋值号,赋值语句的作用是计算表达式的值,并赋给变量。对于任何一个变量必须首先赋值,然后才能引用,否则,未赋初值的变量将以一个随机值参与运算。另外,赋值号两边的类型必须相同,但表达式值为整数时,它可自动化为实型后赋给该实型变量,即符合赋值相容。如:Pii:=33.144;R:=2;Agee:=220;S:=Pi*R*RR例:关于于赋值的的例子prsssogrram exaamplle;var a,bb:inntegger;begiina:=33;b:=22;a:=aa+b;writtelnn(a);writtelnn(b);end.输入语句句通过计算算机的外外设把数数据送到到计算机机内存的的过程称称为输入入。Tuurboo Paascaal语言言的输入入语句有有如下两两种形式式:readd(<变变量名表表>);readdln(<变量量名表>>);<变量名名表>是一个个或几个个由逗号号隔开的的变量标标识符,他他们必须须在程序序说明部部分预先先说明,他他们可以以是整型型、实型型或字符符型,布布尔型不不可以直直接读入入。例如如a,b,c为整型型变量,read(a,b,c)之后,键盘输入:20 30 40 <CR>(<CR>表示回车),结果:a=20,b=30,c=40readdln语语句和rreadd语句不不同之处处在于输输入数据据到各变变量之后后,reeadlln自动动换行,从从下一行行开始再再输入数数据。一一个reead语语句执行行完后,数数据行中中多余的的未读数数据可以以被下一一个输入入语句读读入;而而一个rreaddln于于执行完完后,数数据行中中多余未未读数据据就没有有用了。reaadlnn语句中中可以不不包含变变量名表表。即有有以下等等价情况况:readd(a,b);reaadlnn等价于于reaadlnn(a,b)输入语句句输入的的数据类类型必须须和变量量一一对对应。如如果输入入的是一一串整数数或实数数,数据据间用空空格或回回车分隔隔;若输输入的是是一串字字符,则则不用分分隔。输出语句句输出是将将内存中中的数据据送到外外设的过过程。TTurbbo PPasccal的的输出语语句有两两种形式式:writte(<<输出项项表>);writtelnn(<输输出项表表>);其中<输输出项表表>是一串串用逗号号分隔的的常量、变量、函数名名、表达达式或字字符串。如果是是变量、函数名名、表达达式,则则将其计计算结果果输出;如果是是常量或或字符串串,则直直接输出出其值。writte和wriitelln的区区别在于于:wrritee语句是是输出项项输出后后,不换换行,光光标停留留在最后后一项后后,wrriteeln语语句按项项输出后后,自动动换行,光光标则停停留在下下一行的的开始位位置。writtelnn语句允允许不含含有输出出项,即即仅wrriteeln;表示换换行。Turbbo PPasccal语语言把输输出项的的数据显显示占用用的宽度度称为域域宽,你你可以根根据输出出格式的的要求在在输出语语句中自自动定义义每个输输出项的的宽度。定义宽宽度时分分为单域域宽和双双域宽。单域宽输输出格式式:wrriteeln(I:n);在n个字字符宽的的输出域域上按右右对齐方方式输出出I的值,若若n大于I的实际际位数,则则在I值前面面补(n-II的实际际位数)个空格格。若II的实际际位数大大于n,则自自动突破破限制。n必须是是整数。双域宽输输出格式式:wrriteeln(a:n:m);双域宽主主要用于于实型数数据的输输出。nn的用法法同上。在n个字符符宽的输输出域上上按右队队齐方式式用小数数点形式式输出aa的数值值,m是小数数点后的的位数。原来的的数据按按该该格格式指定定的小数数位数四四舍五入入。若mm=0 ,则不不输出小小数部分分和小数数点,原原数据四四舍五入入取整。n,m必须是是整数。例:输出出语句的的例子proggramm shhuchhu;consst ss='ppasccal''var i:iinteegerr;r:reaal;cc:chhar;b:bboolleann;begiini:=1123445;r:=1123.45c:=''a'b:=ttruee;writtelnn('ii=');writtelnn(i:6);writtelnn('rr=',r,rr:6:1);writtelnn('cc=',c,cc:100);writtelnn('bb=',b,bb:100)end. 复合语句句复合语句句是由若若干语句句组成的的序列,语语句之间间用分号号“;”隔开,并并且以bbegiin和endd括起来来,作为为一条语语句。复复合语句句的一般般形式:begiin语句1;语句2;语句n;end;例:变量量值的交交换proggramm swwap;varaa,b,t:iinteegerr;begiin a:=110;bb:=220;begiint:=aa;a:=bb;b:=tt;end;writtelnn('aa=',a,''b='',b)end. 例题1:输入圆圆的半径径,求出出圆的周周长和面面积:Proggam CallCirrclee;var R,CC,S:Reaal;变量声声明begiinwritte(输入圆圆的半径径:);readdln(R);C:=22*Pii*R;writte(周长=,C);readdln;S:=PPi*ssqr(R);sqqr(RR)=RR*Rwritte(面积=,S);readdln;end.例题2:找出下下面程序序中的语语法错误误。Proggramm Exxampple11;计算圆圆环面积积的程序序,R2表示示外圆环环的半径径,R1表示示内圆环环的半径径,R2>>R1var R1,R2:Reaal;begiin SS=(RR2+RR1)*(R22-R11)*PPi Pi=3.114为常常数 wwrittelnn(s)end;纠正以后后的程序序Proggramm Exxampple11;计算圆圆环面积积的程序序,R2表示示外圆环环的半径径,R1表示示内圆环环的半径径,R2>>R1var R1,R2:reaal; S:reaal;每一个个变量都都必须声声明begiin SS=(RR2+RR1)*(R22-R11)*PPi; PPi=33.144为常数数 wwrittelnn(s); 语句必必须以“;”结束end.主程序序必须以以“.”结尾练习:编写程序序实现以以下功能能:1、输入入三角形形三边的的长,计计算三角角形的面面积。计算公式式:Pasccal程程序中计计算平方方根的函函数为:sqrrt(xx);x:rreall; xx0基本要求求:有友友好的输输入输出出界面,不不需要考考虑输入入的a,b,cc是否可可以构成成三角形形,假设设输入的的数据符符合要求求。第二节 IF分分支结构构例题:输输入一个个考试分分数,如如果大于于等于660就说说恭喜你你考试及及格,如如果小于于60就说说真差劲劲,要努努力哦!proggramm JuudgeeScoore;输入分数数scoore;如果Sccoree60那么么输出“恭恭喜你考考试及格格”否则输出“真真差劲,要要努力哦哦”“如果.那那么”形式的的判断在在Passcall中使用用If语句句来实现现。IFF语句是是由一个个布尔表表达式和和两个供供选择的的操作序序列组成成。运行行时根据据布尔表表达式求求值结果果,选取取其中之之一的操操作序列列执行。有两种种形式的的IF语句句:if<布布尔表达达式>tthenn <语语句>;if<布布尔表达达式>tthenn <语语句1>>elsee   <语句句2>;当布尔表表达式的的值为真真,则执执行thhen后后面的语语句,值值为假时时有两种种情况:要么什什么也不不做,要要么执行行elsse后面面的语句句。注意意elsse前面面没有分分号,因因为分号号是两个个语句之之间的分分隔符,而而elsse并非非语句。如果在在该处添添了分号号,则在在编译的的时候就就会认为为if 语句到到此结束束,而把把elsse当作作另一句句的开头头,输出出出错信信息。前面例题题的Paascaal程序序代码:Proggramm JJudggeSccoree;var scoore:reaal;声明分分数变量量scoorebegiinreaddln(scoore); 输入入分数if scoore>>=600 thhen begiin sscorre代表表分数的的变量writtelnn(恭喜你你,考试及及格!);end ellse begginwrittelnn(真差劲劲,要努力力哦!);end; eend if scoore>>=600end.例:求yy=f(x),当x>00时,y=1,当当x=00时,y=0,当当x<00时,y=-1proggramm liianxxi;var x,yy:reeal;begiinif xx>0 theen yy:=11;if xx=0 theen yy:=00;if xx<0 theen yy:=-1;writtelnn('yy=',y);end.在Turrbo Passcall语言iff语句中中被构造造的语句句只能是是一条语语句,当当条件选选择某个个分支的的计算要要用多个个语句描描述时,就就必须把把该分支支用beeginn和 ennd括来来,写成成复合语语句。在在用iff语句连连续嵌套套时,如如果你插插入适量量的复合合语句,有有利于程程序的阅阅读和理理解。例:当xx>0时时候,计计算x*x,并并且输出出x和x*xx。proggramm liianxxi;var x,xx1:rreall;begiinreaddln('x=',xx);iif xx>= theen bbegiinx11:=xx*x;wriitelln(''x*xx=',x1);wrriteeln('x=',xx);eend;endd.当if 语句嵌嵌套时,Turbo Pascal约定else总是和最近的一个if配对。前面介绍了If语句的使用情况,下面来概括if判断语句的使用方法。分支结构构的基本本情况:if 条条件成立立 thhen begiin 处理;end;下一语句句;if 条条件成立立 thhen begiin操作B;end elsse if 条件不不成立 theen begiin 操作A;end;下一语句句;练习:写出下列列关系表表达式和和逻辑表表达式的的Passcall语句:1、 区分合格格和不合合格:xx >= 6002、 60分到到70分之之间:( x >= 60 ) aand ( xx <=70 )3、判别别闰年的的条件(年年份能被被4整除,并并且不能能被1000整除除;或者者能被4400整整除的整整数年份份):(y modd 4 = 00) annd (y mmod 1000 <>> 0 ) oor (y mmod 4000 = 0)编写程序序实现下下列功能能:1、从键键盘读入入一个数数,判断断它的正正负。是是正数,则则输出""+",是是负数,则则输出""-"2、输入入a,bb,c三三个不同同的数,将将它们按按由小到到大的顺顺序输出出3、铁路路托运行行李规定定:行李李重不超超过500公斤的的,托运运费按每每公斤00.一五元计计费;如如超500公斤,超超过部分分每公斤斤加收00.100元。编编一程序序完成自自动计费费工作。4、打印印某年某某月有多多少天。(提示示:A、闰年年的计算算方法:年数能能被4整除,并并且不能能被1000整除除;或者者能被4400整整除的整整数年份份。B、利用用MODD运算可可以判断断一个数数能否被被另一个个数整除除)5、从键键盘输入入3个数a,b,cc输出其其中最大大的数。第三节 Casse分支支结构casee语句是是由一个个表达式式和众多多可选择择的操作作序列组组成。运运行时,根根据表达达式的求求值结果果,在众众多的分分支中选选取一个个分支执执行。其其形式为为:casee表达达式oof常量1:语句1;常量2:语句2;常量n:语句n;elsee语句句 n+1;   可可选项end;表达式只只能是顺顺序类型型(除了了实型以以外的简简单类型型),其其值必须须是唯一一确定并并且和表表达式类类型相同同。caase语语句执行行和表达达式值相相匹配的的casse常数数所指向向的那条条语句,如如果没有有相匹配配的值,则则执行eelsee部分(如如果有的的话)或或者什么么也不做做。在eelsee前面的的语句末末尾有分分号,这这是和iif语句句不同的的。Casee表达式式的应用用:例题:输输入一个个考试分分数(整整数),根根据分数数情况报报告相应应的信息息。要求:假假设输入入的分数数为00,1000之之间的整整数。Proggramm JuudgeeScoore22;var x:rreall;begiin reead(x);输入入一个分分数casee x of 0.559:writtelnn(不及格格;60.89:writtelnn(及格);90.1000;writtelnn(优秀);elseewrittelnn(错误的的分数);end;caase x oofend.例:根据据学生的的成绩给给予相应应的等级级,对应应关系如如下:以下下pproggramm chhenggji;varr s:reaal;cch:ccharr;beeginnwriite('innputt thhe sscorre: ');reaadlnn(s);iff(s>>=0)andd(s<<=1000)tthenncasse ss diiv 110 oof100,9:ch:='AA'88:chh:=''B'7,66:=''C'elsse cch:='D''ennd;wwrittelnn(s,'-',cch);endd.练习:1、我们们把字母母作如下下的分类类:大写写字母:A.Z;小写写字母:a.z;数字:0.9;其他他字母,编编写一个个程序,根根据上述述分类的的方法,输输入一个个字母,报报告该字字母所属属的类型型。2、某超超市为了了促销,规规定:购购物不足足50元的的按原价价付款,超超过500不足1000的按按九折付付款,超超过1000元的的,超过过部分按按八折付付款。编编一程序序完成超超市的自自动计费费的工作作。第四节 forr循环结结构程序设计计时我们们经常要要做一些些重复的的任务通通过反复复的执行行某一个个动作来来完成任任务,编编写这一一类程序序我们使使用循环环结构来来实现。如计算算1+22+3+.+1100。Passcall中循环环结构通通过使用用Forr、Whiile、Reppeatt三种语语句来实实现。For语语句是形形式最简简单的循循环语句句。例题1:输入正正整数NN,计算算分析:1+22+3+N,因此我我们必需需重复的的执行SS:=SS+i,其其中S代表和和,S=1i=1S=1+2i=2S=1+2+33i=3S=1+2+33+4i=4.S=1+2+33+4+Ni=Ni从1变变化到NN,计算算前I项的和和:1+2+33+I,写写成Paascaal代码码如下:For i:=1 tto NN DOO S:=S+i;i从1变化到到N重复执执行S:=S+i完整的程程序如下下:Proggramm Exxampple11_4Var N,I,SS:inntegger;Begiin Wrritee(输入正正整数NN:);RReaddln(N); S:=0; Foor II:=00 too n do S:=S+II; Wrriteeln(1+22+3+,n,=,s);End.FOR 循环有有两种形形式:升序形式式:foor <<控制变变量>:=<初初值> to <终值值> ddo <<语句>降序形式式:foor <<控制变变量>:=<初初值> dowwntoo <终终值> do <语句句>for语语句功能能描述:虽然foor循环环形式简简单,但但是执行行的机制制却很复复杂。其其基本过过程如下下:1. 计算初值值并记忆忆2. 判断初值值是否超超出终值值、如果果超过则则执行步步骤7,否则执执行步骤骤33. 把初值赋赋给控制制变量4. 执行doo后面的的语句(循循环体)5. 判断控制制变量的的值是否否达道终终值,如如果是则则执行步步骤6,否则执执行步骤骤76. 控制变量量取下一一个值(升序取取后继,降降序取前前驱)7. (循环结结束)执行下下一语句句.例题:编编写程序序输出序序号从332到1266的ASCCII字字符与对对应代码码之间的的对应关关系。每每行输出出5个字符符,输出出结果如如下如所所示。(Exaamplle4_2)proggramm exxampple44_2;var i, j: byyte;begiin foor ii := 322 too 1226 ddo beggin iif (j mmod 5 = 0) thhen wriitelln; wwritte(ii: 55, cchr(i): 2); jj := j + 11;end;end. 程序说明明:标准函数数chrr(i)可以得得到代码码为i的字符符。j modd 5 求 j模5的余数数。语句句if (j modd 5 = 00) tthenn wrriteeln;用于控控制换行行,每行行写5个字符符的对应应关系。语句wwrit

    注意事项

    本文(中学信息学奥林匹克竞赛培训课件17557.doc)为本站会员(you****now)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开