程序设计初步课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

算 几个算法的例子: 法 和 ?烧水喝:烧水→沏茶→喝水 程 ?一套太极拳的打法 序
有的算法目前计算机可以实现,有的则不能!
算法的表示方法
第 二 节 ?自然语言表示算法;
算 ?用传统流程图表示算
法 和
法等 .
程 ?用计算机语言描述算
序 法.
二、用自然语言描述算法
任务一 输入圆的半径,输出圆的面积
人与计算机交 流通过人设计 的计算机语言
人与人的交流通过人 的自然语言
关于计算机语言
? 第一代:机器语言。完全由二进制的“0”,“1”组成的一些数字信 息,只有计算机专业人员才能掌握它的编写规则,但计算机可以非 常方便的读懂;
? 第二代:汇编语言。这种语言增加了一些容易记忆的英文缩写来表 示命令,它编制出来的程序计算机无法直接读懂,必须翻译成计算 机语言。虽然比机器语言容易掌握,仍需要大量的计算机知识;
第一章 程序和程序设计语言
一、程序和它的作用
计算机是如何实现信息的自动处理呢?
首先,将我们要完成的任务通过一系列的指令去描述,这 一指令组称为程序.然后,将完成任务所需的数据和程序输入 到计算机,再由计算机根据程序中的指令自动对数据进行处 理,得出结果.
数 据 程
输 入 设 备

存储器 运算器 控制器
输 出 设
结 果

计算机
计算机进行信息处理的过程如下:
用户输入程序与数据 计算机根据程序自动处理数据
输出结果数据
简单地说就是:输入 处理 输出
二、为什么要学习程序设计 1、如果你遇到一个需要计算机解决的问题而又没有合适的软件,
这时就需要根据任务设计相应的软件,这就要学习程序设计。
2、如果你希望成为一个计算机的专业人才,为人们设计所需 的软件,也发必须学习程序设计。


开始




T=1,B=100,N=100



图 描
Sum=(T+B)×N/2

如 图
输出SUM



结束
开始

务 三
SUM=0;i=0


法 用 流

产生歧义;
图 描 述
S←pi×r×r
缺点:流程图占面 积大,由于允许使

用流程线,使流程

任意转移,容易使
所 示 :
输出s
人弄不清流程的思 路。
结束

用传统流程图表示算法
务 二
开始 (举例)

算 法
输入S





S<=80

描 m←S×3 述 如
m←80×3+(S-80)×5




输出m
终止
计算机解题的一般过程
用高级语言 编写程序 源程序
翻译成 机器语言
执行程序
目标程序
输出结果
一、问题的算法表示
第 利用计算机处理问题的过程 二
节 算法设 计
算 法 提出问题 和
确定处理 方案
确定操作 步骤

序 输出整理 结果
调试和运行 程序
编写程序
一、问题的算法表示

算法的概念

节 ?解决一个问题要采取的步骤就是算法。
? 第三代:高级语言。高级语言是使用一些简单的英文单词(或缩写符 号)、号子和数学式子来描述命令。这些语言的编程规则比较接近人 的自然思考规则,所以比较容易被一般人掌握,也需要翻译为机器 语言。常用的高级语言如:BASIC,C,FORTRAN,LISP, PROLOG,PASCAL,COBOL etc.
3、通过学习程序设计,可以提高我们分析问题的能力,培养 严谨的思维习惯。
4、目前,软件业已成为世界上最大的产业之一,其中最缺乏 的人才主要是软件设计人员。因此,学好程序设计,有助于为今后 的工作打下一良好的基础,有助于我们成为新时代有竞争能力的软 件人才,有助于我们为祖国做出更大的贡献。
二、程序设计语言 如何进行程序设计呢? (1)首先要对问题进行需求分析; (2)然后为问题设计一个正确的解题方法和步骤; (3)最后通过一种计算机可以理解并接受的语言描述完成操作所 需的步骤。这种语言我们称之为程序设计语言。
用S表示房面积数,以m表示应付的房租,算法如下: (1)输入S的值; (2)如果“S<=80”则“m←S×3”否, 则“m←80×3+(S-80)×5”; (3)输出m的值.
任务三 求和:1+2+3+…+100
算法一: (1)首数 ←1,尾数 ←100,项数 ←100; (2)利用公式“总和 =(首数+尾数)×项数 /2”求和;
(3)当“ I〈100”时反复执行下列操作: I←I+1;SUM←SUM+I ;
(4)输出 SUM
可以看出,算法具有多样性,同一问题可以有多种不同的 算法。
探究 如果要计算 1到50的平方和,算法一是否仍适 用?算法二应如何修改 ?
答案:算法一不适用.
算法二应改成: (1)从1开始将自然数1的平方、2的平方、 3的平方、…、 50的平方逐个相加; (2)输出累加结果。 引入SUM为累加变量,I表示累加数据,可描述为:
(3)输出求和结果。
引入适当的变量 ,可描述为: (1) T←1 ,B←100 ,N←100 ;
(2)SUM←(T+B) ×N/2; (3)输出 SUM
算法二: (Leabharlann Baidu)从1开始将自然数 1、2、 3、…、100逐个相加 ;
(2)输出累加结果。
引入SUM为累加变量, I表示累加数据,可描述为: (1)SUM←0 (2)I←0;
(1)SUM←0 (2)i←0;
(3)当“i〈100”时反复执行下列操作:
i←I+1;SUM←SUM+i×i;
(4)输出SUM。
用传统流程图表示算法 (引例)
起止框
一般处理框
判断框


线
输入输出框
开始




Pi←3.1415926
算 法
优点:直观形象,
用 流
输入r
流程清晰,各种操 作一目了然,不易
(1)pi←3.1415926; (2)输入r的值;
(3)S ←pi×r ×r;
(4)输出S的值.
任务二 设计房租收费程序 ,其要求是:住房面积 80平方米以 内含80平方米),每平方米收费 3元,住房面积超过 80
平方米时 ,超过部分 ,每平方米收费 5元.输入住房面积数 ,输 出应付的房租 .
用自然语言描述算法如下: (1)输入圆的半径;
(2)利用公式“圆的面积=圆周率×(圆的半径的平方)”计算圆的 面积; (3)输出圆的面积。
注:和数学一样,为了能简明地描述算法,通常引入一些适当的变量来 描述问题所涉及的数据.这里,以R表示圆的半径,以S表示圆的面积, 以PI表示圆周率,它是一个常数,值约为3.1415926.则算法描述如下:
相关文档
最新文档