1、算法与程序设计算法与程序设计人工解决问题的过程人工解决问题的过程人工解题过程:人工解题过程:1.理解和分析所面临的问题;2.寻找解题的途径和方法;3.用笔、纸、计数器等工具进行计算;4.验证计算结果。早期,由于数据量小,人们以手工算法居多,随着科技的发展和计算机性能的提高,越来越多的人使用计算机来解决各式各样的问题。计算机看起来似乎无所不能,实际上,至今为止,计算机只能按照设计好的程序,一步一步地进行计算。计算机解决问题的过程计算机解决问题的过程 1 1、分析问题确定要用计算机做什么?、分析问题确定要用计算机做什么?2 2、寻找解决问题的途径和方法。、寻找解决问题的途径和方法。3 3、用计算机
2、进行处理。、用计算机进行处理。用计算机程序解决问题的基本过程用计算机程序解决问题的基本过程设计算法设计算法设计算法设计算法分析问题分析问题分析问题分析问题编写程序编写程序编写程序编写程序调试程序调试程序调试程序调试程序检测结果检测结果检测结果检测结果计算机解题过程:1.理解和分析所要求的问题;2.寻找解题的途径和方法;3.生成解题算法;4.选用一种算法语言根据算法编写程序;5.通过编辑、编译、连接产生计算机能够识别的指令序列;6.在计算机上执行该指令序列;7.检测结果。算法和算法的表示算法和算法的表示 1.1使用计算机解决问题的一般过程使用计算机解决问题的一般过程 科学技术的进步,社会生产力的
3、发展,都是由于相关的问题得到不断的解决的结果。在当今社会中,由于信息化概念的提出,许多问题的解决都使用到了电子计算机。人们解决问题一般使用到以下两种方法:(一)、人工解题(一)、人工解题1、理解和分析所面临的问题 2、寻找解题的途径和方法 3、用笔、纸和算盘、计算器等工具进行计算 4、验证计算结果(二)、计算机解题(二)、计算机解题1、分析问题确定要用计算机做什么、分析问题确定要用计算机做什么2、寻找解决问题的途径和方法、寻找解决问题的途径和方法3、用计算机进行处理、用计算机进行处理做什么怎么做例例例例1 1:在数学课上,小明遇到了这样一个问题:在数学课上,小明遇到了这样一个问题:在数学课上,
4、小明遇到了这样一个问题:在数学课上,小明遇到了这样一个问题:“有一根长度为有一根长度为有一根长度为有一根长度为L L厘米的铁丝,制作一个面积为厘米的铁丝,制作一个面积为厘米的铁丝,制作一个面积为厘米的铁丝,制作一个面积为S S平方厘米的矩形框,请问矩形框的长平方厘米的矩形框,请问矩形框的长平方厘米的矩形框,请问矩形框的长平方厘米的矩形框,请问矩形框的长h h和宽和宽和宽和宽w w分别分别分别分别是多少?是多少?是多少?是多少?”L面积Sh=?w=?1.2 确定解决问题的方法高h,则宽W=L/2-h面积 h(L/2-h)=sh2-Lh/2+S=0h1,h2=?d=L2-16S1.d0 h=w=2
5、.d0 无实数解3.d=0 h=w=L/41.3 把解决问题的方法步骤化在小品钟点工中,宋丹丹讲了这样一个笑话:说要把大象装冰箱,一共分几步?答案:答案:第一步先把冰箱门打开;第一步先把冰箱门打开;第二步把大象放进去;第二步把大象放进去;第三步把冰箱门关上。第三步把冰箱门关上。一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船。乘船时,农夫只能带一样东西。当农夫在场的时候,这三样东西相安无事。一旦农夫不在,狼会吃羊,羊会吃菜。参考答案参考答案:渡河的方法与步骤:渡河的方法与步骤:第一步:农夫带山羊过河;第一步:农夫带山羊过河;第二步:农夫自己返回;第二步:农夫自己返回;第三步:农夫带
6、狼过河,同时带山羊返回;第三步:农夫带狼过河,同时带山羊返回;第四步:农夫带蔬菜过河;第四步:农夫带蔬菜过河;第五步:农夫返回;第五步:农夫返回;第六步:农夫带山羊过河。第六步:农夫带山羊过河。1 显示文字显示文字“请输入长度:请输入长度:”2 接受输入数据(铁丝的长度)送到变量接受输入数据(铁丝的长度)送到变量L3 显示文字显示文字“请输入面积:请输入面积:”4 接受输入数据(矩形框的面积)送到变量接受输入数据(矩形框的面积)送到变量S5 计算计算L2-16S,结果送到变量,结果送到变量d6 若若d=0转到转到127 若若dMAXi=i+1i10输出MAX开始开始MAX=XYNY1.读取输入
7、的数字读取输入的数字a2.循环读取下一个数字循环读取下一个数字b;3.比较比较a和和b,将他们中比较大的数值将他们中比较大的数值,赋值给赋值给a4.继续循环直到十个数输入完毕继续循环直到十个数输入完毕5.输出输出a即为最大数即为最大数.自然语言描述float num,max,n=1;printf(please input a number:n);scanf(%f,&num);max=num;while(nmax)max=num;n+;printf(the max=%f n,max)伪代码表示伪代码表示计算机语言int main(void)intnum,i=1,max;printf(entern
8、umbers:n);scanf(%d,&num);/输入第一个数输入第一个数max=num;/把第一个数赋值给把第一个数赋值给maxfor(i=1;i N;i+)scanf(%d,&num);/输入其它输入其它9个数个数max=MAX(max,num);/把最大的赋值给把最大的赋值给maxprintf(max=%dn,max);/打印出打印出maxreturn 0;计算1+2+3+4+5的值,无论手算、心算或者用算盘、计算器计算,都要经过有限的事先设计好的步骤。太极拳动作图解就是一个“太极拳的算法”。一个工作计划、生产流程、乐谱、珠算口诀等都可称为是“算法”。对同一个问题往往有不同的解题方法。
9、例:1-1/2+1/3-1/4+1/99-1/100方法:自左向右追项顺序相加或减。方法:先计算1+1/3+1/5+1/99,再计算1/2+1/4+1/100,然后再做减法运算。不仅数值计算的问题要研究算法,做任何事情都要有一定的步骤。变量和变量的用途变量的作用:存储数据变量的实质:内存中的存储单元(变量是存储数据的容器,而不是数据本身)不同的变量有不同的名称,我们可以通过变量名引用变量中的数据变量的操作 读(取)操作:从存储单元中复制数据;写(存)操作:将数据覆盖到存储单元中。变量和变量的用途专门用途的变量:计数器:用于记录某种指定的事件所发生的次数。累加器:用于记录若干个数据的累加结果。特殊的变量:如数组。算法的执行流程算法的执行流程是指算法中各个处理步骤的执行次序和模式。算法执行流程的三种基本模式:顺序模式 选择模式 循环模式算法执行流程的三种基本模式和程序的三种基本结构相对应。算法的执行流程顺序模式step1step2算法的执行流程选择模式条件e?step1step2算法的执行流程循环模式条件e?step2step1