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

    NOIP初赛培训(FP版).ppt

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

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

    NOIP初赛培训(FP版).ppt

    NOIPNOIP初赛培训初赛培训初赛培训初赛培训合肥市第四十六中 张志刚目录:目录:一 初赛概况3二 题型一(选择题)4三 题型二(填空题)8四 题型三(阅读程序写结果)10五 题型四(完善程序)13六 pascal基础知识16初赛概况全国信息学奥林匹克联赛(NOIP)和别的学科的奥林匹克联赛一样分成初赛和复赛两个层次。经过一段时间的培训,大家将要参加的是于10月份举行的安徽赛区的初赛。其中约10%的普及组同学将能参加11月份复赛。初赛的分数线近年来总体来说在5871分左右,题目的难易相差很大,分数高低并不重要,重要的是进入前15%。安徽的奥赛分数线经常是全国较高的,不管是初赛还是复赛,这是我们的目标,也是我们更需努力的原因。你们必须自己努力通过初赛,靠自己的实力。题型一:选择题普及组初赛选择题:共20题,每题1.5分,共计30分。每题有4个备选答案,每题有且只有一个正确答案。一般它们是比较容易得分的,全是基础知识。需要大家有比较广泛的知识,包括计算机软件,硬件,网络,数据结构(例如栈,队列,树,图),程序设计语言以及一些基本的数学知识和技巧(例如排列组合),要想得到满分是很困难的,但是我想只要你用心认真去准备的话,应用一些选择题独特的解题方法,得到22.5分以上是不困难的。题目题目1 1:主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。于是,为了提高系统整体的执行效率,在CPU中引入了()。A.寄存器 B.高速缓存 C.闪存 D.外存 答案:答案:B,这是我们资料里的一段话:(看最后一句)静态随机存储器(SARM)集成度低,价格高。但存取速度快,它常用作高速缓冲存储器(Cache)。Cache是指工作速度比一般内存快得多的存储器,它的速度基本上与CPU速度相匹配,它的位置在CPU与内存之间。在通常情况下,Cache中保存着内存中部分数据映像。CPU在读写数据时,首先访问Cache。如果Cache含有所需的数据,就不需要访问内存;如果Cache中不含有所需的数据,才去访问内存。设置Cache的目的,就是为了提高机器运行速度。选择题范例1.1.与与1616进制数进制数 A1.2 A1.2等值的等值的1010进制数是进制数是 ()超强的计算能力超强的计算能力 2.2.一个字节(一个字节(bytebyte)由()由()个二进制组成。)个二进制组成。计算机基础常计算机基础常 识识A.8 B.16 C.32 D.A.8 B.16 C.32 D.以上都有可能以上都有可能3.3.以下逻辑表达式的值恒为真的是(以下逻辑表达式的值恒为真的是()。)。高等数学知识高等数学知识 A.PA.P(PQPQ)(PQ)(PQ)B.QB.Q(PQPQ)(PQPQ)C.PQC.PQ(PQPQ)(PQPQ)D.PQD.PQ(PQPQ)(PQ)(PQ)4.Linux4.Linux下可执行文件的默认扩展名是下可执行文件的默认扩展名是()()。宽泛的知识面宽泛的知识面 A.exe B.com C.dll D.A.exe B.com C.dll D.以上都不是以上都不是 A A 是正确的,是正确的,理由是理由是 p,p,和和p p 中必有一真。中必有一真。如果给出如果给出 :p V p p V p 你绝对知道它恒为真。你绝对知道它恒为真。因为不真即假因为不真即假 只有只有两种情况。两种情况。也就是说恒为真也就是说恒为真 代表给出这个事件所有代表给出这个事件所有可能的情况都可能为真。可能的情况都可能为真。我们大都已我们大都已 P P或或p p等等 代表代表一个简单事件成立或不成立,并以一个简单事件成立或不成立,并以P P或或Q Q等其他简单事等其他简单事件的组合代表复杂的事件。件的组合代表复杂的事件。在复杂的事件中在复杂的事件中 如果恒如果恒为真为真 则必定有则必定有 pV p pV p 或或 Q V QQ V Q的间接出现。的间接出现。所所谓间接出现指的是不同的表达形式:(已谓间接出现指的是不同的表达形式:(已p p为例)为例)p p=p V 0(0=p V 0(0代表假)代表假)0=Q Q p=p V 0=Q Q p=p V(Q Q)=(p Q)V(p Q)(Q Q)=(p Q)V(p Q)又因为又因为 p p V p V p 恒为真恒为真 所以所以 PP(PQPQ)(PQ)(PQ)恒为恒为真真 第3题详细答案题型二:问题求解问题求解共两题,每题5分共计10分。这部分题目对数学要求要高一点,往往考查的是排列组合,代数变形,数列(一般是考递推),也考查 一些算法和数据结构知识。一般两题中一定存在一题比较简单,只要数学好一点,经过简单的训练是可以得分的。要求:不要花太多的时间,大多是个数学问题,相信大家经过学习后至少可以做对一题。问题求解范例(1)将数组32,74,25,53,28,43,86,47中的元素按从小到大的顺序排列,每次可以交换任意两个元素,最少需要交换次?答案:最少5次。其中74移动两次。(2).由a,b,c 3个不同的数字组成一个N位数,要求不出现两个a相邻,也不出现两个b相邻,这样的N位数的个数为AN,用AN-1和AN-2表示AN的关系式为:AN?答案:AN=2*AN-1+AN-2(3)无向图G有7个顶点,若不存在由奇数条边构成的简单回路,则它至多有_条边答案:16条边题型三:阅读程序写结果阅读程序写出正确的程序运行结果:有4题,每题8分,总共32分,最高的分值。可以这样说程序阅读题是你获得比较高的分数的关键。题目大多不难,象编程的水题,而且占的分数奇多,但得分率却不见得高。一般做这类题目的核心是找程序目的,即这个程序想干什么。l如果只是拿个数组来绕口令,就要细心地去做,打个好的草稿,可以好好检查。l如果有编程目的的,找到了目的所在,答案就出来了,而且对自己的结果也有把握。试卷中给出的程序并不复杂,语句的含义容易明白,如能体会到程序的设计思路就容易得出正确的答案,而机械模仿要慢得多,并且容易失误。读懂程序是关键,细心是保障。程序阅读范例一Constsize=10;vari,j,cnt,n,m:integer;data:array1.sizeofinteger;beginreadln(n,m);fori:=1tondoread(datai);fori:=1tondobegincnt:=0;forj:=1tondoif(dataidataj)or(dataj=datai)and(j0 do begin i:=i+1;si:=n mod 16;n:=n div 16;end;write(h=);for j:=i downto 1 do write(hsj+1);writeln;end.运行程序:运行程序:输入:输入:n=347592 输出:输出:题型四:完善程序完善程序:每空23分,共28分这部分题目往往比前面的题目难,得分率似乎不高。是高手与普通选手拉开距离的地方。常常让大家填的是:1)初始化(i:=0;j:=0;fori:=1tondoai:=0之类的)2)一些明显的动作:a.结果没有储存在需要的地方。b.累加器没有做加法c.输出3)关键动作。在算法描述中出现的比较关键的步骤。例如交换排序程序的“交换”操作等很明显需要完成的操作。分析方法和写运行结果类似,注意分析变量和程序结构,理解变量和模块的作用是解题的关键。完善程序范例一1.判断质数题目描述:给出一个正整数,判断这个数是否是质数。输入:一个正整数n(1n10000)。输出:如果n是质数,输出YES;否则,输出NO。输入样例:10输出样例:NO程序:程序var:integer;beginread(n);ifn=2thenwriteln()elseif()or(nmod2=0)thenwriteln(NO)elsebegini:=3;whilei*i=ndobeginifthenbeginwriteln(NO);halt;end;i:=i+2;end;writeln(YES);end;end.由于选择题的知识由于选择题的知识面很广面很广,所以选择与编所以选择与编程密切相关的部分进行程密切相关的部分进行训练训练(16-70)1标识符标识符(1)标识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。例如例1.1中的Area(程序名),pi(符号常量),s、r(变量名)都是标识符。(2)标识符的分类:a.保留字(关键字)所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。标准Pascal语言中的保留字一共有35个,Pascal语言一共有51个。下面是Pascal语言的保留字:AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH等第一部分第一部分PASCAL基础知识基础知识(笔试辅导(笔试辅导1-1)b.标准标识符:指Pascal语言预先定义的标识符,具有特殊含义。以下列举了Pascal语言部分常用的标准表识符:标准常量FalseMaxintTrue标准类型BooleanCharRealInteger标准函数AbsArctanChrCosEofEolnExpLnOddOrdPredRoundSinSqrSqrtSuccTrunc标准过程DisposeGetNewPackPagePutReadReadlnResetRewriteUnpackWriteWriteln标准文件InputOutputc用户自定义标识符:由你自己根据需要来定义。(1)选用的标识符不能和保留字相同。(2)语法上允许预定义的标准标识符作为你自己定义的标识符使用,但最好还是不要用。以下列举了你自己在定义标识符时可以用的字符:AZ;az;09;+,-,*,/,=,=,(,),等等一个整型数据用来存放整数。Pascal支持五种预定义整型,它们是shortint(短整型)、(短整型)、integer(整型)、(整型)、longint(长整型)、(长整型)、byte(字节型)和(字节型)和word(字类型)(字类型)类型数值范围类型数值范围占字节数格式占字节数格式shortint-128.1281带符号带符号8位位inteter-32768.327672带符号带符号16位位longint-2147483648.21474836474带符号带符号32位位byte0.2551带符号带符号8位位word0.655352带符号带符号16位位Pascal规定了两个预定义整型常量标识符maxint和maxlonint,他们各表示确定的常数值,maxint为32767,longint为2147483647,他们的类型分别是integer和longint一个实型数据用来存放实数。Pascal支持五种预定义实型,它们是real(基本实型)、single(但精度实型)、double(双精度实型)、extended(扩展实型)、comp(装配实型)类型数值范围占字节数有效位数类型数值范围占字节数有效位数real2.9e-39.1.7e38611.12single1.5e-45.3.4e3847.8double5.0e-324.1.7e308815.16布尔型布尔型一个布尔型数据用来存放逻辑值(布尔值)。布尔型的值只有两个:false和true,并且false的序号是0,true的序号是1。false和true都是预定义常数标识符,分别表示逻辑假和逻辑真。并且truefalse。boolean是布尔型的标识符。字符型字符型字符型用char作为标识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。1.算术函数函数标识符自变量类型意义结果类型abs整型、实型绝对值同自变量arctan整型、实型反正切实型cos整型、实型余弦实型exp整型、实型指数实型frac整型、实型小数部分实型int整型、实型整数部分实型ln整型、实型自然对数实型pi无自变量圆周率实型sin整型、实型正弦实型sqr整型、实型平方同自变量sqrt整型、实型平方根实型abs(-4)=4abs(-7.49)=7.49arctan(0)=0.0sin(pi)=0.0cos(pi)=-1.0frac(-3.71)=-0.71int(-3.71)=-3.0sqr(4)=16sqrt(4)=2abs(-4)=abs(-7.49)=arctan(0)=sin(pi)=cos(pi)=frac(-3.71)=int(-3.71)=-sqr(4)=sqrt(4)=22.标准函数函数标识符自变量类型意义结果类型odd整型判断奇数布尔型pred离散类型求前趋同自变量succ离散类型求后继同自变量例:false19992001truewyodd(1000)=pred(2000)=succ(2000)=odd(3)=pred(x)=succ(x)=3.转换函数函数标识符自变量类型意义结果类型chrbyte自变量对应的字符字符型ord离散类型自变量对应的序号longintround实型四舍五入longinttrunc实型截断取整longint例:chr(66)=ord(A)=round(-4.3)=trunc(2.88)=B65-524.杂类函数函数标识符自变量类型意义结果类型random无自变量0,1间的随机实数realrandomword0,自变量间的随机整数)wordrandomize无自变量初始化内部随机数产生器longintupcase字符型使小写英文字母变为大写字符型downcase字符型使小写英文字母变为大写字符型2.5运算符和表达式运算符和表达式1.运算符和优先级(1)运算符是实型,如果全部的运算对象都是整型并且运算不是除法,则结果为整型,若运算是除法,则结果是实型a.算术运算符运算符运算运算对象结果类型+加整型、实型只要有一个运算对象是实型,结果就-减整型、实型是实型,如果全部的运算对象都是整*乘整型、实型型并且运算不是除法,则结果为整型,/除整型、实型若运算是除法,则结果是实型。div整除整型整型mod取余整型整型b.逻辑运算符运算符运算运算对象结果类型not逻辑非布尔型布尔型and逻辑与布尔型布尔型or逻辑或布尔型布尔型xor逻辑异或布尔型布尔型c.关系运算符运算符运算运算对象结果类型=等于简单类型布尔型不等于简单类型布尔型大于简单类型布尔型=大于等于简单类型布尔型(2)优先级优先级运算符优先级运算符优先级not1(高高)*,/,div,mod,and2xor,+,-,or3in,=,=,=,4(低低)2.表达式(1)算术表达式:算术表达式是由算术运算符连接常量、变量、函数的式子。算术表达式中各个运算符的次序为:()-函数-*,/,div,mod-+,1(2)布尔表达式:Pascal提供给布尔表达式以下基本操作:逻辑运算和关系运算。(3)数学上的表达式与pascal语言表达式的区别数学表达式PASCAL表达式注意2a2*a*号不能省略aba/b除号的写法abab不等号的写法aba5)and(79)or(910)2and(3=3)or(3bthenwriteln(a)elsewriteln(b);end.4.2CASE语句语句分情况语句适用于对一个条件的多种情况的响应。格式:case表达式of标号1:语句1;标号2:语句2;标号n:语句n;else语句n+1end;case语句在使用时有几点要注意:1.end与case对应;标号与语句之间用“:”分隔;else与语句之间不用分隔符。2.标号必须是一常量,其类型与表达式的类型一致例例2:某全自动加油站a,b,c三种汽油的单价(元/kg)分别是1.50、1.35和1.18,也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠。编一个程序,用户输入加油量、汽油品种和服务类型(f-自动,m-自己,e-协助),然后计算应付款。varoil,help:char;kg,total:real;beginwrite(Entertheamountinkilograms(kg):);readln(kg);write(Whichtypeofthegasoline(a,b,c):);readln(oil);wirte(Whichtypeforservice(f,m,e):);readln(help);caseoilofa:total:=1.50*kg;b:total:=1.35*kg;c:total:=1.18*kg;elsewriteln(InputError!)end;处理汽油的类型casehelpoff:;m:total:=total*(1-0.05);e:total:=total*(1-0.10);elsewriteln(InputError!)end;处理服务类型writeln;writeln(Totalis,total:10:2);end.1、输入两个数a,b,输出较大数的平方值。2、铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费;如超50公斤,超过部分每公斤加收0.10元。编一程序完成自动计费工作。3、某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。4、输入a,b,c三个不同的数,将它们按由小到大的顺序输出。13、当前小学生的成绩单由以前的百分制改为优秀、良好、合格、不合格四个等级的等级制。编一程序完成分数的自动转换工作。转换规则如下:60分以下的为不合格;60到69分为合格;70到89分为良好;90分以上的为优秀。(提示:可以利用DIV运算来使程序更简明)5、打印某年某月有多少天。(提示:A、闰年的计算方法:年数能被4整除,并且不能被100整除;或者能被400整除的整数年份。B、利用MOD运算可以判断一个数能否被另一个数整除)第二部分第二部分PASCAL基本程序结构知识(笔试辅导基本程序结构知识(笔试辅导1-2-3)5.1For语句语句1.递增型FOR循环。FOR循环控制变量:=循环初值TO循环终值DO循环的语句(或语段)例:FORI:=5TO10DOWRITELN(I);输出的结果为:5678910即循环一共执行了6次如果要重复多个语句,一定要用BEGIN-END形式:5.2While语句语句1.WHILE循环的执行形式WHILE布尔表达式DO语句例如:k:=10;WHILEk0DOBEGINWriteln(k);k:=k-1END;其中(1)WHIlE和DO是PASCAL保留关键字,是WHILE循环语句的组成部分。(2)保留关键字DO后面的“语法”只能是一条语句,称为“循环体”;如果循环体中需要包含多个语句则应该如上例所示,采用一条复合语句。5.3Repeat-Until语句语句1REPEAT-UNTIL类型的循环的执行形式REPEAT语句1语句2语句nUNTIL布尔表达式例如:以下循环求n=1+2+3+100n:=0;t:=i;REPEATn:=n+t;t:=t+1;UNTILt100;1、计算下列式子的值:(1)1+2+100(2)1+3+5+97+992、输入一个四位数,求它各位上数字的和。3、求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a3+b3+c3=abc,则abc是水仙花数。4、宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。有一次,国王因为他的贡献要奖励他,问他想要什么。达依尔说:“只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,后面一格的麦子总是前一格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王一想,这还不容易,刚想答应,如果你这时在国王旁边站着,你会不会劝国王别答应,为什么?6.1一维数组一维数组1、定义:vara:array1.10ofinteger;其中:a是这一批数据的名称,称为数组名;array、of是定义数组的保留字;中括号中的数字是数据编号的下限和上限,财时也说明了数据的个数(上限-下限);最后一个是数据的基类型,如integer,char,real,boolean。2、数组元素的输入:数组名代表的并不是一个变量,而是一批变量,因而,不能直接整个数组读入,而是要逐个数组元素读入,通常用循环结构来完成这一功能。下面是几个常用输入数组元素的例子:fori:=1to10doread(ai);从键盘读入数组元素的值;最常用的方法fori:=1to10doai:=i;数组元素a1到a10的值分别为1到10;数据赋初值fori:=1to10doai:=0;数组元素清0;最常用的数据初始化的方法fori:=1to10doai:=random(100);随机产生10个100以内的数,赋给各数组元素4、数组的应用:例1:从键盘输入10个数,将这10个数逆序输入,并求这10个数的和,输出这个和。programp1;vara:array1.10ofinteger;i,s:integer;beginfori:=1to10doread(ai);fori:=10downto1dowrite(ai,);writeln;s:=0;fori:=1to10dos:=s+ai;writeln(s=,s);end.例2:用筛法求100以内的素数(质数)。分析:素数是除了1和它本身以外没有其它约数的数。用筛法求素数的方法是:用质数筛去合数:从第一个素数2开始,把它的倍数去掉;这样2以后的第一个非0数就一定也是素数,把它的倍数也删了重复这个删数过程,直到在所找到的素数后再也找不到一个非0数。把所有非0数输出。vara:array1.100ofinteger;i,j,k:integer;beginfori:=1to100doai:=i;a1:=0;i:=2;whilei=100dobegink:=i;whilek=100dobegink:=k+i;ak:=0;end;上面将所有ai的倍数清0i:=i+1;whileai=0doi:=i+1;查找接下来的第一个非0数end;fori:=1to100doifai0thenwrite(ai,);end.1.二维数组的定义:vara:array1.10,1.5ofinteger;其中:a是数组名,由程序员自定;array和of是定义数组的保留字;(这两点和一维数组定义的格式一样)中括号中的两个范围表示二维数组共有多少行、多少列(第一个范围表示行数,第二个范围表示列数);最后一个表示数组元素的类型,规定和一维数组一样。如上例,定义了一个二维数组a,共有10行5列。例1:竞赛小组共有20位同学,这学期每位同学共参与了三项比赛,请统计每位同学的平均分。分析:定义一个20行3列的二维数组来存放这些成绩。定义一个20个元素的一维数组来存放平均分。programp1;vara:array1.20,1.3ofinteger;b:array1.20ofreal;i,j:integer;beginfori:=1to20dobeginforj:=1to3doread(ai,j);readln;end;从键盘上读入20个同学的三次竞赛成绩fori:=1to20dobi:=0;先将平均分数组清0fori:=1to20dobeginforj:=1to3dobi:=bi+ai,j;计算总分bi:=bi/3;计算平均分end;fori:=1to20dowrite(bi:5:1);输出平均分writeln;programp1;vara:array1.5,1.3ofinteger;b:array1.5ofreal;i,j:integer;beginfori:=1to5dobeginforj:=1to3doread(ai,j);readln;end;从键盘上读入20个同学的三次竞赛成绩fori:=1to5dobi:=0;先将平均分数组清0fori:=1to5dobeginforj:=1to3dobi:=bi+ai,j;计算总分bi:=bi/3;计算平均分end;fori:=1to5dowrite(bi:5:1);输出平均分writeln;programp1;vara:array1.5,1.7ofinteger;b:array1.5ofreal;i,j:integer;beginfori:=1to5dobeginforj:=1to7doread(ai,j);readln;end;从键盘上读入20个同学的七七次竞赛成绩fori:=1to5dobi:=0;先将平均分数组清0fori:=1to5dobeginforj:=1to7dobi:=bi+ai,j;计算总分bi:=bi/7;计算平均分end;fori:=1to5dowrite(bi:5:1);输出平均分writeln;练习练习求一个5X5数阵中的所有行最小数,输出它的位置。5678945678345212349012548练习练习求一个5X5数阵中的所有列最大数,输出它的位置。5678945678345212349012548练习练习求一个5X5数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:5678945678345212349012548则1行1列上的数就是马鞍数。字符串字符串可以看作是特殊的字符串数组来处理。当然,它也有自已的特点。下面是字符串定义的格式:vars:string;s1:string15;字符串定义时,如不指定长度,则按该类型的最大长度(255个字符)分配空间,使用时最大可用长度为255个;如果在中括号中给出一个具体的值(1255之间),则按这个值的大小分配空间。使用时,最大的可用长度即为该值。有关字符串的操作:有关字符串的操作:1函数的定义function函数名(形参表):函数类型;函数首部var局部变量说明部分begin函数体.函数语句.函数名:=表达式end;函数的调用:函数在语法上相当于一个表达式,所以,调用时,函数不能独立成为一个语句;它可以出现在任何表达式可以出现的地方。例如赋值语句的右边:X:=函数名(实在参数表);X的类型与函数类型必须一致又,如果函数类型是boolean,则还可以出现在条件语句中,充当条件表达式:if函数名(实在参数表)then例3:编一程序,求从10名同学中选出3名代表,有几种不同的选法。(公式:C(m,n)=m!/n!*(m-n)!从m中选n)programzohe1;varm,n:integer;c:longint;functionfactor(x:integer):longint;定义vari:integer;p:longint;beginp:=1;fori:=1toxdop:=p*i;factor:=p;这个语句必须end;beginwrite(m,n=);readln(m,n);c:=factor(m)div(factor(n)*factor(m-n);调用writeln(c(,m,n,)=,c);end.过程的定义procedure过程名(形式参数:参数说明);也可以不带参数varbegin.end;2过程的调用过程名(实在参数表);求n个自然数的最大公约数;programgcd1;constmaxn=100;varn,i,gcd:integer;a:array1.maxnofinteger;procedureenter;beginwrite(n=(0;end;procedurefind_gcd(x,y:integer);定义过程varr:integer;beginr:=xmody;whiler0dobeginx:=y;y:=r;r:=xmody;endgcd:=y;end;procedureprint;beginwriteln(GCD=,gcd);end;beginenter;gcd:=a1;fori:=2tondofind_gcd(gcd,ai);print;end.试编写一个将阿拉伯数字转换为ABCDEFGHIJ函数

    注意事项

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

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




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

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

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

    收起
    展开