NOIP做写结果和程序填空的技巧

NOIP做写结果和程序填空的技巧,第1张

在联赛初赛卷中,填空题的内容通常有1、变量方面的填空定义变量的数据类型;设定变量的初值;对变量的赋值;根据变量的辖域确定其是全局变量还是某个子程序的局部变量。2、循环方面的填空定义循环变量;设定循环变量的初值和终值;在循环体中怎样引用循环迹乱变量;如何保证循环体无论在一般情况下还是在特殊情况(第一次循环或最后一次循环)下都是对的。3、分支转移方面的填空定义布尔表达式;根据布派州枯尔值确定程序的走向;4、主程序和子程序关系方面的填空 子程序说明中的形式参数表设定了哪些参数,其中哪些是值参,哪些是变量参数;主程序什么时候调用子程序;调用的实际参数表怎样和形式参数表“匹配”。 5、输入输出方面的填空按照变量的定义和输入输出格式的要求,哪些变量的初值应该通过输入得到,哪些变量的计算结果应该输出。如果说程序所要解决的问题是主目标,则计算模型明确了到达这个主目标的方向。程序样例给出了大致的路径方案。“填空”就是要求你在这张路径图上补全“空格”所代表的“边”,使得该程序能够达到预期目的。6、核心算法的理解完善程序题解题步骤:1、仔细阅读文字解释,理解题意和提供的解题思路2、根据问题的求解要求,了解输入、输出内容和问题处理方法3、先阅读主程序,了解输出变量和输出要求以及主程序中需要调用的过程或函数是哪些。4、阅读过程或函数,了解其完成的功能5、填空方法:可以从程序的两端进行:(1)从程序(或主程序)最后输出变量、结果要求,可以完成部分填空,同时可以反推所涉及到的或相关的变量、表达式、语句的填写;(2)从程序(或主程序)初始化程序段开始填写,完成初始化程序的填写任务;(3)观察整个程序中主要变量、控制变量的变化,并能根据程序结构、模块划分出相应功能;(4)根据算法提示完成部分填空。6、根据主程序参数与子程序参数传递关系,填写子程序的变量,根据子程序需要完成的功能,完成子程序填空7、填写完大多数空白后,再将程序整个阅读一遍,完成全部填空。8、将填写后的程序阅读一遍,检查其能否完成问题的求解,直到完成任务。

读程序解题步骤做阅读程尘洞序题,首先要想方设法弄清楚程序的功能,每个题目总有一点“写作目的”。抓住了它,不仅答案变得容易了,而且对自己的结果也比较有信心。

1、从总体上通读程序,大致把握程序的目的和算法。

2、猜测变量的作用,跟踪主要变量值的变化(列表),找出规律。

3、将程序分段,理清每一小段程序的作用和目的。

4、看清输入,按照输出格式,写出结果。

5、带着到的结果回到程序进行检查。

几种方法a. 直接模拟

b. 先模拟几次循环后找规律

c. 直接看程序了解算法功能

d. 了解程序本质后换一个方法解决

e. 有时不知道算法可以通过观察猜出来

逆序输出

1、(求字符的轮磨猛逆序)下面的程序的功能是输入若干行字符串,每输入一行,就按逆序输出该游中行,最后键入-1终止程序。

请将程序补充完整。

Program j401

type str1=string[100]

var line:str1kz:integer

procedure reverse(var s:str1)

var I,j:integert:char

begin

i:=1j:=length(s)

while (i<j) do begin

t:=s[i]s[i]:=s[j]s[j]:=t

_____①___________②______

end

end

begin

writeln(‘continue? -1 for end.’)

readln(kz)

while ( _____③______)do

begin

readln(line)

_____④_____

writeln(line)

writeln(‘continue? -1 for end.’)

readln(kz)

end

end.

①和②处之前是一个冒泡排序,所以应该把i递增、j递减,

即①inc(i)②dec(j)

题目中说以-1结束,所以③应填kz<>-1

之腊桥前的过程定义好了,所以④应填reverse(line)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12534002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存