大学计算机基础——编程入门1ppt课件_第1页
大学计算机基础——编程入门1ppt课件_第2页
大学计算机基础——编程入门1ppt课件_第3页
大学计算机基础——编程入门1ppt课件_第4页
大学计算机基础——编程入门1ppt课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大学计算机基础B 主讲教师 赵晓安 HebeiUniversityofTechnology 讲课内容 一 程序设计的基本概念1 程序设计语言2 程序设计的方法二 计算机算法基本知识1 算法的概念2 流程图3 数据类型 变量 表达式三 结构化程序设计基本结构1 顺序结构2 选择结构3 循环结构四 常用算法介绍1 计算机的基本算法 求和 求积 求最大最小 求素数 2 迭代算法3 排序算法 考试要求 1 跟A班考试 占70 2 B班考试另出题 笔试占30 一 程序设计的基本概念1 程序设计语言2 程序设计的方法二 计算机算法基本知识1 算法的概念2 流程图 传统流程图和N S图 3 数据结构4 数据类型 常量与变量 表达式 第一讲内容 学习方法 计算机完成不同的工作 就要运行不同的程序 程序就是为完成某项任务而由若干条计算机指令组成的有序集合 编制程序称为程序设计 程序设计就是将解决某个问题的过程用程序设计语言描述出来 人与计算机交流的语言 成为计算机语言 计算机语言分为 机器语言 汇编语言和高级语言 前两种语言又称为低级语言 一 程序设计的基本概念 1 程序设计语言 机器语言机器可以直接识别并执行 汇编语言符号语言要汇编成机器语言 面向机器 高级语言 低级语言 面向过程 面向对象 关心求解过程 着眼点 解决 什么 问题 关心一个对象能干什么 例如 FORTRAN BASIC 结构化分析方法和设计方法 例 C VC VB 面向对象的分析方法和设计方法 编译 解释 链接 中级语言 汇编语言 高级语言 双重功能例 C 面向用户 10000000B表示 加法 操作 A A B 例 求解A B 机器语言是计算机能够识别并直接执行的语言 直接使用机器语言来编写程序是一种相当复杂的手工劳动 它要求使用者熟悉计算机的有关细节 一般的工程技术人员难于掌握 汇编语言是对机器语言的一种描述语言 是一种能够被计算机读得懂的语言但不能直接执行的语言 人们借助自然语言所产生的对问题域的认识远远不能被机器理解并执行 而机器能够理解的编程语言又很不符合人的思维习惯 人们习惯使用的语言和计算机能够理解并执行的编程语言之间存在着很大的差距 称这种差距为 语言的鸿沟 程序设计语言发展的趋势就是为了使这种鸿沟变窄 客观事物 问题域 自然语言 面向过程语言 面向对象语言 机器语言 汇编语言 计算机 语言的鸿沟 程序设计语言发展的趋势使语言鸿沟变窄 2 程序设计方法 结构化程序设计方法20世纪60年代到70年代初 出现了 软件危机 为了改变程序设计的工作方式 提高程序结构的清晰度 程序的可靠性 1969年 E W Dijkstra首先提出了结构化程序设计的概念 后NiklansWirth又提出 算法 数据结构 程序设计将软件划分成若干个可以单独命名和编制的部分 称为模块 模块化使软件设计能够有效地管理和维护 从而能有效地分解和处理复杂的问题 主模块 子模块1 子模块5 子模块2 子模块3 子模块4 子模块2 2 1 子模块2 2 子模块2 1 子模块1 1 程序结构 设计思路 自顶向下 逐步细化 结构化程序设计 面向过程 结构化程序设计 StructureProgramming 语言工具 Basic Fortran C Pasical等 程序结构良好 易写易读 程序风格 模块由顺序 选择和循环三种基本结构组成 1 顺序结构 B A A B NS图 流程图 B 2 分支结构 N 如果成绩 60那么通知补考否则告知你考试成绩 A Y 条件P 3 循环结构 直到 循环 A 真 假 P 二 计算机算法基本知识 1 算法的概念 算法算法分类算法的特征算法设计的要求 目标算法的描述举例 算法 算法 是指完成一个任务所需要的具体步骤和方法 1 给定初始状态或输入数据 2 经过计算机程序的有限次运算 3 能够得出所要求或期望的终止状态或输出数据 算法分类 数值运算算法 求数值解 非数值处理算法 信息处理 算法的特征 输入 一个算法必须有零个或多个输入量 输出 一个算法应有一个或多个输出量 输出量是算法计算的结果 确定性 算法的描述必须无歧义 以保证算法的执行结果是确定的 有限性 算法必须在有限步骤内实现 有效性 又称可行性 能够实现 算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现 算法设计的要求 目标 1 正确性 无歧义 四个含义 a 程序不含语法错误 b 程序对几组输入的数据能够得出满足规格说明要求的结果 c 程序对于精心选择的典型 苛刻而带有刁难性的几组数据能够得出满足规格说明要求的结果 d 程序对于一切合法的输入数据都能产生满足规格说明要求的结果 达到d层的正确性极为困难 一般以c层作为正确性的衡量标准 2 可读性 有助于对算法的阅读 交流 理解 调试和修改 3 健壮性 对非法输入数据 能适当作出反映或进行处理 4 效率与低存储量要求效率指的是算法执行的时间 求解同一问题的多个算法中执行间短的效率高 存储量需要指算法执行过程中所需要的最大存储空间 两者都与问题的规模有关 算法的描述 算法须用一种语言描述 同时 算法可用各种描述方法以满足不同的要求 1 计算机上运行的程序 算法 必须是严格按照语法规定用计算机语言 低级或高级 编写的 2 为人们阅读和交流 算法的描述形式有 1 自然语言 2 流程图 3 伪码语言 4 其他 例1 交换两个变量中的数据 已知变量x和y中分别存放了数据 现在要交换其中的数据 为了达到交换的目的 需要引进一个中间变量m 其算法如下 将x中的数据送给变量m 即x m 将y中的数据送给变量x 即y x 将m中的数据送给变量y 即m y 自然语言描述算法 用流程图描述算法 用流程图描述算法 用C语言程序描述算法 includevoidmain intx y m cin x y m x x y y m cout x y endl 自然语言描述用自然语言描述算法 比较习惯和容易接受 但是叙述较繁琐和冗长 容易出现 歧义性 一般不采用这种方法 用流程图 floatchart 描述算法能够将解决问题的步骤清晰 直观地表示出来 起止框 表示算法的开始或结束 输入 输出框 表示输入输出操作 处理框 表示处理或运算的功能 判断框 用来根据给定的条件是否满足决定执行两条路径中的某一路径 流线 表示程序执行的路径 箭头代表方向 连接符 表示算法流向的出口连接点或入口连接点 同一对出口与入口的连接符内必须标以相同的数字或字母 2 流程图 floatchart 程序结构传统流程图 顺序结构 入口 分支结构 循环结构 P条件 A语句1 B语句2 N S图 出于要有一种不允许违背结构程序设计精神的图形工具的考虑 1973年美国学者Nassi和Shneiderman提出在流程图中去掉流程线 全部算法写在一个矩形框内 其中可以包含其它的基本框 人们称它为N S结构化流程图 这种流程图像盒子 故又称为盒图 N S图的特点 功能域 即 一个特定控制结构的作用域 明确 直观 很容易表示嵌套关系 盒图没有箭头 因此不允许随意转移控制 程序结构N S图 顺序结构N S图 A B 入口 出口 分支结构N S图 出口 入口 n P A B y 循环结构N S图 P条件A语句1B语句2 CASE多分支结构N S图 子程序结构N S图 入口 出口 3 数据结构 算法 数据结构 程序设计 什么是数据结构 数据结构 是信息的一种组织方式 其目的是为了提高算法的效率 它通常与一组算法的集合相对应 通过这组算法集合可以对数据结构中的数据进行某种操作 数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构 以及对数据的各种操作 因此 主要有三个方面的内容 数据的逻辑结构 数据的物理存储结构 对数据的操作 或算法 通常 算法的设计取决于数据的逻辑结构 算法的实现取决于数据的物理存储结构 数据 是对客观事物的符号的表示 是所有能输入到计算机中并被计算机程序处理的符号的总称 数据元素 是数据的基本单位 在计算机程序中通常作为一个整体来处理 一个数据元素由多个数据项 dataitem 组成 数据项是数据不可分割的最小单位 数据结构 是相互之间存在一种或多种特定关系的数据元素的集合 结构 数据元素相互之间的关系称为结构 structure 四种基本结构 1 集合 2 线性结构 3 树状结构 4 网状结构或图状结构 3 数据结构 集合 数据元素间的关系是同属一个集合 线性结构 数据元素间存在一对一的关系 树形结构 结构中的元素间的关系是一对多的关系 图 网 状结构 结构中的元素间的关系是多对多的关系 数据的逻辑结构和物理结构 逻辑结构 数据元素之间存在的关系 逻辑关系 叫数据的逻辑结构 物理结构 数据结构在计算机中的表示 映象 叫数据的物理结构 数据在计算机内部的存储安排 一种逻辑结构可映象成不同的存储结构 1 顺序存储结构2 非顺序存储结构 1 链式存储结构 2 散列结构 4 数据类型 常量与变量 表达式 数据分类 1 常量和变量2 数据类型不同类型数据取值的范围不同 所适应的运算不同 在内存中所占有的存储单元数目不同 语言中的数据类型 1 基本 标准 数据类型 内部预先定义的类型 2 用户自定义数据类型 正确区分和使用不同的数据类型 可以使程序运行时占用较少的内存 确保程序运行的正确性和可靠性 VB的标准数据类型 VC 的基本数据类型 整型 实型 字符型 VB数据类型 常量与变量 数据是以常量或变量的形式来描述的 常量 是指在程序运行过程中 其值不变的量 常量都具有一定的数据类型 由其表示方法决定 在程序中不必对常量进行任何说明就可以使用 整型常量实型常量字符常量字符串常量符号常量 数值型 非数值型 VC 常量主要有以下几种 VB常量主要有以下几种 普通常量符号常量系统常量 数值常量字符串常量逻辑常量日期常量 变量 指在程序运行过程中其值可以改变的量 变量要素 名字 类型和值 地址 C 程序中 变量的作用 用来存放数据 必须先定义后使用 使用变量前必须首先定义变量名和变量的数据类型 为此变量在内存中分配一定的存储单元 并将在该单元中存放变量的值 变量的类型不同占内存单元数不同存储字节数 见前面所述的表 VB程序中 变量可以显示 隐式 强制显示声明 VC 变量名 1 不能是C 的关键字2 第一个字符必须是下划线或字母 可以含数字 字母 下划线 3 中间不能有空格4 不能与C 库函数名 类名和对象名相同5 区别大小写字母 一般变量名用小写字母表示 符号常数 自定义的类型名用大写字母表示 VB要求 运算符与表达式 VC 的运算符与表达式1 算数运算符与算数表达式 取余 2 关系运算符与关系表达式 3 逻辑运算符与逻辑表达式 VB的运算符与表达式1 算数运算符与算数表达式 Mod 取余 整除 幂2 关系运算符与关系表达式 3 逻辑运算符与逻辑表达式 And 与 Or 或 Not 非 Xor 异或 Eqv 逻辑等价 学习方法 1 先用流程图描述算法 思路方法满足正确性 可读性及健壮性的要求 3 而后根据流程图采用VC或VB语言编写程序 在VC 6 0或VB6 0环境中调试通过 两个过渡 1 从问题 画出流程图 分析 构思 2 从流程图 程序设计 解决 第二讲主要内容 结构化程序设计 引例一 分支 选择 结构1 简单分支结构 流程图 语句 举例2 二分支基本结构 流程图 语句 举例3 多分支结构 流程图 语句 举例 引例 输入三个不相同的数 求出其中的最小数 解 擂台法分析题目 1 三个不同的数 定义三个变量为 a b c定义一个最小值变量min3 画出流程图 一 选择 分支 结构 从流程图 语句从问题 流程图 程序 1 简单分支结构 流程图 语句 举例 表达式 语句 真 假 else体空 表达式真假 语句 else体空 If体 语句 if 表达式 语句 If体 例 求输入的两个数中的最大值 a max b max b max 输出max的值 真 假 输入a b的值 开始 结束 includevoidmain inta b max cout a b max a if b max max b cout max max endl 例 求三个数中的最大值 includevoidmain inta b c max cout a b c max a if b max max b if c max max c cout maxis max endl 表达式 语句1 语句2 真 假 入口 出口 If体 else体 2 二分支基本结构 流程图 语句 举例 表达式真假 语句1 语句2 if 表达式 语句1 else语句2 if体 else体 if体 else体 分析 三角形的条件 任意两边之和大于第三边计算公式 三边为a b cs a b c 2 例 输入三角形的三个边长 求其面积 include includevoidmain doublea b c s area cout a b c if a b c 不能构成三角形 输出说明 多分支问题1 if体 else体 3 多分支结构 流程图 语句 举例 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论