《第2章控制结构精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章控制结构精选文档.ppt(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章控制章控制结构构本讲稿第一页,共五十七页教学目标教学目标n结构化程序设计方法的基本思想结构化程序设计方法的基本思想nVC+的基本控制结构的基本控制结构nVC+的控制语句的控制语句本讲稿第二页,共五十七页学习要求学习要求n结构化程序设计方法的基本思想结构化程序设计方法的基本思想nV+的几种基本控制语句的几种基本控制语句n熟悉使用伪代码的编程方法熟悉使用伪代码的编程方法 本讲稿第三页,共五十七页授授 课课 内内 容容 n2.1 程序的基本控制结构程序的基本控制结构 n2.2+的控制结构的控制结构n 2.3 结构化程序设计结构化程序设计 n2.4 伪代码伪代码 n调试技术调试技术n程序设计举
2、例程序设计举例本讲稿第四页,共五十七页2.1 程序的基本控制结构程序的基本控制结构 n算法算法 n程序、程序设计程序、程序设计 n结构化程序设计方法结构化程序设计方法 n模块化程序结构模块化程序结构 n三种基本程序结构三种基本程序结构 本讲稿第五页,共五十七页算算 法法 n定义定义:指为解决特定问题而采取的有限操作步骤。指为解决特定问题而采取的有限操作步骤。n特性特性 l有穷性 算法是有限的操作序列 l确定性 每个操作有确定的含义;无二 义性 l可执行性 每个操作都是可以执行的 l有序性 执行步骤严格按逻辑顺序进行 本讲稿第六页,共五十七页程序、程序设计程序、程序设计 n程序程序 l是指计算机
3、实现特定操作的指令的集合。l程序=数据结构(属性、联系)+算法 n程序设计程序设计 l是人关于现实问题求解的思维活动的“代码化”过程,是用计算机语言作为工具进行的创造性劳动。l编程序的一个主要内容就是如何将解决应用问题所使用的算法用V+的语句和函数来描述。换句话说,也就是如何组织V+程序的结构。本讲稿第七页,共五十七页结构化程序设计方法结构化程序设计方法 n“软件危机软件危机”-结构化程序设计结构化程序设计 n基本观点:基本观点:n程序设计的目标不应再集中于如何充分发挥硬件的效率程序设计的目标不应再集中于如何充分发挥硬件的效率方面,新的程序设计方法应以能设计出结构清晰、可方面,新的程序设计方法
4、应以能设计出结构清晰、可读性强、易于分工合作编写和调试的程序。读性强、易于分工合作编写和调试的程序。n结构化设计方法是以模块化设计为中心结构化设计方法是以模块化设计为中心 本讲稿第八页,共五十七页模块化程序结构模块化程序结构 n模块化模块化 n就是把程序划分为若干个部分,每个部分独立存放、完成一个就是把程序划分为若干个部分,每个部分独立存放、完成一个特定的功能。其目的是降低程序的复杂度,使设计出来的程序特定的功能。其目的是降低程序的复杂度,使设计出来的程序便于阅读、调试和维护。便于阅读、调试和维护。n一个模块可以是一条语句、一段程序、一个函数等一个模块可以是一条语句、一段程序、一个函数等 n基
5、本特征是其仅有一个入口和一个出口基本特征是其仅有一个入口和一个出口 n模块相互独立,内聚性很强,一个模块完成一个功能模块相互独立,内聚性很强,一个模块完成一个功能 本讲稿第九页,共五十七页三种基本程序结构三种基本程序结构 n按照结构化程序设计的观点按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合的三种基本程序结构的组合:n顺序结构:程序是按程序语句或模块在执行流中的顺序逐个执行。顺序结构:程序是按程序语句或模块在执行流中的顺序逐个执行。n选择结构:程序是按设定的条件实现程序执行流的多路分支。选择结构:程序是按设定的条件实
6、现程序执行流的多路分支。n循环结构:程序是按给定的条件重复地执行指定的程序段或模块。循环结构:程序是按给定的条件重复地执行指定的程序段或模块。n结论:理论上已经证明,用三种基本程序结构可以实现任何复杂的算法。结论:理论上已经证明,用三种基本程序结构可以实现任何复杂的算法。本讲稿第十页,共五十七页2.2 C+语言的控制结构语言的控制结构n顺序语句顺序语句n选择结构选择结构l一路选择分支l两路选择分支l多路选择分支n循环结构循环结构l当型循环l直到型循环lfor 循环n出口控制出口控制本讲稿第十一页,共五十七页1、顺序结构、顺序结构n顺序结构语句包括:顺序结构语句包括:l说明语句l赋值语句lI/O
7、 语句l子函数调用语句、返回语句本讲稿第十二页,共五十七页2、选择结构(之一)、选择结构(之一)n一路分支一路分支 语句格式:语句格式:if(表达式)(表达式)语句序列语句序列 条件?条件?成立成立不成立不成立语句序列语句序列n两路分支两路分支 语句格式:语句格式:if(表达式)(表达式)语句序列语句序列1 else 语句序列语句序列2条件?条件?语句序列语句序列 1成立成立不成立不成立语句序列语句序列 2语句序列可以是一个语句,语句序列可以是一个语句,也可以是复合语句结构。也可以是复合语句结构。本讲稿第十三页,共五十七页选择结构之二选择结构之二n多路(开关)选择语句多路(开关)选择语句 语句
8、格式:语句格式:switch(整数表达式)(整数表达式)case 数值数值1:语句序列语句序列1;.case 数值数值n:语句序列语句序列n;default:语句序列语句序列n+1;计算整型表达式计算整型表达式值值=?语句语句序列序列1.语句语句序列序列2语句语句序列序列n本讲稿第十四页,共五十七页3、循环结构(之一)、循环结构(之一)n当型循环当型循环 语句格式:语句格式:while(表达式)(表达式)语句序列语句序列 n直到型循环直到型循环 语句格式:语句格式:do 语句序列语句序列 while(表达式)(表达式);循循环环体体循循环环体体条件?条件?语句序列语句序列成立成立不成立不成立语
9、句序列语句序列不成立不成立成立成立条件?条件?本讲稿第十五页,共五十七页VC+语言的控制结构语言的控制结构n顺序顺序n选择(分支)选择(分支)lif ()else;lswitch()case;default:;n循环循环lwhile();lfor(.);ldo.while(.);n出口出口lbreak;continue;本讲稿第十六页,共五十七页2.3 结构化结构化程序设计程序设计n结构化程序设计支持结构化程序设计支持“自顶向下自顶向下,逐步求精逐步求精”的程序设计方法。的程序设计方法。n“自顶向下自顶向下”l是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量
10、地去描述问题。n“逐步求精逐步求精”l是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。本讲稿第十七页,共五十七页例例2-1 验证验证“哥德巴赫猜想哥德巴赫猜想”n“哥德巴赫猜想哥德巴赫猜想”表述为:表述为:任何任何 一个大于等于一个大于等于4的偶数均可以表的偶数均可以表 示为两个素数之和。示为两个素数之和。n求解第一步求解第一步 提出问题:提出问题:验证哥德巴赫猜想验证哥德巴赫猜想 n第二步第二步 设一上限数设一上限数M,验证,验证 从从4到到M的所有偶数的所有偶数是否能被是否能
11、被 分解为两个素数之和。分解为两个素数之和。1.定义一个变量定义一个变量X,初值为,初值为4。2.每次令其加每次令其加2,并验证,并验证X能否能否 被分解为两个素数被分解为两个素数之和,直到之和,直到 X不小于不小于M为止。为止。验证哥德巴赫猜想验证哥德巴赫猜想X=4X M?验证验证x是否能被分解是否能被分解为两个素数之和为两个素数之和X=X+2否否是是本讲稿第十八页,共五十七页验证哥德巴赫猜想(续一)验证哥德巴赫猜想(续一)n第三步第三步 如何验证如何验证X是否能被分解为两是否能被分解为两个素数之和。个素数之和。1.从从P=2开始;开始;2.判别判别XP是否仍为素数:是否仍为素数:3.若是,
12、打印该偶数的分解式。若是,打印该偶数的分解式。4.否则,换更大的素数,再继续执行否则,换更大的素数,再继续执行2.。如此循环,直到用于检测的素数。如此循环,直到用于检测的素数大大X/2且且X 与其之差仍不是素数,则与其之差仍不是素数,则打印打印“哥德巴赫猜想哥德巴赫猜想”不成立。不成立。P=2P=x/2?处理哥德巴赫猜想处理哥德巴赫猜想不成立的情况不成立的情况打印出打印出X的的分解情况分解情况是是否否本讲稿第十九页,共五十七页验证哥德巴赫猜想(续二)验证哥德巴赫猜想(续二)n第四步第四步 生成下一个素数。生成下一个素数。(1)当前素数)当前素数P加加1(2)判别)判别P是否是素数;是否是素数;
13、(3)若是素数,返回)若是素数,返回P;(4)否则,)否则,P加加1,继续执行(,继续执行(2)。)。P=P+1是素数?是素数?P=P+1否否返回素数返回素数 P本讲稿第二十页,共五十七页验证哥德巴赫猜想(续三)验证哥德巴赫猜想(续三)n经过四步分解精化,将经过四步分解精化,将“验证哥德巴赫猜想验证哥德巴赫猜想”这个这个命题已经分解为计算机可以求解的数学模型了。命题已经分解为计算机可以求解的数学模型了。n剩下的问题就是编程求解了。如何编程正是我们这剩下的问题就是编程求解了。如何编程正是我们这门课程要解决的问题。门课程要解决的问题。n关于关于“验证哥德巴赫猜想验证哥德巴赫猜想”的求解程序稍后给出
14、。的求解程序稍后给出。本讲稿第二十一页,共五十七页2.4 伪代码伪代码nC语言的控制结构语句和自然语言结合起来描述算法n比画流程图省时、省力,且更容易转化为程序n不能运行本讲稿第二十二页,共五十七页获得帮助的方法(四种)获得帮助的方法(四种)1.F1帮助。单击一个单词、突出显示一条短语或单帮助。单击一个单词、突出显示一条短语或单击一条错误信息,再按击一条错误信息,再按F1就可以了;可在源代码就可以了;可在源代码编辑器窗口、帮助窗口、输出窗口中使用;编辑器窗口、帮助窗口、输出窗口中使用;2.帮助索引,它包含绝大多数所需的信息;帮助索引,它包含绝大多数所需的信息;3.搜索机制,搜索的范围比索引要广
15、的多;搜索机制,搜索的范围比索引要广的多;4.帮助目录,使用帮助窗口中目录选项卡可以阅读帮助目录,使用帮助窗口中目录选项卡可以阅读某个主题的所有内容。某个主题的所有内容。本讲稿第二十三页,共五十七页常见错误常见错误n语法错误语法错误l少了;l函数名输入错误n语义错误语义错误l将“=”误输入为“=”n逻辑错误逻辑错误l简单跟踪:在程序中加入输出语句n注意:双击注意:双击Visual C+output窗口的错误信息,就可以打开产生该错误窗口的错误信息,就可以打开产生该错误的源代码,并且光标会位于出错的那一行上。的源代码,并且光标会位于出错的那一行上。本讲稿第二十四页,共五十七页2.7 调试技术调试
16、技术:Developer Studio 的文本编辑器的文本编辑器nUndo和Redon查找和替换lFind&ReplacelFind in Filesn编程指导信息lList Member 列成员lType Info 简单介绍lParameter Info 参数信息lComplete Word 自动输入本讲稿第二十五页,共五十七页程序设计举例程序设计举例n1-2.哥德巴赫猜想哥德巴赫猜想n3.百分制化为五分制百分制化为五分制n4.用用while结构求结构求e值值n5.用用do-while结构求结构求e值值n6.水仙花水仙花n7.万年历万年历本讲稿第二十六页,共五十七页例例2-2 哥德巴赫猜想哥
17、德巴赫猜想n算法分析:算法分析:1)用用“筛选筛选”法生成素数表法生成素数表PrimeListM。先在素数表中产生到。先在素数表中产生到-1的所有的所有自然数,然后将已确定的所有素数的倍数置自然数,然后将已确定的所有素数的倍数置(求模取余为)。求模取余为)。2,3,5,7,13,17,.2)这样一来,素数表中有许多这样一来,素数表中有许多0,为找下一个素数,要跳过这些,为找下一个素数,要跳过这些0。3)分解分解0到到M-1之间的所有偶数;之间的所有偶数;循环循环(x M)x初值取初值取4 先取素数先取素数P=2,判别判别 若若PrimeListx-p等于等于0,说明分,说明分 解不成功,解不成
18、功,p取素数表中下一个素数;再执行取素数表中下一个素数;再执行 若若PrimeListx-p不等于不等于0,分解成功,打印分解式,分解成功,打印分解式 x=x+2,继续执行,继续执行,检查下一个偶数。,检查下一个偶数。本讲稿第二十七页,共五十七页程序逻辑功能框图程序逻辑功能框图 建立素数表建立素数表reatPrimeList(PrimeList)X M?P=M/2?P=2x=x+2是是否否是是否否是是否否x=4打印该偶数分解式打印该偶数分解式显示显示“哥德巴赫猜想错哥德巴赫猜想错“本讲稿第二十八页,共五十七页程序模块结构程序模块结构 主函数主函数main()()子函数生成素数表子函数生成素数表
19、CreatPrimeList()子函数求下一个素数子函数求下一个素数NextPrimeNomber()()子函数求下一个素数子函数求下一个素数NextPrimeNomber()()本讲稿第二十九页,共五十七页程序(生成素数表子函数)程序(生成素数表子函数)#include#include#define M 10001 /*#define M 10001 /*定义验证范围定义验证范围*/*/void CreatPrimeList(int PrimeList)void CreatPrimeList(int PrimeList)int i,j;int i,j;for(i=0;iM;i=i+1)for
20、(i=0;iM;i=i+1)PrimeListi=i;PrimeListi=i;i=2;i=2;while(i M/2)/while(i M/2)/只需验证一半数据只需验证一半数据 for(j=i+1;jM;j=j+1)for(j=i+1;jM;j=j+1)if(PrimeListj!=0&PrimeListj%PrimeListi=0)if(PrimeListj!=0&PrimeListj%PrimeListi=0)PrimeListj=0;PrimeListj=0;i=NextPrimeNumber i=NextPrimeNumber(i i,PrimeListPrimeList););本
21、讲稿第三十页,共五十七页求下一个素数子函数求下一个素数子函数/函数函数 NextPrimeNumber:NextPrimeNumber:求下一个素数求下一个素数int NextPrimeNumber(int p,int PrimeList)int NextPrimeNumber(int p,int PrimeList)p=p+1;p=p+1;while(PrimeListp=0)while(PrimeListp=0)p=p+1;p=p+1;return PrimeListp;return PrimeListp;本讲稿第三十一页,共五十七页主函数主函数(VC0201.cpp)void main(
22、)void main()int PrimeListM;int PrimeListM;int x,p;int x,p;CreatePrimeList(PrimeList);CreatePrimeList(PrimeList);x=4;x=4;while(xM)while(xM)p=PrimeList2;p=PrimeList2;while(pM/2&PrimeListx-p=0)while(p=M/2)coutGreat Discovery=M/2)coutGreat Discoveryendl;else else coutThe even numberx=p+x-pendl;coutThe e
23、ven numberx=p+x-pendl;x=x+2;x=x+2;本讲稿第三十二页,共五十七页例例2.3 百分制化为五分制百分制化为五分制n算法分析:算法分析:1、取一个百分成绩经过运算得到、取一个百分成绩经过运算得到5分制成绩。构造什么样的表达式呢?分制成绩。构造什么样的表达式呢?“百分成绩百分成绩/10=”?2、共有、共有5个分数档,选择分支大于个分数档,选择分支大于2,因此用多路开关语句,因此用多路开关语句switch。3、计算结果应该是唯一的。转换后应从、计算结果应该是唯一的。转换后应从switch中中break出来。出来。4、输入一个百分成绩,就应该转换成、输入一个百分成绩,就应该
24、转换成5分制成绩。因此,转换程序应编成子分制成绩。因此,转换程序应编成子函数。函数。本讲稿第三十三页,共五十七页程序逻辑功能框图程序逻辑功能框图 继续继续?输入成绩输入成绩XX/10=?10,9 8 7 6 5X=1X=2X=3X=4X=5返回、打印返回、打印X是是否否转换子函数功能转换子函数功能本讲稿第三十四页,共五十七页程序模块结构程序模块结构 主函数主函数main()子函数转换分数子函数转换分数TranGrade()本讲稿第三十五页,共五十七页转换成绩子函数转换成绩子函数int TranGrade(int old_grade)int TranGrade(int old_grade)int
25、 new_grade;int new_grade;switch(old_grade/10)switch(old_grade/10)case 10:case 10:case 9:new_grade=1;break;case 9:new_grade=1;break;case 8:new_grade=2;break;case 8:new_grade=2;break;case 7:new_grade=3;break;case 7:new_grade=3;break;case 6:new_grade=4;break;case 6:new_grade=4;break;default:new_grade=5
26、;default:new_grade=5;return new_grade;return new_grade;本讲稿第三十六页,共五十七页主函数(主函数(VC0203.cpp)#include#include void main()void main()int grade10 int grade10=100,88,72,69,94,84,66,61,89,55=100,88,72,69,94,84,66,61,89,55;int i;int i;for(i=0;i10;i+)for(i=0;i10;i+)coutOld grade:gradeicoutOld grade:gradei ,new
27、 grade:TranGrade(gradei)endl;,new grade:TranGrade(gradei)10 -7?计算:计算:u=u/n;e=e+u;n=n+1;是是否否输出结果输出结果 e本讲稿第三十九页,共五十七页程序模块结构程序模块结构 主函数主函数main()本讲稿第四十页,共五十七页计算计算e程序(程序(VC0204.cpp)#include#include#include#include void main()void main()double e=1;double e=1;double u=1;double u=1;int n=1;int n=1;while(u=1.
28、0e-7)while(u=1.0e-7)u=u/n;u=u/n;e=e+u;e=e+u;n=n+1;n=n+1;coute=e(n=n)endl;coute=e(n=n)endl;本讲稿第四十一页,共五十七页例例2.5 用用do-while结构求结构求e值值#include#include void main()double e=1.0;double u=1.0;int n =1;do u=u/n;e=e+u;n=n+1;while(u=1.0E-10);coute=“e“(n=“n“)”endl;本讲稿第四十二页,共五十七页例例2.6 水仙花水仙花n算法分析:算法分析:1、用穷举法对用穷举法
29、对100999之间的每个数进行验证。验证公式为:之间的每个数进行验证。验证公式为:hdn=h3+d3+n32、如何分解一个、如何分解一个3位数的百位、十位和个位?是关键!位数的百位、十位和个位?是关键!百位百位 =n/100 整除整除100,丢弃小数,丢弃小数 十位十位 =(n/10)%10 整除整除10,得百十位。再,得百十位。再 对对10取余数,得十位数取余数,得十位数 个位个位 =n%10 n对对10取余数,得个位取余数,得个位 例:例:371 h=371/100=3 d=(371/10)%10=37%10=7 n=371%10=1本讲稿第四十三页,共五十七页程序逻辑功能框图程序逻辑功能
30、框图 n=100n 999?i =n/100;j=(n/10)%10;k=n%10;h=I 3+j 3+k 3h=n?打印该水仙花数打印该水仙花数 n=n+1 是是否否是是否否本讲稿第四十四页,共五十七页程序模块结构程序模块结构 主函数主函数main()本讲稿第四十五页,共五十七页打印水仙花程序(打印水仙花程序(VC0206.cpp)#include void main()int n,i,j,k;for(n=100;n=999;n=n+1)i=n/100;/*取出取出n的百位数的百位数*/j=(n/10)%10;/*取数取数n的十位数的十位数*/k=n%10;/*取出取出n的个位数的个位数*/
31、if(n=i*i*i+j*j*j+k*k*k)coutn=“i“3+”j“3+”k“3”endl;本讲稿第四十六页,共五十七页例例2.7 打印年历打印年历n算法分析:算法分析:1、确定闰年、确定闰年 year%4=0 且且 year%100!=0 或或 year%400=02、确定元旦是星期几、确定元旦是星期几l平年一年是52(52x7=354)个星期多一天。所以平年元旦的星期数是上一年元旦星期数加1。l闰年又多一天,所以闰年元旦的星期数是上一年元旦星期数加2。l1900年的元旦是星期一,所以year的星期几可以根据下列方法计算:n year-1900 相差n年 n=n+(n-1)/4+1 n
32、年多n天,(n-1)/4个闰年数,再加1900年元旦的星期序号1n=n%7 求出最后的星期数 本讲稿第四十七页,共五十七页程序逻辑功能框图程序逻辑功能框图 输入年输入年year调用调用isleap()判断是否闰年()判断是否闰年调用子函数求元旦是星期几调用子函数求元旦是星期几week_of_newyear_day()Month=12?Month=1打印当前月日历打印当前月日历month=month+1是是否否本讲稿第四十八页,共五十七页打印当前月处理框图打印当前月处理框图 确定当月确定当月1日的位置日的位置确定月天数确定月天数len_of_month月天数月天数=30天天 小月小月31天天 大
33、月大月28天天 平平2月月29天天 闰闰2月月day=月天数?月天数?打印当前日期打印当前日期是否是否7天?天?换行换行day=day+1否否是是是是day=1否否本讲稿第四十九页,共五十七页程序模块结构程序模块结构 主函数主函数main()子函数求元旦的星期数子函数求元旦的星期数week_of_newyears_day()子函数判别闰月子函数判别闰月Isleap()()本讲稿第五十页,共五十七页确定闰年子函数程序确定闰年子函数程序#include#include#define YES 1 /*#define YES 1 /*定义符号常数定义符号常数“是是”*/*/#define NO 0 /
34、*#define NO 0 /*定义符号常数定义符号常数“否否”*/*/函数函数 isleap():isleap():判断某年是否闰年判断某年是否闰年int isleap(int year)int isleap(int year)int leap=NO;int leap=NO;if(year%4=0&year%100!=0|year%400=0)if(year%4=0&year%100!=0|year%400=0)leap=YES;leap=YES;return leap;return leap;本讲稿第五十一页,共五十七页求元旦是星期几子函数求元旦是星期几子函数/函数函数 week_of_n
35、ewyears_day():week_of_newyears_day():求元旦是星期几求元旦是星期几int week_of_newyears_day(int year)int week_of_newyears_day(int year)int n=year-1900;int n=year-1900;n=n+(n-1)/4+1;n=n+(n-1)/4+1;n=n%7;n=n%7;return n;return n;本讲稿第五十二页,共五十七页主函数(主函数(VC0207.cpp)void main()void main()int year,month,day,weekday,len_of_mo
36、nth,i;int year,month,day,weekday,len_of_month,i;coutPlease input year:;coutyear;cinyear;coutendlyearendl;coutendlyearendl;weekday=week_of_newyears_day(year);weekday=week_of_newyears_day(year);for(month=1;month=12;month=month+1)for(month=1;month=12;month=month+1)coutendlmonthendl;coutendlmonthendl;co
37、ut-endl;cout-endl;coutSUN MON TUE WED THU FRI SETendl;coutSUN MON TUE WED THU FRI SETendl;cout-endl;cout-endl;本讲稿第五十三页,共五十七页确定当月的天数确定当月的天数for(i=0;iweekday;i=i+1)/*for(i=0;iweekday;i=i+1)/*找当月找当月1 1日的打印位置日的打印位置*/*/cout ;cout ;if(month=4|month=6|month=9|month=11)if(month=4|month=6|month=9|month=11)len
38、_of_month=30;len_of_month=30;else if(month=2)else if(month=2)if(isleap(year)if(isleap(year)len_of_month=29;len_of_month=29;else else len_of_month=28;len_of_month=28;else len_of_month=31;else len_of_month=31;本讲稿第五十四页,共五十七页打印当月的日历打印当月的日历for(day=1;day=len_of_month;day=day+1)for(day=1;day9)/*if(day9)/*打
39、印当月日期打印当月日期*/*/coutday ;coutday ;else else coutday ;coutday ;weekday=weekday+1;weekday=weekday+1;if(weekday=7)if(weekday=7)weekday=0;weekday=0;coutendl;/*coutendl;/*打满一星期应换行打满一星期应换行*/*/coutendl;/*coutendl;/*打完一月应换行打完一月应换行 */*/本讲稿第五十五页,共五十七页7.作业作业1.编写计算阶乘编写计算阶乘n!的程序。的程序。2.编写程序求斐波那契数列的第编写程序求斐波那契数列的第n项和前项和前n项之和。项之和。3.编程求编程求arcsinx,其中,其中|x|1。4.选做题:用弦截法求一元方程选做题:用弦截法求一元方程f(x)=0在区间在区间x0,x1 之间的一个根。之间的一个根。本讲稿第五十六页,共五十七页结结束束语语n学好程序设计语言的唯一途径是学好程序设计语言的唯一途径是 上机练习。上机练习。n你的编程能力与你在计算机上投入的时间成你的编程能力与你在计算机上投入的时间成 正比。正比。本讲稿第五十七页,共五十七页