程序设计实验报告2

合集下载

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)c语言是在国内外广泛使用的一种计算机语言。

其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。

其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c 语言写的?很多新型的语言如,c++,java,c,j,perl...都是衍生自c语言。

掌握了c语言,可以说你就掌握了很多门语言。

学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。

所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。

同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

在学习一年c语言的过程中我也在慢慢探索怎样才能学好c语言,并总结了一点经验:要了解c语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。

在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。

这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。

比如说ifelse和switchcase这两种条件语句都是用来判断执行功能的,那我要什么时侯用if什么时侯用switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。

实验报告(二)

实验报告(二)

北京信息科技大学信息管理学院实验报告课程名称java程序设计实验项目实验二类和对象实验仪器PC、jdk、jcreator专业_______ _________班级/学号________ ___学生姓名_______ __________实验日期实验地点成绩_______________________指导教师_____李春强_____________return p;}int getPower(int q){return q;}}Lab2_2:public class TV {void play(){System.out.println("正在播放动物世界");}}public class Family {TV homeTV;void buyTV(TV tv){tv=this.homeTV;System.out.println("购买一台电视");}}public class MainClass {public static void main(String args[]){ TV haierTV=new TV();Family zhangsanFamily =new Family();zhangsanFamily.buyTV(haierTV);haierTV.play();}}Lab2_3:public class Land {public static void main(String args[]){ Village.WaterAmount=200;System.out.println("水井中有水"+Village.WaterAmount+"升");Village v1=new Village();Village v2=new Village();int m=50;System.out.println("v1从水井中取水"+m+"升");v1.WaterAmount-=m;System.out.println("v2发现水井中有水"+Village.WaterAmount+"升");System.out.println("v2从水井中取水"+m+"升");v2.WaterAmount-=m;System.out.println("v1发现水井中有水"+Village.WaterAmount+"升");}}public class Village {public static int WaterAmount;}Lab2_4:import wukong.xiyou.*;public class SunRise{public static void main(String args[]){SquraEquation sq=new SquraEquation();sq.getRoot(100);System.out.println("此数的平方根为"+"sq.getRoot()");}}package java.wukong.xiyou;public class SquraEquation{public double getRoot(double num){ return Math.sqrt(num);}}1.实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;2.实验准备由学生在实验或上机之前填写,教师应该在实验前检查;3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;5.源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。

程序设计实践实验报告

程序设计实践实验报告

程序设计实践实验报告实验报告课程名称___ 程序设计实践______实验项目_______子程序设计实验仪器_______PC _____系别_ 计算机科学与工程____专业______软件工程__________班级/学号___B软工0701/2007011801学生姓名_____ XX____________实验日期____2009-3-26__________成绩_______________________指导教师_____XX______________.实验二子程序设计一、实验目的1. 学习和掌握参数传递的方法;2.学习和掌握递归调用;3.了解goto语句的使用;4.了解降低嵌套深度的方法;5.了解复杂度的度量。

二、实验要求1.通过编程实现,学习和理解参数传递和递归调用的使用。

2.使用goto语句编写程序,用非goto语句改写程序;3.了解减少嵌套层次和度量复杂度的方法。

三、实验内容和结果1. 参数传递(1)创建控制台应用程序项目(CLR)。

定义函数swap,swap函数有两个整型形参x,y,swap的功能为交换x和y的值,并依次显示出交换后的x,y的值。

主函数定义两个整型变量a,b,并赋不同的初值,依次显示a和b的值,调用swap 函数,a,b作为实参,再在主函数中依次显示a和b的值。

(值传递)编写并运行以上程序,分析运行结果,思考值传递中是否会改变实参的值。

(2)创建控制台应用程序项目,修改(1)中程序,使swap函数的参数为两个指向整型的指针,swap函数中交换指针所指向的内容;主函数中调用swap函数,交换整型变量a和b的值。

编写并运行修改后的程序,比较与(1)中程序运行结果的不同之处及原因。

(3)创建控制台应用程序项目,修改(1)中程序,采用引用方式传递函数的参数。

编写并运行修改后的程序,比较与(1)、(2)中程序运行结果的异同以及(2)、(3)程序中改写的难易程度。

int swap1(int x,int y){int temp;temp=x;x=y;y=temp;return 0;} //实参传递函数int swap2(int &x,int &y){int temp;temp=x;x=y;y=temp;return 0;}//形参传递函数int swap3(int *x,int *y){int temp;temp=*x;*x=*y;*y=temp;return 0;}//指针传递函数int main(){int a,b;Console::WriteLine ("plesae input a and b interger:");a=Int32::Parse(Console::ReadLine());b=Int32::Parse(Console::ReadLine());Console::WriteLine ("实参传递函数交换a和b:");Console::WriteLine ("起始a和b:"+a+" "+b);swap1(a,b);Console::WriteLine ("交换后a和b:"+a+" "+b);Console::WriteLine ("-------------------");Console::WriteLine ("形参传递函数交换a和b:");Console::WriteLine ("起始a和b:"+a+" "+b);swap2(a,b);Console::WriteLine ("交换后a和b:"+a+" "+b);Console::WriteLine ("++++++++++++++++");Console::WriteLine ("指针传递函数交换a和b:");Console::WriteLine ("起始a和b:"+a+" "+b);swap3(&a,&b);Console::WriteLine ("交换后a和b:"+a+" "+b);Console::WriteLine ( "%%%%%%%%%%%%%%%%%" );Console::ReadLine();return 0;}2.递归调用.使用递归时,请注意如下原则:a.确认递归能够停止(子程序中至少含有一条非递归的路径);b.把递归限制在一个子程序内;c.留心栈空间;使用递归前,先考虑可否用其他方式编写程序,可能效果更好。

《Android应用程序设计》实验报告 (2)

《Android应用程序设计》实验报告 (2)

实验1 搭建开发环境与第1个Android程序【实验目的】1.熟悉Android开发环境的搭建2.掌握用Eclipse开发Android程序的流程【实验内容】一、搭建Android开发环境按照下面的步骤,完成Android环境的搭建。

1.1 JDK的安装及配置1.根据电脑的系统位数安装软件包里的JDK,安装目录设置为d:\jdk1.x。

(d为你的安装盘,可以设为任意盘;x为你安装的jdk版本)2. WIN7系统环境变量设置(1)环境变量设置一(2)环境变量设置二(3)环境变量设置三(4)环境变量设置四1)创建新的环境变量。

名:JA V A_HOME,值:x:\jdk1.72)修改系统变量Path,在path变量值前添加这段:%JA V A_HOME%\bin;3)修改系统变量classpath,值为:.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar;(5)环境变量设置五1)测试开发环境。

在开始->搜索程序和文件里输入cmd.exe,打开cmd。

输入cd c:\ 命令进入c盘根目录。

2)在c盘根目录下使用记事本编写源文件,并存为java文件。

public class MyApp {public static void main (String[] args) {System.out.println(“我能学好Java语言!”);} }3)使用javac命令编译程序,在cmd命令行输入:javac MyApp.java生成class类型文件。

4)使用java命令运行程序,在cmd命令行输入:java MyApp如果在命令行显示结果“我能学好Java语言!”,则JDK环境配置成功。

1.2 Android SDK的安装及配置1. 解压adt-bundle-windows-x86_64-20131030.zip文件,里面的SDK是免安装版。

《c语言程序设计》实验报告(实验-2)

《c语言程序设计》实验报告(实验-2)

《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. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。

程序设计实验报告(matlab)

程序设计实验报告(matlab)

程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。

实验内容:运用Matlab进行简单的程序设计。

实验方法:基于Matlab环境下的简单程序设计。

实验结果:成功掌握简单的程序设计和Matlab基本编程语法。

实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。

实验内容:在Matlab环境下进行多项式拟合和插值的计算。

实验方法:结合Matlab的插值工具箱,进行相关的计算。

实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。

实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。

实验内容:利用Matlab进行最小二乘法计算。

实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。

实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。

实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。

实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。

实验方法:基于Matlab的ODE工具箱,进行ODE求解。

实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。

总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。

通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。

这些知识和技能对我未来的学习和工作都将有着重要的帮助。

Python程序设计实验报告二顺序结构程序设计

Python程序设计实验报告二顺序结构程序设计

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, "天。

实验报告Java二

实验报告Java二

JA V A实验报告系(教研室):专业:年级:实验课程:Java语言程序设计姓名:学号:实验室号:计算机号:实验时间:指导教师签字:成绩:实验2一、实验目的1.掌握声明二维数组变量,创建二维数组对象,使用二维数组解决实际问题。

2.使用构造方法创建对象,通过对象引用变量访问对象,。

3.封装数据域以便于类的维护。

二、实验要求1.(7.6)编写两个矩阵相乘的方法。

方法头如下:public static double[][] multiplyMatrix(double[][] a, double[][] b)为了是矩阵a能够和矩阵b相乘,矩阵a的列数必须与矩阵b的行数相同。

假设矩阵c是相乘的结果,而a的列数是n,那么每个元素c ij=a i1* b1j + a i2 * b2j+ …+ a in * b nj。

例如,对于两个3×3的矩阵a和b,c有:编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示他们的2.(8.1)创建一个名为Rectangle的类表示矩形,这个类包括:●两个名为width和height的double型数据域,它们分别表示矩形的宽和高。

width和height的默认值都为1。

●创建默认矩形的无参构造方法:Rectangle()。

●一个创建width和height为指定值的矩形的构造方法:Rectangle(double width, double height)。

●一个名为getWidth()的方法返回宽。

●一个名为getHeight()的方法返回高。

●一个名为getArea()的方法返回这个矩形的面积。

●一个名为getPerimeter()的方法返回周长。

实现这个类,编写一个测试程序,提示用户输入两个矩形,创建两个Rectangle对象,然后显示矩形的宽,高,面积和周长。

三、实验原理1.本题通过编写Matrix类实现题目要求。

Matrix类包含三个方法:存储矩阵的方法:public static double[][] inputMatrix()用于打印矩阵的方法:public static double[][] outputMatrix(double[][] x),利用两个for循环来实现输出二维数组。

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

《C语言程序设计》实验报告
实验名称:数组应用编程
系别: 计算机系专业:计算机科学与技术班级:五班
姓名: 学号:
实验日期: 2011 年 11 月 25 日
教师审批签字:
实验7 C数组应用编程
⒈实验目的
⑴掌握一维数组和二维数组定义、赋值和输入输出的方法。

⑵掌握字符数组和字符串函数的使用。

⒉实验内容或实验题目
A:修改调试题目:
调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。

写出调试过程。

#include “stdio.h”
void main()
{ int i,n,a[10],av;
for(i=0;i<n;i++)
scanf("%d",a[i]);
for(i=0;i<n;i++)
{ printf("%d",a[i]);
if (i%3==0) printf("\n");
}
for(i=0;i!=n;i++)
av+=a[i];
printf("av=%f\n",av);
}
上面给出的程序是完全可以运行的,但是运行结果是完全错误的。

调试时请注意变量的初值问题、输出格式问题等。

请使用前面实验所掌握的调试工具,判断程序中的错误并改正。

在程序运行过程中,可以使用<Ctrl>+<Break>键终止程序的运行,返回到T C环境。

B、编程题目:(题目⑴、题目⑵为一组,题目⑶为一组,题目⑷为一组。

每个同学每组都必须完成1题)
要求:每道题目分别书写程序,试运行(如何输入,结果如何)。

题目⑴:从键盘输入10个整数存入数组,找出其中最大和最小值,并输出。

题目⑵:从键盘输入一个字符串,编写程序将该字符串逆序。

题目⑶:输出杨辉三角形(要求输出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
………………
(提示,使用二维数组)
题目⑷:输入4×4的数组,编写程序实现:
①求出对角线上各元素的和;
②求出对角线上行、列下标均为偶数的各元素的积;
③找出对角线上其值最大的元素和它在数组中的位置。

⒊算法说明
(用文字或流程图说明。

)
⒋程序清单
A:修改调试题目:
#include "stdio.h"
void main()
{ int i,n=10,a[10];
float av,b=0;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{ printf("%d,",a[i]);
if ((i+1)%3==0) printf("\n");
}
printf("\n");
for(i=0;i!=n;i++)
(float)b+=a[i];
av=b/10;
printf("av=%f\n",av);
}
题目⑴:
#include <stdio.h>
main()
{
int i,n=10,a[10],max,min;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=1;i<n;i++)
if(a[i]>max)
max=a[i];
printf("最大的数为%d\n",max);
min=a[0];
for(i=1;i<n;i++)
if(a[i]<min)
min=a[i];
printf("最小的数为%d\n",min);
}
题目⑶:
#include <stdio.h>
main()
{
int i,j,n=10,a[10][10];
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
for(i=0;i<n;i++)
{
for(j=0;j<=20-2*i;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
}
题目⑷:
#include <stdio.h>
main()
{
int c,b,i,j,n=4,d=1,max,sum=0,a[4][4];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
max=a[0][0];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i==j||i+j==3)
sum+=a[i][j];
if((i==j||i+j==3) && i%2==0 && j%2==0)
d*=a[i][j];
if((i==j||i+j==3) && a[i][j]>max)
{
max=a[i][j];
b=i;
c=j;
}
}
}
printf("和为%d\n积为%d\n",sum,d);
printf("对角线上最大的元素为%d\n它在数组中的位置为a[%d][%d]\n",max,b,c);
}
⒌运行结果
(包括原始数据、相应的运行结果和必要的说明。

)
A:修改调试题目:
题目⑴:
题目⑶:
题目⑷:
⒍分析与思考
调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。

若最终未完成调试,要认真找出错误并分析原因等。

总结:对数组的输入输出都要用For语句循环,同时特别注意语句中所包括的哪些循环体,要循环到哪里。

相关文档
最新文档