实验二、基本程序结构设计
- 格式:doc
- 大小:64.00 KB
- 文档页数:6
实验二 分支结构程序设计实验1、实验目的和要求:掌握汇编语言分支程序的设计方法;2、实验内容:编程序求分段函数Y 的值。
已知变量X 为16位带符号数, 分段函数的值要求 保存到字单元Y 中。
函数定义如下:1 (当X>0)Y = 0 (当x=0)—1 (当X<0)3、实验仪器与器材:计算机及EMU8086汇编软件等。
4、实验原理:分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。
分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。
程序流程图是根据解题分析所绘制的程序执行流程图。
5、实验过程与测试数据(含电路图/程序流程框图):6、实验分析:自己分析7、实验体会:自己总结实验参考程序:DATA SEGMENTX DW -128Y DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV AX,XCMP AX,0JG ISPNJZ ISZNMOV Y,-1JMP FINISHISPN: MOV Y,1JMP FINISHISZN: MOV Y,0FINISH: MOV AH,4CHINT 21HCODE ENDSEND START思考题:把程序修改成如下的分段函数的值—1 (当X>=0)Y=1 (当X<0)。
实验三:C程序的选择结构一、实验目的和要求(1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语句的使用(包括if语句的嵌套)。
(4)熟练掌握多分支选择语句—switch语句。
(5)结合程序掌握一些简单的算法。
(6)进一步学习调试程序的方法。
二、、实验软硬件配置1.硬件配置电脑2.软件配置Windows xp Visual C++三、实验内容及过程描述实验步骤:进入Visual C++ 集成环境。
输入自己编好的程序。
检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时改正。
进行编译和连接。
如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提示找到出错位置和原因,加以改正。
再进行编译,如此反复直到不出错为止。
运行程序并分析运行结果是否合理。
在运行是要注意当输入不同的数据时所得结果是否正确,应运行多次,分别检查在不同情况下结果是否正确。
实验内容:本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
(1)有一函数:()()()⎪⎩⎪⎨⎧≥-<≤-<=10x11310x1121xxxxy写程序,输入x的值,输出y相应的值。
用scanf函数输入x的值,求y的值。
程序如下:#include<>int main(){float x,y;int i;while(i<1000){printf("请输入x的值:");scanf("%f",&x);if(x<1)y=x;程序运行结果如下:(2)从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。
要求在输入数据后先对其进行检查是否小于1000的正数。
若不是,则要从新输入。
编写程序如下:运行结果为:(3)给出一个百分制成绩,要求输出成绩等级A,B,C,D,E 。
淮海工学院计算机工程学院实验报告书课程名:《软件工程》题目:实验2 结构化设计实验班级:Z软件152学号:2017140600姓名:李梦燕实验2结构化设计实验实验目的和要求1、通过本实验,学生应熟练掌握结构化软件工程设计概要设计和详细设计方法,包括软件体系结构设计,系统实现方案设计和结构化程序设计等技术和方法。
2、通过本实验,熟悉设计方法和与设计工具使用,含软件体系结构设计(H图)、系统实现方案设计、结构化程序设计工具程序流程图、PAD图、盒图、伪代码等。
实验环境硬件环境:配置性能较好的台式计算机每人1台,并具备网络环境软件环境:Micresoft Visio实验学时2学时,必做实验实验题目1. 针对自己第一次实验所完成的结构化分析项目(或题目),选择所绘制的数据流图,完成下面2、3要求的结构化设计内容;2. 按照面向数据流的设计方法,并在优化所选择数据流图的基础上,设计出项目的总体设计层次图;3. 按照详细设计阶段所学的过程设计工具,分别选择程序流程图、盒图和PAD图等设计工具,并选择2所得层次图中几个主要模块进行详细设计,画出相应设详细计结果图形;实验过程与实验结果1、根据数据流图,运用面向数据流的设计方法,映射出软件结构,画出相应的软件结构图;软件结构图如下2、运用启发式规则,优化软件结构,画出最终层次图。
3、4、设计软件系统界面。
包括登陆界面、主界面。
实验体会这次实验的题目较多,画的图也比较多,花费了不少是时间。
通过这次实验我理解了结构化软件工程设计的基本任务、概念、原理、技术和方法。
第一次使用Visio画界面图,刚开始画的时候是真的很不适应,用起来也非常不熟悉,但是经过第一次画后画第二个界面就十分的顺畅了。
提交作业要求1.建立一个学号+姓名文件夹(如:20111234张志),建立一个实验报告文件(实验报告.txt或实验报告.doc均可),将实验步骤和程序运行结果拷贝到.txt文件或.doc文档中(可用Alt+PrtSc组合键抓屏),把每次的实验报告(.txt或.doc)和源程序(.C文件)放在学号+姓名文件夹中,上传到教师机“03/09教学班”下面对应的班级文件夹中,下机前把文件夹删除。
2.课外编程题提交到教师机“程序设计”文件夹中。
上机注意事项●运行程序时,应在英文状态下输入数据。
●上一个程序运行结束后, 要关闭工作区或VC窗口, 重新建立一个文件,输入下一个程序。
●编译时死机,将原程序窗口最小化,将程序拷贝到重新打开的VC文件中,可激活系统。
第一次实验(基本程序设计)★预习: 上机指导P4~10详细阅读上机指导P6~7, 掌握vc++6.0的使用方法。
★实验内容:(1)实验1(P5)①(p6)2. 调试修改(改错:求由键盘输入的任意两个整数的乘积。
)#include<stdio.h>void main(void){ int c;scanf(“%d,%d”,&x,&y);/**********FOUND**********/c=a*b/**********FOUND**********/printf(“The product is:%d\n”,c)}②(p7)3.完善程序(程序填空:求圆面积)#define PI 3.14159#include<stdio.h>void main(void){ float r ;double area;scanf(“%f”, &r);/**********SPACE**********/area=【?】;printf(“area=%f\n”, area);}(2)学习编程:①编写一个两个整数相乘的C程序,要求输出格式为: c=3*4=12②从键盘输入三个整数,计算并输出三个整数的平均值。
《c语⾔程序设计》实验报告(实验-2)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。
⼆、预习内容:教材《C语⾔程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。
#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。
2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。
成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。
Python程序设计实验报告二顺序结构程序设计Python程序设计实验报告二:顺序结构程序设计一、实验目的本实验旨在通过编写Python程序,熟悉和掌握顺序结构程序设计的基本方法和技巧,加深对变量、表达式、数据类型以及基本输入输出的理解。
二、实验内容本次实验要求编写一个Python程序,实现以下功能:1. 提示用户输入一个年份,并将其存储到一个变量中。
2. 根据给定年份,计算该年份是否为闰年,并将计算结果存储到一个变量中。
3. 提示用户输入一个月份,并将其存储到一个变量中。
4. 根据给定月份,计算该月份有多少天,并将计算结果存储到一个变量中。
5. 输出计算结果,告诉用户给定年份是否为闰年,以及给定月份有多少天。
三、实验步骤下面是程序的详细步骤:1. 使用input函数提示用户输入一个年份,并将用户输入的值存储到一个名为year的变量中。
2. 根据闰年的定义,判断年份是否为闰年。
判断的条件是:年份能够被4整除但不能被100整除,或者能够被400整除。
如果年份是闰年,则将一个名为is_leap_year的变量设为True,否则设为False。
3. 使用input函数提示用户输入一个月份,并将用户输入的值存储到一个名为month的变量中。
4. 使用if语句判断月份,根据月份的不同,设置一个名为days的变量,表示给定月份的天数。
根据不同的情况,设置不同的值。
5. 使用print函数输出计算结果,告诉用户给定年份是否为闰年以及给定月份有多少天。
输出的格式为:“给定的年份XX是闰年/不是闰年,给定的月份XX有XX天。
”四、实验代码下面是按照顺序结构程序设计的要求,编写的Python程序:```# 提示用户输入年份year = int(input("请输入一个年份:"))# 判断年份是否为闰年if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:is_leap_year = Trueelse:is_leap_year = False# 提示用户输入月份month = int(input("请输入一个月份:"))# 根据月份计算天数if month in [1, 3, 5, 7, 8, 10, 12]:days = 31elif month == 2:if is_leap_year:days = 29else:days = 28else:days = 30# 输出计算结果print("给定的年份", year, "是闰年" if is_leap_year else "不是闰年", ",给定的月份", month, "有", days, "天。
《C语言程序设计实验》指导书以下是为大家整理的《c语言程序设计实验》指导书的相关范文,本文关键词为c语言程序设计实验,指导书,c语言程序设计实验,简明版,中北,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
《c语言程序设计实验》指导书(简明版)中北大学软件学院20XX年10月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉c编译环境、简单c程序结构及书写方式、以及c程序的编辑、编译、连接、运行、调试的步骤;2、掌握c语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握c语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握c语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。
二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。
要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和n-s 图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。
2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单c程序的结构、书写格式以及上机过程;#includeintmain(){printf(\return0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。
实验一 用C 语言编写简单程序一、实验目的1. 熟悉VC6.0的编程环境,掌握运行C 程序的基本步骤。
2. 了解C 程序的基本框架,模仿例题编写简单的C 语言程序。
3. 正确书写算术表达式、赋值表达式和关系表达式。
4. 掌握基本输入输出函数的使用,正确调用C 语言提供的数学库函数。
5. 掌握简单的单步调试方法。
二、实验环境Windows XP ;Visual C++ 6.0。
三、实验内容1.在屏幕上显示一个句子“What is a computer?”。
2.求华氏温度150F 对应的摄氏温度。
计算公式如下:其中,c 表示摄氏温度;f 表示华氏温度。
3.输入x ,计算下列分段函数的值(保留2位小数),请调用sqrt 函数求平方根,调用pow 函数求幂。
4. 输入一个正整数m (0100)m ≤≤,求100i m i =∑。
四、实验要求1. 将上机验证正确的源代码写到实验报告上。
2.根据自己的真实感受,认真填写实验分析和实验心得以及问题和建议。
3.按时提交实验报告。
553299c f =⨯-⨯21(1)2 x<02()0x x f x ⎧+++⎪=≥一、实验目的1.熟练掌握关系表达式的使用。
2.熟练掌握使用else-if 语句实现多分支结构程序设计。
二、实验环境Windows XP ;Visual C++ 6.0。
三、实验内容1.输入x ,计算并输出下列分段函数sign(x)的值。
2.输入月薪salary ,输出应交的个人所得税tax (保留2位小数)。
按照2011年开始实行的新的个人所得税法,计算公式为:tax = rate*(salary-3500)-deduction 。
当salary≤3500时,rate=0、deduction=0当3500<salary≤5000时,rate=3%、deduction=0当5000<salary≤8000时,rate=10%、deduction=105当8000<salary≤12500时,rate=20%、deduction=555当12500<salary≤38500时,rate=25%、deduction=1005当38500<salary≤58500时,rate=30%、deduction=2775当83500<salary 时,rate=45%、deduction=135053.输入一个正整数n ,再输入n 个学生的百分制成绩,统计各等级成绩的个数。
实验二顺序结构程序设计2.1实验要求与目的1.掌握程序设计的基本思想2.熟悉及掌握C语言基本数据类型(int,long,float,double)的说明3.掌握C语言程序设计中格式输入和输出函数的灵活应用4.算术表达式在实际问题中应用5.掌握算法:两数的交换、一个整数的拆数6.数学头文件的包含7.格式输入/输出函数scanf/printf的正确使用2.2 实验指导程序设计的学习过程也是算法积累的过程。
算法是在有限步内求解某一问题所使用的基本运算及规定的运算顺序所构成的完整的解题步骤。
也就是说是计算机解题的过程。
程序设计的基本思想:1)分析问题,理解题意、提出问题;2)建立模型,确立算法,寻找解决问题的有效算法或直接公式;4)编写程序,根据C语言程序结构编程;5)调试程序,若结果正确,结束。
否则检查程序,修改程序,重新调试程序,依次类推,直到调试结果正确为止。
初次自已动手编程,先要建立程序设计的基本思想,结构化程序设计的基本思想就是模块化。
即构成C语言程序的基本单位是函数,函数也是C程序中模块化程序程序设计的基础。
我们将程序设计比拟成“搭积木”,每个模块或每个算法都看成是一个形状及功能不同的“积木”,然后根据设计要求取材,搭建成完美的成品。
C语言是有且仅有一个主函数和若干个子函数组成。
从一个简单的程序设计开始学习,即先学习主函数(main)模块框架。
主函数(main)模块的基本框架设计。
#include <stdio.h>int main(){ 所有数据的数据类型定义说明;数据输入;算法或公式;数据输出;}首次编程,先来熟记2个编程时常用提示信息。
1) 每条语句之后必须有分号“;”。
若程序语句的某一条漏写了分号,在编译时会报如下的错误:error C2146: syntax error : missing ';' before identifier 'scanf'含义: C2146错误:语法错误: 标识符 “scanf” 之前缺少“;”。
目录备注:实验考核要求及成绩评定本课程共有10个上机实验(16次),均为必做。
实验考核由出勤与纪律情况、实验任务完成情况、实验报告质量三个环节组成,成绩以百分计,满分 100 分。
各考核环节所占分值比例及考核要求如下。
每次实验按百分制单独评分,取各次成绩的平均值作为此环节的最终成绩并按比例计入课程总评成绩。
sy1_7.py 并保存至已建好的文件夹中。
4. 检查已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时改正。
5. 运行程序并分析运行结果是否合理。
在运行时要注意当输入不同的数据时所得结果是否正确,应测试两组以上数据,分别检查在不同情况下结果是否正确。
列出1-7题源程序清单并记录上机运行结果。
1.编写Python程序,进行摄氏度和华氏度之间的温度转换。
源程序:运行结果:2. 天天向上的力量计算。
一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1‰,当没有学习时由于遗忘等原因能力值相比前一天下降1‰。
每天努力和每天放任,一年下来的能力值相差多少呢?源程序:运行结果:思考:如果好好学习时能力值相比前一天提高5‰,当放任时相比前一天下降5‰。
效果相差多少呢?源程序:运行结果:如果好好学习时能力值相比前一天提高1%,当放任时相比前一天下降1%。
效果相差多少呢?源程序:运行结果:3. 一年365天,一周5个工作日,如果每个工作日都很努力,可以提高1%,仅在周末放任一下,能力值每天下降1%,效果如何呢?源程序:运行结果:4. 每周工作5天,休息2天,休息日水平下降0.01,工作日要努力到什么程度一年后的水平才与每天努力1%所取得的效果一样呢?(选作)源程序:运行结果:5. 输入一个星期数字,返回对应星期名称。
源程序:运行结果:6. 利用print()函数实现简单的非刷新文本进度条及单行动态刷新文本进度条。
(1) 简单的非刷新文本进度条源程序:运行结果:(2) 单行动态刷新文本进度条源程序:运行结果:实验成绩评定表sy2_1.py-sy2_9.py并保存至已建好的文件夹中。
实验报告
课程名称微机接口与汇编语言
实验项目实验二
基本程序结构设计
实验仪器 TPC-USB通用微机接口实验系统
系别计算机学院
专业
班级/学号
学生姓名
实验日期
成绩
指导教师胡信裕
一、实验目的
1. 学习汇编程序设计的基本方法,掌握用汇编语言设计、编写、调试和运行程序的方法;
2. 进一步熟悉TPC-USB通用微机接口实验系统的使用操作;
3. 熟悉、掌握顺序结构、分支结构、循环结构程序设计和调试。
二.实验设备
1.PC微机系统一套
2.TPC-USB通用微机接口实验系统一套
三.实验要求
1.实验前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。
2.熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)使用方法。
在程序调试过程中,有意识地了解并掌握TPC-USB通用微机接口实验系统的软硬件环境及使用,掌握程序的调试及运行的方法技巧。
3.实验前仔细阅读理解教材相关章节的相关内容,实验时必须携带教材及实验讲义。
四.实验内容及步骤
(一) 程序设计
1.按图1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
图1 实验连接参考电路图之一
2. 按图2连接电路,将计数器0、计数器1分别设置为方式3,计数初值均设为1000,用逻辑笔观察OUT1输出电平的变化(OUT1输出频率应为1Hz)。
图2 实验连接参考电路图之二
3. 参考流程图
8253控制寄存器地址:283H、计数器0地址:280H;计数器1:281H;CLK0连接时钟1MHz。
图3 实验电路之一参考流程图图4 实验电路之二参考流程图
4.实验程序设计如下:
8253_1.asm
io8253a equ 283h
io8253b equ 280h
code segment
assume cs:code
start:mov al,00010000b mov dx,io8253a out dx,al
mov dx,io8253b mov al,0fh
out dx,al
lll:in al,dx
call disp
push dx
mov ah,06h
mov dl,0ffh
int 21h
pop dx
jz lll
mov ah,4ch
int 21h
disp proc near
push dx
and al,0fh
mov dl,al
cmp dl,9
jle num
add dl,7
num:add dl,30h
mov ah,02h
int 21h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
ret
disp endp
code ends
end start
2.E8253_2.asm
io8253a equ 280h
io8253b equ 281h
io8253c equ 283h
code segment
assume cs:code
start:mov dx,io8253c
mov al,36h
out dx,al
mov ax,1000
mov dx,io8253a
out dx,al
mov al,ah
out dx,al
mov dx,io8253c
mov al,76h
out dx,al
mov ax,1000
mov dx,io8253b
out dx,al
mov al,ah
out dx,al
mov ah,4ch
int 21h
code ends
end start
(二)实验程序调试运行
1.在TPC-IDE操作环境下,用文本编辑器编辑实验源程序(E8253.asm);
2.在IDE操作环境下,对源程序(E8253.asm)进行编译和连接,生成生成链接文件(E8253.obj)和可执行文件(E8253.exe);
3.运行IDE操作环境下的调试命令,调试可执行文件(E8253.exe);
4.运行IDE操作环境下的执行命令,运行可执行文件(E8253.exe),结果为:
一程序为数字管显示倒计时计数,二程序则通过 LED 灯L7
以设计的频率闪烁发亮(亮、灭、亮、灭......)
实验结果符合实验程序设计要求。
五、实验总结
通过实验一的初步掌握,以及对实验仪器的熟悉,在实验一的基础上,这次实验主要是对程序代码运行调试的巩固,对基本的问题进行程序设计,在编写代码的过程中,考查我们对于微机课程的学习。
过程中也遇到代码上的一些小问题,经过同学之间的讨论找到了解决的办法。