您好,欢迎访问三七文档
://://开始S←π×r2结束输入r输出S顺序结构选择结构循环结构://://://://计算机完成任何一项任务都需要算法,但是,用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的.因此还需要将算法用计算机能够理解的程序设计语言(programminglanguage)翻译成计算机程序.程序设计语言有很多种,如BASIC,Foxbase,C语言,C++,J++,VB等.各种语言的语法存在比较大的区别,因此我们教材使用了一种介于自然语言和计算机语言之间的文字和符号,来表达.这种文字和符号,称为伪代码(pseudocode).为了能更好的检验我们的算法,我们还要将伪代码转换为真正的程序,我们使用的工具是一种称为VBA(VisualBasicforApplication)的程序设计语言,它可以看成是VB程序设计语言的一种简化版本.赋值语句:赋值语句伪代码的一般格式:变量←表达式或变量.注意:赋值号左边只能是变量,不能是表达式或常数;赋值号左右两边不能调换;赋值号左右两边可以出现同一个变量,但值可能不相同;赋值号左右两边的量应该是同类型的.赋值语句VBA代码的一般格式:变量=表达式或变量.10x←320y=(x2+x/3)(-1)x伪代码:虚线边框输入语句:输入语句伪代码的一般格式:Reada,b输入语句也是赋值语句,只不过是从键盘等输入设备上接受数据,而且可以批量接受数据。输出语句:输出语句伪代码的一般格式:Printa,b注意使用输出语句输出字符串时,字符内容应加在双引号内。下面我们设计一个解二元一次方程组的通用算法..,222111cybxacybxa)0(.,12211221122112212112babababacacaybabacbcbxS1输入a1,b1,c1,a2,b2,c2;S2x←(b2c1-b1c2)/(a1b2-a2b1);S3y←(a1c2-a2c1)/(a1b2-a2b1);S4输出x,y.10Reada1,b1,c1,a2,b2,c220x←(b2c1-b1c2)/(a1b2-a2b1);30y←(a1c2-a2c1)/(a1b2-a2b1)40Printx,y开始输入a1,b1,c1,a2,b2,c2x←(b2c1-b1c2)/(a1b2-a2b1)y←(a1c2-a2c1)/(a1b2-a2b1)输出x,y结束自然语言:伪代码:流程图:结束输出yy←9y←2.4(x-3)+9开始输入xx≤3YN例2南京市出租汽车最新计费标准如下:在3km以内(含3km)路程按起步价9元收费,超过3km以外的路程按2.4元/km收费.试给出一个出租车计费的算法.S1输入x;S2如果x≤3,y←9,否则y←2.4(x-3)+9;S3输出y.自然语言:条件语句伪代码格式1:IfAThenBElseCEndIfS1输入x;S2如果x≤3,y←9,否则y←2.4(x-3)+9;S3输出y.自然语言:ReadxIfx≤3Theny←9Elsey←2.4(x-3)+9EndIfPrinty伪代码:块条件语句注意语句缩进EndIf不能省略!例2南京市出租汽车最新计费标准如下:在3km以内(含3km)路程按起步价9元收费,超过3km以外的路程按2.4元/km收费.试给出一个出租车计费的算法.例3设计一个算法,实现求绝对值的功能.S1输入x;S2如果x<0,y←-x,否则y←x;S3输出y.自然语言-算法1:S1输入x;S2如果x<0,x←-x;S3输出x.Y开始输入xx<0y←-xy←xN结束输出yNx←-x结束输出xY开始输入xx<0ReadxIfx<0Theny←-xElsey←xEndIfPrinty自然语言-算法2:条件语句伪代码格式2:IfAThenBReadxIfx<0Thenx←-xPrintx输出y结束x>0YN开始输入xy←1x=0YNy←0y←-1例4下列流程图,实现的一个“符号”函数的求值,试用自然语言和伪代码描述算法.S2如果x>0,则y←1;S1输入x;S3输出y.自然语言:否则如果x=0,则y←0,否则y←1;Ifx>0Theny←1ElseIfx=0Theny←0Elsey←-1EndIfReadx伪代码:Printy条件语句伪代码格式3:IfAThenBElseIfCThenDElseEEndIf不能换行,ElseIf连写;Ifx>0Theny←1ElseIfx=0Theny←0Elsey←-1EndIfReadx伪代码2:PrintyIfx>0Theny←1ElseIfx=0Theny←0Elsey←-1EndIfEndIfReadx伪代码3:Printy选择语句嵌套时,EndIf不能省略;条件语句伪代码格式4:IfAThenBElseIfCThenDElseEEndIfEndIf请说说格式3和格式4书写格式有哪些区别?条件语句伪代码格式1:IfAThenBElseCEndIf条件语句伪代码格式2:IfAThenB条件语句伪代码格式3:IfAThenBElseIfCThenDElseEEndIf9100321S开始S←结束输出Si←S←S+ii←i+1NYS1S←0;S2i←1;S3S←S+i;S4i←i+1;S5如果i不大于100,转S3;S6输出S.S←0i←1;DoS←S+ii←i+1Untili100EndDoPrintS直到型循环语句伪代码格式:DoAUntilBEndDo自然语言-直到型循环先累加后计数:开始S←结束输出Si←i←i+1S←S+iNY100321SS1S←0;S2i←1;S3i←i+1;S4S←S+i;S5如果i不大于99,转S3;S6输出S.S←0i←1;Doi←i+1S←S+iUntili99PrintS自然语言-直到型循环先计数后累加:100321S结束输出SS←开始S←S+ii←i+1YNi←S1S←0;S2i←1;S3当i≤100时,S←S+i;i←i+1;转S3;S4输出S.自然语言-当型循环,先累加后计数:S←0i←1;Whilei≤100S←S+ii←i+1EndwhilePrintS当型循环语句伪代码格式:whileCDEndwhile结束输出SS←开始i←i+1S←S+iYNi←100321SS1S←0;S2i←0;S3当i≤99时,i←i+1;S←S+i;转S3;S4输出S.自然语言-当型循环,先计数后累加:S←0i←0;Whilei≤99i←i+1S←S+iEndwhilePrintS直到型循环语句伪代码格式:DoAUntilBEndDo当型循环语句伪代码格式:whileCDEndwhilepAYNpAYN当循环的次数已经确定,可用“For”语句表示.“For”语句伪代码格式:ForIFrom“初值”To“终值”step“步长”……EndForForiFrom0To9step1PrintiEndFori←0Whilei≤9Printii←i+1EndWhileS←0a←1i←1Whilei≤101S←S+a×ia←a×(-1)i←i+2EndWhilePrintS例1下列伪代码实现的什么算法?如何用For语句改写该算法?S←0a←1ForiFrom1to101Step2S←S+a×ia←a×(-1)EndForPrintS1-3+5-7+9-…-101i从1到101,每次增加2S←0i←0Whilei≤99i←i+1S←S+iEndwhilePrintS例2下列伪代码实现的什么算法?如何用For语句改写该算法?S←0ForiFrom0To99step1S←S+i+1EndwhilePrintS课后作业:
本文标题:§4_伪代码
链接地址:https://www.777doc.com/doc-3527923 .html