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