计算机程序设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章计算机程序设计5.1问题求解和程序设计5.2程序设计语言5.3算法及其流程图表示计算机求解问题的基本过程分析问题确定问题解决方案设计算法编写程序运行程序整理结果问题求解过程:问题→想法→算法→程序计算机求解问题的基本过程问题求解过程:问题→想法→算法→程序需要计算方法和数据结构的知识,为问题建立模型。需要程序设计语言和程序设计方法的知识,将算法转换程序。需要数据结构和算法的知识,设计解决方案。理解程序可以解决问题的计算机,但只认识0和1,并且没有思维。有问题需要解决的人,问题是丰富多彩的,并且人具有思维。如何实现人和计算机的交流?程序作用:把人从枯燥重复的任务中解放出来,延伸了人脑的作用。程序与程序设计程序:是能够实现特定功能的一组指令序列的集合,是描述对某一问题的解决步骤。指令可以是机器指令、汇编语言的语句,也可以是高级语言的语句,甚至还可以是用自然语言描述的指令。程序设计与程序设计语言程序设计:是给出解决特定问题的程序的过程,是软件构造活动中的重要组成部分程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。C、Java、Pascal、Basic等等第5章计算机程序设计5.1问题求解和程序设计5.2程序设计语言5.3算法及其流程图表示程序设计语言程序设计语言是人与计算机交互的工具。机器语言汇编语言高级语言单机版网络版机器语言机器语言的指令是由二进制代码构成的,是计算机能直接识别的程序设计语言。01001001:难以记忆,可读性差汇编语言又称符号语言,是用接近人类语言的助记符来替代机器语言的指令。ADDA,B:具有一定的语法和格式,与机器相关高级语言其语句语法比较接近于人们习惯的自然语言和数学语言,因此称为高级语言。A=A+B:与硬件不相关,可在不同机器上使用计算机语言及语言处理程序程序的基本结构基本符号单词语句函数程序词法规则语法规则功能逻辑有机组合求三个整数中的较大者#includeiostream.h//预处理intMax(intx,inty,intz){intmax;if(x=y)max=x;//将两个数比较取较大值elsemax=y;if(zmax)max=z;//将两个数的较大值与第三个数比较returnmax;}voidmain()//主函数{intm;m=max(6,5,4);//函数调用printf(“%d”,m);}求三个整数中的较大者#includeiostream.h//预处理intMax(intx,inty,intz){intmax;if(x=y)max=x;//将两个数比较取较大值elsemax=y;if(zmax)max=z;//将两个数的较大值与第三个数比较returnmax;}voidmain()//主函数{intm;m=max(6,5,4);//函数调用printf(“%d”,m);}基本符号:字母+符号单词:空格或特殊符号分开语句:以分号结尾求三个整数中的较大者#includeiostream.h//预处理intMax(intx,inty,intz){intmax;if(x=y)max=x;//将两个数比较取较大值elsemax=y;if(zmax)max=z;//将两个数的较大值与第三个数比较returnmax;}voidmain()//主函数{intm;m=max(6,5,4);//函数调用printf(“%d”,m);}有且只能有一个main函数自定义函数注释语法规则——结构语句ABexpABTFexpATF(a)顺序结构(b)选择结构(c)循环结构三种基本的控制结构为:顺序结构、选择结构和循环结构。第5章计算机程序设计5.1问题求解和程序设计5.2程序设计语言5.3算法及其流程图表示算法的定义简单地说,算法就是解决问题的方法,或问题的解决方案。算法(Algorithm):是对特定问题求解步骤的一种描述,是指令的有限序列。做好笔记,有作业!程序流程图的基本符号(a)开始或结束(b)处理(c)选择(d)输入/输出(e)控制流选择结构表达式语句TF选择结构:在程序的运行过程中,能依据运行时刻表达式的值有选择地执行某些程序段。又称“分支结构”。单分支选择结构表达式语句1TF语句2双分支选择结构:在程序的运行过程中,能依据运行时刻表达式的值有选择地执行某些程序段。又称“分支结构”。输入x,求得y,画出流程图xY10)0()0(xxY=0X0?YesY=1-XNo结束输出Y单分支结构示例开始输入xY=0如何改为双分支结构?循环结构表达式语句TF循环结构:用来描述具有规律性的重复运算。对比分支结构1、条件判断次数2、条件为假时是否可执行操作求1至N之间的所有自然数之和。i=1,sum=0i=Nsum=sum+ii=i+1Y结束输出sumN开始输入N1、前后项的关系2、初始值、循环条件与循环体的关系循环结构的关键初始值、循环条件与循环体是不是唯一的?sum=1?i=i+1sum=sum+iiN?求1至N之间的所有自然数之和。i=0,sum=0iNi=i+1sum=sum+iY结束输出sumN开始输入Nsum=sum+i+1i=i+1开始n=100,m=0Nn1000?n=n+1n能被3和5整除吗?YYm=m+1输出n结束输出mN例4:输出3位数中所有既能被3整除又能被5整除的数,并统计其个数。循环?分支?混合结构:循环中包含分支任何分支结束后都要为下一次循环做准备!问题6一球从100米高度开始落下,每次落地后反弹到原高度的一半,问球在第10次落地时共经过的路程以及反弹的高度?…第1次落地第2次落地第10次落地第i次与第j次落地后弹起高度间的关系?第i次落地时所加路程与弹起高度间的关系?核心变量:高度or路程?h经过几次减半?s经过几次增加?109开始s=100,h=50i=1i10?Ys=s+2hh=h/2i=i+1结束输出s,hNs:第i次落地时的路程h:第i次落地后弹起的高度i=10?h=100?h=h/2s=s+2hi=i+1i=2问题7:斐波那契数列1,1,2,3,5,8,13,21,34,…即著名的斐波那契数列,它来源于1202年意大利数学家斐波那契提出的一个“兔子问题”:假设一对刚出生的兔子一个月后长大,再过一个月就能生下一对兔子,并且此后每个月都能生一对兔子,且新生的兔子在第二个月后也是每个月生一对兔子。问:一对兔子一年内可繁殖成多少对兔子?123456月份大小大小大小大小大小大小数目011011213253总数112358兔子在出生后的第三个月才能产小兔斐波那契数列的数学特征数列中,从第3项开始,每项都是它之前两项之和。设Fn表示这个数列的第n项,则该数列可以数学化描述为:F1=1,F2=1,Fn+2=Fn+1+Fn,n≥1斐波那契数列中的问题例7:斐波那契数列中的数由第几项开始都不小于1000?lastthisnext一二三112123235last=thisthis=next提示:设last,this,next三个变量,分别代表Fn-1,Fn,Fn+1,则有next=this+last以第1、2项为基础,每次向后计算一项。1,1,2,3,5,8,13,21,34循环体的两大任务:1.根据题意计算某个量2.为下一次计算做准备开始last=1,this=1,n=2this1000?n=n+1结束输出nNnext=last+thislast=thisthis=nextY作业:画流程图1、求1000以内既能被5整除又能被7整除的数之和。2、求Fibonacci数列前20项之和。3、求4、x与y之间存在以下关系,写出输入X后求解Y的流程图。5、求1+(1+2)+(1+2+3)+……+(1+2+3+…10)。提示:在循环中每次计算(1+2+…+n)6、输入X、Y、Z,按由大到小顺序输出这三个数。7、输入10个数,计算平均值并找出最小值。2x+1x1y=xx=14x-5x12561...4121111.23用纸交

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功