欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第1章程序设计基础知识.ppt

    • 资源ID:69825006       资源大小:171.50KB        全文页数:30页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第1章程序设计基础知识.ppt

    第第1 1章章 程序设计基础知识程序设计基础知识主要内容:1、程序设计概述(理解)n n程序、程序设计语言的概念n n程序设计的一般过程n n如何学习程序设计2、算法(熟悉)3、结构化程序设计方法(了解)1.1 程序设计概述程序设计概述一、概念:一、概念:1 1、程序:程序:程序:程序:程序是为解决某一问题而编写的语句序程序是为解决某一问题而编写的语句序程序是为解决某一问题而编写的语句序程序是为解决某一问题而编写的语句序列。通俗的说,将解决一个实际问题的具体操列。通俗的说,将解决一个实际问题的具体操列。通俗的说,将解决一个实际问题的具体操列。通俗的说,将解决一个实际问题的具体操作步骤用某种计算机语言描述出来,就形成了作步骤用某种计算机语言描述出来,就形成了作步骤用某种计算机语言描述出来,就形成了作步骤用某种计算机语言描述出来,就形成了程序。程序。程序。程序。例如:判断输入的任意整数例如:判断输入的任意整数例如:判断输入的任意整数例如:判断输入的任意整数n n能否被能否被能否被能否被3 3整除,整除,整除,整除,程序如下:程序如下:程序如下:程序如下:main()main()int int n;n;printf printf(n enter a integer:);(n enter a integer:);scanf scanf(%d,&n);(%d,&n);if(n%3=0)if(n%3=0)printf printf(n%d can be(n%d can be divided by 3,n);divided by 3,n);else else printf printf(n%d cant be divided(n%d cant be divided by 3,n);by 3,n);2 2、程序设计语言:即计算机语言、程序设计语言:即计算机语言、程序设计语言:即计算机语言、程序设计语言:即计算机语言 分类:分类:分类:分类:机器语言:用计算机能直接理解和执行的机器语言:用计算机能直接理解和执行的机器语言:用计算机能直接理解和执行的机器语言:用计算机能直接理解和执行的“0”“0”和和和和“1”“1”表示各种操作的程序设计语言,很难使用。表示各种操作的程序设计语言,很难使用。表示各种操作的程序设计语言,很难使用。表示各种操作的程序设计语言,很难使用。汇编语言:用助记符号来表示各个基本操作的程序设汇编语言:用助记符号来表示各个基本操作的程序设汇编语言:用助记符号来表示各个基本操作的程序设汇编语言:用助记符号来表示各个基本操作的程序设计语言计语言计语言计语言 ,如,如,如,如 add r1,4add r1,4高级语言高级语言高级语言高级语言:用接近自然语言和数学语言的语法符号描用接近自然语言和数学语言的语法符号描用接近自然语言和数学语言的语法符号描用接近自然语言和数学语言的语法符号描述基本操作的程序设计语言述基本操作的程序设计语言述基本操作的程序设计语言述基本操作的程序设计语言 本课程主要介绍:本课程主要介绍:本课程主要介绍:本课程主要介绍:CC+VC+C#CC+VC+C#系列中的基础部分:标准系列中的基础部分:标准系列中的基础部分:标准系列中的基础部分:标准C C,然后引入然后引入然后引入然后引入C+C+的基础知的基础知的基础知的基础知识。识。识。识。二、程序设计的一般过程二、程序设计的一般过程n n用计算机解决问题的基本过程如图1.1所示:对于简单问题,前三步可看作一步,即分析问题、设对于简单问题,前三步可看作一步,即分析问题、设计算法。计算法。程序设计的基本过程(1)(1)分析要解决的问题,明确任务。分析要解决的问题,明确任务。分析要解决的问题,明确任务。分析要解决的问题,明确任务。即分析要处理的数据是什么,从哪里来,作怎样的即分析要处理的数据是什么,从哪里来,作怎样的即分析要处理的数据是什么,从哪里来,作怎样的即分析要处理的数据是什么,从哪里来,作怎样的处理,结果送往那里。处理,结果送往那里。处理,结果送往那里。处理,结果送往那里。例如:求学生的平均成绩。例如:求学生的平均成绩。例如:求学生的平均成绩。例如:求学生的平均成绩。n n分析该问题,明确它有三项功能:分析该问题,明确它有三项功能:分析该问题,明确它有三项功能:分析该问题,明确它有三项功能:输入学生成绩、求平均成绩、输出结果;输入学生成绩、求平均成绩、输出结果;输入学生成绩、求平均成绩、输出结果;输入学生成绩、求平均成绩、输出结果;要处理的原始数据为:学生的成绩;要处理的原始数据为:学生的成绩;要处理的原始数据为:学生的成绩;要处理的原始数据为:学生的成绩;要进行的处理为:求平均;要进行的处理为:求平均;要进行的处理为:求平均;要进行的处理为:求平均;结果为:平均值,送屏幕显示或保存于文件中。结果为:平均值,送屏幕显示或保存于文件中。结果为:平均值,送屏幕显示或保存于文件中。结果为:平均值,送屏幕显示或保存于文件中。(2 2)分析问题,建立数学模型,并选择合适的解决方案)分析问题,建立数学模型,并选择合适的解决方案)分析问题,建立数学模型,并选择合适的解决方案)分析问题,建立数学模型,并选择合适的解决方案 例如:分析求平均成绩的处理过程,可以将数据的具体含义例如:分析求平均成绩的处理过程,可以将数据的具体含义例如:分析求平均成绩的处理过程,可以将数据的具体含义例如:分析求平均成绩的处理过程,可以将数据的具体含义去掉,抽象为:计算一批数据的平均值。去掉,抽象为:计算一批数据的平均值。去掉,抽象为:计算一批数据的平均值。去掉,抽象为:计算一批数据的平均值。(3 3)确定数据结构和算法)确定数据结构和算法)确定数据结构和算法)确定数据结构和算法 :数据结构及数据的组织方式,:数据结构及数据的组织方式,:数据结构及数据的组织方式,:数据结构及数据的组织方式,算法是对数据处理过程的具体描述。不同的数据结构对应算法是对数据处理过程的具体描述。不同的数据结构对应算法是对数据处理过程的具体描述。不同的数据结构对应算法是对数据处理过程的具体描述。不同的数据结构对应不同的算法。不同的算法。不同的算法。不同的算法。例如:有一堆盒子,上面有编号(设编号为两为数字),要例如:有一堆盒子,上面有编号(设编号为两为数字),要例如:有一堆盒子,上面有编号(设编号为两为数字),要例如:有一堆盒子,上面有编号(设编号为两为数字),要查找某个编号的盒子,如何实现?查找某个编号的盒子,如何实现?查找某个编号的盒子,如何实现?查找某个编号的盒子,如何实现?方法方法方法方法1 1:若该堆盒子已排成一队,则可以从第一个开始逐个:若该堆盒子已排成一队,则可以从第一个开始逐个:若该堆盒子已排成一队,则可以从第一个开始逐个:若该堆盒子已排成一队,则可以从第一个开始逐个比较,直至找到或找完为止。比较,直至找到或找完为止。比较,直至找到或找完为止。比较,直至找到或找完为止。方法方法方法方法2 2:若该堆盒子已按编号排成多队,每一队的高位数字:若该堆盒子已按编号排成多队,每一队的高位数字:若该堆盒子已按编号排成多队,每一队的高位数字:若该堆盒子已按编号排成多队,每一队的高位数字相同,则可以根据要找的盒子的高位直接确定他在那一队,相同,则可以根据要找的盒子的高位直接确定他在那一队,相同,则可以根据要找的盒子的高位直接确定他在那一队,相同,则可以根据要找的盒子的高位直接确定他在那一队,然后在该队中再逐个查找。然后在该队中再逐个查找。然后在该队中再逐个查找。然后在该队中再逐个查找。由此可见,只有线确定了数据结构,才能设计相应的算法由此可见,只有线确定了数据结构,才能设计相应的算法由此可见,只有线确定了数据结构,才能设计相应的算法由此可见,只有线确定了数据结构,才能设计相应的算法。(4)(4)编码:即编写程序编码:即编写程序编码:即编写程序编码:即编写程序 。用某种计算机语言将上一步设计好的算法描述用某种计算机语言将上一步设计好的算法描述用某种计算机语言将上一步设计好的算法描述用某种计算机语言将上一步设计好的算法描述出来,就是程序。出来,就是程序。出来,就是程序。出来,就是程序。可见,可见,可见,可见,算法是编程的基础。算法是编程的基础。算法是编程的基础。算法是编程的基础。(5)(5)调试程序:将源程序送入计算机,进行排错、调试程序:将源程序送入计算机,进行排错、调试程序:将源程序送入计算机,进行排错、调试程序:将源程序送入计算机,进行排错、试运行,调试的结果是得到一个能正确运行的试运行,调试的结果是得到一个能正确运行的试运行,调试的结果是得到一个能正确运行的试运行,调试的结果是得到一个能正确运行的程序。程序。程序。程序。通常,调试程序至少占整个程序设计工作量的通常,调试程序至少占整个程序设计工作量的通常,调试程序至少占整个程序设计工作量的通常,调试程序至少占整个程序设计工作量的一半。一半。一半。一半。(6)(6)整理资料,交付使用整理资料,交付使用整理资料,交付使用整理资料,交付使用 三、学习程序设计的方法三、学习程序设计的方法1 1、一讲、二练、三考、一讲、二练、三考、一讲、二练、三考、一讲、二练、三考2 2、多读源程序、多编写程序、多上机调试、多读源程序、多编写程序、多上机调试、多读源程序、多编写程序、多上机调试、多读源程序、多编写程序、多上机调试3 3、忌上课只听不记、忌、忌上课只听不记、忌、忌上课只听不记、忌、忌上课只听不记、忌“纸上谈兵纸上谈兵纸上谈兵纸上谈兵”、忌课下不练习、忌课下不练习、忌课下不练习、忌课下不练习具体要求:具体要求:具体要求:具体要求:1 1、上课有重点、有选择的记、上课有重点、有选择的记、上课有重点、有选择的记、上课有重点、有选择的记2 2、上机有准备:准备好课本、笔记、作业等、上机有准备:准备好课本、笔记、作业等、上机有准备:准备好课本、笔记、作业等、上机有准备:准备好课本、笔记、作业等3 3、除课后习题必须全部解决外,多做一些二级考试的、除课后习题必须全部解决外,多做一些二级考试的、除课后习题必须全部解决外,多做一些二级考试的、除课后习题必须全部解决外,多做一些二级考试的模拟题模拟题模拟题模拟题4 4、做一个自己感兴趣的完整的程序(小项目)、做一个自己感兴趣的完整的程序(小项目)、做一个自己感兴趣的完整的程序(小项目)、做一个自己感兴趣的完整的程序(小项目)1.2 算法及其描述算法及其描述一、算法:一、算法:对解决某一特定问题的操作步骤的具体描述。对解决某一特定问题的操作步骤的具体描述。对解决某一特定问题的操作步骤的具体描述。对解决某一特定问题的操作步骤的具体描述。广义的说,算法就是为解决一个问题而采取的方法和广义的说,算法就是为解决一个问题而采取的方法和广义的说,算法就是为解决一个问题而采取的方法和广义的说,算法就是为解决一个问题而采取的方法和步骤。步骤。步骤。步骤。程序算法十数据结构程序算法十数据结构程序算法十数据结构程序算法十数据结构 就是说:就是说:就是说:就是说:“程序是在数据的特定的组织方式的基础上,对程序是在数据的特定的组织方式的基础上,对程序是在数据的特定的组织方式的基础上,对程序是在数据的特定的组织方式的基础上,对抽象算法的具体描述抽象算法的具体描述抽象算法的具体描述抽象算法的具体描述”。作为程序设计人员,在设计算。作为程序设计人员,在设计算。作为程序设计人员,在设计算。作为程序设计人员,在设计算法前,必须认真考虑和设计数据的组织方式,即数据结法前,必须认真考虑和设计数据的组织方式,即数据结法前,必须认真考虑和设计数据的组织方式,即数据结法前,必须认真考虑和设计数据的组织方式,即数据结构;然后针对具体的数据结构设计相应的操作步骤,即构;然后针对具体的数据结构设计相应的操作步骤,即构;然后针对具体的数据结构设计相应的操作步骤,即构;然后针对具体的数据结构设计相应的操作步骤,即算法。算法。算法。算法。二、算法的描述二、算法的描述描述算法的方法有多种,常用有:描述算法的方法有多种,常用有:n n自然语言(描述不够严格,限于简单问题)自然语言(描述不够严格,限于简单问题)n n流程图流程图*(同一问题的流程图不唯一)(同一问题的流程图不唯一)n nN-SN-S图图*(结构清晰,但难于修改)(结构清晰,但难于修改)n nPADPAD图图(结构清晰,唯一性好)(结构清晰,唯一性好)n n伪代码伪代码*(灵活,但需要有一定的程序设计基础)(灵活,但需要有一定的程序设计基础)学习建议:学习建议:流程图或流程图或N-SN-S图一定要熟练掌握,伪代码表示法在图一定要熟练掌握,伪代码表示法在学习完基本的流程控制语句后也经常使用。学习完基本的流程控制语句后也经常使用。1、用自然语言描述、用自然语言描述例例例例1.11.1 计算任意长方形的面积。计算任意长方形的面积。n n分析:分析:要实现的功能有:要实现的功能有:输入长和宽,计算面积,输出结果。输入长和宽,计算面积,输出结果。先定义数据结构:程序中要处理的数据有三个,即先定义数据结构:程序中要处理的数据有三个,即长、宽、面积,设分别用实型变量长、宽、面积,设分别用实型变量lengthlength、widthwidth、areaarea表示。则算法如下:表示。则算法如下:n n输入长和宽分别存入输入长和宽分别存入length,widthlength,widthn n计算面积:计算面积:lengthwidth=arealengthwidth=arean n输出结果输出结果areaarea例例例例1.2 1.2 计算计算s1+s2+s3+s4+s5s1+s2+s3+s4+s5(其中其中si si表示第表示第i i个数)。个数)。n n分析:要实现的功能是分析:要实现的功能是“加法运算加法运算”,要输入的,要输入的数据是数据是s1s5s1s5,对其进行的运算是对其进行的运算是“加加”,结果是,结果是“累加和累加和”,并输出。,并输出。n n先定义数据结构:先定义数据结构:设变量设变量 s s表示累计和,初值为表示累计和,初值为0 0;变量变量 x x表示每次要处理的数据(表示每次要处理的数据(s1s5s1s5中的一个);中的一个);变量变量 i i表示要处理第几个数(其取值范围可以是:表示要处理第几个数(其取值范围可以是:1515),设初值为),设初值为1 1。例例1.2算法算法根据以上定义,算法设计如下:根据以上定义,算法设计如下:n nS1:S1:赋初值赋初值0=0=s sn nS2:S2:赋初值赋初值1=1=i in nS3:S3:输入第输入第i i个数个数x xn nS4:S4:累加:累加:s+x=ss+x=sn nS5:S5:计数增值:计数增值:i+1=ii+1=in nS6:S6:若若i5i5,表示数据还未处理完,返回表示数据还未处理完,返回 S3S3继续重继续重复复S3S3、S4S4、S5S5;否则,计算结束,执行否则,计算结束,执行S7S7。n nS7:S7:输出结果输出结果 s s。n n例例1.41.4判断任意整数是奇数还是偶数。判断任意整数是奇数还是偶数。n n n n分析:设整型变量分析:设整型变量 n n表示要处理的整数,表示要处理的整数,则算法为:则算法为:首先输入首先输入n n,然后判断条件然后判断条件“n%2n%2等于等于0”0”(%是求余运算符)是求余运算符)是否成立,是否成立,若条件成立,则输出若条件成立,则输出“n n是偶数是偶数”;否则输出否则输出“n n是奇数是奇数”。2、用流程图表示算法、用流程图表示算法流程图是用几种图形、箭头线和文字说明来表示算法的流程图是用几种图形、箭头线和文字说明来表示算法的框图。框图。流程图中规定使用的符号如图流程图中规定使用的符号如图1.21.2所示所示用流程图的优点是:直观形象、易于理解,能将设计者用流程图的优点是:直观形象、易于理解,能将设计者的思路清楚地表达出来,便于以后检查修改和编程。的思路清楚地表达出来,便于以后检查修改和编程。n n结构化的流程图:即一个流程图由三种基本结构(顺结构化的流程图:即一个流程图由三种基本结构(顺结构化的流程图:即一个流程图由三种基本结构(顺结构化的流程图:即一个流程图由三种基本结构(顺序、选择、循环结构)组成,这三种基本结构可以相序、选择、循环结构)组成,这三种基本结构可以相序、选择、循环结构)组成,这三种基本结构可以相序、选择、循环结构)组成,这三种基本结构可以相互嵌套,组合成复杂的算法。互嵌套,组合成复杂的算法。互嵌套,组合成复杂的算法。互嵌套,组合成复杂的算法。注:P表示条件,A、B表示一个基本操作或一个基本结构。n n例例1.31.3计算长方形的面积(用流程图表示的算法如图计算长方形的面积(用流程图表示的算法如图1.41.4所示)。所示)。n nn n例例例例1.41.4 判断任意整数是奇数还是偶数。判断任意整数是奇数还是偶数。3.用用N-S图表示算法图表示算法n n用N-S图表示的三种基本结构4.伪代码表示的算法熟悉:什么是伪代码?(自学)1.3 结构化程序设计结构化程序设计n n结构化程序设计思想包括两个方面的内容:结构化程序设计思想包括两个方面的内容:结构化程序设计思想包括两个方面的内容:结构化程序设计思想包括两个方面的内容:模块化设计和结构化编码模块化设计和结构化编码模块化设计和结构化编码模块化设计和结构化编码 n n特点:特点:特点:特点:结结结结构构构构化化化化的的的的程程程程序序序序结结结结构构构构清清清清晰晰晰晰,层层层层次次次次分分分分明明明明,便便便便于于于于程程程程序序序序员员员员编编编编写写写写、阅阅阅阅读读读读和和和和修修修修改改改改,提提提提高高高高了了了了程程程程序序序序的的的的可可可可靠靠靠靠性性性性,保保保保证证证证了了了了程程程程序序序序的的的的高质量、高效率。高质量、高效率。高质量、高效率。高质量、高效率。为为为为了了了了得得得得到到到到结结结结构构构构化化化化的的的的程程程程序序序序,必必必必须须须须强强强强调调调调程程程程序序序序设设设设计计计计的的的的规规规规范范范范化化化化,采用结构化的程序设计方法。采用结构化的程序设计方法。采用结构化的程序设计方法。采用结构化的程序设计方法。1.模块化设计方法模块化设计方法n n自顶向下,逐步细化。(常用)自顶向下,逐步细化。(常用)自顶向下,逐步细化。(常用)自顶向下,逐步细化。(常用)其基本思想是:将一个复杂的大任务分解为若干个其基本思想是:将一个复杂的大任务分解为若干个其基本思想是:将一个复杂的大任务分解为若干个其基本思想是:将一个复杂的大任务分解为若干个较小的任务,如果这些子任务还较复杂,再将其较小的任务,如果这些子任务还较复杂,再将其较小的任务,如果这些子任务还较复杂,再将其较小的任务,如果这些子任务还较复杂,再将其进行划分,直到每个任务都能很容易的实现其具进行划分,直到每个任务都能很容易的实现其具进行划分,直到每个任务都能很容易的实现其具进行划分,直到每个任务都能很容易的实现其具体细节,然后体细节,然后体细节,然后体细节,然后“分而治之分而治之分而治之分而治之”,即分别实现各个小,即分别实现各个小,即分别实现各个小,即分别实现各个小任务。这样,对一个大任务的处理就变成了对一任务。这样,对一个大任务的处理就变成了对一任务。这样,对一个大任务的处理就变成了对一任务。这样,对一个大任务的处理就变成了对一个个小任务的实现,使问题变得相对简单了。个个小任务的实现,使问题变得相对简单了。个个小任务的实现,使问题变得相对简单了。个个小任务的实现,使问题变得相对简单了。例学生管理系统。例学生管理系统。例学生管理系统。例学生管理系统。n n自下而上,逐步积累。(不常用)自下而上,逐步积累。(不常用)自下而上,逐步积累。(不常用)自下而上,逐步积累。(不常用)n n例:学生管理系统。n n学生管理成绩管理学籍管理宿舍管理档案管理成绩输入成绩统计2.结构化编码结构化编码n n用结构化的程序设计语言(如用结构化的程序设计语言(如C C语言)正确地语言)正确地描述算法,就是结构化编码。描述算法,就是结构化编码。n nC C语言中有直接描述三种基本结构和基本操作语言中有直接描述三种基本结构和基本操作的语句,用这些语句将算法表示出来,就是的语句,用这些语句将算法表示出来,就是C C的源程序。的源程序。作业1、习题1,2,3-(2)(3)6(选一个)2、预习第二章程序结构和调试过程返回

    注意事项

    本文(第1章程序设计基础知识.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开