《计算机程序设计.ppt》由会员分享,可在线阅读,更多相关《计算机程序设计.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1,计算机程序设计,自动化系,凌强,2,教师及助教介绍,教师:凌强, 电二楼217,3600504助教(信息学院): 贾非, 贾禄芝, ,教学的主体是各位同学。,3,1、关于本课程,教学:60学时; 实验/上机: 40学时学分: 4上课时间:2(7,8)、4(9,10) 上机实验: 3晚上(从9月26日开始)作业:交书面作业:每周二上课前上机作业的程序由助教当场验收记录(起合适的文件名)考试:期末全校统考,4,如何学好本课程,实践,实践,再实践!,5,程序设计语言:C语言,6,高校计算机基础教育三个层次,结合本专业的计算机应用相关课程。如自动化系开设课程:计算机控制,系统仿真、模式识别、人工智
2、能,1. 计算机文化基础,2. 计算机技术基础,3. 计算机应用基础,软件:数据结构、数据库、计算机网络、操作系统;硬件:微机原理、接口技术、单片机,计算机文化基础、C语言程序设计,7,2、计算机的一些秘密,计算机并不神秘 - 无处不在的计算机 办公、家用微型计算机(PC):台式计算机;笔记本科学与工程计算:大型机、小型机工业控制:特种计算机通信、娱乐、消费电子:手机、相机、游戏机、汽车导航。计算机并不聪明 - 其实是“电子傻瓜”它只会严格按我们的思想去执行,没有自己的心智所有的“傻瓜”都做同样的事情,速度有快有慢我们需要做的就是,如何把难的问题分解成“傻瓜”能理解的步骤。,8,微型计算机组成
3、,显示器、打印机(输出设备)键盘、鼠标(输入设备)主机,硬盘、光驱、内存(存储设备)主板(数据、命令的通道)CPU(大脑,计算、命令其它设备)其它设备,9,微型计算机结构,(外)存储器,(内)存储器,中央处理器(CPU),控制器,输入设备,输出设备,数据流地 址控制流,运算器,运算器:数学、逻辑运算控制器:控制各个设备,真正的大脑,10,“冯.诺依曼”计算机原理,二进制编码表示数据和程序。程序及数据预先放入计算机中,计算机自动从内存中逐条取指令、执行指令。运算器、控制器、存储器、输入设备、输出设备组成计算机。,二进制:信息变量为0/1,bit(位),例如:,11,存储器结构,内存按字节编址,2
4、000200120022003.,字节(Byte)1B=8bit1KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB,字长:计算机一次能存取多少个字节。,12,计算机基本工作原理,指令:计算机能完成的基本操作指令系统:指令的集合程序:指令序列程序设计语言:产生指令序列的一种方法,00000001000000001000 (load 0 a) 00000001000100001010 (load 1 b)00000101000000000001 (mult 0 1),a*b,13,操作系统,裸机-只能接收指令组成的指令序列。简单的功能(如屏幕显示)可
5、能需要一长串指令序列。一些功能具有通用性。,指令1,指令N,指令M,指令M+P,屏幕显示,键盘输入,裸机,操作系统(库函数),用户,用户软件,14,计算机系统的层次结构,硬件:裸机;软件:系统软件、应用软件。,15,3、计算机程序设计语言的发展:机器语言-高级语言,机器语言程序,0101100111010011001100,汇编语言程序(符号语言),高级语言程序,#include “stdio.h”void main() printf(“Hello!n”);,一一对应,16,高级语言(通用计算机程序设计语言)或算法语言, 与机器语言和汇编语言比易懂易学。P4用高级语言编写的程序叫源程序源程序要
6、通过一种翻译程序将其翻译成计算机能直接执行的机器指令程序。,A) 解释型高级语言 解释程序对用户源程序边解释边执行。图1-17,17,C(编译型高级语言)程序处理过程,ex1.c ex1.obj ex1.exe,应用程序,磁盘文件,18,4、计算机文件系统,文件:所有存储在磁盘上的程序或数据等。文件名:为区别不同文件,对每个文件取不同的名称, 形为“文件名.扩展名”,其中扩展名表示文件类型。文件目录:以树形目录结构管理磁盘文件。完整路径:指出文件在树形目录中的位置。如:驱动器盘符:子目录名相对路径:子目录名(=当前路径子目录名),19,文件系统的树形结构,A1.EXE的全路径 c:ccedus
7、era1.exe,文件名.扩展名,20,5、计算机数制,例子:,(123.45 )10 = 110221013100410-1510-2,(101101.11) 2 = 1250241231220211202-112-2= 32 + 0 + 8 + 4 + 0 +1 + 0.5 + 0.25 = (45.75)10,21,整数部分(除R取余,R2)不断被2整除,得商和余数,直到商为0止,然后倒排余数即是转换结果。小数部分(乘R取整)连续乘以2,直到小数部分为0或达到要求精度为止。将结果的整数部分(按精度要求)转换成二进制数,十进制二进制,(108.3125 )10=(1101100.0101)
8、2,22,二进制八进制,整数部分从小数点开始,向左,3位一组;最左边一组不足3位,在前面添0。,(1101100.0101)2=(001,101,100.010,100)2 = (154.24)8,(1101100.0101)2=(0110,1100.0101)2 = (6C.5)16,二进制十六进制,小数部分从小数点开始,向右,3位一组;最右边一组不足3位,在后面添0。,不同数制的整数表示:8进制以0打头,16进制以0x打头,10进制不能以0打头。,23,整数的表示:原码、反码、补码,例子:用16位表示一个整数,原码:,10,-10,反码:,补码:,原码符号位为1时,除符号位其余各位按位取反
9、,反码符号位为1时,该数的反码加1。,正数的原码、反码和补码相同。,符号位,有效数字位,24,基于补码的运算,做两次补码运算,得到原码, X 补 补= X 原,25,补码的加减法公式:, X + Y 补 = X 补 + Y 补, X Y 补 = X 补 + Y 补,(-10)+(-12)=?10-12=10+(-12),26,实数的表示,维数+阶码的表示方法,阶码和尾数常用补码表示|尾数|=1.xxx(由于第一个1是确定的,实际的小数只是1后的.xxx)存在表示误差,浮点数(4字节)的表示,1.6-1.599999904632568,误差:9.5367e-8,27,6、计算机程序与算法,编程=
10、算法+数据结构+程序设计语言,算法: 解决问题的具体步骤;数据结构: 数据间的组织形式和结构关系;程序设计语言:具体实现,解决问题。,28,算法:做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤称为算法。计算机算法:计算机能够执行的算法。可分为两大类:数值运算算法:求解数值;非数值运算算法:事务管理领域。算法是程序的灵魂,29,简单算法举例:求n! (n0 )【例1】求12345。最原始方法:步骤1:先求12,得到结果2。步骤2:将步骤1得到的乘积2乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。这样的算法虽然正确,但太繁。,30,改进的算法:求1
11、2345S1: 使t=1S2: 使i=2S3: 使ti, 乘积仍然放在在变量t中,可表示为titS4: 使i的值+1,即i+1iS5: 如果i5, 返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。如果计算100!只需将S5:若i5改成i100即可。,31,算法的表示,除了很简单的问题,一般不用自然语言表示算法。用流程图表示算法 :直观形象,易于理解。 一个流程图主要包括:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。,32,计算5!,33,判断闰年,34,算法流程图的基本结构,顺序结构:,35,选择结构:,36,循环结构:,37,三种基本算法结构的共同特点,只有一个入口只有一个出口结构内每一部分都有机会被执行到结构内不存在“死循环”,自学N-S图。,38,作业(第37页),4、5、7算法:9、10,