




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,计算机软件技术基础,2,课程设置,算法 基本数据结构及其运算 查找与排序技术 资源管理技术 数据库技术 应用软件设计与开发技术,3,学习目的,1、了解软件技术基础知识 2、掌握数据结构的概念,几种基本结构,查找和排序方法,能编写正确算法。编写简单程序。 3、掌握资源管理技术的相关知识,4,学习与考核,教师讲授为主 上机实验:上机语言c语言 考核方式:平时成绩20%+上机实验、完成实验报告20%+期末考试成绩60%,5,绪论,计算机硬件及其发展 计算机软件 数据结构、操作系统、数据库与软件工程,6,计算机硬件及发展,发展历史 电子管 晶体管 集成电路 超大规模集成电路 发展路线及规律 速度慢 速度快 体积大容量小 体积小容量大 外设少、简单 外设繁多、复杂 二进制处理原则,软件从短小、精干、讲究效率到复杂可靠、兼容性强、结构性好,7,计算机软件,软件的概念 软件是:与一系统(尤指计算机系统)有关的程序、步骤和有关文件编制的完整集合。特指特定类型计算机所使用的程序的总称,连同与计算机或程序有关的资料,例如手册、图表和操作指令。 功能:针对一个系统(计算机),合理组织工作。 程序设计语言的发展 经历:机器语言,汇编语言,高级语言,面向对象语言 软件的发展:语言的发展-操作系统的出现-数据库的出现-网络的出现,8,数据结构、操作系统、数据库与软件工程,数据结构:描述数据及数据元素之间的关系,数据在计算机系统中的存储方式及数据的运算。 软件技术基础的基础 操作系统:方便用户有效利用各种软、硬件资源的程序的集合 建造工作环境、平台 数据库:可以共享相关数据,以一定组成方式的集合 进行数据信息处理的强大应用。 软件工程:软件设计的基本过程,思想和方法。,9,第一章算法,2019/3/31,算法的基本概念 算法设计的基本方法 算法的复杂度分析 C语言简介,10,算法的基本概念,算法的基本特征 (1)能行性 (2)确定性 (3)有穷性 (4)拥有足够的情报,算法是指解题方案的准确而完整的描述。,11,算法与程序,相同点:都是解决问题的方法和步骤 描述方法:程序使用程序设计语言 算法使用框图或其他语言 联系:程序用某种程序设计语言来实现算法,12,怎样表示一个算法,1、用自然语言表示算法 2、用流程图表示算法 3、用伪代码表示算法 4、用机器语言表示算法,13,算法设计基本方法,在数据结构中常见的问题 创建、插入、删除、更新、检索、排序 注意:每个问题都有一种和多种算法 找到效率最高的; 以最容易理解的方式设计; 设计的算法不容易出错或出错情况较少。,14,算法的基本要素,(1) 对数据对象的运算和操作: a). 算术运算,加、减、乘、除等运算; b). 逻辑运算,“与”、“或”、“非”等运算; c). 关系运算,“大于”、“小于”、“等于”、“不等于”等运算; d). 数据传输,主要包括赋值、输入、输出等操作; (2) 算法的控制结构,15,算法设计基本方法,列举法 基本思想:根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的。 特点:算法简单;工作量大,16,举例:设每只母鸡值3元,每只公鸡值2元,两只小鸡值1元。现要用100元买100只鸡,设计买鸡方案。,方案一 假设买母鸡i只,公鸡j只,小鸡k只。 procedure baiji for i=0 to 100 do for j=0 to 100 do for k=0 to 100 do m=i+j+k n=3i+2j+0.5k if(m=100)and(n=100) then output I,j,k return,方案二 procedure baiji for i=0 to 33 do for j=0 to 50-1.5i do k=100-i-j If(3i+2j+0.5k=100) then output I,j,k return,17,2、归纳法,基本思想 通过列举少量的特殊情况,经过分析,最后找出一般的关系。,18,2、递归法,基本思想 为了降低问题的复杂度,总是将问题组成分解,最后归纳为一个最简单的问题,当解决这个简单问题后,再沿着就原来分解的逆过程逐步进行综合,这就是递归。,19,例题:用递归方法求n!,递归公式表示:,20,程序,#include int main() int fac(int n); int n; int y; printf(“input an integer number”); scanf(“%d”, ,int fac(int n) int f; if(n0) printf(“n0,data error!”); else if(n=0|n=1) f=1; else f=fac(n-1)*n; return(f); ,21,减半递推技术,所谓“减半”,是指将问题的规模减半;所谓“递推”,就是重复减半的过程。,举例:设两个二阶矩阵为,需要8次乘法,两个矩阵相乘只需要7次乘法,22,回溯法,基本思想: 通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,对于每一步的试探,若试探成功,就得到问题的解,若试探失败,就逐步回退,换别的路线再进行试探。,23,1.3 算法的复杂度分析,算法的时间复杂度(算法的工作量) 采用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。 相关因素: (1)基本运算次数还与问题的规模n有关。算法的工作量=f(n) (2)当取决于某一个特性输入时,有两种方法来衡量工作量: 平均性态 最坏情况复杂性,24,举例:采用顺序搜索法,在长度为n的一维数组中查找值为x的元素,平均性态分析: 设需要查找的x出现在数组中每个位置上的可能性一样,概率为q/n,x不在数组中的概率为1-q,比较次数,平均情况下比较次数,25,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025通信安全员c类考试题库及答案
- 我与护理质量
- 传染病防控知识培训体会课件
- 威海海参知识培训中心课件
- 2025版吉林起重机械指挥考试题库必考点附答案
- 2025年云南省公务员考试行测真题试题及答案
- 2025年文物保护与修复职业资格考试题及答案
- 2025年全国特种设备安全管理人员A证考试题库及答案
- 传染病知识培训讲稿课件
- 企业薪酬结构设计与实施策略
- 安徽省合肥市庐阳区2024-2025学年九年级上学期第一次段考物理试卷(无答案)
- GB/T 44273-2024水力发电工程运行管理规范
- 2025电力建设工程绿色建造评价规范
- 职业技术学校《传感器技术与应用》课程标准
- 抖店员工账号劳动合同
- MOOC 野生动物识别与鉴定-南京森林警察学院 中国大学慕课答案
- 医学细胞生物学细胞的内膜系统
- 文化旅游项目策划案课件
- 矩阵论智慧树知到课后章节答案2023年下哈尔滨工程大学
- 拆除废旧电缆桥架施工方案
- 人教版九年级道德与法治 上册 第三单元《文明与家园》大单元整体教学设计
评论
0/150
提交评论