- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NOIP备战读程序完善程序
第二部分 读程序写结果 完善程序 阅读程序现写结果方法 一、直接推理 基本运算题 理解div、mod、*、and 、or等运算符的含义并掌握运用 注意它们之间的优先级别 算术运算关系运算逻辑运算 And or div、mod、*优先级别相同,按从左至右方向有序运算 Var u::array[0..3] of integer; I,a,b,c,x,y,z:integer; Begin for i:=0 to 2 do u[i]:=i*2+1; u[3]:=u[0] or u[1] and u[2]+1; a:=u[0] +u[1] +u[2] +u[3]-5; b:=u[0]*(u[1]-u[2] div u[3]+8); c:=u[0]*u[1] div u[2]*u[3]; x:=(a+b+2)*3-u[(c+3) mod 4]; y:=(c*100-13) div a div (u[b mod 3]*5); if ((x+y) mod 2=0) then z:=(a+b+c+x+y) div 2; z:=(a+b+c-x-y)*2; writeln(x+y-z); End. 可关注递归计算题,如斐波那契数列 对于一些易读性不十分好的程序,最好的办法是画流程图。其步骤如下 ⑴跟着程序画流程图,一句一框; ⑵根据上下文的联系合并流程图。若前几句计算值都要代入后一表达式,则合并为一框。接连合并几次,使程序成为一个大功能块; ⑶由大功能块推断算法; ⑷代入输入值,计算结果。 这个程序的功能是计算s串中与p匹配的子串的首指针。当程序输入 asabcdffdin fdi 程序应输出8,即s[8]…s[10]=p=‘fdi’。 动态模拟方法是采用人工模仿机器执行程序的方法计算结果值。首先选择程序中比较重要的变量作为工作现场。人工执行程序时,只要按照时间先后一步步记录下现场的变化,就能最后得出程序的运算结果。其具体布置如下: ⑴画表,画出程序执行时要用的现场情况表; ⑵基本读懂各语句的功能 ⑶走程序,即动态模拟程序。主要根据各语句的功能,按照程序执行路径的先后顺序逐项填写现场情况表,直至得出最后结果; Begin read(n); fillchar(num, sizeof(num),0); for i:= 0 to n do begin add(i+1,-1); add(n+n-i,1); end;{for} add(n+1, -1);fillchar(ans,sizeof(ans),0);ans[0] := 1; for i:=2 to limit do for j:=1 to num[i] do mult(ans,i); for i:=limit downto 0 do if (ans[i] 0) then begin for j:=i downto 0 do write(ans[j]); writeln;break; end;{then} End. 输入 输出 5 20 完善程序 填空内容: 1、变量方面的填空 2、循环方面的填空 3、分支转移方面的填空 4、主程序和子程序关系方面的填空 5、输入输出方面的填空 填空方法: 按照自顶向下的思维方法阅读程序——从主程序开始,沿控制层次向下阅读。在查到某一个子程序(子模块)时,比照题目给出的说明和调用它的“父程序(父模块)”,弄清该子程序(子模块)究竟要达到什么样的子目标,然后查程序,看它是如何实现这个子目标的。如果该子程序(子模块)有空格,则按照算法的逻辑进行填空。依次类推,直至最底层的子程序(子模块)中的空格全部填完为止。 指导思想假定-填写-验证-调整-验证 1、背包问题:设有不同价值、不同重量的物品n件,求从这n件物品中选取部分物品的方案,使选中物品的总重量不超过指定的限制重量,但选中物品的价值之和最大。 [算法说明]:设n
文档评论(0)