《脚本语言程序设计》实验2
- 格式:doc
- 大小:69.00 KB
- 文档页数:3
实验2 顺序结构设计实验要求:1.掌握语句的概念;2.掌握在语句中数值表达式的计算和运行结果;3.掌握赋值语句的使用,掌握根据题目需要定义变量类型;4.掌握对整型和实型数据的简单输入输出语句,并设计简单的输入输出语句;5.掌握在执行简单的输入语句时,能够进行正确的输入操作;6.会利用基本语句设计顺序执行的程序;7.会上机调试、运行简单的顺序结构程序。
读程序:1.编写程序,输入两个整数给变量a 和b ,输入的大数放在a 中,输入的小数放在b 中,求出他们的商数和余数并进行输出。
分析:题目已指定数据是按照先大后小次序输入,这样可以保证下面程序中变量a 存放大数,变量b 存放小数,可用除法运算符“/”对整数运算的特点求商,用取余运算符“%”求余数。
#include "stdio.h"main(){int a,b,c,d;printf("input two integers:\n");scanf("%d %d",&a,&b);c=a/b;d=a%b;printf("%d,%d",c,d);}程序解释:第一个printf 语句:\n 为回车换行符,表示输入这行话以后光标另起一行。
scanf 语句:输入a 和b 的值,注意输入的格式要和scanf 语句里的格式相同,这里中间有一个空格,即我们输入a 以后要按一下空格,再输入b ;如果scanf 语句是这样写scanf("%d ,%d",&a,&b);那么我们输入a 的值以后还要输入一个逗号,然后再输入b 的值,然后按回车表示输入结束。
2. 已知三条边a 、b 、c ,求三角形面积。
计算三角形面积的海伦公式:))()((c s b s a s s area ---=,其中)(21c b a s ++= #include<stdio.h>#include<math.h>main(){float a,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c)); /*调用求平方根函数sqrt*/printf("area=%f",area);}实验内容:1.输入两个整型数字,输出他们的和。
3.2 实验二汇编语言程序设计3.2.1 实验目的1)进一步熟悉汇编语言程序的编辑、宏汇编、链接、运行基本概念;2)熟练掌握动态调试程序TD/DEBUG的常用命令或窗口功能,学会用TD/DEBUG调试程序,修改数据和寄存器等环境;3)熟悉掌握汇编语言程序的典型数据结构设计、典型程序流控制方法,了解DOS/BIOS功能调用的基本方法。
3.2.2 实验环境实验环境同实验一。
3.2.3 基本实验内容1)基本实验内容和要求(1)编写程序实现如下功能;①从键盘输入任意字符串后,存入自定义存储单元,判断处理后将字符串中小写字母转换为大写字母(其他字符不变)并按原顺序将这些字符在屏幕上显示出来。
②从键盘输入在0-65535之间的十进制数,将其转换为16进制数并在屏幕中显示出来,要求判断输入字符串是否为在0-65535之间的十进制数。
(2)复习功各种操作,并用DEBUG调试程序,学会基本命令操作,并通过单步、设置断点等方法观察中间结果,完成正常运行。
命令行方式下直接键入debug myfile.exe回车(myfile为待调试可执行程序),进入调试方式(显示—),键入H回车显示全部命令、格式和功能。
常用命令有;U(反汇编)、A(汇编输入指令程序)、R(寄存器显示/修改)、I(端口输入)、0(端口输出)、D(显示数据)、E(修改数据)。
除资源修改管理功能外,重点应用T(单步)、Tn(执行n步)、P(过程/指令)、G××××(从当前器:IP执行到断点××××)或G=××××l ××××2(从××××l执行到××××2断点)调试实驴程序。
2)编程提示(1)小写字母的ASCII码比其所对应的大写字母的ASCII码值大20H,如字符“a”的ASCII 码为61H,而字符“A”的ASCII码为41H,因此字符变换时将小写字母的ASCII码减去20H即为大写字母的ASCII码。
课程号:10010402适用专业:全校非计算机专业制定人:教研室:计算机公共基础教研室计算机科学与信息工程学院2007 年5 月前言VB语言是一种被广泛学习、普遍使用的计算机程序设计语言。
它的高级语言行式、低级语言功能具有特殊的魅力。
由于VB语言具有完整的编程语言特点,因而被大多数高等院校作为典型的计算机教学语言。
在计算机等级、全国计算机应用证书考试等多种计算机知识考试中都有VB语言。
此外,VB语言作为一门实用的、功能强大的程序语言,被程序设计人员广泛使用。
因此,VB语言是一门十分重要的程序设计语言。
《VB语言程序设计》课程,面向全校非计算机专业的本科生开设计算机基础课。
以VB 语言为平台,介绍程序设计的思想和方法。
通过学习,不仅使学生掌握高级编程语言的知识、编程技术和基本算法,更重要的是掌握程序设计的思想和方法,具备利用计算机求解实际问题的基本能力,能灵活应用高级语言进行程序设计。
本实验指导书中详细介绍了每个实验的目的、实验内容,并在方法上给出了指导,希望对同学们的学习能够有所帮助。
另外希望同学们对书中的错误和遗漏多提宝贵意见。
可以登录网站:/netteach。
实验要求VB语言程序设计实验是VB语言程序设计课程的重要组成部分,属于学科基础实验范畴,是与相关教学内容配合的实践性教学环节。
学生通过实验,验证课堂学习的知识,掌握算法设计、编程实现和程序调试的方法,从而形成一定的编程能力。
在《VB语言程序设计》的课程实验过程中,要求学生做到:(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析。
(2)仔细观察上机和上网操作时出现的各种现象,记录主要情况,作出必要说明和分析。
(3)认真书写实验报告。
实验报告包括实验目的和要求,实验情况及其分析。
对需编程的实验,写出程序设计说明,给出源程序框图和清单。
(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(5)实验课程不迟到。
《C程序设计》实验报告专业:班级:学号:学生姓名:实验日期:成绩:指导老师:实验单元一程序基本结构设计一、实验题目实验二顺序结构程序设计二、实验目的1、掌握C语言数据类型以及变量的声明。
2、掌握C语言的赋值运算符、赋值表达式、赋值语句。
3、掌握C语言的整型和字符型的混合运算。
4、掌握C语言的输入、输出函数的使用格式。
三、实验内容P54课后编程题1.2.5共三个程序题1:输入长方形的长和宽,编程求该长方形的周长和面积。
題2:编写一个程序,将大写字母A轮换为小写字母a。
题5:已知圆的半径r=2.5,圆柱高h=1.8,求圆柱表面积和圆柱体积。
(要求表面积和体积保留两位小数)四、实验环境1、硬件环境:PC机2、软件环境:Windows操作系统+VC6.0五、实验代码及结果(程序运行结果请以截屏图给出)1、源程序代码:#include <stdio.h>int main(){int a, b;int area;scanf("%d %d", &a, &b); //变量可以取别的名字,由编程者自定area = a * b;printf("面积是%d\n", area);return 0;}运行结果为:2、源程序代码:#include <stdio.h>int main(){char ch;printf("Please input A~Z: ");scanf("%c", &ch);if(ch >= 'A' && ch <= 'Z')printf("%c\n", ch+32); //小写字母的ASCII码比大写字母的ASCII码大32 elseprintf("Please input A~Z\n");return 0;}运行结果为:3、源程序代码:#include<stdio.h># define PI 3.1415926int main(void){float r,h,v,s,s1;printf("输入半径和高:");scanf("%f%f",&r,&h);s1=PI*r*r; //底面积s=2*s1+2*PI*r*h;//表面积v=s1*h;//体积printf("取小数点后两位得:\n");printf("表面积为:%.2f\t体积为:%.2f\n",s,v);return 0;}运行结果为:六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)名字不能重复变量未赋值时,不能使用Float类型的变量定义的时候,为防止类型不兼容,后面要加f。
实验2 简单程序设计——数据类型、运算符、表达式、语句、输入输出、控制结构1.数据类型(1) 字符集所有C++程序(忽略换行符和字符串常量中的内容)都由字符集中的字符按一定规则构成。
这些字符包括:52个字母、10个数字和27个特殊字符。
(2)标识符标识符是满足如下条件的一串字符:@由字母(a~z,A~Z)或下划线(_)开头;@其它部分可以由字母、下划线或数字(0~9)组成;@字符串长度一般不能超过32个字符(视具体编译环境的不同可能略有差异);@不能用关键字作标识符。
在C++中,有63个关键字也是标识符。
由于这63个标识符被赋予特定意义,所以这些标识符只能作特殊使用,而不能用它们做标识符。
关键字也称为保留字。
(3)数据类型C++程序中的每个数据对象(如2、x1、x1+2)都有确定的数据类型;C++的数据类型包括基本数据类型和自定义数据类型(也称复合数据类型):@基本数据类型有:整型(int)、浮点型(float和double)、字符型(char)、布尔型(bool);@自定义数据类型有:数组、结构体、联合体、枚举、typedef。
不同数据类型有自己的取值范围和所允许的操作。
如:对浮点数不能进行取余(%)和位运算。
不同数据类型之间可以相互进行混合运算(主要针对基本数据类型来说)。
通常由系统隐含地实现它们之间的类型转换。
根据需要,也可以强制类型转换。
2.运算符、表达式、语句@C++中的运算符包括:算术运算符、赋值运算符、关系运算符、逻辑运算符、逗号运算符、条件运算符、位运算符以及sizeof运算符。
@根据组成表达式的运算符的不同,表达式可以分为算术表达式、关系表达式、逻辑表达式、位运算表达式、逗号表达式和赋值表达式等。
@运算符有优先级,同一优先级的运算符有结合性。
@任何一个表达式都有一个值,如:a +b * 3 //算术运算符,其值为最终运算(数学意义上的运算)的结果a >=b //关系运算符,其值为true或false( a < b ) && ( x > y ) || ( a < ( b - ( !c ))) //关系表达式,其值为true或falsex = 3, x += 6, 5 + 6 //逗号表达式,其值为11@C++中的语句有五种:¾ 声明语句:变量声明并被初始化的语句。
《高级语言程序设计》实验2组别班级姓名学号一、实验项目实验二用C语言写简单程序二、实验目的1、输出格式的控制2、掌握算数表达式和赋值表达式的使用3、输出函数的使用4、实现简单的数据处理5、理解编译错误信息三、实验内容和要求1.输出正三角图案:在屏幕上显示下列正三角图案(输入输出示列)** ** * ** * * *2.调试示列求华氏温度100℉对应的摄氏温度。
计算公式如下:c=5×(f-32) /9其中,c表示摄氏温度,f表示华氏温度。
源程序(有错误的程序)1 #include<stdoi.h>2 int main(void)3 {4 int celsius;fahr;5 fahr=100;6 celsius=5*(fahr-32)/9;7 printf(“fahr=d,celsius=%d\n”,fahr,celsius);89 return 0;10 }运行结果(改正后程序的运行结果)fahr=100,celsius=373.求整数均值:输入4个整数,计算并输出这些整数的和与平均值,其中平均值精确到小数点后1位。
试编写相应程序。
四、实验分析(算法)五、实验测试结果(截图)1.23.六、实验总结和探讨附录实验程序代码(该部分请加注释)1#include<stdio.h>int main(void){printf(" * \n");printf(" * * \n");printf(" * * * \n");printf("* * * * \n");return 0;}.2 #include<stdio.h>int main(void){int celsius,fahr;//fahr=100;celsius=5*(fahr-32)/9;printf("fahr=%d\n celsius=%d\n", fahr,celsius);return 0;}3#include<stdio.h>int main(){ int a,b,c,d;printf("请输入四个整数:");scanf("%d %d %d %d",&a,&b,&c,&d);printf("%d+%d+%d+%d=%d\n",a,b,c,d,a+b+c+d);printf("(%d+%d+%d+%d)/4=%.1f",a,b,c,d,(double)(a+b+c+d)/4);return 0;}序号项目得分总分1 实验报告排版(1分)2 算法思想分析(3分)3 源代码(4分)4 实验结果及总结探讨(2分)另注:1、源代码部分请附加适当的注释说明;2、打分的表格请置于实验报告最后一页的底端;3、请遵照本实验范例的文字大小和段落格式排版;实验报告雷同者均视为未做。
实验二熟悉基本数据类型、常量和变量的使用
一、实验目的:熟悉基本数据类型、常量和变量的使用。
二、实验内容及其步骤:
1、验证性实验
1)调试例2.2,并给出调试结果。
截图如下:
程序的输入、编译和链接
2)调试例2.5,并给出调试结果。
截图如下:
程序的输入、编译和链接
3)调试例2.6,并给出调试结果。
截图如下:
程序的输入、编译和链接
程序的运行
2、拓展性实验。
1)编程并调试课后习题1,要求给出程序清单和具体调试、运行的截图。
2)编写并调试课后习题3,要求给出程序清单和具体调试、运行的截图。
评分标准:
验证性程序3个,每个程序20分;拓展性实验两个,每个程序20分。
实验成绩根据步骤给分。
注意:
1.程序名要规范,做到见名知意,为避免抄袭,程序命名以自己姓名拼音缩写加例题名,例如zh_ex2_1,zh_ex2_2等。
2.本次实验为第一次实验 ,将编写的程序放入word文档中,完成后一次上传到作业上传系统。
没有“第一次实验”的word文档,等于未交作业。
3.所有的程序必须执行正确后才能上传到作业系统,否则一经发现,扣除本次实验成绩。
4.作业上交时间原则上不能延迟,延迟一天扣30分,延迟超过3天该次成绩为0分。
一、实验目的1. 掌握C语言数据类型,熟悉各种数据类型的定义和赋值。
2. 掌握表达式值的计算方法与计算原则。
3. 学会使用C的有关算术运算符,特别是自加(++)和自减(--)运算符的使用。
4. 进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容(程序清单及运行结果)1. 计算以下各表达式的结果并上机验证计算结果是否正确。
① 25/3%3计算结果:2② 3.5+1/2+56%10计算结果:9.5③若有定义:int b=7;float a=2.5,c=4.7;a+(int)(b/3*(int)(a+c)/2)%4计算结果:5.5④若有:int x,y,z执行语句:x=(y=(z=10)+5)-5;x=? y=? z=?计算结果:x=10 y=15 z=10⑤ x,a均是整型执行 x=(a=4,6*2)后,x的值是多少?执行 x=a=4,6*2后,x的值是多少?计算结果:x=12x=4⑥若有:int x=5,n=5;执行x+=n++后,x=?,n=?计算结果:x=10,n=62. 读以下源程序,写出输出结果并上机验证,想一想为什么会有这样的结果?#include "stdio.h"int main(){ char ch1,ch2;ch1='a'; ch2='B';printf("ch1=%c,ch2=%c\n",ch1-32,ch2+32);printf("ch1+200=%d\n", ch1+200);printf("ch1+200=%c\n", ch1+200);printf("ch1+256=%d\n", ch1+256);printf("ch1+256=%c\n", ch1+256);return 0;}计算结果:ch1=A,ch2=bch1+200=297ch1+200=)ch1+256=353ch1+256=a3. 分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
实验二 C 语言简单程序设计一、实验目的1、正确使用关系表达式和逻辑表达式表达条件。
2、学习分支语句if 的使用方法。
3、进一步熟悉VC 集成环境的使用方法,学习VC 环境提供的调试工具。
4、掌握用while 语句和do …while 语句实现循环的方法。
5、掌握用for 语句实现循环的方法。
6、掌握三种语句的特点和应用技巧。
7、掌握用break 语句和continue 语句改变循环状态的方法 。
二、实验内容练习1.有一函数 ⎝⎛<--=>+=0100012x x x x x y写一程序,输入x 的值后,输出y 的值。
#include<stdio.h>int main(){int x,y;printf("shuchux:");scanf("%d",&x);if(x>0)y=2*x+1;else if(x=0)y=0;else if(x<0)y=-1-x;printf("%d",y);return 0;}练习2:使用循环结构实现重复处理【说明】从键盘输入一个班的成绩,把百分制转换成等级制。
将百分制成绩(用score表示)除以10之后再取整,一定得到0到10之间的数。
9、10对应’a’,8对应‘b‘,……,5、4、3、2、1、0对应’e’既不及格。
要求分别使用三种循环结构实现。
该项目中,假设班级人数不固定,规定输入若干0至100的成绩,如果成绩不在此范围,则表示结束。
该项目中,同时要使用switch语句实现多分支选择结构。
【要求至少用两种不同方法】1、用while语句实现的程序代码:#include<stdio.h>int main(){int i,score;printf("请输入成绩:");scanf("%d",&i);while(i>=0&&i<=100){ scanf("%d",&i);score=i/10;switch(score){case 10:case 9:printf("a");break;case 8:printf("b");break;case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:printf("a");break;}return 0;}2、用do…while和break语句实现的程序代码:#include<stdio.h>int main(){int i,score;do{scanf("%d",&i);score=i/10;switch(score){case 10:case 9:printf("a");break;case 8:printf("b");break;case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:printf("a");break;}}while(i>=0&&i<101);return 0;}3、用do…while和continue语句实现的程序代码:练习3、求101!nn =∑(即求1!2!3!10!++++)运行结果:思考题:1、有一分数系列:23581321,,,,,,...1235813,求出这个数列的前20项之和。
2 流程控制实验2.1 实验目的(1)掌握复合语句、if语句、switch语句的使用,熟练掌握for、while、do-while 三种基本的循环控制语句的使用,掌握重复循环技术,了解转移语句与标号语句。
(2)练习循环结构for、while、do-while语句的使用。
(3)练习转移语句和标号语句的使用。
(4)使用集成开发环境中的调试功能:单步执行、设置断点、观察变量值。
2.2实验内容2.2.1 程序改错下面的实验2-1程序是合数判断器(合数指自然数中除了能被1和本身整除外,还能被其它数整除的数),在该源程序中存在若干语法和逻辑错误。
要求对该程序进行调试修改,使之能够正确完成指定任务。
/* 实验2-1改错题程序:合数判断器*/1#include <stdio.h>2int main( )3{4int i, x, k, flag = 0;5printf("本程序判断合数,请输入大于1的整数,以Ctrl+Z结束\n");6while (scanf("%d", &x) !=EOF) {7for(i=2,k=x>>1;i<=k;i++)8if (!x%i) {9flag = 1;10break;11}12if(flag=1) printf("%d是合数", x);13else printf("%d不是合数", x);14}15return 0;16}17解答:(1)语法错误修改:1) 第8行的if (!x%i),运算优先级错误,正确形式为:if (!(x%i) )2) 第12行的if(flag=1) printf("%d是合数", x);,判定等于写成了赋值符号,正确形式为:if(flag==1) printf("%d是合数", x);(2)逻辑错误修改:1)一次循环后,没有给flag赋初值,应该在while循环开始时添加语句:flag = 0 ;(3)修改后,源程序清单如下:1#include <stdio.h>2int main( )3{4int i, x, k, flag = 0;5printf("本程序判断合数,请输入大于1的整数,以Ctrl+Z结束\n");6while (scanf("%d", &x) !=EOF)7{8flag = 0 ; // 逻辑错误9for(i=2,k=x>>1;i<=k;i++)10if (!(x%i) )11{ // 疑似语法错误12flag = 1;13break;14}15if(flag==1) printf("%d是合数\n", x); // 第三处16else printf("%d不是合数\n", x);17}18return 0;19}20(4)测试(a)测试用例选择的测试用例如表2-1所示:(b)对应表2-1测试用例的运行结果如图2-1所示:图2-1 实验2-1修改后运行结果截图2.2.2 程序修改替换(1)修改实验2-1程序,将内层两出口的for循环结构改用单出口结构,即不允许使用break、goto等非结构化语句。
《脚本语言程序设计》实验2指导书
实验内容:
1. 请用PHP编写一个如图1所示的动态页面,实现以下功能:验证表单数据的正确性,表
单中保含用户名、密码、出生日期、E_mail。要求用户名为6-12个字符,密码6-20个
数字,出生日期要为有效的日期,E_mail要为有效的Email地址。(提示:需要使用正
则表达式函数)
图1 用户注册
2. 用PHP编写一个如图2所示的动态页面,实现以下功能:上传一个word文档到Web服
务器的D:/document/目录下。
图2:文件上传
3. 用PHP下载一个Web服务器d:/document/source.jpg图片文件到本地,默认的新文件名
称是downloaded.jpg。
4. 用PHP编写一个学生会主席候选人投票程序,投票完毕之后在网页上要显示出每个候选
人的当前票数,其运行结果如图3所示。(要求: 投票的计数保存在文本文件中).
图3 学生会主席投票系统
5.用PHP编写一个学生管理类,这个类包括三个属性(学号、姓名、性别)和一个write_info
方法,这个方法的作用是将这三个属性信息写到D:\student.txt文件中,其运行效果如图4
所示。
图4 学生管理类
6. (1) 在当前文件夹下新建一个user.txt文本文件,在其中保存用户的信息,有用户名、
密码两个信息,中间用“,”隔开,如输入如下几行数据:
admin, 1234
user1, 1111
(2) 创建一个登陆页面如图5所示。当用户名和密码输入正确时,将用户名和密码值保存
到Session变量中,并跳转到密码修改页面如图6所示。如果不先登录而访问密码修改页面
则提示无权访问。如果旧密码正确,且两次输入的新密码一致,则更新新密码到user.txt文
件中。(要求:使用Session变量)
图5 用户登录页面
图6 密码修改页面