第二章_算法和计算机程序基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计的四个基本步骤
(1)分析问题
首先根据问题的具体要求进行需求分析、对现有的信息加 以整理,然后在分析的基础上,将实际问题抽象化,建 立相应的数学模型并确定解决方案。
(2)设计算法
算法是研究如何写出符合计算机特点、能让计算机执行并 能为我们产生正确计算结果的解题步骤。每一个计算机 程序都是由相应的算法转化过来的。
符号
符号名称
含义
起止框
表示算法的开始和结束
输入输出框 输入输出操作
判断框
对框内的条件进行判断
处理框
对框内的内容进行处理
流程线 连接点
表示流程的方向
通常用于换页处,表示两个具有同一标记的“连接点” 应连接在一起
3.用N-S流程图表示算法(一般了解)
针对传统流程图存在的问题,1973年美国学者提出了一种 新型流程图:N-S流程图。其主要特点是完全取消了流程线, 不允许随意出现控制流,全部算法写作矩形框内,该矩形框以 3种基本结构(顺序、选择、循环)描述符号为基础复合而成。
2.1.2 程序设计的基本步骤
程序设计即编程,是让计算机为解题而执行某一种 程序设计语言编写的程序代码的过程。
为了使计算机能够理解人的意图,人类就必须为计 算机设计出计算机能够识别的解决某一问题的具体步骤, 送入计算机,命令计算机按照我们编写的解题步骤一步 一步去执行,为我们去解题。这种人和计算机之间交流 的过程就是程序设计,即编程,而所谓的程序代码就是 让计算机为我们解题而执行的操作步骤,即计算机程序。
对编写好的程序需进行验证、测试、调试与维护。若 发现问题即对程序进行修改,然后再运行和检验,直到得 出正确结果。
下面通过一个例子来说明程序设计的四个基本步骤
例2.1
【例2.1】编写一个程序,任意输入一个圆半径,求 出相应的圆面积。
一、首先分析问题确定解题方法与相应的公式 二、 确定算法
求传统流程图表示的求圆 面积的算法
操作码指出应该进行什么样的操作,操作 数指出参与操作数本身或它所在的地址。 例如:
此条指令的功能是:把15放入累加器A中。
由此可见,由于机器指令的功能很弱, 而且记忆困难。因此用机器语言编写的程序 十分繁琐,编程工作量大,可读性差,容易 出错。而且通用性也很差。由于每台计算机 的指令系统各不相同,在一台计算机上执行 的程序,不能在另一台计算机上执行,必须 另编程序,造成了重复工作。
顺序结构
选择结构
循环机构
4.伪代码描述算法(一般了解)
2.2.1 算法的表示
算法的表示方法很多,常见的有自然语言、传统流程 图、N-S图,伪代码等。
1.用自然语言表示算法 自然语言就是人们日常使用的语言。自然语言表示
的算法通俗易懂,但篇幅较长。所以除了很简单的问题, 一般不用自然语言表示算法,而使用流程图表示算法。
2.用流程图表示算法
流程图基本形状图
3. 高级语言
高级语言是为克服低级语言的缺点和不足而设 计的计算机语言,其优点是接近于人类熟悉的自 然语言和数学语言,更接近于要解决的问题的表 示方法,而且用高级语言编写的程序具有易懂、 易用、易维护、通用性好的特点。
高级语言是目前非常普及的计算机语言,目前 较为流行的高级语言有C语言、C++语言、 Visual C (简称VC) 、Visual Basic(简称VB) 和Java语言等。
2.1.1 程序设计语言
从计算机问世至今的60多年中,程序设计语 言与计算机共同诞生、共同发展,经历了从机器 语言、汇编语言到高级语言的发展历程。
1. 机器语言
机器语言是早期的计算机语言,也是计算机 唯一能够识别的计算机语言。机器语言是由“0” 和“1”组成的二进制代码所表示的一组指令的集 合。指令格式如下:
从键盘输入圆的面积R
计算圆面积为 3.14159 × R2
输出圆面积计算结果
用自然语言写出的求圆面积的 算法: 第一步:从键盘输入圆面积R; 第二步:计算圆面积,算式为
3.14159 × R2 第三步:输出圆面积计算结果。
四步骤
三、编写程序
【例2.1】算法的 c语言表示。
#include <stdio.h>
void main()
{
int R;
/*整变量定义源自文库/
float S;
/*整变量定义*/
scanf(“%d”,&R); /*从键盘输入圆半径值R存放在S变量中*/
S=3.14159 × R*R; /*圆面积值存放在S变量中*/
printf(“圆面积值是%0.1f”,S); /*在屏幕上输出圆面积值*/
大学计算机基础 I
第2章 算法与程序设计基础
2.1 程序设计概述
程序(program)是计算机可以执行的指令 或语句序列。它是用计算机解决现实生活中的 一个实际问题而编制的。设计、编制、调试程 序的过程称为程序设计。编写程序所用的语言 即为程序设计语言,它为程序设计提供了一定 的语法和语义,所编写出的程序必须严格遵守 它的语法规则,这样编写出来的程序才能被计 算机所接受、运行,并产生预期的结果。
2. 汇编语言
为了解决使用机器语言编写应用程序所带来的难 以理解和记忆等一系列问题,人们首先想到了使 用易于理解和记忆的名称和符号来表示机器指令, 从而形成了汇编语言。例如:
ADD a, b 此条语句的功能是:将a中的内容加上b中的内容。
汇编语言和机器语言都属于低级语言,其特点是 与特定的机器有关,工作效率高,但与人们思考 问题和描述问题的方法相距甚远,使用繁琐、费 时,易出差错。
}
注:变量是程序中数据存放场所,对应着一个内存单元。在程序 中的变量都要被赋予一个值,这个值是变化的。
四、运行程序
先从键盘输入一个圆半经并赋予变量R,再计算圆面积的值并赋 予变量S,最后在屏幕上显示圆面积的计算结果。
2.2 算法基础
计算机解决一个实际问题而采取的方法和步骤,称之 为“算法”。对于同一个问题,可能有不同的方法和步骤 ,即有不同的算法。
根据建立数学模型和确定的方案,详细规划解决问题的步 骤。若是简单问题,绘制流程图既可,如是比较复杂的 问题则采用伪代码或其他算法描述。(见2.2.2 算法的表 示)
例2.1
(3)编写程序
根据确定的算法,选用合适的程序设计语言,将算法按 所选语言的规则描述出来,即形成源程序。
(4)调试运行与维护程序