第4章流程控制
- 格式:ppt
- 大小:1.00 MB
- 文档页数:28
第 4 章 基本算法和流程控制本章主要介绍基本的算法、Visual Basic 语言的流程控制语句,包括 If 语句、Select Case 语句、 For Next 语句、While Wend 语句和 Do Loop 语句等。
4.1 基本算法对计算机编程语言来说,算法是用于求解某个特定问题的一些指令的集合。
具体地说,用计算机所能 实现的操作或指令,来描述问题的求解过程,就得到了这一特定问题的计算机算法。
4.1.1 算法和算法的描述方法1.什么是算法一般来说,所谓算法是指解决一个特定问题采用的特定的、有限的方法和步骤。
例如,计算 6!的步 骤是: 计算 1×2 的值为 2→计算 2×3 的值为 6→计算6×4 的值为24→计算 24×5 的值为 120, →计算 120 ×6 的值为 720,即 6!=720。
利用计算机来解决问题需要设计程序,在设计程序前要对问题进行充分的分析,设计解题的步骤与方 法,也就是设计算法,然后根据算法设计程序。
例如,计算 6!的值,上面已给出了计算的步骤,要实现上 述计算,需用变量 SUM 存放初值 1,以后存放每次乘积的值和最后的计算结果,用变量N 存放初值 0,用 N=N+1 使 N 依次取整数 1、2、3、4、5 和 6,用 SUM=SUN*N 完成每次的乘法运算。
根据上述算法,设 计计算 6!的程序代码如下。
SUM=1:N=0N=N+1:SUM=SUM*N N=N+1:SUM=SUM*N N=N+1:SUM=SUM*N N=N+1:SUM=SUM*N N=N+1:SUM=SUM*N N=N+1:SUM=SUM*N Print "6!= ";SUM如果使用上述算法计算 15!值,会使程序冗长而繁琐,这显然不是一个好算法。
考虑到程序中多次使 用 N=N+1 和 SUM=SUM+N 语句,可使用循环的方法,循环一次执行一次 N=N+1 和 SUM=SUM+N 语句, 一共循环 15 次。
实验4程序控制结构的应用[实验目的]•了解程序的基本结构;•掌握分支结构的类型和使用方法;•掌握循环结构的类型和使用方法;•理解程序设计的流程控制语句;•掌握循环语句的结构特点;•具备使用循环结构并能够完成简单编程的能力。
要求:所有操作结果均以截图的形式保存,截取的图上尽可能的出现自己的个人信息。
[实验设备]PC机一台;Pycharm;Win7/11操作系统。
[实验任务]任务4-1判断奇偶数任务4-2鸡兔同笼的问题任务4-3输出美元符号($)阵列任务4-4继续嵌套循环任务4-5输出IOO以内的素数任务4-6求1-2+3-4+5...99的所有数的和[实验流程]任务4・1判断奇偶数【任务需求】编写一个程序,判断输入的整数,利用流程分支语句去判断是奇数还是偶数,按编程顺序进行编写。
【任务完成效果图】请按照任务需求将完成的效果图放在下方。
任务4-2鸡兔同笼的问题【任务需求】一个笼子中有鸡X只,兔y只,使用a和b定义鸡和兔子的头和脚,求鸡兔各有几只,运用关系式判断鸡的数量和兔子的数量如果f1ag=1则成立,如果f1ag=O则输出错误(使用for循环解决)。
【任务完成效果图】请按照任务需求将完成的效果图放在下方。
任务4-3输出美元符号($)阵列【任务需求】分别使用for循环和使用whi1e循环,运用range函数设置循环的次数,输出每次i+1后的$号,接着按要求进行程序编写。
【任务完成效果图】请按照任务需求将完成的效果图放在下方。
任务4-4继续嵌套循环【任务需求】某课程的百分之分数m,将其变换为5分制(优、良、中、及格、不及格)的评定等级grade,评定条件以下:优:m>=90>良:80<=m<90>中:70<=m<80>及格:60<=m<70.不及格:m<60,首先创建以对象名为“m”,接着按要求进行程序编写。
【任务完成效果图】请按照任务需求将完成的效果图放在下方。
第四章流程控制主要学习内容:1、理解java语言中复合语句的使用方法;2、掌握if条件语句的使用方法;3、了解if语句与Switch语句之间的区别;4、掌握while循环语句的使用方法;5、掌握do-While循环语句的使用方法;6、了解while和do-while语句的区别;7、了解for语句的使用方法;8、了解foreach语句If语句:if执行的条件,如果条件成立,则执行if 后的语句,如果不成立,则跳出条件语句,往下执行;If语句分为简单的if条件语句,if……else语句和if……else if多分支语句;程序流程图:If语句中的表达式可以是一个单纯的布尔变量或常量,也可以是使用关系或布尔运算符的表达式;当条件成立执行语句体的时候,若语句体中仅有一条语句,则可以省略条件语句中的大括号“{}”;虽然if后面的复合语句只有一条,省略大括号并无语法错误,但是为了增强程序的可读性最好不要省略;If-else语句:如果满足某种条件,就进行某种处理,否则进行另一种处理;有时根据编程需要,else或if后面的括号里可以没有语句;对于if-else语句有时可以使用三元运算符进行简化;对于扩展的if-else if语句的执行,则是满足什么条件执行什么语句;If语句只执行条件为真的命令语句,其他的语句都不会执行;Switch语句:switch语句必须是整形和字符型,常量值1~N也必须是整形或字符型;switch语句首先计算表达式的值,如果表达式的值和某个case的值相同,则执行该case后的若干语句,直到遇到break为止,此时如果该case语句中没有break语句,则继续执行case后的若干语句,直到遇到break为止;若没有一个常量的值与表达式的值相同,则执行default后面的语句;default语句是可选的,如果它不存在,而且switch 语句中的值不与任何case的值相同,则switch语句不做任何处理;程序流程图:While 循环语句:while 语句也称条件判断语句,它的循环方式是利用一个条件来控制是否要继续反复执行这个语句;新手最需要注意的就是,在while 的表达式后面加上一个“;”这样会使循环进入无限循环也就是死循环,需要很多的时间去调试,很麻烦的;Do-while循环语句:程序流程图:从流程图中我们可以看出,while和do-while的区别就是do-while先执行一次循环体;For循环:For循环的表达式1只执行一次;。
第4章 MATLAB程序流程控制习题4一、选择题1.下列关于脚本文件和函数文件的描述中不正确的是()。
AA.函数文件可以在命令行窗口直接运行B.去掉函数文件第一行的定义行可转变成脚本文件C.脚本文件可以调用函数文件D.函数文件中的第一行必须以function开始2.下列程序的输出结果是()。
Dy=10;if y==10y=20;elseif y>0y=30enddisp(y)A.1 B.30 C.10 D.203.有以下语句:a=eye(5);for n=a(2:end,:)for循环的循环次数是()。
CA.3 B.4 C.5 D.104.设有程序段k=10;while kk=k-1end则下面描述中正确的是()。
AA.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段:x=reshape(1:12,3,4);m=0;n=0;for k=1:4if x(:,k)<=6m=m+1;elsen=n+1;endend则m和n的值分别是()。
CA.6 6 B.2 1 C.2 2 D.1 26.调用函数时,如果函数文件名与函数名不一致,则使用()。
A A.函数文件名B.函数名C.函数文件名或函数名均可D.@函数名7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。
BA.x=f1(a,b,c) B.[x,y,z,w]=f1(a,b,c)C.[x,b,z]=f1(a,y,c) D.[a,b]=f1(x,y,z)8.执行语句“fn=@(x) 10*x;”,则fn是()。
AA.匿名函数B.函数句柄C.字符串D.普通函数9.执行下列语句后,变量A的值是()。
D>> f=@(x,y) log(exp(x+y));>> A=f(22,3);A.22,3B.22 C.3 D.2510.程序调试时用于设置断点的函数是()。