购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第三章
算法基础

一、体验计算机解决问题的过程

①____________:分析问题的需求情况,搞清楚需要解决的问题,提炼出已知条件,量化已知条件中的各个量,并找出各个量之间的关系。

②____________:问题分析清楚后,需要给出计算机解决问题的详细方法和步骤。

③____________:有了清晰可操作的算法描述,就可以选择一种计算机语言工具来编写程序,实现算法。

④____________:程序编写完成以后,再通过键盘把程序输入计算机中运行,检查程序能否按预想的效果执行。

二、算法及其描述

1.算法的定义

算法是________________________________________________。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。

2.算法的特征

算法的特征包括________________________________________________。

3.算法的描述

①______________________:用人们日常所用的语言,比较容易掌握,缺点是当算法中含有多分支或循环操作较多时很难清晰地表示出来,由于自然语言的歧义性,容易导致算法执行的不确定性。

②______________________:用程序框图来描述,流程描述清晰简洁,但是用流程图描述算法所占篇幅较大,且由于允许使用流程线,过于灵活,不易约束。

③______________________:用介于自然语言和计算机语言之间的文字和符号来描述,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。缺点是由于编程语言的种类繁多,伪代码的语句不容易规范,有时会产生误解。

4.算法三大基本结构

①____________:表示程序中的各操作是按照它们出现的先后顺序执行的。

②____________:表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。其有单选择、双选择和多选择三种形式。

③____________:表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。

三、计算机程序与程序设计语言

1.计算机程序

计算机程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。简而言之,计算机程序就是指计算机可以识别运行的____________________________。

2.计算机系统的组成
3.计算机工作过程
4.计算机程序设计语言

(1)定义

计算机程序设计语言是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。

(2)发展

计算机程序设计语言的发展经历了从机器语言、汇编语言到高级语言的发展历程。

(3)不同发展阶段的计算机程序设计语言的比较

(4)编译型语言与解释型语言的比较

随堂练习

一、单项选择题

1.绘制流程图,在计算机解决问题的过程中,这一步骤属于(  )。

A.分析问题

B.设计算法

C.编写程序

D.运行程序验证结果

2.下列问题中,最适合用计算机编程来解决的是(  )。

A.制订学习计划

B.修饰班级集体照

C.查找10000以内的素数

D.播放电影

3.编制计算机程序解决问题的基本过程是(  )。

①设计算法;②检测结果;③调试运行;④编写程序;⑤分析问题

A.①②③④

B.①④⑤③②

C.⑤①④③②

D.⑤④③②①

4.下列不属于算法特征的是(  )。

A.有穷性

B.数据输入

C.可行性

D.语义性

5.计算机能直接识别、理解执行的语言是(  )。

A.汇编语言

B.Python语言

C.自然语言

D.机器语言

6.在描述算法的流程图符号中, 一般用来描述算法的(  )。

A.开始/结束

B.输入/输出

C.判断

D.处理

7.如图所示是“求实数a的绝对值”的流程图,虚线框中应填入(  )。

A.

B.

C.

D.

8.下列关于编程语言的描述正确的是(  )。

A.不同的编程语言编写的同一问题的程序的运行速度一定不同

B.使用机器语言编写的程序可以直接被计算机识别并执行

C.汇编指令可以直接被计算机识别并执行

D.使用高级语言编写的程序,必须通过编译才能被计算机识别并执行

9.根据如图所示的部分流程图,以下说法正确的是(  )。

A.语句i=i+1只执行了一次

B.语句i=i+1一次也不执行

C.流程图中i<=5判断了10次

D.此流程图为无限循环

10.下列属于解释型语言的是(  )。

A.Python

B.C++语言

C.C语言

D.汇编语言

二、判断题

11.在调试程序时,如果程序语法有错误,计算机一般不会给出提示。(  )

12.编写程序的任务就是用一种计算机程序设计语言来描述问题求解的算法。(  )

13.算法执行的每一个步骤必须有确切的定义,不能出现模棱两可的情况。(  )

14.选择结构中,可以同时执行两个分支的语句。(  )

15.若算法流程图中使用了判断框,那么它就是循环结构。(  )

16.一个算法应该有一个或多个数据输出,没有输出的算法是毫无意义的。(  )

17.当算法中含有较多的分支或循环时,自然语言容易造成理解歧义。(  )

18.编译是指把高级语言程序的语句都翻译成机器语言,并保存为二进制文件。(  )

19.计算机程序设计语言发展过程的正确顺序是高级语言、汇编语言,机器语言。(  )

20.汇编语言是将二进制代码符号化,容易被人们理解和记忆,所以汇编语言是高级语言。(  )

三、应用题

21.根据下列流程图,完成相关问题。

(1)图形符号 在算法描述流程图中表示(  )。

A.算法的开始或结束

B.输入输出操作

C.处理或运算的功能

D.判断条件是否满足需求

(2)描述算法不能使用(  )。

A.组织结构图

B.流程图

C.汉语

D.伪代码

(3)本流程图主要采用(  )。

A.顺序结构

B.选择结构

C.循环结构

D.分支结构

(4)该流程图的执行结果是(  )。

A.6,16

B.4,20

C.6,20

D.4,16

22.现有如图所示的流程图,请根据要求回答以下问题。

(1)流程图中有一个图形错误,是下列哪一个图形?(  )

A.

B.

C.

D.

(2)请把错误的图形改成正确的图形。

(3) 一共执行了多少次?最后f的输出值是多少?

23.小明设计了一个Python程序,用于判断一个数是奇数还是偶数,根据流程图和程序回答下列问题。

x=int(input("请输入一个正整数:"))

if x%2==0:

print(x,"偶数")

else:

print(x,"奇数")

(1)计算机解决问题的过程是:分析问题、设计算法、编写程序、调试运行。根据问题画出流程图,让流程更清晰简洁,这个操作对应的是哪个步骤:____________。

(2)根据流程图和程序,填写序号对应的内容:①:____________,②:____________。

(3)本程序的主体结构是(  )。

A.顺序结构

B.选择结构

C.循环结构 oP7wFlJ03a0XZjuCVPvrvT0zhZBPUbVqjVLINUSuH6nO1d8VmbjfCCIv2UCZpoCH

点击中间区域
呼出菜单
上一章
目录
下一章
×