实验三综合程序设计方案(一)
计算机硬件技术基础实验答案程序
实验一:简单程序设计实验(1)编写一个32 位无符号数除法的程序,要求将存放在NUM1 中的32 位无符号数与存放在NUM2 中的16 位无符号数相除,结果存放在程序流程图略。
参考源程序:NUM1 DD 2A8B7654HNUM2 DW 5ABCHNUM3 DW ?NUM4 DW ?ASSUME DS:DATA, CS:CODE;数据段寄存器初始化MOV AX, WORD PTR NUM1MOV DX, WORD PTR NUM1+2DIV NUM2MOV NUM3,AXMOV NUM4,DXEND START(2)编写一个拆字程序。
要求将存放在ARY 单元的2 位十六进制数X1X2 拆为X1 和X2 两部分,并以0X1 和0X2 的形式分别存入ARY+1 和ARY+2 单元中。
程序流程图略。
参考源程序:DATA SEGMENTARY DB 2AH,?,?DATA ENDSCODE SEGMENTASSUME DS:DATA, CS:CODESTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET ARY MOV AL,[SI] ;取ARY 的偏移地址;取16进制数至ALNUM3 和NUM4 中。
DATA SEGMENTDATA ENDS CODE SEGMENTSTART: MOV AX,DATAMOV DS,AXCODE MOV AH,4CHINT 21HENDS;正常返回DOS 系统MOV BL,ALAND AL,0F0H;取16进制数的高四位,即X1SHR AL,4MOV [SI+1],AL ;存0X1 MOV AL,BLAND AL,0FH; 取16 进制数的低四位,即X2MOV [SI+2],AL ;存0X2MOV AH,4CHINT 21HENDSEND STARTCODE实验二:分支程序设计实验(1)编写一个字符比较程序,比较 3 个无符号字节数 A ,B ,C 的大小,并根据比较结果 对变量 K 赋值:如果 3 个数不相等,则 K=0 ; 如果 3 个数中有两个相等,则 K=1 ; 如果 3 个数都相等,则 K=2 。
实验3 结构化程序设计初步
实验3 结构化程序设计初步1.实验目的(1)掌握C++赋值语句与输入输出语句的使用方法,区别C语言的输入输出语句(2)掌握关系运算符、逻辑运算符与条件运算符的运算规则并能熟练计算由这些运算符构成的表达式(3)深入掌握C++各种流程控制语句(选择语句、循环语句和跳转语句)的要点和使用方法(4)能够灵活地运用C++各种语句进行综合程序设计2.实验内容2.1程序分析题。
分析下面程序的运行结果,上机运行程序,观察其输出结果与你的分析结果是否相同?(1)有如下程序,从键盘输入123456.78↙后,变量c1、c2、a、b的值分别是多少?#include <iostream.h>void main( ){char c1,c2;int a;float b;cin>>c1>>c2>>a>>b;cout<<c1<<" "<<c2<<" "<<a<<" "<<b<<'\n';}(2)#include <iostream.h>#include <iomanip.h>void main( ){double a=123.456789012345;cout<<a<<endl;cout<<setprecision(9)<<a<<endl;cout<<setprecision(6)<<a<<endl;cout<<setiosflags(ios::fixed)<<a<<endl;cout<<setiosflags(ios::fixed)<<setprecision(8)<<a<<endl;}(3)#include <iostream.h>#include <iomanip.h>void main( ){double a=123.456789012345;cout<<setiosflags(ios::scientific)<<a<<endl;cout<<setiosflags(ios::scientific)<<setprecision(4)<<a<<endl;}#include <iomanip.h>void main( ){int b=123456;cout<<b<<endl;cout<<hex<<b<<endl;cout<<setiosflags(ios::uppercase)<<b<<endl;cout<<dec<<setw(10)<<b<<','<<b<<endl;cout<<setfill('*')<<setw(10)<<b<<endl;cout<<setiosflags(ios::showpos)<<b<<endl;}(5)有如下程序,从键盘输入86 24 75↙后,程序的输出结果为多少,为什么?#include <iostream.h>void main( ){int a,b,c;cin>>a>>oct>>b>>hex>>c;cout<<a<<" "<<b<<" "<<c<<endl;}(6)#include <iostream.h>#include <iomanip.h>void main( ){short a=-1;cout<<dec<<a<<" "<<oct<<a<<" "<<hex<<a<<endl;}(7)#include <stdio.h>void main( ){int a=-1;printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",a,a,a,a);}(8)以下程序中,为了给整型变量k1,k3赋值为10,给k2,k4赋值为20,如何输入数据?#include <stdio.h>void main( ){int k1,k2,k3,k4;scanf("%d%d",&k1,&k2);scanf("%d,%d",&k3,&k4);printf("k1=%d,k2=%d,k3=%d,k4=%d\n",k1,k2,k3,k4);}void main( ){int a=3,b=4,c=5,d=6,e,f;e=a>b&&(c=8);cout<<c<<" "<<e<<endl;f=a<b&&(e=c<d);cout<<e<<" "<<f<<endl;f=a<b||(d>0?d++:d--);cout<<d<<" "<<f<<endl;}(10)#include <iostream.h>void main( ){int x,y,z,w;z=(x=-1)?(y=-1,y+=x+5):(x=7,y=9);w=y*'a'/4;cout<<x<<" "<<y<<" "<<z<<" "<<w<<endl;}(11)#include <iostream.h>void main( ){int a=5,b=7,c=3,t;if(a= -1) cout<<"Yes"<<endl;else cout<<"No"<<endl;if(a>b) { t=a;a=b;b=t; }if(a>c) { t=a;a=c;c=t; }if(b>c) { t=b;b=c;c=t; }cout<<a<<" "<<b<<" "<<c<<endl;}解析:a被赋值为-1,输出YESIf语句成立则执行,不成立则不执行分析只有b>c成立,=后面的值赋给左边的,顺序从左到右(12)#include <iostream.h>void main( ){ char c='3';switch(c-'1'){case 0:case 1:cout<<c+1<<endl;case 2:cout<<c+2<<" "<<char(c+2)<<endl;default:cout<<c+3<<" "<<char(c+3)<<endl;}}‘3’是字符型,ASCLL码为051,执行Switch时,根据switch表达式的值找到与之匹配的case子句,就从此子句开始执行下去,不再进行判断(13)#include <iostream.h>void main( ){int a=2,b=7,c=5;switch(a>0){case 1:switch(b<0){case 1: cout<<"+";break;case 2: cout<<"-";break;}case 0:switch(c==5){case 0: cout<<"*";break;case 1: cout<<"/";break;default: cout<<"#";break;}default: cout<<"$";}cout<<"\n";}a>0是真,值为1,执行case1,继续下面,b<0是假,不执行其中的case1.case2c==5是真,值为1,执行case1,输出/,其后有break,被中断不再执行分句里其下的命令,default: cout<<"$"前面没有break,则输出$(14)#include <iostream.h>void main( ){int a=10,b=0;do{a+=2;b+=a;cout<<"a="<<a<<",b="<<b<<endl;if(b>20) break;}while(a!=14);}(15)#include <iostream.h>void main( ){int i,j;for(i=10;i<20;i++){for(j=2;j<=i/2;j++)if(i%j==0) break;if(j>i/2)cout<<i<<" ";}cout<<endl;}(16)#include <iostream.h>void main( ){int i,j,m=0;for(i=0;i<5;i++)for(j=0;j<5;j++)if(j>=i) m++;cout<<m<<endl;}(17)#include <iostream.h>void main( ){int i,j;for(i=1;i<=9;i++){for(j=1;j<=9;j++){ if(j>i) break;cout<<i<<"*"<<j<<"="<<i*j<<" ";}cout<<endl;}}(18)#include <iostream.h>void main( ){int i=1,sum=0;while(i<=100){if(i%2==0){ i++; continue;}sum+=i;i++;}cout<<sum<<endl;}2.2编程题(1)编写程序从键盘输入一个大写字母,将其转换为小写字母并输出。
实验三 程序控制结构
实验(实训)报告项目名称实验三程序控制结构所属课程名称C语言程序设计项目类型验证性实验(实训)日期2011.4.2班级10信息与计算科学学号100112200134姓名邹雯指导教师马雪英浙江财经学院教务处制一、实验(实训)概述:【实验目的】1.熟练掌握顺序结构、分支语句、循环结构的使用;理解break语句在多路分支处理中的作用。
2.理解break,continue语句的作用。
3.熟练掌握程序测试和调试。
【实验要求】1.正确建立控制台工程。
2.正确定义变量、正确使用控制结构表达程序逻辑。
3.能区分break,continue等语句的作用。
4.熟练使用VC的DEBUG功能对程序进行调试。
【基本原理】见第三章课件【实施环境】(使用的材料、设备、软件)Visual C++ 6.0二、实验(实训)内容:实验任务一用DEBUG跟踪程序流程,回答问题第1题【项目内容】一只1英寸的蠕虫在一口长为n英寸的井的底部。
每分钟蠕虫可以爬u英寸,但必须休息1分钟才能接着爬。
在休息的过程中,蠕虫又下滑了d英寸。
上爬和下滑重复进行。
蠕虫需要多长时间才能爬出井?不足一分钟按一分钟计,并且假定只要在某次上爬过程中蠕虫爬到了井的顶部,那么蠕虫就完成任务了。
已经有如下正确的程序了,请为该程序建立控制台工程,然后按照要求进行测试和调试。
#include <iostream>using namespace std;int main(){int n; //n是井的高度(0<n<100)int u; //u是蠕虫每分钟上爬的距离int d; //d是蠕虫在休息的过程中下滑的距离(假定d<u,u>0,d>0)int time=0; //所花时间int curh=0; //当前高度int s=1; //s=1表示上爬,s=-1表示下滑cin >> n >> u >> d;while(curh<n){if(s==1) //上升curh+=u;//上升u距离else//下滑curh-=d;//下滑d距离time++;s=-s;}cout << time << endl;return 0;}【方案设计】请画出该程序的流程图。
化学实验三个单元教案初中
化学实验三个单元教案初中
一、酸碱中和实验
实验目的:通过观察酸和碱的中和反应,了解酸碱中和的原理。
实验器材:烧杯、滴管、PH试纸、盐酸溶液、氢氧化钠溶液。
实验步骤:
1. 取一只烧杯倒入适量的盐酸溶液。
2. 使用滴管逐滴加入氢氧化钠溶液,并同时观察PH试纸变化。
3. 持续加入氢氧化钠溶液直到PH试纸显示中性。
4. 记录下添加的氢氧化钠溶液的体积。
实验原理及结论:盐酸和氢氧化钠中和反应生成氯化钠和水,中和反应的本质是酸的氢离
子和碱的氢氧化物结合生成盐和水。
二、生成气体实验
实验目的:观察不同物质之间的化学反应生成气体。
实验器材:试管、火柴、烧杯、碳酸钠、稀盐酸溶液。
实验步骤:
1. 在试管中加入适量的碳酸钠溶液。
2. 慢慢滴入稀盐酸溶液,并观察试管内气体的变化。
3. 使用火柴点燃试管中的气体,观察燃烧现象。
实验原理及结论:碳酸钠和盐酸反应生成二氧化碳气体,二氧化碳是无色无味无毒的气体,但对火具有促进作用。
三、氧化还原实验
实验目的:通过观察氧化还原反应,了解金属和非金属的化学性质。
实验器材:试管、硫酸铜溶液、锌箔。
实验步骤:
1. 在试管中倒入适量的硫酸铜溶液。
2. 将锌箔放入试管中,观察反应过程。
3. 观察试管内溶液的颜色和气泡的产生。
实验原理及结论:锌与硫酸铜反应生成氧化锌和硫酸铜,氧化还原反应是指物质之间电子的转移。
程序设计实验指导书
程序设计实验指导书一、实验目的本实验旨在通过编程实践,提高学生的程序设计能力,加深对程序设计的理解。
通过完成实验任务,学生能够掌握常用的程序设计语言和工具,并能够独立完成基本的程序设计任务。
二、实验环境1. 软件:该实验使用的程序设计语言为Java,所以需要安装Java开发环境(JDK)。
2. 开发工具:推荐使用集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。
3. 硬件:能够运行所需开发工具和Java程序的计算机。
三、实验内容1. 实验一:程序基础本实验主要考察学生对程序结构和基本语法的理解。
学生需要编写一个简单的Java程序,在控制台输出指定的内容。
可以选择合适的题目,如输出学生的个人信息、打印乘法口诀表等。
2. 实验二:条件语句和循环结构本实验主要考察学生在程序中正确运用条件语句和循环结构的能力。
学生需要编写一个Java程序,实现一个简单的计算器功能。
要求用户输入两个数字和运算符,程序可以根据运算符进行加、减、乘、除等运算,并输出结果。
3. 实验三:数组和函数本实验主要考察学生对数组和函数的理解和运用能力。
学生需要编写一个Java程序,实现对一个整型数组的排序功能。
要求用户输入一组数字,程序可以按照升序或降序对数组进行排序,并输出排序后的结果。
四、实验步骤1. 安装Java开发环境(JDK):请根据实验环境中提到的软件安装要求,安装合适版本的JDK,并配置环境变量。
2. 安装集成开发环境(IDE):根据个人喜好选择合适的IDE,并按照官方指引进行安装和配置。
3. 创建Java项目:在IDE中创建一个新的Java项目,并创建相应的源文件。
4. 编写代码:根据实验内容中的要求,在源文件中编写相应的Java 代码。
5. 编译和运行程序:使用IDE提供的功能,编译和运行程序,观察程序输出是否符合预期结果。
6. 调试和修改:如果程序出现错误或不符合预期,可以使用IDE提供的调试功能进行定位和修复。
实验三-选择结构程序设计
实验三选择结构程序设计3.1实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法(大小写字母的转换,判断数的奇偶,整数的整除,分段函数的求解,成绩的转换等)6. 培养解决实际问题的能力3.2实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构。
在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等。
因此可选择相应的语句进行程序设计。
C语言程序设计实现单分支结构常采用,if语句;实现双分支结构常采用:if-else语句;实现多分支结构常采用:if-else嵌套语句或switch语句。
选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示。
条件可以用表达式来描述,如关系表达式、逻辑表达式等。
【3.1】录入下列程序,输入给定的测试数据,观察其程序执行结果。
程序文件名为:ex3_1.c。
输入测试数据:23 56程序运行结果:max=56#include<stdio.h>void main(){int a,b,max;scanf("%d%d",&a,&b); /*从键盘输入两整数*/max=a;if(max<b)max=b;printf("max=%d\n",max); /*输出最大数*/}该程序的执行过程,从键盘输入两个整数赋予a,b,把a的值先赋予变量max,采用if 语句判别max和b的大小,若max小于b,则把b的值赋予max,然后执行printf语句输出max的值;若max大于b,不执行if后的语句,而执行printf语句输出max的值;max中的值总是大数。
程序设计基础(一)实验
程序设计基础(一)实验实验一上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC++语言的上机环境及上机操作过程。
2、了解如何编辑、编译、连接和运行一个C程序。
3、初步了解C程序的特点。
三、实验内容:说明:前三题为必做题目,后两题为选做题目。
1、输出入下信息:*************************Very Good*************************2、计算两个整数的和与积。
3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
4、在屏幕上显示一个文字菜单模样的图案:=================================1 输入数据2 修改数据3 查询数据4 打印数据=================================5、从键盘上输入两个整数,交换这两个整数。
四、实验步骤与过程:五、实验调试记录:实验二简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。
2、学会使用C语言的运算符及表达式。
3、掌握不同数据类型的输入输出方法。
三、实验内容:说明:前四题为必做题目,后两题为选做题目。
1、输入r1、r2,求出圆形垫片面积。
2、输入华氏温度h,输出摄氏温度c。
3、从键盘输入一个3位整数,将输出该数的逆序数。
4、输入并运行以下程序,分析运行结果。
#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);}5、输入三角形三条边的边长,求三角形的面积。
6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
C语言实验报告 实验三 参考答案
实验三循环结构程序设计(参考答案)1、设计程序sy3-1.c,计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。
例如输入n 的值为20时,输出0.583333。
算法分析:穷举1~n(含n)之间的每一个整数,能否被5或者9整除。
如果能,则把它的倒数累加到累加器里去。
因为能被5整除的自然数,应该至少从5才可能,所以循环控制变量i可以5开始。
参考答案:#include<stdio.h>void main(){int n,i;double s=0; //累加器要赋初值为0,结果为小数,所以定义为实数类型printf("请输入n的值:");scanf("%d",&n);for(i=5;i<=n;i++) //穷举小于等于n的自然数if(i%5==0||i%9==0)s=s+1.0/i;// 因为i是整数类型,所以1/i的值为0printf("s=%f\n",s);}运行结果:2、设计程序sy3-2.c,计算并输出给定整数n的所有因子(不包括1与自身)之和。
例如,输入n的值是856时,应输出763。
算法分析:因子,就是能整除n的值。
所以从2到n-1穷举每个数是不是它的因子,是就累加到s中。
参考答案:#include<stdio.h>void main(){int s=0,n,i;printf("请输入n:");scanf("%d",&n);for(i=2;i<n;i++) //穷举所有可能为因子的整数if(n%i==0) //因子即是能整除n的数s=s+i;printf("%d的所有因子之和是:%d\n",n,s);}运行结果:3、设计程序sy3-3.c,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数。
汇编语言程序设计上机实验报告(实验三)-循环程序设计
汇编语言程序设计上机实验报告(实验三)一、实验题目、内容及要求:一、实验题目、内容及要求:题目:循环程序设计内容:编写一程序,要求从键盘接收一个4位十六进制数,在终端上显示与它等值的二进制数。
二进制数。
要求:实验前要作好充分准备,包括程序清单、调试步骤、调试方法,对程序结果的分析等。
本实验要求在EDIT 下编写完整的汇编语言程并生成可执行文件运行。
下编写完整的汇编语言程并生成可执行文件运行。
二、实验时间及地点二、实验时间及地点日期:日期: 2011/11/21 节次:节次: 7.8 地点:地点:电子实验楼二楼电子机房电子实验楼二楼电子机房 三、实验目的三、实验目的通过本实验掌握DOS 系统功能调用功能,掌握循环程序设计的方法;学会编写循环结构程序。
构程序。
简述在实验过程中遇到的问题和解决的方法:简述在实验过程中遇到的问题和解决的方法:1、问题:遇到死循环解决方法:程序显示disp 中发现执行int int 21h 21h 会修改al 的值,避免这种情况的方法就是使用堆栈段。
2、问题:调试中出现no data segment 解决方法:start 开始时没有将数据段的IP 地址赋给dx 。
data segment 3、问题:可执行,结果为乱码解决方法:数据划分比较的粗,没有系统的将数据系统划分。
系统划分:<30h other 30h-39h num 39h-41h other 41h-46h big zi mu 46h-61h other 61h-67h small zi mu >67h other 运行结果:(要求用“抓图软件”抓程序的运行结果)(要求用“抓图软件”抓程序的运行结果)结果分析及实验体会:结果分析及实验体会:1、结果0001001000110100是十六进制数1234转化而来。
十六进制数通过ASCII码对照转换为二进制数。
A~F----- -57hA~ f----- -57h0~9 ------ -37h2、学习应用了循环指令并了解了其特点:A、循环指令不影响标志位B、其功能为使寄存器CX的值减1,如果结果不等于0,则循环至标号,否则顺序执行。
实验3 选择结构程序设计
实验3 选择结构程序设计一、实验目的1.【重点】掌握算法描述方法(重点掌握传统流程图)、准备测试数据以及实际调试程序的独立编程能力。
2.【重点】掌握C语言的基本控制结构和基本控制语句的使用方法。
3.【重点】掌握用C语言的基本控制语句进行选择结构程序设计的方法。
二、实验内容1.算算账成都出租车2010年9月10日执行新价格,捷达车运价将调整为8元起步,速腾9元起步,两2.身高预测每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。
小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为男性成人时身高=(faHeight + moHeight)×0.54cm女性成人时身高=(faHeight×0.923 + moHeight)/2cm此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编写程序LAB3_2.c:从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
【要求】程序要有较好的错误处理能力。
例如,当输入父亲或母亲身高小于0时,屏幕应有如下提示:当输入字符为其他字母时,屏幕也应有相应提示。
例如:所有输入都符合要求的输出界面如下图所示:实验报告《C语言程序设计》实验三班级学号姓名一、实验目的1.【重点】掌握算法描述方法(重点掌握传统流程图)、准备测试数据以及实际调试程序的独立编程能力。
实验三顺序结构程序设计
实验三顺序结构程序设计一、实验目的1、掌握C 语言中赋值语句的使用方法;2、掌握不同类型数据的输入输出方法,能正确使用各种格式字符;二、实验预习1、认真阅读数据的输入输出部分内容。
三、实验指导1、从键盘输入两个0 到127 的整数,求两数的平方差并输出其值以及这两个整数的ASCII 码对应的字符。
(1)算法分析:标准ASCII 码值范围是0 到127,所以在这范围内的数可以以字符形式输出,实现方法是用格式输出函数并用格式符c 控制输出。
(2)根据结果书写源程序#include<stdio.h>void main( ){int x,y,sub ;scanf("%d%d",&x,&y);/* 变量前一定要加取地址符& */sub=x*x-y*y ;printf("%c,%c,%d",x,y,sub);}(3)在C 编辑环境下编辑源程序。
(4)编译【F9】,直到程序没有错误。
(5)运行【Ctrl+F9】,从键盘输入:100 50↙注意输入时两数间应以空格间隔,不能用逗号,只有源程序输入函数中两格式符以逗号间隔时输入才可以是:100,50↙(6)查看结果【Alt+F5】,输出内容如下:d,2,75002、输入程序#include <stdio.h>void main( ){int a,b ;float d,e ;char c1,c2 ;double f,g ;long m,n ;unsigned int p,q ;a=61 ;b=62 ;c1='a' ;c2='b' ;d=3.56 ;e=-6.87 ;f=3157.890121 ;g=0.123456789 ;m=50000 ;n=-60000 ;p=32768 ;q=40000 ;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);}(1)运行程序并分析结果。
实验三-选择结构程序设计
实验三-选择结构程序设计实验目的:通过编写选择结构程序,掌握选择结构的使用方法和程序设计思路。
实验材料:计算机,编程软件(如C++、Python等),实验指导书。
实验一:利用选择结构判断某数的正负实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个整型变量num,用于存储输入的数字。
步骤三:使用输入函数,要求用户输入一个数字,并将其赋值给num。
步骤四:使用选择结构,判断num的正负情况。
如果num大于0,则输出"该数为正数"。
如果num小于0,则输出"该数为负数"。
如果num等于0,则输出"该数为零"。
步骤五:保存程序文件,运行程序。
步骤六:测试程序功能,输入不同的数字进行测试,并查看输出结果是否符合预期。
实验结果:经过多次测试,该程序能够正确判断输入数字的正负情况,并输出相应结果。
实验二:利用选择结构判断某年是否是闰年实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个整型变量year,用于存储输入的年份。
步骤三:使用输入函数,要求用户输入一个年份,并将其赋值给year。
步骤四:使用选择结构,判断year是否是闰年。
如果year能够整除4且不能整除100,或者能够整除400,则输出"该年是闰年"。
否则输出"该年不是闰年"。
步骤五:保存程序文件,运行程序。
步骤六:测试程序功能,输入不同的年份进行测试,并查看输出结果是否符合预期。
实验结果:经过多次测试,该程序能够正确判断输入年份是否是闰年,并输出相应结果。
实验三:利用选择结构计算学生成绩等级实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个浮点型变量score,用于存储输入的学生成绩。
步骤三:使用输入函数,要求用户输入一个学生成绩,并将其赋值给score。
步骤四:使用选择结构,根据score的值计算学生的等级。
实验3 顺序结构程序设计
实验三数据类型和顺序结构程序设计(4学时)[实验任务一]:通过调试、分析程序运行结果,掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符;掌握各种运算符尤其是复合赋值运算符和除法及求余运算符。
程序分析实例3-1:输入、运行下面的程序,并分析、验证运行结果。
并以文件名assignment.c最终保存在实验3文件夹里:(需要存盘)【分析】程序运行结果为:在此基础上,做以下改动:(1)将程序第9~14行改为:a=61; b=62;c1=a; c2=b;f=3157.890121; g=0.123456789;d=f; e=g;p=a=m=50000; q=b=n=-60000;运行程序,分析结果。
【分析】修改后程序运行结果为:(2)在(1)的基础上将printf语句改为:printf("a=%d,b=%d,c1=%c,c2=%c,d=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e);printf("f=%f,g=%f,m=%d\n",f,g,m);printf("n=%d\n”,n);printf(“p=%d,q=%d\n",p,q);运行程序。
(3)将p, q改用%o格式符输出。
注意是字母o而不是数字0。
(4)改用scanf函数输入数据而不用赋值语句,scanf函数如下:scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);输入的数据入下:61, 62, a, b, 3.56,-6.87, 3,157.890121, 0.123456789, 50000,-60000, 40000(说明:lf,ld格式符分别用于输入double型和long型数据)分析运行结果。
MATLAB实验三(1)程序设计
实验三(1)、MA TLAB程序设计一、实验目的1、掌握建立和执行M文件的方法2、掌握利用if语句和switch语句实现选择结构的方法二、实验内容及步骤1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90分~100分为A,80分~89分为B,70分~79为C,60分~69分为D,60分以下为E。
要求:1)分别用if语句和switch语句实现2)对不合理的成绩应输出出错信息“输入的成绩不合理”(若成绩出现小数,则只能是“.5”)switch语句clear all;mark=input('请输入分数');switch markcase num2cell(90:0.5:100)result='A';case num2cell(80:0.5:89.5)result='B';case num2cell(70:0.5:79.5)result='C';case num2cell(60:0.5:69.5)result='D';case num2cell(0:0.5:59.5)result='E';otherwiseresult='输入成绩不合理';endresultif语句clear all;a=input('请输入分数');if rem(a,0.5)result='输入有误!';elseif a<=100&&a>=90result='A';elseif a<90&&a>=80result='B';elseif a<80&&a>=70result='C';elseif a<70&&a>=60result='D';elseif a<60&&a>=0result='E';elseresult='输入有误!';endresult2、设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。
大学计算机实验3-实验报告
大学计算机实验3-实验报告大学计算机实验 3 实验报告一、实验目的本次实验旨在通过实际操作,加深对计算机相关知识的理解和掌握,提高我们的计算机应用能力和问题解决能力。
具体目标包括:1、熟悉特定计算机软件或工具的使用方法和功能。
2、培养我们的实践操作能力,能够独立完成相关任务。
3、增强对计算机系统和程序运行原理的认识。
二、实验环境本次实验在学校的计算机实验室进行,实验室配备了高性能的计算机设备,安装了所需的操作系统和软件工具,具体如下:1、操作系统:Windows 10 专业版。
2、应用软件:具体软件名称 1、具体软件名称 2等。
三、实验内容及步骤(一)实验任务一:任务一的具体描述1、启动相关软件,熟悉其操作界面和基本功能。
2、按照给定的要求,进行数据的输入和处理。
首先,打开具体文件或项目,在相应的位置输入数据。
然后,运用软件提供的功能对数据进行整理和分析。
3、观察数据处理的结果,检查是否符合预期。
(二)实验任务二:任务二的具体描述1、切换到另一个软件工具,了解其特点和使用规则。
2、依据给定的案例,进行模拟操作。
设定相关参数,如列举参数名称和取值。
运行程序,观察输出结果。
(三)实验任务三:任务三的具体描述1、综合运用之前所学的知识和技能,解决一个较为复杂的实际问题。
2、制定解决方案,明确操作流程。
3、逐步实施解决方案,在过程中不断调整和优化。
四、实验中遇到的问题及解决方法在实验过程中,遇到了一些问题,通过以下方法得以解决:1、问题一:在进行具体操作时,出现了错误描述的错误提示。
解决方法:查阅相关的帮助文档和在线资料,发现是由于原因分析导致的。
通过具体的解决步骤,成功解决了该问题。
2、问题二:对于某个概念或功能理解不够清晰,导致操作失误。
解决方法:向老师和同学请教,经过他们的耐心讲解和示范,加深了对该内容的理解,从而能够正确完成操作。
五、实验结果与分析(一)实验任务一的结果经过数据处理,得到了具体的结果描述。
实验三顺序结构程序设计daan
实验三顺序结构程序设计一、实验目的1.掌握各种类型数据输入输出的方法,能正确使用各种格式转换符。
2.熟练掌握顺序结构的程序设计,能够编写简单的应用程序。
二、实验学时数2学时三、实验步骤(一)阅读程序1. 输入并运行以下程序,观察运行结果。
#include<stdio.h>main( ){ int a=17;float u=1234.567;printf(“\n%d,%7d,%-7d”, a,a,a);printf(“\n%f,%7.2f”, u,u);}2. 输入并运行以下程序,观察运行结果。
#include<stdio.h>main( ){ int a,x,y;x=(a=2,6*2);y=a=2.6 *a;printf(“\nx=%d,y=%d”,x,y);}3.阅读以下程序,若输入的数据形式为25,13,10,输出结果为:#include<stdio.h>main( ){int x,y,z;scanf("%d%d%d", &x,&y,&z);printf("x+y+z=%d", x+y+z);}(二)完成程序要求:按照给定题目要求,参照出现的语句,填写程序空白处。
1.键盘输入任意一个小写字母,将其转换成大写字母,然后输出。
#include<stdio.h>main( ){ char c1,c2;c1=getchar( );c2= c1-32 ;putchar(‘\n’);putchar(‘\’’ );putchar(c2); putchar(‘\’’ ); }2.求()4a ba b+⨯⨯的值。
(设a=25,b=5)#include<stdio.h>main( ){ float a=25,b=5;float c;c= (a+b)*4/(a*b) ;printf(“\n\nc=%f”,c);}(三)调试程序要求:分析下列程序是否正确,如有错误,指出错误所在,并改正;若正确,写出运行结果。
实验3 _汇编语言程序设计
实验三:16位机的汇编语言程序设计一实验目的(1) 熟悉监控命令A,D,E,G,R,T,U的使用;(2) 熟悉16位机的29条汇编指令,理解每条汇编指令执行的操作;(3) 能够利用仿真软件TEC2000Sim提供的29条汇编指令编写简单的汇编程序设计。
二实验设备PC电脑一台;需安装软件TEC2000Sim。
三实验准备指令格式、寻址方式和指令系统是讲解、设计和实现控制器部件的基础,但讲解起来枯燥抽象,要让学生真正对这部分教学内容有适度了解和切身体会,开展汇编语言程序设计的实验是必要的,实验不太难,又能提高学生的学习兴趣,有利于加深对指令及指令系统的理解,有利于掌握教学计算机的使用,为开展后续其他教学实验项目做好必要准备。
这项实验最好在16位字长的教学计算机上完成,也可以使用一个我们开发的、运行在PC机上的仿真软件TEC2000sim来进行。
实验内容包括学习教学机的监控程序的使用方法,即如何通过7个监控命令A、U、E、D、R、G、T操作和运行教学计算机。
A命令用于向计算机内输入汇编语言程序的源码,执行单个语句的汇编操作,并把汇编产生的指令代码程序保存到存储器的指定区域;U命令用于对已经保存在内存中的指令代码程序执行反汇编操作,反汇编的结果将被显示到仿真终端的屏幕上,供操作者检查看或修改。
E命令用于向计算机的存储器输入16进制的信息或修改某些存储单元的内容;D命令用于卸出计算机的存储器中的信息并依规定格式显示到仿真终端的屏幕上;R命令用于显示或修改通用寄存器的内容;G命令用于启动内存中的一个指令代码程序,启动后程序连续运行,运行结束后将返回到监控程序的断点,继续运行监控程序;T命令也用于启动内存中的一个指令代码程序,但会使程序处于单指令运行状态,即每发一次T命令只执行用户程序的一个语句,之后就自动回到监控程序的运行状态,使操作者可以跟踪程序的运行过程,随时检查程序的运行结果。
实验的重点内容是学习汇编语言程序设计。
C语言实验三程序 总结 逻辑运算和选择结构程序设计
方法二:用 switch 语句 分析:switch 语句是用于处理多分支的语句。注意,case 后的表达式必须是一个常量 表达式,所以在用 switch 语句之前,必须把 0~100 之间的成绩分别化成相关的常量。所有 A(除 100 以外) 、B、C、D 类的成绩的共同特点是十位数相同,此外都是 E 类。则由此可把 score 除十取整,化为相应的常数。 请同学们自己根据分析写出完整的程序段,并编译、运行、查看结果。
二
实验内容
1 已知三个整数 a,b,c,找出最大值放在 max 中。 #include <stdio.h> main() { 定义整数变量 a,b,c,max; 键盘输入 3 个整数 a,b,c; 在 a,b 中间求出较大数 max(如果 a>=b,则 max=a;否则 max=b); c 与 max 比较,如果 c>max,则 max=c; 输出最大数 max; } 根据上面的算法,编写程序;若输入下列数据,分析程序的执行顺序并写出输出结果。 序号 1 2 3 4 5 6 输入的 3 个整数 a、b、c 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 输出 max max=3 max=3 max=3 max=3 max=3 max=3
程序如下: #include <stdio.h> main() { int score; char grade; printf("请输入学生成绩:"); scanf("%d",&score); if(score>100||score<0) printf("\n 输入成绩错误!\n"); else{ if(score>=90) grade='A'; else if(score>=80) grade='B'; else if(score>=70) grade='C'; else if(score>=60) grade='D'; else grade='E'; printf("\n 成绩等级是%c\n",grade); } } 运行结果如下:
实验三MATLAB的程序设计
end
ifk==0
Y=1;
elseifk==1&&n==1
Y=1;
elseifk<=n
Y=(n/k)*c(k-1,n-1);
end
程序测试:
>> c(0,0)
ans =
1
>> c(0,1)
ans =
1
>> c(3,4)
ans =
4
7,计算以下和式,并估计其求和公式以及验证:
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k;
end
测试:
>> s(3)
ans =
6
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^2;
end
测试:
>> s(3)
ans =
14
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^3;
end
测试:
>> s(2)
4
>> Joseph0(7,4)
2
11,求出 之间的所有素数;
M函数文件:
functionout = nprimes(N)
A= [1:N];
A(1)=0;
i=2;
whilei<= floor(sqrt(N));
forj= 2:fix(N/i)
A(i*j) = 0;
end;
i = A(find(A>i,1));
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三综合程序设计(一)
一、实验目的
1熟练掌握子程序的结构。
2•掌握子程序设计的思想、方法及上机调试过程。
3 •熟练掌握系统功能调用的作用。
4•掌握系统功能调用的思想、方法。
二、实验准备知识
1. 8086/8088汇编语言指令及伪指令的用法
2•子程序设计的思想和方法
(1)子程序是功能相对独立的程序段,它可以实现源程序的模块化,简化源
程序结构,提高编程效率
(2)子程序定义:禾I」用过程伪指令PROC和ENDP,格式如下:
过程名PROC [NEAR|FAR]
……;过程体
过程名ENDP
其中:可选的参数指定过程的调用属性。
没有指定过程属性,则采用默认属性NEAR。
NEAR属性:段内近调用,子程序只能被相同代码段的其他程序调用
FAR属性:段间远调用,子程序可以被相同或不同代码段的程序调用
(3)主程序(调用程序)调用子程序(被调用程序):利用CALL指令
(4)子程序返回主程序:利用RET指令
(5)保护现场:子程序开始处应该保护子程序中使用的寄存器(通常利用堆栈),子程序返回前相应进行恢复。
(6)子程序中对堆栈的压入和弹出操作通常成对使用,以保持堆栈的平衡。
(7)子程序允许嵌套和递归
(8)处理好子程序与主程序之间的参数传递问题:利用寄存器、内存缓冲区
及堆栈。
3. DOS和BIOS中断调用是机器及操作系统提供的中断调用功能
4•系统功能调用的步骤:
⑴在AH寄存器中设置系统功能调用号
⑵ 在指定寄存器中设置入口参数
⑶ 用中断调用指令(INT i8 )执行功能调用
⑷ 根据出口参数分析功能调用执行情况
5.DOS利用21H号中断提供给用户近百个系统功能,主要包括设备管理、
目录管理和文件管理三个方面的功能版权文档,请勿用做商业用途
(1 )输入一个字符,01H号功能调用
(2)输出一个字符,02H号功能调用
(3)输入一个字符串,0AH号功能调用
(4)输出一个字符串,09H号功能调用
注意它们的入口参数及出口参数
6.BIOS也以中断服务程序的形式,向程序员提供系统的基本输入输出程序
BIOS功能更加基本,且与操作系统无关,当DOS没有启动或不允许使用DOS 功能调用时,可以使用BIOS功能调用版权文档,请勿用做商业用途
(1)键盘I/O中断调用——INT 16H
(2)显示器输入中断调用——INT 10H
注意它们的入口参数及出口参数
三、实验性质
本实验为综合性实验。
四、实验学时
本实验学时为2学时。
五、实验内容
1 •编写主程序调用一个过程,实现将两个非压缩BCD码转换为一个压缩BCD 码,并用字符显示功能和字符串显示功能完成在屏幕上显示一个字符串
“Hello World! ”的功能。
版权文档,请勿用做商业用途
2•在内存建立一个表TABLE,其中存放20个字节型无符号数,从键盘输入一个数X(—位数),查找该数X在TABLE中是否存在,若存在,则在RESULT 单元存入1,否则存入-1。
版权文档,请勿用做商业用途
六、实验要求
1•实验前要做好充分准备,包括程序框图,源程序清单,调试步骤,调试
方法,以及对程序结果的分析等。
2•独立完成,严禁抄袭。
3•学会解决调试过程中的错误。
七、实验报告内容
1 •画出程序框图,写出源程序清单及在DEBUG状态下运行程序的过程。
2•写出调试过程中遇到的问题是如何解决的,并对调试过程中的问题进行分析。
3•写出调试的指令及运行结果,并对执行结果进行分析。
4 •收获及体会。