第一章:程序设计基础知识
一、 单项选择题
1、面向过程的程序设计语言是________。
A)机器语言 B)汇编语言 C)高级语言 D)第四代语言
2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是_________。 A)设计数据结构和算法 B)建立数学模型 C)编写程序 D)调试和运行程序
3、以下常用算法中适合计算等差级数的算法是_________。 A)枚举法 B)递推法 C)分治法 D)排序法 4、以下不属于算法基本特征的是__________。
A)有穷性 B)有效性 C)可靠性 D)有一个或多各输出 5、以下描述中不正确的是___________。 A)程序就是软件,但软件不仅仅是程序。
B)程序是指令的集合,计算机语言是编写程序的工具。
C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是_____________。
A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。
C)一个正确的程序就是指程序书写正确。
D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是______________。 A)递归法的关键是必须有一个递归终止的条件。
B)递归算法要求语言具有反复自我调用子程序的能力。
C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。
8、N-S图与传统流程图比较,主要优点是_________。 A)杜绝了程序的无条件转移。
B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D)
二、填空题
1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程)
3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(功能操作 流程控制) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性)
11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化)
三、应用题
1、用如何一种熟悉的方法描述求 N 个数中最小数的算法。
开始 开始
k=0 输入n
输入n 输入 min=3276k=1
k>=n? 输入x N N
输入x x Y min=k x N k=k+1 k>=n? Y 输出 输出min 结 结束 2、用枚举法设计例1-4中百钱买百鸡问题的算法,并用流程图表示; Y N 开始 x=1 x++ y=1 y++ z=100-x-y x+y+z=100且 x*5+y*3+z/3=100 Y 输出x,y,z y y<=33 y x<20 N N N 开始 f1=1,f2=1,k=0 输出f1,f2 f3=f1+f2 f4=f2+f3 f1=f3,f2=f4 结束 k=k+2 N k>15? Y 结束 a)递推 3、 分别用递推和递规两种算法计算斐波那契数列: f(n+2)=f(n+1)+f(n),f(1)=f(0)=1 的前30项,并用流程图表示 a)递推 b)递规 递推公式:f(n)=f(n-1)+f(n-2) 递规公式:f(n)=f(n-1)+f(n-2) f(1)=f(0)=1 开始 F(n ) n=30 N Y n>1? N n>0? Y r=f(n-1)+f(n-2) r=1 p=f(n) 输出p 返回 r n=n-1 b)递规 结束 4、求方程x3-x-1=0在x=1.5附近的一个根。使用迭代法设计其算法,并用流程图表示出来。 解: 一般迭代法: 迭代公式:x1=1-x03,收敛条件:|x0/x1|<=1e-5 开始 开始 设初值x0=1.5 x0=1.5 f=x03-x0-1 f0=3*x02-1 x1=f/f0 N |x0/x1|>1e-N x0=x1 x1=x0*x0*x0-1 |x1/x0>1e-5 Y x0=x1 f=x03-x0-1 f0=3*x02-1 N x1=x0*x0*x0-1.输出x1 牛顿迭代法 结束 输出x1 结束
相关推荐: