版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1c顺序结构程序设计§1利用计算机解决实际问题的步骤算法分析最有效的方法问题选择实现语言运行程序分析、论证算法流程结束测试程序第1页/共38页§2
算法的概念一、算法的概念程序对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构对操作的描述:即操作步骤,也就是算法算法:为解决一个问题而采取的方法和步骤,称为“算法”它是程序设计的灵魂,是解决“做什么”和“怎么做”的问题,处理的对象是数据第2页/共38页§2
算法的概念二、算法的特性1、有穷性2、确定性3、有效性/可行性4、有零个或多个输入5、有一个或多个输出第3页/共38页§2
算法的概念三、算法的表示自然语言表示法传统流程图表示法N-S结构化流程图伪代码PAD图等第4页/共38页§2
算法的概念三、算法的表示1、自然语言表示法例:对于一个大于等于3的正整数,判断其是否素数算法如下:S1:输入n的值S2:i=2作为除数S3:n被i除,得余数rS4:如果r=0,表示n能被i整除,则打印“不是素数”,算法结束;否则,继续下一步S5:i+1→iS6:如果i≤n-1,返回执行S3;否则,打印“是素数”,算法结束第5页/共38页§2
算法的概念三、算法的表示2、传统流程图表示法起止框判断框处理框输入/输出框注释框流向线连接点第6页/共38页出口1出口2传统流程图表示前例第7页/共38页§2
算法的概念三、算法的表示3、算法的三种基本结构Bohra和Jacopini提出了以下三种基本结构:
顺序结构、选择结构、循环结构用这三种基本结构作为表示一个良好算法的基本单元。第8页/共38页顺序结构选择结构三种基本结构第9页/共38页当型(While型)循环直到型(Until型)循环
三种基本结构第10页/共38页三种基本结构的共同特点:§2
算法的概念三、算法的表示3、算法的三种基本结构(1)只有一个入口;(2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。)(3)结构内的每一部分都有机会被执行到;(4)结构内不存在“死循环”(无终止的循环)。第11页/共38页一个出口出口1出口2第12页/共38页§2
算法的概念三、算法的表示3、N-S结构化流程图1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其它的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图又称N--S结构化流程图。第13页/共38页
N--S流程图用以下的流程图符号:
(1)顺序结构(2)选择结构(3)直到型循环(3)当型循环第14页/共38页第15页/共38页N--S图表示算法的优点比文字描述直观、形象、易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N--S流程图中的上下顺序就是执行时的顺序。用N--S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。第16页/共38页§3
结构化程序设计一个结构化程序就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、便于阅读、便于修改和维护。结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。第17页/共38页结构化程序设计方法采取以下方法来保证得到结构化的程序:自顶向下;逐步细化;模块化设计;结构化编码。两种不同的方法:自顶向下,逐步细化;自下而上,逐步积累。第18页/共38页自顶向下,逐步细化方法的优点:
考虑周全,结构清晰,层次分明,作者容易写,读者容易看。如果发现某一部分中有一段内容不妥,需要修改,只需找出该部分修改有关段落即可,与其它部分无关。我们提倡用这种方法设计程序。这就是用工程的方法设计程序。第19页/共38页模块设计的方法:
模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务就相对简单了。在拿到一个程序模块以后,根据程序模块的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,还再可以划分为更小的模块。这个过程采用自顶向下方法来实现。子模块一般不超过50行划分子模块时应注意模块的独立性,即:使一个模块完成一项功能,耦合性愈少愈好。
第20页/共38页§4C++语句一、语句的概念C++语句用来向计算机系统发出操作指令,它都是用来完成一定操作任务的。二、C++语句的分类声明语句执行语句空语句复合语句第21页/共38页二、C++语句的分类1、声明语句对变量及其它对象的定义,可以出现在函数中的任何行,也可放在函数外如:inta,b;2、执行语句通知计算机完成一定的操作包括控制语句、函数和流调用语句、表达式语句2、执行语句第22页/共38页(1)控制语句完成一定的控制功能if()~else~条件for()~、while()~、do~while()循环continue、break结束循环switch多分支选择语句goto跳转语句return从函数返回语句二、C++语句的分类2、执行语句第23页/共38页(2)函数和流对象调用语句由一次函数调用加一个分号构成一条语句例max(a,b);cout<<x<<endl;(3)表达式语句由一个表达式加一个分号构成一条语句,但构成的语句应该有意义,最典型的为赋值语句a=3表达式a=3;赋值语句i+1表达式i+1;表达式语句无实际意义二、C++语句的分类2、执行语句第24页/共38页3、空语句只有一个分号的语句,什么也不做主要用来完善程序的结构,有时用来做被转向点或循环语句中的循环体4、复合语句用{}把一些语句括起来成为复合语句例P49二、C++语句的分类第25页/共38页§5
数据输出与输入不论C语言还是C++,输入与输出都不是其语言中的正式组成部分,如需使用C中的输入输出函数或C++中的输入输出流,都必须用预处理命令将头文件包含到本文件中如:#include<iostream>#include<stdio.h>第26页/共38页一、输入流与输出流1、一般格式:cout<<表达式1<<表达式2<<……<<表达式n;cin>>变量1>>变量2>>……>>变量n;
说明(1)cout可分写成若干行cout<<"ThisisasimpleC++program."<<endl;cout<<"Thisis"<<"aC++"<<"program."<<endl;cout<<"Thisis";cout
<<"aC++";cout<<"program.";cout<<endl;第27页/共38页(2)不能用一个插入运算符“<<”插入多个输出项(3)cout输出时系统会自动判别输出数据类型,使输出数据按相应类型输出(4)cin也可以分成若干行cin>>a>>b>>c>>d;cin>>a>>b>>c>>d;cin>>a;cin>>b;cin
>>c;cin
>>d;第28页/共38页(5)cin输入时系统会根据变量的类型从输入流中提取相应长度的字节charc1,c2;inta;floatb;cin>>c1>>c2>>a>>b;输入:123456.78用cin语句得不到空格和回车字符第29页/共38页2、输入输出流的控制符P53表3.1如使用控制符,还需在程序开头加#include<iomainip>一、输入流与输出流例:输出双精度
输出整数
例3.1第30页/共38页二、getchar和putchar1、字符格式输出函数putchar()功能:向终端输出一个字符形式:putchar(参数)参数:可以为常量,也可以为变量,还可以是任意整型表达式,参数的值代表的是某字符对应的ASCII码值,也可输出转义字符使用时需加头文件#include<iostream>例P55例3.2第31页/共38页二、getchar和putchar2、字符格式输入函数getchar()功能:从终端输入一个字符形式:getchar()无参数,函数的值就是从输入设备得到的字符,得到的字符可以赋给一个字符变量或整型变量;也可以不赋给任何变量,作为表达式的一部分使用时需加头文件#include<iostream>例P56例3.3第32页/共38页三、scanf和printf1、输出函数printf()
功能:向终端输出若干个任意类型的数据格式:printf(格式控制,输出表列)输出表列:需要输出的数据,可以是表达式格式控制:用双引号括起来的字符串(包括格式说明、普通字符)格式说明:由“%”和格式字符组成,将输出的数据转换为指定的格式输出普通字符:需要原样输出的字符第33页/共38页三、scanf和printf2、据输入函数scanf()功能:从输入设备向计算机输入任意类型的数据到相应的变量中格式:scanf(格式控制,地址表列)格式控制:同printf(),普通字符需原样输入地址表列:由若干个地址组成的表列,可以是变量的地址,或字符串的首地址例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轻度前列腺增大日常养护指南
- 2026芜湖护理面试题及答案大全
- 2026咸阳幼教面试题目及答案
- 2026消防救援员面试题及答案
- 2026新乡银行面试题目及答案
- 医院门诊综合楼装修工程施工方案
- 水路(船舶)运输合同范文
- 营业员劳动合同书
- 2026年矿山设备故障AI诊断技术
- 2026年工业质检数字化升级:AI算法与传统检测技术的融合路径
- 2026年新教材八年级上册历史全册必背知识点考点提纲
- 2026年湖北专升本汉语言文学专业(现代汉语中国古代文学)题库附答案
- 2026年四川省拟任县处级领导干部理论(任职资格考试)全真模拟试题及答案
- 跨部门协作会议纪要模板及行动计划
- DL∕T 5783-2019 水电水利地下工程地质超前预报技术规程
- DL∕T 1821-2018 火电站闸阀、截止阀检修导则
- 冀教版数学七年级上下册知识点总结
- 云南三恒泰矿业有限公司河口铜银矿矿山地质环境保护与土地复垦方案
- 《点检定修管理培训》
- 旋风除尘器计算程序
- 化学药品杂质谱研究及控制
评论
0/150
提交评论