• 242.00 KB
  • 2022-08-03 发布

高中算法与程序设计课件

  • 65页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
信息技术科算法与程序设计\n2.常见的算法描述方法有:自然语言(如汉语,英文)流程图描述伪代码描述3.程度的三种最基本结构:顺序结构选择结构循环结构1.算法:解决问题的方法与步骤4.编程解题的过程人工解题(分析问题)描述算法(设计算法)编写程序调试程序算法\n有穷性确定性有0个或多个输入有一个或多个输出有效性算法的特征算法可以没有输入,但算法至少有1个输出,算法在执行有穷步后要结束\n程序设计语言的发展历程:机器语言——汇编语言——高级语言P18常见的高级语言:VisualBasic、Pascal、C、C++、Prolog、Java、LISP、Algol、Cobol、Basic等第一个高级程序设计语言是Fortran\n程序设计语言的产生与发展程序设计语言是指人们编制程序所使用的计算机语言。程序设计语言经历了从机器语言到高级语言的发展历程。机器语言用intel80386机器指令完成“9+8”的加法运算指令序号机器指令指令功能11011000000001001把加数9送到累加器AL中20000010000001000把累加器AL中的内容与另一数相加,结果存在AL中(即完成9+8的运算)311111000停止操作\n程序设计语言的产生与发展汇编语言使用一种类似英语缩略词且带有助记性符号的语言用汇编语言写的程序,必须通过汇编程序的翻译,转换成机器语言,才能被计算机执行。用汇编语言来实现“9+8”运算的有关指令指令序号汇编语言指令指令功能1MOVAL,9把加数9送到累加器AL中2ADDAL,8把累加器AL中的内容与另一数相加,结果存在AL中(即完成9+8的运算)3HLT停止操作\n程序设计语言的产生与发展高级语言第一个高级程序设计语言是fortran语言,主要用于科学和工程计算。高级语言中使用的表达式更接近数学表达式,使用的语句更接近自然语言。例如前面计算“9+8”的问题,若用visualBasic语言编程,就变得十分简单,而且易于理解。Print9+8高级语言编写的程序(称为源程序)必须经过翻译器将其翻译成机器语言,才能被计算机执行。高级语言由于抽象度高,源代码与硬件无关,可移植性强。常见的高级语言有fortran,Basic,Pascal,C,C++,java,Prolog。\n程序的编辑与翻译以汇编语言或高级语言所编写的程序被称为“源代码”源代码需要我们逐输入到计算机中,并以文本文件形式保存起来,这个过程称为程序的编辑。高级语言的翻译程序有两种类型:编译程序和解释程序。\n编译程序的主要功能是将高级语言编写的程序在执行前翻译成等效的机器语言程序,以便在机器上直接执行。其编译过程如图2.4。\n解释程序的作用是逐条分析源程序中的语句,每解释一句由计算机执行执行一句。它和编译程序的差别在于不产生目标程序,而是直接执行源程序,每次执行都要进行逐条解释。其解释过程如图2.5。\n常量定义方法:格式:Const常量名As类型=表达式如 constpiassingle=3.14\n或者:dimr1assingledimr2assingledimr1assingle,r2assingle变量的定义方法格式:Dim变量名As类型如 dimxasinteger定义多个变量:\n变量的命名规则1)必须以字母开头,由字母、数字或下划线_组成,长度≤255个字符 2)不能使用VB中的关键字,并尽量不与VB中标准函数名同名;如:Dim、if如:a2,a_2,apple,VB等是正确的;2a,a=2,dim等是错误的\n基本数据类型数据类型类型说明符取值样例整型Integer从-32768到32767如:234、-90是整型数长整型long从-2147483648到2147483647如534342是长整型数单精度Single单精度实型数(可表示小数)它有7位有数字如123.54、1.7534E+51.7534E+5表示1.7534*10^5双精度实型数double双精度实型数,它有15位有数字字符型String例:“china”、“中国”逻辑型(布尔型)BooleanTrue、False日期型Date(time)如:#6/13/2009#\n运算符:运算符号+-*/^\MOD含义加号减号乘号除号乘方整除取余数如a=9b=4a\b值为2即整数除a/b值为2.25即实数除amodb的值为1【注意】多层括号统一用()表示:((a+b)*b)*(a-b)字符串运算符(连接符)&:“abc”&“def”结果为“abcdef”+:“123”+“456“结果为“123456”\n常见函数函数名说明示例结果Abs(X)绝对值Abs(-3.5)3.5Sqr(X)平方根Sqr(9)3Int(X)不大于给定数X的最大整数Int(-1.6)-2Int(1)1Fix(x)取整fix(-1.6)=-1fix(1.6)=1\n输入数据的函数Inputbox(提示信息,标题,默认值,位置)①提示信息:指对输入数据的提示,显示在对话框中,不能省略。②标题:指对运行此函数后弹出的对话框的标题。③默认值:指默认的输入数据值。④位置:是指运行此函数后弹出的对话框的左上角在屏幕上的位置①②③④样例:如x=InputBox(“请输入粮食的单价”,“数据输入”,20)它是提供从键盘输入数据的函数。利用它可产生一个对话框(不需要事先画),提示用户输入数据并单击命令按钮。该函数返回用户输入数据的值。\n格式:print输出内容如printa+b‘输出算式a+b计算后的数值print“hello”‘输出helloprint1+2=3‘输出true【注意】在英文半角状态下的双引号中所表示的数据类型是字符型。如“a=”\n条件语句的格式:格式一:格式二:If条件Then语句1Else语句2If条件Then语句组1Else语句组2EndIf\n关系表达式运算符号=>>=<<=<>含义等于大于大于等于小于小于等于不等于逻辑表达式:P43例子:0<=b<10b>=0andb<10a<=5或者a>10a<=5ora>10\nFor循环语句的格式:For循环变量=初值To终值Step步长值   语句组Next循环变量For循环语句的注意事项:P51(1)For- Next语句必须成对出现,循环变量名保持一致 (2)循环变量是数值型变量 (3)步长值可正可负,当步长值为1时,Step及步长值可以省略\n建立一个VB应用程序一般的四个步骤:(1)建立应用程序界面(2)设置对象的属性(3)编写应用程序的代码(4)保存和运行程序【注意】以上是完整的建立一个VB程序的步骤。但考试时常出现已做(1)(2),要求完善(3)的情况;或者要求做(1)(2),但不要求做(3)的情况,当然也可能要求完整的做(1)(2)(3)(4),一定要注意审题。第(4)个步骤:保存和运行程序,一定要验证程序是否正确,然后以要求的文件名保存在要求的路径下。注意:至少2个文件,工程文件(扩展名vbp)和窗体文件(扩展名frm)。\n1.下列合法的表达式是( )A.a+b<>cB.π*2*rC.x≠yD.a-b*≤cA\n2.设置窗体标题时,应改变窗体的()A.Caption属性B.Name属性C.Font属性D.BackColor属性A\n3.函数Sqr(25)返回的值是()A.25B.5C.-5D.625B\n4.代数式对应的VB表达式是()A.a+b/c-dB.(a+b)/(c-d)C.(a+b)/c-dD.a+b/(c-d)D\n5.在VB语言中,下列正确的赋值语句是()A.-a=cB.a+b=cC.a=9D.a/2=cC\n6.以下程序段执行后,整型变量s的 值为()A.s=50B.s=15C.s=120D.s=32s=1 Fori=1To5Step2 s=s*i Nexti Print“s=”;sB\n7.下列不属于算法表示的工具是()A.自然语言B.流程图C.机器语言D.伪代码C\n8.在VB中下列合法的变量名是()A.a4B.dimC.ha\haD.4bA\n9.函数abs(-9)返回的值是()A.9B.-9C.3D.-1A\n10.用逻辑表达式表示“X大于0且X小于3”,正确的是()A.03C.(x>0)and(x<3)D.(x>0)or(x<3)C\n11.下面不属于结构化程序设计三种基本结构之一的是()A.顺序结构B.选择(分支)结构C.循环结构D.环形结构D\n12.下列属于字符串常量的是()A.abcdB.‘bcd’C.“3”D.helloC\n13.下列属于合法的长整型常量的是()A.3.24567E+10B.1453.14C.5874123D."3256413"C\n14.在VB中,表示一个整数除以另一个整数的余数的运算符是()A.+B.\C.modD./C\n15.以下程序段执行后,整型变量s的值为()s=10 Fori=4To1STEP-1 s=s-i NextiA.5B.0C.-1D.4B\n16.以下程序段执行后,整型变量a的值为()a=2 b=8b=b-a a=b-a a=b+aA.6B.12C.3D.10D\n17.在VB语言中,下列逻辑表达式的值为“真”的是()A.5<>6and6<9B.5<3or6>9C.#1/11/2009#>#11/15/2009#D.#1/11/2009#<#11/15/2019#A\n18.下列计算机程序设计语言中都属于高级语言一组的是()A.汇编语言、JavaB.Pascal、JavaC.机器语言、PascalD.汇编语言、VisualBasicB\n19.设置TextBox的字体颜色时,应改变TextBox的()A.Font属性B.Name属性C.Text属性D.ForeColor属性D\n20.代数式A.(b*b-4*a*c)/(2/a)B.(b*b-4*a*c)/2aC.(b*b-4*a*c)/2*aD.(b*b-4*a*c)/2/a对应的VB表达式是()D\n21.下列句子中,赋值语句错误的是()A.y=x+4B.r=val(text1.text)C.label1.caption=“半径”D.x+4=yD\n以下是完善程序题型\n1.下面的程序求100以内(包括100)能被5整除的数的积,请补充完整。PrivateSubCommand1_Click()DimiAsIntegerDimsAsLong'删除<1>,填入正确的代码s=Fori=5To100 step5'删除<2>,填入正确的代码s=NextiPrint"100以内(包括100)能被5整除的数的积是:“;sEndSub1S*i<1><2>\n3、以下程序的功能是:在text1输入一个整数,判断它是否能被3整除,若能则在text2输出“能”,否则输出“不能”。请找出两个错误之处。PrivateSubcommand1_click()DimaasintegerText1.text=aIfamod3=0Thentext2.text=”能”Elsetext2.text=“不能”EndifEndSubA=text1.textIfamod3=0Thentext2.text=”能”Elsetext2.text=“不能”Endif\n7、以下程序的功能是:求1+1/2+1/3+...+1/10之和。请补充完整。PrivateSubCommand1_Click()DimiAsIntegerDimsAsSingle'删除<1>,填入正确的代码s=Fori=1To10'删除<2>,填入正确的代码s=NextiPrint"1+1/2+1/3+...+1/10=";sEndSub<1><2>0S+1/i返回\n以下部分自已学习\n2、下面程序的功能是求两个数中的较大数。程序能在第一个文本框中接受输入一个数并存入a,第二个文本框中输入另一个数并存入b变量,点击“求两个数中的较大数”按钮后,在窗体上输出较大数。请找出程序中的两个错误之处。PrivateSubcommand1_click()Dimaassingle,bassingle,iAssingleText1.text=aText2.text=bIfa>bTheni=aElsei=bEndIfPrintiEndSuba=Text1.textb=Text2.text\n4、以下程序的功能是:求1到100之间所有的能被3整除的数之和。请补充完整。PrivateSubCommand1_Click()DimiAsIntegerDimsAsIntegers=0'删除<1>,填入正确的代码Fori=3To100s=s+iNexti'删除<2>,填入正确的代码Print"求1到100之间所有的能被3整除的数之和";EndSub<1><2>sStep3\n5、以下程序的功能是:判断如果text1中输入的数是零,则在text2中输出"0",如果输入的数>0,则输出"正数",如果输入的数<0,则输出"负数"。请补充完整。PrivateSubCommand1_Click()Dimaassingle'删除<1>,填入正确的代码<1>Ifa=0thenText2.text=”0”ElseIfa>0thentext2.text=”正数” elsetext2.text=”负数”'删除<2>,填入正确的代码<2>EndSuba=text1.textEndif\n6、以下程序的功能是:求100以内被6整除的个数,请补充完整。PrivateSubCommand1_Click()DimiAsIntegerDimsAsIntegers=0Fori=1To100step1'删除<1>,填入正确的代码If<1>thens=s+1Nexti'删除<2>,填入正确的代码Print"1到100之间能被6整除的个数是:";<2>EndSubimod6=0s\n8、以下程序的功能是:由text1、text2、text3控件输入的数,在text4控件输出它们的平均值。请补充完整。PrivateSubCommand1_Click()Dimaassingle,bassingle,cassingle,dassingleA=text1.text'删除<1>,填入正确的代码C=text3.text'删除<2>,填入正确的代码Text4.text=dEndSub<1><2>B=text2.textd=(a+b+c)/3返回\n9、以下程序的功能是:由text1控件输入一个1901至2019之间的年份a,判断a是否为闰年,如果是就在text2控件输出”是”,如果不是就在text3控件输出”不是”。请补充完整。PrivateSubCommand1_Click()DimaAsInteger‘删除<1>,填入正确的代码'删除<2>,填入正确的代码Ifthentext2.text=”是” elsetext2.text=”不是”EndSub<1><2>A=text1.textAmod4=0返回\nPrivateSubCommand1_Click()'删除<1>,填入正确的代码<1>A=text1.textB=text2.textC=text3.text'删除<2>,填入正确的代码If<2>thentext4.text=”有实根”elsetext4.text=”无实根”EndSubDimaassingle,bassingle,cassingleb^2-4*a*c>=0返回10、以下程序的功能是:求一个一元二次方程ax2+bx+c=0(a不为0)的实根,由text1控件输入的系数a,text2控件输入的数系数b,text3控件输入的系数c,如果方程有实根,则在text4控件输出”有实根”,否则在text4输出’无实根”。请补充完整。\nPrivateSubCommand1_Click()DimiAsIntegerDimsAsSingles=0'删除<1>,填入正确的代码Fori=1To10<1>'删除<2>,填入正确的代码s=<2>NextiPrint"1/1+1/4+1/7+1/10=";sEndSubStep3s+1/i返回11、以下程序的功能是:求1/1+1/4+1/7+1/10之和。请补充完整。\n12.已知三角形一条边边长为12,输入另外两条边的边长a、b,判断a、b和23能否构成一个三角形。例:在Text1输入a、Text2输入b,如果a+b>12、a+12>b、b+12>a,则在Text3文本框中输出"是",否则在Text3文本框中输出"否"。PrivateSubCommand1_Click()DIMAASsingle,basintegerA=text1.textB=text2.textIf<1>thentext3.text=“是”Else<2>EndifEndSubA+b>12anda+12>bandb+12>atext3.text=“否”返回\n13、以下程序的功能是:从text1中输入一个整数a,如果a是奇数,则在text2文本框中输出a的3倍+1;如果a是偶数,则在text2文本框中输出的一半。请补充完整。PrivateSubCommand1_Click()'删除<1>,填入正确的代码Dimaas<1>A=text1.text'删除<2>,填入正确的代码If<2>thentext2.text=a\2elsetext2.text=a*3+1EndSubintegeramod2=0返回\n14、以下程序的功能是:从text1中输入一个正整数,在text2中输出它的因子和。PrivateSubCommand1_Click()DimNAsIntegerDimsAsInteger'删除<1>,填入正确的代码N=Text1.Texts=<1>'删除<2>,填入正确的代码Fori=1ToNif<2>thens=s+iNextiText2.Text=sEndSub0nmodi=0返回\nPrivateSubCommand1_Click()DimiAsInteger,jAsInteger,kAsIntegeri=Text1.Textk=0Forj=2Toi-1'删除<1>,填入正确的代码If<1>Thenk=k+1Nextj'删除<2>,填入正确的代码If<2>ThenText2.Text="是"ElseText2.Text="不是"EndSubimodj=0k=015、以下程序的功能是:从text1输入的数,判断是否是质数,如果是质数就在text2输出”是”,如果不是质数就在text2输出”不是”。请补充完整。返回\n16.判断一元二次方程ax2+bx+7=0有无相等实根。若有相等实根,则输出此实根,否则输出"无"。例:在Text1输入整数a、Text2输入整数b,如果b2-4ac=0,则在Text3文本框中输出实根,否则在Text3文本框中输出"无"。PrivateSubCommand1_Click()DimaassingleDimbassingleA=text1.text<1>Ifb*b-4*a*7=0then<2>elsetext3.text=”无”EndifEndSubB=text2.textText3.text=-b/(2*a)返回\n22.网上信息资源的管理组织方式主要有主题树方式、数据库方式、文件方式、______________四种?超媒体方式\n23.目前信息技术主要包括有计算机技术、微电子技术、通信技术和____________四大技术.传感技术\n24.人类共经历了五次信息技术的重大发展历展,其中第五次是什么?(1)语言的产生与应用(2)文字的创造和使用(3)造纸术和印刷术的发明(4)电报、广播、电视的发明和普及(5)计算机与现代通信技术的应用\n25.在数据库中,表中的每一列是数据库中的一个属性,称为“字段”还是“记录”?_______而每一行则是数据库的一个关系,称______?字段记录

相关文档