实验五__循环结构程序设计

合集下载

实验5循环结构

实验5循环结构

实验5循环结构理解课程内容、完成实验任务、写好实验报告实验五循环结构一、实验目的1.理解循环结构的含义和作用。

2.掌握ForNe某t、DoWhile----Loop结构的用法。

3.能够使用循环结构编写程序。

二、实验内容1.实验准备在练习文件夹中建立vb5-1、vb5-2、vb5-3、vb5-4、vb5-5、vb5-6、vb5-7、vb5-8文件夹。

2.DoWhile—Loop选择结构例1:给内部变量赋值(1)创建工程。

(2)建立用户界面,如右图所示。

(3)双击按钮控件,切换到代码设计窗口,添加程序代码如下:EndSub(4)调试运行程序。

(5)保存结果到练习文件夹中的vb5-1文件夹。

该程序通过在循环结构中添加K=K+1语句,使得K的值分别为2,3,4,,10。

(1)创建工程。

(2)建立用户界面,如上图所示。

(3)双击按钮控件,切换到代码设计窗口,添加程序代码如下:理解课程内容、完成实验任务、写好实验报告EndSub(4)调试运行程序。

(5)保存结果到练习文件夹中的vb5-2文件夹。

3.For—Ne某t选择结构程序代码如下:EndSub(4)调试运行程序。

(5)保存结果到练习文件夹中的vb5-3文件夹。

三、思考题1.设计一个程序,要求在窗体上显示20个100~200之间的随机整数。

保存结果到练习文件夹中的vb5-4文件夹。

2.设计一个程序,要求用对话框输入n值,在窗体上显示=1某2+2某3+3某4++n某(n+1)的值。

保存结果到练习文件夹中的vb5-5文件夹。

设计提示:(1)使用变量保存和值。

n的计算结果为14。

(2)使用DoWhile----Loop结构判断的大小,当>1000时结束循环。

保存结果到练习文件夹中的vb5-6文件夹。

2理解课程内容、完成实验任务、写好实验报告(3)使用For/Ne某t结构,结合E某itFor语句判断>1000时结束循环。

保存结果到练习文件夹中的vb5-7文件夹。

python程序设计实验报告五:循环结构程序设计(综合性实验)

python程序设计实验报告五:循环结构程序设计(综合性实验)

python程序设计实验报告五:循环结构程序设计(综合性实验)安徽⼯程⼤学Python程序设计实验报告班级物流192 姓名张⽻学号 3190505221 成绩⽇期 2020.4.23 指导⽼师修宇实验五综合运⽤三种基本结构进⾏程序设计(综合性实验)(⼆学时)【实验⽬的】(1)进⼀步掌握选择与循环结构程序设计的⽅法和技巧;(2)综合运⽤三种基本结构进⾏程序设计;【实验条件】PC机或者远程编程环境【实验内容】1、完成三个编程题。

(1)计算并输出指定范围内的素数素数⼜称质数。

指整数在⼀个⼤于1的⾃然数中,除了1和此整数⾃⾝外,没法被其他⾃然数整除的数。

换句话说,只有两个正因数(1和⾃⼰)的⾃然数即为素数。

⽐1⼤但不是素数的数称为合数。

1和0既⾮素数也⾮合数。

素数在数论中有着很重要的作⽤。

2300多年前,古希腊数学家欧⼏⾥得在《⼏何原本》⼀书中证明了素数有⽆穷多个,如2、3、5、7、11等等。

问题描述:编程实现输出指定范围内的素数,输⼊以逗号间隔,输出以空格间隔。

指定范围由⽤户输⼊指定。

(2)九九乘法表问题描述:请按照如下格式设计⼀个“九九乘法⼝诀表”,并打印出来。

编程要点及提⽰:1. 使⽤for循环或者while循环实现以上功能2. 代码量不超过10⾏3. 在⼀⾏中,每个等式之间使⽤制表符"\t"进⾏分隔;对于每⼀⾏等式之间使⽤print()打印空字符实现,即print("")(3)统计不同字符个数问题描述:⽤户从键盘输⼊⼀⾏字符。

请编写⼀个程序,统计并输出其中英⽂字符、数字符号、空格和其他字符的个数。

输⼊格式:输⼊⼀⾏字符输出:按照顺序输出字母,数字,空格,及其他字符的个数,个数以空格分隔如:【实验记录与分析】(请在填写实验记录与分析结果)1.计算并输出指定范围内的素数输⼊代码,输出结果及分析如下:易错点:1.程序⽆法同时处理两个输⼊数据,在输⼊未处理时。

2.本题中的else语句不能和第⼆个的if对齐。

matlab实验五循环结构程序设计实验报告

matlab实验五循环结构程序设计实验报告

实验五:循环结构程序设计实验报告一、实验目的1. 了解循环结构的基本概念和原理;2. 掌握使用Matlab进行循环结构程序设计的方法;3. 提高编程能力和问题解决能力。

二、实验内容1. 学习while循环和for循环的基本语法和用法;2. 设计并编写一些基于循环结构的Matlab程序;3. 分析程序运行结果并进行总结。

三、实验原理循环结构是程序设计中的重要组成部分,它可以让一段代码重复执行多次,从而简化程序的编写。

在Matlab中,循环结构主要有while 循环和for循环两种形式。

while循环在执行循环体前判断条件是否为真,只有条件为真时才会执行循环体;for循环则是指定循环的次数,每次迭代时执行一次循环体。

四、实验步骤与结果1. 编写一个使用while循环的程序,实现1~100的累加。

程序代码如下:```matlabsum = 0;i = 1;while i <= 100sum = sum + i;i = i + 1;enddisp(sum);```运行程序后,得到的结果为5050。

2. 编写一个使用for循环的程序,实现1~10的阶乘。

程序代码如下:```matlabresult = 1;for i = 1:10result = result * i;enddisp(result);```运行程序后,得到的结果为xxx。

五、实验总结通过本次实验,我深刻理解了循环结构的基本概念和原理,掌握了使用Matlab进行循环结构程序设计的方法。

在编写循环程序的过程中,我发现循环结构可以大大简化程序的编写,并且能够高效地处理重复性任务。

我也进一步提高了自己的编程能力和问题解决能力。

本次实验使我对Matlab中的循环结构有了更加深入的了解,我相信这对我的编程能力和日后的学习工作都将大有裨益。

六、实验感想和改进意见通过本次实验,我深刻认识到循环结构在程序设计中的重要性和灵活性。

循环结构能够帮助我们简化程序的编写,提高代码的重用性和可读性,因此在实际的程序设计中,合理地运用循环结构能够大大提高程序的效率和逻辑清晰度。

程序设计基础(C语言)实验报告

程序设计基础(C语言)实验报告

程序设计基础(C语言)实验报告课程名称:程序设计基础(C语言)姓名:学号:年级:专业:指导教师:实验地点:目录实验一顺序结构程序设计实验二选择结构程序设计实验三循环结构程序设计实验四数组及其应用实验五函数及其应用实验六指针及其应用实验(一)顺序结构程序设计一、实验目的1.掌握顺序结构程序的设计思想,领会顺序结构的程序执行时顺次执行的特点。

2.掌握赋值语句的特点、功能。

3.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

4.掌握编写程序和调试程序的方法。

二、实验内容及要求1.用下面的scanf函数输入数据使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。

#include <stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%db=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%.1f,y=%.2f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}运行时分别按以下方式输入数据,观察输出结果,分析原因(□表示空格,↙表示回车)。

(1)a=3,b=7,x=8.5,y=71.82,A,a↙(2)a=3□b=7□x=8.5□y=71.82□A□a↙(3)a=3□b=7□8.5□71.82□A□a↙(4)a=3□b=7□8.5□71.82Aa↙(5)3□7□8.5□71.82Aa↙(6)a=3□b=7↙8.5□71.82↙A↙a↙(7)a=3□b=7↙8.5□71.82↙Aa↙(8)a=3□b=7↙8.5□71.82Aa↙通过此题,总结输入数据的规律和容易出错的地方。

实验结论循环结构程序设计

实验结论循环结构程序设计

实验结论循环结构程序设计一、引言二、实验目的三、实验原理1.循环结构的概念2.循环结构的分类3.循环结构程序设计的基本原则四、实验步骤1.确定循环次数和循环条件2.选择合适的循环结构语句3.编写循环体语句五、实验结果分析六、结论与讨论引言:编程是计算机科学中非常重要的一部分,而程序设计中常用到的循环结构也是非常重要的一种控制流程方式。

本文将介绍如何进行循环结构程序设计,并给出相应实验结果及分析。

实验目的:通过本次实验,我们将学会如何使用不同类型的循环结构来控制程序流程,并能够编写简单而有效的程序。

实验原理:1. 循环结构的概念:在程序运行过程中,为了重复执行某些操作或者根据特定条件反复执行某些操作,需要使用到循环结构。

2. 循环结构的分类:常见的有while循环、do-while循环和for循环。

3. 循环结构程序设计基本原则:确定好需要重复执行多少次或在什么情况下需要重复执行,选择合适的循环结构语句,编写循环体语句。

实验步骤:1. 确定循环次数和循环条件:在程序设计之前,需要明确需要重复执行多少次或在什么情况下需要重复执行。

2. 选择合适的循环结构语句:根据确定好的循环次数和循环条件,选择while、do-while或for等不同类型的循环结构语句。

3. 编写循环体语句:在循环结构中,需要编写具体的操作语句来实现所需功能。

实验结果分析:通过本次实验,我们可以发现,在程序设计中使用不同类型的循环结构可以有效地控制程序流程,并且能够编写出简单而有效的程序。

同时,在实际应用中也需要根据具体需求来选择合适的循环结构类型以及确定好相应的循环次数和条件。

结论与讨论:通过本次实验,我们深入了解了循环结构程序设计,并掌握了相应技能。

在今后的学习和工作中,我们将继续深入研究相关知识,并且不断提高自己在编程方面的能力。

C语言实验学生版(最新版)

C语言实验学生版(最新版)

实验一:简单的C程序设计(2学时)一、实验方式:一人一机二、实验目的:1、了解C语言程序的编译环境和编写过程。

2、掌握C语言程序在Visual C++ 6.0环境下的调试过程。

3、初步了解C语言程序的特点。

4、掌握C语言的数据类型。

三、实验内容:1、计算两个数x和y的和。

(教材P5【例1-2】)2、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。

(实验教材P18)3、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。

(实验教材P27)4、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。

(实验教材P21)5、输入并运行以下程序,分析运行结果。

(实验教材P27)#include <stdio.h>void main( ){int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}四、实验程序代码:五、实验运行结果(截图):实验二:顺序结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、掌握标识符、常量、变量的定义及使用。

2、掌握C语言的常用运算符及表达式。

3、掌握单分支if语句的使用方法。

4、掌握双分支if-else语句的使用方法。

三、实验内容:1、从键盘输入一个3位整数,请输出该数的逆序数。

(实验教材P27)2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。

(实验教材P27)3、判断箱子是正方体还是长方体。

(实验教材P33)4、有一函数: x (x<1)y= 2x-1 (1≤x<10)3x-11 (x≥10) 编写程序,输入x值,输出y值。

实验5、选择结构程序结构

实验5、选择结构程序结构

实验五、选择与循环结构一、实验目的:1、 掌握建立和执行M 文件的方法。

2、 掌握利用if 语句实现选择结构的方法。

3、 掌握利用switch 语句实现多分支选择结构的方法。

4、 掌握try 语句的使用。

5、 掌握利用for 语句实现循环结构的方法。

6、 掌握利用while 语句实现循环结构的方法。

7、 熟悉利用向量运算来代替循环的操作方法。

二、实验内容:1、 列分段函数的值。

⎪⎩⎪⎨⎧--≠≠<≤+--≠<-+=其他且且,632,100,6530,6222x x x x x x x x x x x y要求:(1) 用if 语句实现,分别输出x =-0.5,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。

提示:x 的值从键盘输入,可以是向量。

clearx=input('请输入x 的值:x=');if x<0&x~=-3y=x^2+x-6;elseif x>=0&x<10&x~=2&x~=3y=x^2-5.*x+6;else y=x^2-x-6;enddisp(y)(2) 用逻辑表达式实现上述函数。

2、 输入一个百分制成绩,要求输出成绩的等级为A ,B ,C ,D ,E 。

其中90~100分为A ,80~89分为B ,70~79分为C ,60~69分为D ,60分以下为E 。

要求:(1)分别用if 语句和switch 语句实现。

clearx=input('请输入你的成绩x=');if x<=100&x>90disp('A');elseif x>80&x<=89disp('B');elseif x>70&x<=79disp('C');elseif x>60&x<=69disp('D');else disp('E');endclear;x=input('请输入你的成绩x=');switch fix(x)case num2cell(90:100),disp(char(65));case num2cell(80:89),disp(char(66));case num2cell(70:79),disp(char(67));case num2cell(60:69),disp(char(68));case num2cell(0:59),disp(char(69));otherwise disp('你输入的成绩无效');end(2)输入百分制成绩后要判定该成绩的合理性,对不合理的成绩要输出出错信息。

C程序设计实验五实验报告

C程序设计实验五实验报告
进入实验室时间
同组者
离开实验室时间
实验项目名称
09:50

11:30
实验五循环结构程序设计
实验目的:
1、熟悉掌握用while语句、do…while语句和for语句实现循环的方法;
2、掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、地推等);
3、进一步学习调试程序。
实验内容
编程序并上机调试运行。
printf("The quantities of circulation is %f\n",i);
return 0;
}
2输出结果如下:
不同初值对迭代次数有影响。
实验总结:
老师批语:
return 0;
}
②运行结果如下:
在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。
1输入程序如下:
#include<stdio.h>
int main()
{
char c;
int bigletters=0,smallletters=0,space=0,digit=0,other=0;
①输入程序如下:
#include<stdio.h>
int main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;
x2=x1;
day--;
}
printf("total=%d\n",x1);
return 0;
}
②程序运行结果如下:
在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。

C语言上机实验5-12

C语言上机实验5-12

17.5实验5循环结构程序设计1.实验目的(1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。

(2)掌握在程序设计中循环的方法实现一些常用的算法(如穷举、迭代、递推等)。

(3)进一步学习调试程序。

2.实验内容编程并上机调试运行(1)输入一行字符、分别统计出其中的英文字母、空格、数字和其他字符的个数(本题是教材第5章第4题)在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。

(2)输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其个位数字立方和等于该数本身。

例如,153是一个水仙花数,因为153=1³+5³+3³(本题是教材第五章第8题)。

(3)猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃,只剩一个桃子了。

求第一天共摘了多少桃子(本题是教材第五章第12题)。

再得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。

请修改程序并运行,检查结果是否正确。

(4)用牛顿迭代法求方程2X³=4x²+3x-6=0在1.5附近的根(本题是教材第五章第13题,学过高等数学的读者可选做此题)。

再得到正确结果后,请修改程序所设的X初始值由1.5改为100,1000,1000,再运行,观察结果,分析不同的x初值对结果有什么影响,为什么?修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的x初始值对迭代的次数有无影响。

3.预习内容预习教材第5章。

17.6实验6数组1.实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。

(2)掌握字符数组和字符串函数的使用。

(3)掌握与数组有关的算法(特别是排序算法)。

2.实验内容编程序并上机调试运行。

实验五 计数型循环结构

实验五   计数型循环结构
外循环1次,内循环2次;
外循环2次,内循环1次;
外循环19次,内循环3次;
外循环20次,内循环2次;
外循环21次,内循环3次。
(2)试修改程序,以便能知道控制表达式
i=1;j<=20;i++和j=1;j<3;j+=1各执行了多少次?
(3)内循环与外循环的控制表达式进行对换,观察程序的执行结果有无变化,并且观
for(i=1,i<=20,i++)
for(j=1;j<=3;j++)
sum=sum+(i+1)*(i+1)*(j+2)
printf(“sum is :%d\n”,sum);
}
2.实验步骤
(1)将上述程序中的和分别做什么样修改,能使程序按如下要求运行:
不循环;
外循环1次,不进入内循环;
外循环,内循环各1次;
n=I+1;
sum=sum+m*m*k;} Nhomakorabea}
printf(“sum is :%d\n”,sum);
}
观察程序的执行结果有无变化?
(6)在(5)的程序中,若将外循环控制表达式分别做如下修改:
j=1;j<3;j++
j=1;j=3;j++
j=1;j>=3;j++
j=1;j>3;j++
j=1;j<=3;j--
j=1;j>3;j--
j=1;j<3;j++
j=0;j<=3;j+=
j=0;j<3;j++

实验五 循环结构程序设计

实验五  循环结构程序设计
printf("*");
//③
}
}
(3)下列程序的功能为:从键盘上输入123,输出结果是54656。请纠正程序中存在错误,使程序实现其功能。
#include<stdio.h>
main()
{intc;//①
while(c=getchar() !='\n')//②
{ switch(c-1)
{ case '0':
“辗转相除法”求两个正整数的最大公约数的算法提示如下:
①将两数中大的那个数放在m中,小的放在n中。
②求出m被n除后的余数。
③若余数为0则执行步骤⑦;否则执行步骤④。
④把除数作为新的被除数;把余数作为新的除数。
⑤求出新的余数。
⑥重复步骤③到⑤。
⑦输出n,n即为最大公约数。
#include <stdio.h>
nY++;
if(nY > 3) break;
}
printf(“x = %d\n”,nX);
if(nY == 4) continue;
nX--;
}while(!nX);
}
运行结果:
(7)三重循环的使用。
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。程序源代码如下:
printf("%d %d %d % d\n",a,b,c,d );
}
题目
⑴输入某课程的成绩(学生人数未知,以负数作为输入结束,大于100视为无效成绩),求课程成绩的平均分。

实验五 循环结构程序设计

实验五  循环结构程序设计

实验五循环结构程序设计一、实验目的(1)掌握使用while语句,do-while语句和for语句实现循环的方法。

(2)掌握在循环结构中使用break与continue语句的方法。

(3)掌握多重循环的使用方法。

二、实验步骤、数据记录及处理(1)编写程序输出半径为1到15的圆的面积,若面积在30到100之间则予以输出,否则,不予输出。

程序代码:#include<stdio.h>int main(){int i;float area;for(i=1;i<=15;i++){area=3.14*i*i;if(area<30) continue;else if(area>100) break;printf("半径为%d的圆的面积为%6.2f\n",i,area);}return 0;}运行结果:(2)输入一个正整数x(可以是1-9位的正整数),将其转换为逆序正整数y输出,例如输入x的值为3456,则输出y的值6543。

程序代码:#include<stdio.h>int main(){int num,temp,i=0;printf("请输入一个数字:");scanf("%d",&num);while(num>0){temp=num%10;++i;printf("%d",temp);num=num/10;}printf("\n这个数是%d位数",i);return 0;}运行结果:(3)编写程序,分行输出斐波那契Fibonacci数列的前20项(每行5个数)。

说明:斐波那契序列:1,1,2,3,5,8,13,21,……题目扩展(选做):求Fibonacci数列中小于t的最大的一个数,其中t由键盘输入。

例如:输入t=1000时,则输出987。

程序代码:#include <stdio.h>void main(){int i,a[20];a[0]=1;a[1]=1;for(i=2;i<20;i++)a[i]=a[i-1]+a[i-2];i=0;while(i<20){printf("%d\t",a[i++]);if(i%5 == 0)printf("\n");}}运行结果:(4)编写程序,输出“九九乘法口诀表”。

C语言程序设计》实验指导书

C语言程序设计》实验指导书

《计算机基础与程序设计》实验指导书实验教学目标:本课程实验教学的目标在于使学生能够掌握算法的基本概念,并根据算法编制程序,掌握调试程序的基本技巧,初步了解软件开发所要经历的阶段,为学生从事计算机软件开发和数据处理工作打下坚实的基础。

实验教学要求:要求掌握数据类型的定义和使用;三种结构的程序设计;数组;函数;指针;结构体与共用体;文件操作等。

实验(一)C语言的编程环境(TURBOC 2.O)一、目的和要求1、熟悉C语言运行环境。

2、掌握C语言程序的书写格式和C语言程序的结构。

3、掌握C语言上机步骤,了解运行一个C程序的方法。

4、本实验可在学习完教材第一章后进行。

二、实验内容1. 启动Turbo C如果用户计算机系统已经安装了Turbo C编译系统,则在DOS命令状态下键入命令tc。

进入Turbo C集成环境后,首先在屏幕上显示Turbo C主菜单窗口,如下图所示。

可以看出,在该窗口,有8个菜单条目。

每一个菜单的意义如下:File 处理文件(包括装入、存盘、选择、建立、换名写盘),目录操作(包括列表、改变工作目录),退出系统及调用DOS 。

Edit 建立、编辑源文件。

Run 控制运行程序。

如果程序已经编译连接好,且Debug/Source Debugging以及Option/Compiler/Code generation/OBJ Debug Information开关置为On,则可以用此菜单初始化调试阶段。

Compile 编译并生成目标程序与可执行文件。

Project 允许说明程序中包含哪些文件的管理条目。

Options 可以选择集成环境任选项(如存储模式、编译时的任选项、诊断及连接任选项)及定义宏;也可以记录Include Output及Library文件目录,保存编译任选项和从配置文件加载任选。

Debug 检查、改变变量的值,查找函数,程序运行时查看调用栈。

选择程序编译时是否在执行行代码中插入调试信息。

实验五汇编语言程序设计实验(一)

实验五汇编语言程序设计实验(一)

实验五汇编语言程序设计实验(一)一、实验目的1、了解和掌握汇编语言子程序和主程序的设计。

2、掌握循环程序的设计。

3、掌握汇编语言主程序与子程序的调用和参数传递。

4、进一步熟悉在PC机上建立,汇编,链接,调试和运行8086、8088汇编语言程序的过程。

二、实验内容1、复习汇编语言源程序的上机过程:2、编写一个完整程序(包含循环设计和子程序设计)在以strg为首地址的缓冲区中存放着1个字符串,以-1作为结束标志,编程统计字符串长度,并将结果存入lenth单元。

要求统计字符串用子程序完成。

data segmentstrg db ‘abcd’,-1lenth dw ?data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axlea dx,strgcall scountmov lenth,bxmov ah,4chint 21hscount proc nearpush sixor bx,bxmov si,dxnext:cmp byte ptr[si],-1jz overinc bxinc sijmp nextover:pop siretscount endpcode endsend start三、实验器材IBM PC 微机一台四、实验要求1、正确理解本次实验的目的,内容和原理。

2、能编写相应的程序五、实验报告要求完成下面任务:从键盘输入1个长度小于100的字符串,存入以buff 为首地址的缓冲区,其中如有大写字母,要求用子程序转换成小写字母,字符串以回车键作为结束。

写出操作步骤,程序清单,程序注释,实验现象。

上机实验五 循环结构程序设计一(带参考答案)

上机实验五 循环结构程序设计一(带参考答案)

上机实验五循环结构程序设计(一)一.目的要求1.掌握while、do-while、for语句的语法规则、执行流程。

2.比较3种循环语句的异同。

3.按题目要求,完成代码。

二.实验内容思考问题:3种循环的异同点?能否相互转换?for循环控制单元的表达式与while循环中表达式是如何对应的?第1题、分别用while、do-while、for语句编程,求数列前20项之和:2/1,3/2,5/3,8/5,13/8······算法提示:1)定义实变量sum、term、a、b、c,整变量i2)初始化:sum=0,分子a=2,分母b=13)初始化:i(计数器)=14)计算第i项term =a/b5)累加sum=sum+term6)计算c=a+b,更新b= a,更新a=c7)计数器加1,i++8)重复4、5、6、7,直到i>209)输出2位精度的结果编写程序:方法一,用while语句:#include<stdio.h>void main(){float s=0, a=2,b=1,c;int i=1;while(i<=20){s=s+a/b;c=a+b;b=a;a=c;i++;}printf(“s=%.2f”,s);}方法二,用do-while语句:#include<stdio.h>void main(){float s=0,a=2,b=1,c;int i=1;do {s=s+a/b;c=a+b;b=a;a=c;i++;} while(i<=20);printf(“s=%.2f”,s);}方法三,用for语句:#include<stdio.h>void main(){float s=0,a=2,b=1,c;int i;for(i=1;i<=20;i++){s=s+a/b;c=a+b;b=a;a=c;}printf(“s=%.2f”,s);}第2题、计算多项式的值:s=1!+2!+3!+4!+ (20)算法提示:该多项式迭代公式为:term=term*i,sum=sum+term注意:哪些变量需要初始化?变量应采用什么类型?编写程序:#include<stdio.h>void main(){int i;double s=0,fact=1;for(i=1;i<=20;i++){fact*=i;s=s+fact;}printf(“s=%f”,s);}把每一次迭代结果输出,程序应做怎样的修改?第3题、输入x和n,计算并输出下式的值:s=x/1+x/3+……+x/n参考答案:#include <stdio.h>int main(){int n,i;float x,s=0;printf("请输入x,n,以,分隔");scanf("%f,%d",&x,&n);for(i=1;i<=n;i+=2){s+=(x/i);}printf("\ns=%f",s);}第4题、输入一批正整数,求出其中的偶数之和。

循环与子程序设计

循环与子程序设计

实验五循环与子程序设计一、实验目的1.熟练循环程序的编写。

2.掌握子程序的定义及调用方法。

3.学会子程序的编程方法。

二、预习内容1、循环程序是强制CPU重复执行某一指令系列(程序段)的一种程序结构形式,凡是要重复执行的程序段都可以按循环结构设计。

循环顺序一般由四部分组成1)置循环初值部分:这是为了保证循环程序能正常进行循环操作而必须做的准备工作。

循环初值分两类,一类是循环工作部分的初值,另一类是控制循环结束条件的初值。

2)工作部分:即需要重复执行的程序段。

这是循环程序的核心,称之为循环体。

3)修改部分:按一定规律修改操作数地址及控制变量,以便每次执行循环体时得到新的数据。

4)控制部分:用来保证循环程序按规定的次数或特定条件正常循环。

2、在程序设计中,对于某个连续多次重复出现的出现段,常常编制成循环程序,但在无规律的重复时很难用循环程序,此时应用子程序来实现。

.子程序的定义:〈过程名〉PROC:〈过程名〉ENDP子程序的调用:CALL〈过程名〉编写子程序时应注意:1)、入口信息2)、出口信息3)、现场保护和恢复4)、最后一条指令一定是RET指令三、实验内容1、编写程序,显示用‘ * '组成三角形的图形。

结果类似以下系列图(图中sanj4是程序文件名):提示及要求:1)循环调用2号系统功能,显示输出‘*’。

注意循环次数的变化。

2)将回车、换行的功能编写成子程序的格式。

3)‘*’不是从顶格开始的,前面打印输出空格。

空格的ASCII值为20H,同样调用2号功能,输出空格。

2、编程实现以教材附录B的格式显示出ASCII码表。

对于无法显示出的格式符或功能符,如空白0、响铃7、换行0AH、回车0DH等均用空格代替。

运行结果如下图:提示及要求:1)列间字符的ASCII值加10H,行间字符的ASCII值加01H。

2)每显示完一行,回车换行。

要求将实现回车换行编为子程序的格式。

3)对于ASCII值为2、7、8、9、0AH、0DH显示为空格。

程序循环结构实验报告(3篇)

程序循环结构实验报告(3篇)

第1篇实验名称:程序循环结构实验实验日期:2023年4月10日实验地点:计算机实验室实验目的:1. 理解循环结构在程序设计中的作用。

2. 掌握不同循环结构(如for循环、while循环、do-while循环)的语法和应用。

3. 能够根据实际问题选择合适的循环结构进行编程实现。

4. 提高编程实践能力。

实验环境:1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm实验内容:一、实验一:for循环结构1. 实验目的了解for循环的语法和使用方法,掌握其基本操作。

2. 实验步骤(1)编写一个程序,使用for循环打印1到10的整数。

(2)编写一个程序,使用for循环计算1到100的整数之和。

3. 实验代码```python打印1到10的整数for i in range(1, 11):print(i)计算1到100的整数之和sum = 0for i in range(1, 101):sum += iprint("1到100的整数之和为:", sum)```4. 实验结果程序成功运行,打印出1到10的整数和1到100的整数之和。

二、实验二:while循环结构1. 实验目的了解while循环的语法和使用方法,掌握其基本操作。

2. 实验步骤(1)编写一个程序,使用while循环计算1到10的整数之和。

(2)编写一个程序,使用while循环判断一个数是否为素数。

3. 实验代码```python计算1到10的整数之和sum = 0i = 1while i <= 10:sum += ii += 1print("1到10的整数之和为:", sum)判断一个数是否为素数num = 29is_prime = Truei = 2while i i <= num:if num % i == 0:is_prime = Falsebreaki += 1if is_prime:print(num, "是素数")else:print(num, "不是素数")```4. 实验结果程序成功运行,打印出1到10的整数之和以及29是否为素数。

《程序设计基础》课程标准

《程序设计基础》课程标准

《程序设计基础》课程标准课程编号:030501ZB适用专业:计算机、电子、电气课程类型:专业基础课课程性质:必修课课程学时:60 课程学分:4一、课程定位本课程是计算机、嵌入式、电子以及电气专业的一门专业基础课程,也是其它相关专业研究计算机控制以及嵌入式、物联网技术等的一门基础和工具课程。

本课程的主要任务是使学生掌握模块化、结构化编程的基本思想,学会使用C语言编制简单的应用程序,解决一般性应用问题,并有一定的上机操作及调试程序能力。

本课程的先导课程为计算机信息基础,后续课程为android、软件工程、单片机、嵌入式开发技术。

通过掌握C语言的各种语法、数组、函数、位运算等知识,为后续课程奠定语言基础。

二、课程目标1. 能力目标(1)能用C语言进行结构化的程序设计;(2)能用C语言解决一维数据的存储;(3)能用C语言解决库函数及自定义函数的调用;(4)能用C语言解决二进制数据的位运算。

2. 知识目标(1)理解模块化、结构化程序设计思想;(2)掌握C语言的数据类型、语句格式、程序设计结构等基本内容;(3)掌握C语言的数组、函数、位运算等基本内容;(4)熟悉C语言的环境和常规调试方法。

3.素质目标(1)初步具备复用性设计、模块化思维能力;(2)具有热爱科学,团队意识、创新意识和创新精神;(3)具有规范化的代码编写和文档书写习惯;(4)加强职业道德意识;三、课程内容与学时分配四、教学设计1.整体教学设计以结构化程序设计为框架,首先,以顺序结构、选择结构、循环结构为核心,突出程序设计的基本理念及技能,其次,采用项目牵引的方法,让学生理解和学习数组、函数和位运算等知识,最终的目的是使学生能应用C语言程序解决实际问题。

教学过程中,通过分组讨论、知识问答、单元测试等教学活动,课外,通过第二课堂、兴趣小组、技能培训等多种途径,并且充分开发学习资源,包括PPT、动画、在线课程等,给学生提供丰富的学习机会。

教学方法主要采用知识讲授法、引导启发法、案例教学等方法,每章配有实验课,让学生消化吸收理论知识,进一步提高编程水平。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五循环结构程序设计(4学时)【实验前做的操作】在本人所用计算机的逻辑盘(如D:盘或E:盘)上建立一个以本人姓名为名称的文件夹,然后在此父文件夹下建立子文件夹,名称为“实验五”,用来零时存放实验五需要上交的有关文件。

【实验目的】1、掌握循环结构程序设计的基本思想。

2、理解循环结构程序段中语句的执行过程。

3、了解goto语句和if语句构成循环的设计方法。

4、掌握用for、while、do-while语句实现循环(一重循环和多重(重点是双重)循环))程序设计。

5、掌握for、while、do-while三种循环的区别和联系及它们之间的灵活转换。

6、在程序设计过程中实现一些常用算法。

7、进一步练习程序的跟踪调试技术,掌握运行到光标处的调试方法。

8、巩固利用VC++对C程序的查错方法,进一步提高修改程序错误的能力。

【实验内容】一、程序运行到光标处的跟踪调试和变量值的监视练习(可不上交、但必须操作、理解,掌握其方法)1、程序运行到光标处的跟踪调试和变量值的监视示例(请仔细按以下各步骤进行操作):编程计算表达式“1 + 2 + 3 + ……+ 100”的值。

源程序(有错误的程序)#include <stdio.h>void main( ){int i, sum;for ( i = 1, i <= 100, i++ )sum = sum + i;printf("sum = %d\n", sum);}运行结果(改正后程序的运行结果) sum = 5050(1)输入源程序,并以error5_1.c 文件名保存,编译程序,出现第一个错误信息: missing ';' before ')'双击该错误信息,箭头指向“for ”这一行,错误信息指出在for 语句的括号里面应使用“;”,对for 语句括号里面进行仔细分析,发现把“;”写成了“,”。

把“,”改为“;”后,重新编译,连接,都正确。

(2)开始调试,如果调试工具栏不可见,采用实验四或实验二介绍的方法,调出该工具栏(见实验四图4.2所示)。

(3)鼠标单击第6行,光标就在第六行前面闪烁,这就是当前的光标位置(如图5.1所示)。

图5.1 光标在程序中位置(4)单击(Run to Cursor(Ctrl+F10)),程序运行到光标的位置(如图5.3所示)。

此过程中,出现图5.2 “生成可执行文件”的对话框时,选“是(Y)”按钮。

图5.2 生成“error5_1.exe ”文件在变量窗口中,第一次循环时i 的值为1,正确,而sum 的值是-858993460,不正确。

仔细分析程序,发现sum 没有赋初值。

在for 语句前面加一条语句sum = 0;,重新编译、连光标位置接,然后重做(3)和(4),图5.4显示sum的值为0,正确。

图5.3 程序运行到光标的位置图5.4 程序运行到光标的位置,观察“sum”的值(5)把光标设在“}”的前面,鼠标单击,程序运行到光标处“}”的前面(如图5.5所示),变量窗口中,sum的值是5050,正确。

(6)鼠标单击终止调试图标(Stop Debugging(Shaft+F5)),程序调试结束。

图5.5 程序运行到光标的位置,观察最后“sum”的值2、程序运行到光标处的跟踪调试和变量值的监视练习:改错:计算下列表达式的值(保留2位小数)。

(源程序名可定为error5_2.c)y =1 / ( 1 * 3) + ( 1 * 3 ) / ( 2 * 4 ) + ( 2 * 4 ) / ( 3 * 5 ) +…+ ( 8 * 10 ) / ( 9 * 11 )输入输出示例:Input n: 10y = 6.46提示:(1)模仿示例,采用运行到光标(Run to Cursor(Ctrl+F10))调试程序,并观察变量值的变化。

(2)注意整数与整数相除的情况。

源程序(有错误的程序——不是语法错误,而是算法错误或逻辑错误)#include <stdio.h>void main(){ int n,i;float sum;sum=0;printf("Input n: ");scanf("%d",&n);for(i =1; i <=n;i++)if( i ==1)sum=1/3;elsesum+=(i-1)*(i+1)/(i*(i+2));printf("Sum=%0.2f\n",sum);}3、程序的跟踪调试和变量值的监视练习:下面程序的功能是计算n!。

输入下面程序,并以factor.c文件名保存main(){int i,n,s=1;printf("Please enter n:");scanf("%d",&n);for(i=1;i<=n;i++)s=s*i;printf("%d! = %d\n",n,s);}多次运行程序,每次改变n的值(从小到大,如4,7,10,……,20等等),思考哪些结果是正确的,n的值为多少时,输出了错误的结果?如20!=-2102132736,这显然是错误的,为什么?为了找到程序的错误,可以通过单步执行来观察变量的变化。

分析产生这种现象的原因,把程序改正过来,并保存,再用n=20进行实验,分析所得到的结果。

二、编程练习(必须上交)利用VC++编写程序,并调试、运行,直到输出正确结果。

编程练习1:注意:这里提供了以填空的形式出现源程序参考清单,目的是给同学们一个思路。

最好不要将此源程序清单复制到VC++中,否则会出现多处语法错误。

同学们可以据此思路来填写有关语句,从而完成程序。

在调试程序时,一定要运用前面学过的方法。

(1)编一个C程序,计算并输出数列:1、3、5、…、2n-1、…的前n项之和,其中的n由键盘输入。

(要求分别用for、while、do-while语句来完成)方法一:用for语句实现(源文件名为for_c.c)main(){long s,n,k,i;scanf("____________________",&n);k=2*n-1;_____________________;for(i=1;i<=k;i++,_________________) s+=i;printf("1+3+…+%ld=%ld\n",k,s)}方法二:用while语句实现(源文件名while_c.c)main(){long s________________________,n,i=1;scanf("%ld",&n);while(_______________________){s+=i;_____________________;}printf("1+3+…+%ld=%ld\n",2*n-1,s);}方法三:用do while语句实现(源文件名do_while.c)main(){long s=0,n,i=___________________;scanf("%ld",&n);do{s+=i_____________________;i++;}while(____________________);printf("1+3+…+%ld=%ld\n",2*n-1,s);}(2)以下两个程序的功能均是:求出200以内的整数中能同时被3和7整除的最大数。

请填空,并调试验证结果。

1)解法一:main( ){int i;for( ; ; )if( )break;printf("%d",i);}将填空后完整的程序以文件名为aliquot1.c保存2)解法二:main( ){int i,n;for( ; ;i++)if( )n=i;printf("%d",n);}将填空后完整的程序以文件名为aliquot2.c保存编程练习2:(1) 以下程序完成的功能是输出如下所示的图形,通过模仿此程序的功能,完成下面两道题。

程序清单:#include “stdio.h”void main(){int i, j;for(i=1; i<=9; i++){for (j=1; j<=i; j++)printf(“%d”, i);printf(“\n”);}}请编写两个程序分别输出下列两个图形:将编写好的程序以文件名为picture1.c保存。

数字之间有一个空格将编写好的程序以文件名为picture2.c保存。

(2) 以下程序打印如下图案,程序运行后,输入4给变量n,请填空。

【说明】:该程序完成的功能只是打印“*”图案,图中的“10个空格”字样是说明第四行的第一个“*”离屏幕的第一列之间的距离有10个空格。

#include "stdio.h"#define S ''void main(){ int n, i, j;printf("Enter n: ");scanf(___________________);for( i=1; i<=n; i++){ for(j=1; j<=10; j++) putchar(S); /* 说明图案从屏幕的第10列开始处打印输出*/for(j=1; __________; j++) putchar(S);for(j=1; __________; j++) putchar('*');________________________;}for(i=1; i<=n-1; i++){ for(j=1; j<=10; j++) putchar(S);for(j=1;_____________; j++) putchar(S);for(j=1;____________;j++) putchar('*');________________________;}}将填空好的完整程序以文件名star.c保存。

编程练习3:将下面用for循环实现的程序改为while循环结构和do-while循环结构。

并将改写好的程序依次以文件名while2.c和until.c保存。

【程序清单:】#include “stdio.h”void main(){int i, j;for(i=1; i<=5; i++){for(j=1; j<=20; j++)printf(“%d “, j);printf(“\n”);}}该程序的功能是:在一行内输出整数1到20,并连续输出5行。

相关文档
最新文档