版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,计算机程序设计基础,授课教师:吴文虎 (教授) 上课地点:第三教室楼 上机实验:东主楼Intel机房,2,一、教学对象 计算机科学与技术系新生(第一学期) 二、教学目标 程序设计的重要性 程序设计的基本概念与基本方法 编程解题的思路与典型方法 数学模型简介 算法及算法步骤 程序结构与相应语句 编码与上机调试,3,三、教学重点 程序设计的基本概念,基本方法; 在 C/C+语言的环境下,学会如何针对问题进行分析,构建数学模型,寻找算法并编程实现; 有条有理有根有据的编程实践; 养成良好的编程风格与习惯; 重在思维方法的学习,鼓励创新。,4,四、指导思想1. 立足改革,人的认识要随着时代的前进
2、而不断深化,在新的形势和环境下,教学要突 破传统观念和传统模式,也要追求高效和完美, 以培养高素质有创造精神的人才为这门课的教 学目标。2. 以学生为中心 学生是教学的主体,安排教学首先须考虑培养目标、学生的认知规律和学习特点。 教学的每一个环节都要顾及学生的实际情况,要有利于调动学生学习的积极性,引导学生主动学习。,5,3. 强化实践 程序设计是高强度的脑力劳动,实践性极强,不是听会的、也不是看会的,而是练会的。要让学生充分上机动手编程。这可能与以往的教学安排最大的不同之处。 4. 鼓励和引导探索式的学习 按照建构主义的学习理论,学生(作为学习的主体)是在与客观环境(所学内容)的交互过程中构
3、建自己的知识结构的。引导学生在解题编程的实践中探索其中带规律性的认识,将感性认识升华到理性的高度。,6,5. 突出重点 重点放在思路、算法、编程构思和程序实现上。语句只是表达工具,强调抱西瓜,不拣芝麻。重在训练利用计算机编程手段分析问题和解决问题的能力。 6. 养成良好的编程习惯 强调可读性; 变量要加注释; 程序构思要有说明; 学会如何调试程序; 尽可能优化; 对运行结果要做正确与否的分析。,7,7. 考试方法 不纸上谈兵,不搞笔试,不考死记硬背的东西 上机解题,自动测试 不计失败,只计成功 正在建立试题库,题目随机抽取 8. 学习方法 动手动脑,在理论指导下实践 注重学习思路,总结思路 倡
4、导:做学问,要又学又问 倡导:“自学、动手、应用、上网” 倡导:实践出真知。在编写大量程序之后,才能感到运用自如。,8,9. 学习心态 “自立、自信、自尊、自强” 要有战胜困难的勇气和信心 要求做到越学越会充满信心,9,五、教学内容安排 概论:程序设计的基本概念与基本 方法;怎样才能学好这门基础课 2. 程序的基本结构 3. 编程关键:逻辑思维与问题求解 人是怎样让计算机帮助自己解题的 4. 数据的组织方式一:数组 5. 模块化:函数与函数调用,10,6. 分治思想:递归算法及其实现 7. 逻辑指代与物理指代:指针 8. 数据的组织方式二:结构 9. 蒙特卡洛法 10.贪心法 11.动态规划,
5、11,12. 数据的组织方式三:链表与树 13.数据的组织方式四:文件,数据的 永久存储与重复使用 14.面向对象程序设计的概念及特点,12,第 一 章 功能强大的计算器,13,假如你是一个初学者,对在C+语言环境下如何编程一无所知,这里先给你搭一个台阶,教你构造一个功能强大的计算器,所谓功能强大是说 (1)数学计算式子可以很复杂; (2)计算速度极快。,学 习 目 标,14,内 容 要 点,I/O流与插入、抽取操作符 算术运算符号 进入和退出 C+环境 常用数学函数,15,C+程序结构,C+源代码一般都由若干函数和类组成。为了便于管理,一般把不同功能的函数和类放在不同的文件中,对于类的声明和
6、实现也分别放在对应的.h(或.hpp)和.cpp文件中。 由于文件较多,所以为了便于管理,一般的集成开发工具都会提供工程(Project)管理功能来管理这些文件,对源文件进行编译和链接。,16,17,【任务1.1】计算下列三角函数的值,1.1 进入VC+环境,写程序代码,为了完成任务1.1 先要进入VC集成环境,1、进入VC集成环境有两种办法 (1)双击 VC 图标,18,用鼠标双击“桌面”上的VC图标,进入环境,图 1.1,19,用鼠标点击“开始” 菜单(图1.2) 将鼠标上移至“程序(p)” 然后将鼠标水平右移,在下一级菜单中将鼠标移至“Microsoft Visual studio 6.
7、0” 再将鼠标右移至下一级菜单上,将鼠标上下移动到“Microsoft Visual C+ 6.0”上,单击鼠标左键会出现图1.3,这就是我们编程时要用到的环境。,(2)从开始菜单进入,20,图 1.2,21,图 1.3,22,图 1.4,File 菜单:文件操作等,23,图 1.5,Edit 菜单:编辑查找,24,图 1.6,View 菜单:窗口设置等,25,图 1.7,Insert 菜单:资源加入等,26,图 1.8,Project 菜单:工程管理等,27,图 1.9,Build 菜单:编译链接调试,28,图 1.10,Tools 菜单:调试工具、系统配置等,29,图 1.4,图 1.11
8、,Window 菜单:窗口管理,30,图 1.12,Help 菜单:帮助信息,31,见演示,2. 建立工程和文件,3. 编译和链接,32,/ * / * 程 序:YW1_1.cpp * / * 功 能:任务1.1计算三角函数的值 * / * sin(20)cos(20)-cos(10)/tan(10) * / * * / * 作 者:俞玮 * / * 时 间:2002年6月4日 * / * * / * 修 改:张三 * / * 时 间:2002年9月13日 * / * #include / 预编译命令 #include / 预编译命令 void main()/ 主函数 / 主函数开始 / 计算
9、三角函数式并输出 cout sin(20.0/180*3.14159)* cos(20.0/180*3.14159)- cos(10.0/180*3.14159)/ tan(10.0/180*3.14159) endl; / 主函数结束,1.2 任务1.1计算三角函数程序代码的说明,33,1、 以符号“#”开头的行,称为编译予处理行。 2、 “#include” 称为文件予处理命令。 3、“ #include ”这条命令是让文件“iostream .h”的内容包含到新建的程序中去。 4、 iostream.h 是C+系统定义的一个 “头文件”,在这个头文件中设置了C+的输入/输出 ( I /
10、O ) 相关环境,定义了输入流 cin 和输出流 cout 对象。,说 明,34,5、“#include”,这条命令是让系统中已经有的常用的数学函数包含到新建的程序中去。有了它你才能使用正弦、余弦函数的公式。 6、main( ) 是每一个C+程序都必须有的,称为主函数。你可以把它看成是程序的入口。在 main 面前的 void 表示我们写的这个主函数 main( ) 没有返回值,即它不代表计算出来的是什么值,它仅仅是规范了完成计算器所作的一系列步骤,这些步骤用花括号 括起。,35,关于 main( ) 主函数的详细说明将在第二章中介绍。在这个计算三角函数的程序中实际上只有一行代码,开头是 ou
11、t ,中间是三角函数算式,结尾是 endl。按照这种模式,两头不动,你只要改变中间部分就可以计算任何算式(当然是 math.h 支持的才行) 这里 cout是系统的关键字,代表标准输出的流设备,其后的符号 表示输出操作,可将其右侧的数据送至显示器上。在这个程序中“cout ”的右侧就是三角函数算式的数值。“endl ”表示在屏幕显示计算结果之后,换一行。,36,1.3 I/O流与插入、抽取操作符,在C+ 中引入术语 stream(流),指的是来自设备或传给设备的一个数据流。 cout表示输出流对象,它是输入输出流库的一部分。与cout 相关联的设备是显示器。在程序中有了关联字cout 就有了将
12、数据流传到显示器的条件,这时用插入操作符“ ” 将其后的数据插入该流中去。比如下面的两条语句 cout“welcome to Tsinghua”; coutendl;,37,可以用图1.8来说明,放在引号“ ”中的字符串welcome to Tsinghua 是要给显示器设备的数据,用插入操作符将其传至显示设备上。 endl 字符串之后插入回车,直接将字符串写到屏幕上。,图 1.8,显示器,38,插入操作符可以把多个输出数据组合或级联成单个的输出语句。比如下面的语句: cout “Welcome to Tsinghua,” “ I am a student.” endl; 这时屏幕上显示 We
13、lcome to Tsinghua, I am a student.,39,cin 表示输入流对象,它也是输入输出流库的一部分,与 cin 相关联的输入设备是键盘,当我们从键盘输入字符串时,形成了输入流(数据流),用提取操作符 将数据流存储到一个事先定义好的变量中,比如下面两条语句:float x;cin x;第一条是定义了一个浮点数类型的对象:变量x。第二条是用键盘敲入一个带小数点的数,比如3. 14159。,40,图 1.8 描述了提取输入流的示意图有关什么是变量,如何从键盘输入数据的内容放到下一章去讲。,图 1.8,41,1.4 注释及其重要性,注释(comments)是非常重要的一种机
14、制。没有注释的程序不能算作合格的程序。 要建立这样的观念:程序是给人编的,让人家看懂是第一位重要的事情。特别是将来你可能参加一个团队,几十人甚至几百人一起合作编程,相互协同,更需将注释写得清清楚楚、明明白白,因此,我们规定程序中须有如下内容,42,注 释 内 容,程序名称 程序要实现的功能,比如要完成什么数学运算 程序的思路和特点 编程的人与合作者 编程的时间,修改后的第几版本 其它 对初学者,希望每条语句都加上注释,要求注明这条语句是做什么用的,43,1.5 算朮运算符,在C/C+ 中基本的算术运算符有五个,分别为 加 + 乘 * 减 - 除 / 求余 % cout 21 % 4 endl;
15、输出是1,44,1.6 数学函数,C+提供几百个数学函数,放在函数库中,这里只介绍最常用的13个函数。 1、求绝对值函数 (1) 函数原型为 int abs ( int x ) 自变量为整数,函数值也为整数。 例 abs (-415 ) = 415,45,(2) 函数原型为 long labs ( long x ) 自变量为长整数,函数值也为长整数。 例 labs(-41576)=41576,46,(3) 函数原型为 double fabs ( double x ) 自变量为双精度实数,函数值也为双精度实数。 fabs (-3.14159)=3.14159,47,2、正弦函数 函数原型为 do
16、uble sin ( double x ) 自变量和函数均为双精度实数。其中x为弧度值。 例 sin (3.1415926535/2)=1,48,3、反正弦函数 函数原型为 double asin ( double x ) 自变量和函数均为双精度实数。 例 asin (0.32696)=0.333085 这里的 asin(x) 就是数学中的 arcsin(x),49,4、余弦函数 函数原型为 double cos ( double x ) 自变量和函数均为双精度实数。 例 cos (3.1415926535/2) =4.48966e-011 注意cos(/2 )的只由于是近似值算出的余弦值不为
17、0,但十分接近0,该值是 4.4896610,50,5、反余弦函数 函数原型为 double acos (double x ) 自变量和函数均为双精度实数。 例 acos (0.32696)=1.23771 这里的acos(x)就是数学中的arccos(x),51,6 、正切函数 函数原型为 double tan ( double x ) 自变量和函数均为双精度实数。 例 tan (3.1415926535/4)=1,52,7、反正切函数 函数原型为 double atan ( double x ) 自变量和函数均为双精度实数。 例 a tan (-862.42)=-1.56964,53,8、计算 函数 函数原型为 double exp ( double x ) 自变量和函数均为双精度实数。 例 exp(1)=2.71828 exp(2.302585093)=10,54,9、 计算 函数 函数原型为 double log ( double x ) 自变量和函数均为双精度实数。 例 log( 2.71828 ) = 0.999999,55,10、计算 函数 函数原型为 double log10 ( double x ) 自变量和函数均为双精度实数。 例 log10(10)=1,5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理记录单书写技巧与案例分析分享
- 2026年高中地理总复习讲解-动物与地理环境
- 2026年公共数据授权运营标准与绩效评估体系建设
- 2025年全球UAM市场规模657亿元与2030年1296亿元预测
- 2025年前台服务技能测试
- 2026年公共数据授权运营情况纳入审计监督的对接机制建设
- 2026年运动想象稳态视觉诱发电位P300事件相关电位解码范式对比
- 2026年失效分析技术在芯片良率提升中的应用
- 植物护肤抗衰老护理
- 2026年完善法律与伦理双重规制机制数据安全管理顶层设计
- 社区团购背景下生鲜供应链成本管理研究
- 2026年抚州幼儿师范高等专科学校单招职业技能考试必刷测试卷完美版
- 2026届高考英语高频固定短语搭配(共1000个)
- 管理学实战案例分析题及答案解析
- 失能老人照护培训
- 2026年海南软件职业技术学院单招综合素质考试必刷测试卷及答案1套
- 2026年宁夏石嘴山市单招职业适应性测试必刷测试卷必考题
- 2026年二级建造师之二建水利水电实务考试题库300道带答案(培优a卷)
- 《计算机机械图形绘制》课件
- DNA相关基础知识培训课件
- 矿井通风安全毕业论文
评论
0/150
提交评论