计算机基础06设计基础3学时.ppt
《计算机基础06设计基础3学时.ppt》由会员分享,可在线阅读,更多相关《计算机基础06设计基础3学时.ppt(105页珍藏版)》请在三一办公上搜索。
1、1,大学计算机基础,第一章 计算机与计算思维 第二章 数字计算基础 第三章 计算原理与计算机硬件系统 第四章 问题求解与软件系统 第五章 多媒体技术基础 第六章 程序设计基础 第七章信息管理与数据库 第八章计算机网络基础知识 第九章计算机安全,大学计算机基础,相传古代印度布拉玛神庙中有一个僧人,他每天不分白天黑夜,不停地移动那些圆盘,据说,当所有64个圆盘全部从一根杆上移到另一根杆上的那一天就是世界的末日。故汉诺塔问题又被称为“世界末日问题”。玩汉诺塔游戏看视频:,第六章 程序设计基础,可执行的程序,int i=0;/*移动圆盘数量计数器*/main()unsigned n;scanf(%d,
2、看程序演示,几个问题:,如何使问题变成程序?程序和软件有何不同?什么是好 程序?,第六章 程序设计基础,用计算机解题,6.1 程序与程序语言6.2 算法与算法设计6.3 程序设计风格,第六章 程序设计基础,计算机软件与程序程序设计语言程序设计全过程,第五模块 计算机程序设计基础 第一节 程序与程序语言 1.程序 2.程序设计与程序设计语言 3.程序设计语言的发展史及其分类 第二节 算法与算法设计 1.算法基本特征 2.算法表示 3.算法设计 第三节 结构化程序设计 第四节 基本算法,一、计算机软件与程序,10 R=520 L=2*3.14*R30 S=3.14*R*R40 PRINT R,L,
3、S50 END,软件,程序,语言,语言规则,计算机语言是编写程序、制作软件的工具,6.1 程序与程序语言,6.1 程序与程序语言,二、程序设计语言,面向过程语言面向对象语言,FORTRANBASICCPASCALCOBOLLISP,C+C#Visual C+Visual BASICVisual J+,程序设计语言是规则和符号的集合,用于编写计算机程序的语言,包含语法、语义和语用三个方面。程序设计语言的基本成分有:数据成分,用于描述程序所涉及的数据;运算成分,用以描述程序中所包含的运算;控制成分,用以描述程序中所包含的控制;传输成分,用以表达程序中数据的传输,6.1 程序与程序语言,6.1 程序
4、与程序语言,计算机语言:是规则和符号的集合,是与计算机交流的工具程序:求解问题的指令序列软件:程序的集合,学习语言 设计程序 制作软件,概念:,00000000 1011100000000000 0010010100000000 0000010100000000 01010100,A=37+84,第一代:机器语言 二进制机器指令,机器能直接执行。,送数到AX寄存器被加数 37加法加数 84,程序设计语言的发展,6.1 程序与程序语言,MOV AX,37 送数37到AX寄存器 ADD AX,84 AX寄存器内容+84送到寄存器AX,第二代:汇编语言 用符号代替机器语言,需要翻译。,6.1 程序与
5、程序语言,A=37+84,第三代:高级语言 英语和数学语言代替机器语言,需要翻译。,A=37+84,第三代:高级语言 英语和数学语言代替机器语言,需要翻译。,6.1 程序与程序语言,计算机语言分类,BASIC 语言 为初级编程者设计,1964年问世。大多数版本是解释执行,易学易用。如GWBASIC、QBASIC、Visual Basic等。其中Visual Basic功能强大。,面向过程语言 面向过程程序设计需要明确规定每个操作步骤和细节。,6.1 程序与程序语言,FORTRAN 语言 适合于数值计算,早期版本主要考虑高精度数字计算,不太关注对计算结果的表达形式。新的FORTRAN版本增强了字
6、符处理和图形功能。,Pascal 语言 其简洁明了结构化,具有丰富的数据结构和控制结构,为程序员提供了极大的方便性与灵活性,同时它特别适合微计算机系统。,第五模块 计算机程序设计基础,第一节 概述,6.1 程序与程序语言,COBOL 语言 通用商务对象处理语言,美国海军上将Grace Hopper于上世纪60年代设计,主要用于开发大型商务程序,COBOL程序通常很长,但可读性好,便于调试和维护。,LISP 语言 开发于1960年,一般用于人工智能专家系统的开发,擅长对字符数据进行复杂的逻辑处理。,第五模块 计算机程序设计基础,第一节 概述,6.1 程序与程序语言,C语言 1970年美国Bell
7、实验室的KThompson发明B语言,用于开发UNIX操作系统。1972年,他的同事DRitchie改进B语言,使之不仅适用于系统软件的开发,也与其他高级语言一样适宜开发应用软件,命名为C语言。其主要特点是能进行系统软件的开发,可以直接寻址,故被称为高级汇编语言,开发的程序具有较高的效率。,第五模块 计算机程序设计基础,第一节 概述,6.1 程序与程序语言,面向对象语言面向过程的程序中,数据与对数据的加工是分离的,与现实世界事物的特性不符。面向对象技术直接描述客观世界的对象及其相互关系。对象是封装了数据和操作的程序块。面向对象程序设计就是设计对象(数据和操作)和安排对象完成所需任务,同一对象可
8、以用在不同的程序中。,第五模块 计算机程序设计基础,第一节 概述,6.1 程序与程序语言,Simula 67被认为是最早的面向对象程序设计语言,它引入了所有后来面向对象程序设计语言所遵循的基础概念:对象、类、继承。C+JAVA C+Visual BASIC(可视化)Visual J+Visual FoxPro,第五模块 计算机程序设计基础,第一节 概述,6.1 程序与程序语言,6.1 程序与程序语言,三、程序设计全过程,分析问题,建立数学模型确定数据结构确定算法,描述算法编制程序,调试程序运行结果,6.1 程序与程序语言,1.程序设计过程:,语言处理系统,程序实例:,#include grap
9、hics.h#include bios.h#include“stdio.h“/*预处理*/main()/*函数体 函数名*/int n,x=100,y=100,k=1,m=1,driver,mode;long i;/*定义变量*/detectgraph(,6.1 程序与程序语言,计算机执行的指令,6.1 程序与程序语言,高级语言的源程序,目标程序(机器语言),机器语言的可执行指令,其他程序(机器语言),6.1 程序与程序语言,2.程序的开发过程,6.1 程序与程序语言,6.1 程序与程序语言,计算机的别名:数据处理机数据元素:数据的最小单位数据结构:数据元素的组织形式,程序设计数据结构算法方法
10、工具,数据结构的优劣决定了 软件或程序的复杂程度和面貌,一个程序应包括两个方面的内容:,对数据的描述:数据结构对操作的描述:算法,完整的程序设计应该是:,3.程序语言的基本构成,字符集,变量、常量,运算符、运算规则,流程控制,程序结构,6.1 程序与程序语言,数 字:0 1 2 3 4 5 6 7 8 9 字 母:a b c z A B C Z 运算符:+-*/%=!=特殊符号:_(下划线)回车(r)换行(n)制表符(t)其它转义字符,6.1 程序与程序语言,字符集,6.1 程序与程序语言,数据描述,算术运算符 2.关系运算符 3.逻辑运算符 4.位运算符 5.赋值与赋值组合运算符 6.自增自
11、减运算符7.其它运算符,6.1 程序与程序语言,运算,switch(表达式)case 常量1:语句序列1 case 常量2:语句序列2 default:语句序列n+1,if(表达式)语句1;else 语句2;,while 语句for 语句do-while 语句break 语句continue 语句goto 语句,6.1 程序与程序语言,流程,6.1 程序与程序语言6.2 算法与算法设计6.3 程序设计风格,第六章 程序设计基础,算法基本特征算法表示算法设计,一、什么是算法,算法是为解决问题而采取的方法和步骤。,决定了算法的执行顺序,算术运算、逻辑运算、比较运算和数据传送,第五模块 计算机程序设
12、计基础,第二节 算法,6.2 算法与算法设计,举例:插入排序法问题,有一个从小到大的数值序列,将一个新数插入到序列中。,24,?,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,12,19,26,37,48,5,9,24,24,举例:插入排序法问题,有一个从小到大的数值序列,将一个新数插入到序列中。,24,24,24,24,24,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,算法:开始 i=1 新数与序列第i个元素比较 如果(新数比第i个元素大)i 加 1 如果(i大于m)执行步骤 否则 执行步骤 否则 执行步骤 从第i到第m个元素后移一个位置 将新数
13、置于序列第i个位置 结束,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,二、算法的基本特征,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,算法设计的原则,1、正确性:对于一切合法的输入数据都能得出满足要求的结果。,2、可读性:算法应该易理解,便于交流,3、健壮性:当输入非法数据时,算法应恰当地作出反应或进行相应处理。,4、高效率与低存储量需求:算法执行时间较少,算法执行所需存储空间较小。,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,三、算法的表示,流程图 N-S流程图 伪代码 PAD码,第五模块 计算机程序设计基础,第二节 算
14、法,6.2 算法与算法设计,1.流程图,用规定的一系列图形、流程线和文字说明算法中的基本操作和控制流程。流程图的基本元素包括:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,(1)图形符号,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,(2)用流程图表示算法,例:求给定半径R的圆面积和圆周长。,这是一个数学问题。算法:圆面积 S=*R2圆周长 L=2*R这是顺序程序结构。,顺序,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,例:求给定数R的绝对值。,选择,这是分支程序结构,
15、第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,T里保存:1+2+3+K的连加和。重复进行某种运算,运算对象有规律地变化。采用循环结构。,例:给定K值,求1到 K连加和。T=1+2+3+K。1 I 0 T T+I T(I=1,2,3,K),循环,6.2 算法与算法设计,2.NS图,由于流程图中的流程线可以任意转向,所以传统流程图无法保证程序的结构化,造成了程序设计中的一系列问题。两位美国学者Nassi 和Shneiderman于1973年提出了表示程序结构的N-S图。,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,(1)图形符号,第五模块 计算机程序设
16、计基础,第二节 算法,顺序结构,6.2 算法与算法设计,第五模块 计算机程序设计基础,第二节 算法,选择结构,6.2 算法与算法设计,第五模块 计算机程序设计基础,第二节 算法,循环结构:while循环,6.2 算法与算法设计,第五模块 计算机程序设计基础,第二节 算法,循环结构:do-while循环,6.2 算法与算法设计,(2)用N-S流程图表示算法,例:求给定半径R的圆面积和圆周长。,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,选择,例:求给定数R的绝对值。,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,例:给定K值,求T=1+2+3+K。,
17、循环,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,3.伪代码,伪代码是描述算法常用的工具之一;类似英语的表示形式;部分英语和部分结构化代码的组合。,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,伪代码描述算法的一般组成:,算法头:算法的名字。目的、条件和返回值:目的:有关算法要做什么的简短说明 前置条件:列出算法所有前驱条件 后置条件:指出算法产生的影响 返回值:算法返回的结果或无返回值 语句序号:表示语句之间的附属关系。,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,例:用伪代码描述在一数列中找最小值的算法。,Algorit
18、hm(算法):Finding SmallestPurpose(目的):在一数列中找最小值Pre(前置条件):List of numbers(数列)Post(后置条件):NoneReturn(返回值):The smallest,3,2,4,1,6,a:,S,3,2,1,算法:设数列中第一个数为最小值S,然后用后续数依次与S比较,若比S小,则用该数替换原S的值,全部比较完成后S即最小值。,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,1.Set smallest to the first number2.Loop(not end of list)2.1 if(next num
19、ber smallest)2.2.1 set smallest to next number 2.2 end if3.end loop4.return smallestEnd Finding Smallest,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计,1.数列ai(i=1,5)2.a1 S,2 i3.while(i5)3.1 if(aiS)then ai S endif 3.2 i+1 i end while 4.return S,伪代码不一定按上述严格的格式,且可以使用汉字,只要把算法表达清楚即可。,第五模块 计算机程序设计基础,第二节 算法,6.2 算法与算法设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 基础 06 设计 学时
链接地址:https://www.31ppt.com/p-6023553.html