计算机软件实习报告

计算机软件实习报告

姓名:王煜;学号:N100801519

1. 编写一个程序,如果输入小写字母则输出大写字母,如果输入大写字母则输出小写字母。 算法:输入1个字母,范围在“a”到“z”之间,其ASCII码减去32得到大写,如果范围在“A”到“Z”之间,其ASCII码加上32得到小写,最后再输出,得到所求字母。

程序代码

#include<math.h>

void main()

{

char c;

printf("please input a character:\n");

scanf("%c",&c);

if(c>='a' && c<='z')

{ c=c-32;

printf("%c",c);

}

else

{ c=c+32;

printf("%c",c);

}

}

运行结果

输入a,得到A;输入z,得到Z;

输入A,得到a;输入Z,得到z;

2. 在唱歌比赛中,有10个评委打分,分数为1到100分,选手最后得分为:去掉一个最

高分和1个最低分其余8个分数的平均值。

算法:输入求最大值,最小值,平均值的算法,再输入10个数,求出其中的最大值和最小值,令他们等于0,再求剩余8个数的平均数,即所求数。

程序代码

#include<stdio.h>

void main()

{ int i, max , min , avg=0 , num[10];

printf("input 10 numbers:\n");

for(i=0;i<=9;i++)

scanf("%d",&num[i]);

max=min=num[0];

for(i=0;i<=9;i++)

{ if(num[i]>max) max=num[i];

if(num[i]<min) min=num[i];

avg=avg+num[i];

}

avg=(avg-max-min)/8;

printf("avg num=%d\n",avg);

}

运行结果

输入10个数,去除其中的最值,得到剩余8数平均数

3. 输入一行字符,分别统计出其中的英文字母,空格,数字和其他字符的个数。 算法:编译4个代码,表示英文,空格,数字,和其他;再输入字符,进行判别,符合其一的代入相应数组,最后汇总。

程序代码

#include<stdio.h>

void main()

{int english=0,blank=0,number=0,other=0;

char c;

c=getchar();

while(c!='\n')

{

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

english++;

if(c==' ')

blank++;

if(c>='0'&&c<='9')

number++;

else other++;

c=getchar();

printf("There are %denglish,%dblank,%dnumber,%dother\n",

english,blank,number,other);

}

运行结果

输入一行字符,可统计出英文,空格,数字和其他字符的个数。

4. 商场购物(购物超过2000元,六;超过1000元,七;超过500元,八;低于500元无

折扣)。编写一个程序,输入消费金额,求应拿到的折扣。

算法:输入1个价格,根据各范围用对应的函数去求,超过2000六折;1000七折;500八折;低于500无折扣

程序代码

void main()

{

int a,b;

printf("How much did you paid:\n");

scanf("%d",&a);

if(a>=2000)

printf("0.6\n");

if(a>=1000&&a<2000)

printf("0.7\n");

if(a>=500&&a<1000)

printf("0.8\n");

if(a<500)

printf("100%");

}

运行结果

输入1个价格,若大于2000,就打六折;大于1000就打7折;大于500就打8折;若低于500,就无折扣。

5. 编写1个简单的计算器,实现2个整型数之间的四则运算。 算法:输入a,b,c,分别导出各字母所对应的函数,再对第四者d进行各运算的赋值,从而求出所需结果。

程序代码

void main()

{

int a,b,c=0;

char e;

scanf("%d",&a);

scanf("%c",&e);

scanf("%d",&b);

if(e=='+')

{c=a+b;

printf("=%d\n",c);

}

if(e=='*')

{c=a*b;

printf("=%d\n",c);

}

if(e=='-')

{c=a-b;

printf("=%d\n",c);

}

if(e=='/')

{c=a/b;

printf("=%d",c);

}

}

运行结果

输入2个整型数,则可求出相应的四则运算的值。

6. 有100匹马,驼了100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大中小马各多少匹?

算法:输入2个代码x,y,若y>x,则太大,若y<x,就太小,最后二者都归0,再进行输入x,定义浮点数y,z,的相应运算最后进行格式化输出。

程序代码

#include <stdio.h>

int main()

{

int #include <stdio.h>

#include <stdlib.h>

int main()

{int x,y;

srand(time(NULL));

x=rand()%10;

scanf("%d",&y);

while(y!=x)

{if (y>x)

printf("too big");

else if (y<x)

printf("too small");

scanf ("%d",&y);

}

return 0;

}

#include<stdio.h>

int main()

{int x,y;

scanf("%d",&x);

y=x%400;

if(y<0)

printf("The year is a leap year\n");

else printf("no\n");

}

#include<stdio.h>

#include<math.h>

void main()

{int x;

float y,z;

for(x=1;x<=10;x++)

{ y=sqrt(x);

z=y*y*y;

printf("%f\n",z);

}

运行结果100匹马,100担货,可求出对应的大中小马的匹数。

7. 将1到20的自然数围城1圈,使其相令两数之和均为素数。

算法:定义一个数为素数,再将1到10个数进行相应运算,回到n,再列出3个数组abc,相应数代入a数组,其余代入b组,再把计算值代入c组,符合素数条件,则输出

程序代码

pr(int n)

{ int i,s1=1;

for(i=2;i<=n/2;i++)

if(n%i==0) s1=0;

return s1;

}

s(int x[],int m)

{int l,i,n;

i=10;l=1;

while(l)

if(x[i]==0)i--;

else {n=x[i];if(pr(n+m)){x[i]=0;f=0;}

else i--;}

return n;

}

main()

{int a[11],b[11],c[21],i,j,k,m,n;

for(i=1;i<=10;i++)

{a[i]=2*i-1;b[i]=2*i;}

c[1]=a[1];m=c[1];a[1]=0;k=2;

while(k<=20)

{ if(m%2) n=s(b,m);

else n=s(a,m);

c[k]=n;k++;m=n ;}

if(pr(c[1]+n))

{printf("ok\n");

for(i=1;i<=20;i++)

printf(" %d",c[i]);}

else printf("no\n");

}

运行结果

输入1到20的数,可得到一个圈,其中相邻数和为素数

9.输入10个学生的学号和成绩(百分之分数),用单链表存储,按以下标准打印每个学生的学号和成绩等级,同时,当输入某个等级后,能输出所有这个等级的学生的学号,90-100:优秀;80-89:良好;70-79:中等;60-69:及格;60以下:不及格。

算法:输入一个链表,包含学号,成绩。接收输入的10组2个数字分别储存在一个数组中。对数组中的链表中的成绩进行判断,90~100为优秀,80~89为良好,70~79为中等,60~69为及格,60以下为不及格。将成绩等级放入链表,再输出。当输入一个等级时,依次判断数组每个链表中的成绩,符合等级则将该链表的学号输出。

程序代码

#include"string.h"

#define NULL 0

struct stu

{char sno[15];

int mark;

struct stu *next;

}a[10],*head,*p;

main()

{char b[10];

int i;

for(i=0;i<10;i++)

scanf("%s%d",a[i].sno,&a[i].mark);

printf("sno\t\tmark\n");

for(i=0;i<10;i++)

printf("%s\t\t%d\n",a[i].sno,a[i].mark);

head=&a[0];

for(i=0;i<9;i++)

a[i].next=&a[i+1];

a[9].next=NULL;

p=head;

printf("you,liang,zhong,jige,bujige:\n");

scanf("%s",b);

while(p!=NULL)

{switch(p->mark/10)

{case 10:

case 9:if(strcmp(b,"you")==0) printf("%s\n",p->sno);break;

case 8:if(strcmp(b,"liang")==0) printf("%s\n",p->sno);break;

case 7:if(strcmp(b,"zhong")==0) printf("%s\n",p->sno);break;

case 6:if(strcmp(b,"jige")==0) printf("%s\n",p->sno);break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:if(strcmp(b,"bujige")==0) printf("%s\n",p->sno);break;

default: printf("wrong");

}

p=p->next;

}

}

运行结果

输入学生信息,则可得到相应的学生的学号。

实习总结

通过这次为期1周的C语言编译实习,使人获益良多,首先,让我深刻体味到,计算机专业远没有我们想的那么简单,只有付出艰辛的劳动与付出,加之勤奋,才能真正体味到其中的精华;其次,编程是一项艰辛的工作,工作量大,还要做到步步精益求精,

力求最简化,有时1个小小的错误,就影响到了整个程序的编译与运行。这就要求我们在编译程序时要全神贯注,一丝不苟,有“千里之堤溃于蚁穴”的忧患意识,每次在编译完一段程序时要反复检验,争取在最短时间内找出其中的症结,从而为整个大的程序的编译与运行打下坚实的基础,编程的过程是枯燥的,其间的错误也是致命的,这也是一个磨练人得意志的过程,从而为以后的工作奠定基础;其结果是令人喜悦的,因为这其中凝结了自己体力和脑力劳动的成果;最后,编程也是1个复杂的,富有创造性的工作,能充分的调动我们的创造力与思索力,让我们在思索的过程中得以提升,能在一段程序中看出一个人的能力,态度与思想,可谓“一段程序,一种人生。”

总而言之,这次实习令我的收获颇丰,不仅提高了我计算机编程的能力,也让我对这个专业的知识的深度和广度得到了提升,并且冶炼了我的品格,真可谓“一箭三雕”。

 

第二篇:计算机软件专业实习报告模版

目 录

一、实习计划…………………………………………………………1

二、实习目的…………………………………………………………1

三、实习内容…………………………………………………………2

四、实习总结…………………………………………………………2

五、实习日志…………………………………………………………5

一、实习计划

3月5日:参观单位的基本设施并且通过资料和领导介绍了解单位的文化史和发展史,对单位结构和运作进行一定的了解。

3月6日:对部门的情况和运作方式进行了摸底式的了解,包括已经开始研发的政务系统的进度,了解系统的整体构思。

3月7日:学习环境变量的配置,以及ECLIPSE的安装调试。

3月8日:继续理论联系实践进行学习,学习数据表的建立和连接数据库的几种方法。

3月9日:系统的复习前几天所学的知识,对照其需求分析和已经实现的功能了解自己理论方面的不足,确定努力方向。

3月12日:继续深入理解和尝试部门政务网站的架构方法和功能模块实现方法。向师傅和同事们请教相关问题。

3月13日:进行前台的设计实际建设和维护工作。

3月14日:进行细化前台页面工作,着手后台的编码和各项连接工作。 3月15日:依然是进行后台和各模块功能编码实现的学习和尝试。

3月16日:整体性再次熟悉和测试自己开发的系统功能的实现,总结自己的所学和不足,完成实习报告。

二、实习目的

搜集与毕业设计相关的资料,了解Web开发的基本原则,学习Web开发的相关知识,掌握Web开发的基本技术,丰富Web开发的实战经验。学习ASP、SQL等的基础知识及正确的运用方法,了解设计专题的主要内容,通过实习,巩固大学所学到的知识,提高分析、判断和处理实际问题的能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。通过理论联系实际,从而提高处理实际问题的能力,为将来开发项目的顺利进行做好充分的准备,与社会环境接轨做好准备。

1

三、实习内容

通过本次实习,应当对HTML、CSS、JavaScript等达到熟练运用的地步,同时应该对XML语言及其应用有一个非常清晰、明了的认识。本次的实习内容主要包括:对教学网站的建设有一个初步的构思及确定其应该包括哪些模块实现什么功能;对ASP、SQL的基础知识的理论学习;理论联系实际对ASP、SQL进行具体操作;学会用SQL建数据库及所需表格的具体方法;理解连接SQL数据库的语句及能正确的应用于实践;学习基于Ajax技术的RSS阅读器(Web形式)、基于XML和XSLT的学生成绩发布系统、基于Web Services的XML文件上传和查看系统;完成简单的单点登录系统;软件初步测试;了解和初步掌握系统的发布等。

四、实习总结

在注重素质教育的今天,社会实践活动一直被视为培养德、智、体、美、劳全面发展的跨世纪优秀人才的重要途径。毕业设计实习是学校教育向课堂外的一种延伸,也是推进素质教育进程的重要手段、大学生进入社会的桥梁。它有助于当代大学生接触社会,了解社会。同时,实践也是大学生学习知识、锻炼才干的有效途径,更是大学生服务社会、回报社会的一种良好形式。鉴于毕业实习的以上的优点,我怀着一颗真诚学习的心成为了其中的一员。

本次毕业设计我的课题是教学网站,因此选择了北京京师要铎科技有限公司,在公司实习期间与网站建设有关的知识我从头学起。ASP和SQL Server作为开发工具都有它们各自的特点,使用ASP不但可以创建和运行动态、交互的Web服务器应用程序,而且也可以与HTML页、脚本命令和ActiveX组件组合创建交互的Web页和基于Web的功能强大的应用程序。在SQL Server数据库的学习中不但了解到它的基本的服务组成而且通过具体的操作掌握了数据库的安装、连接过程。

由于此次Web开发初步的项目还要和RSS这个网络新宠打交道,所以我们也了解了RSS的相关知识。

RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站 2

点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用。

如果从RSS阅读者的角度来看,完全不必考虑它到底是什么意思,只要简单地理解为一种方便的信息获取工具就可以了。

如果你用过RSS,你会发现他实际上不过是一个导航的目录表而已,你订阅了一个RSS,其实质就是从网站上接收了一个RSS格式的XML文件,然后,你的RSS阅读器就解释这个XML文件,然后(总是有然后)显示出来,当然,在这个过程中,阅读器也许会将其转换为HTML格式文件(如Maxthon就是这样处理的。)说到底,XML不过是一种保存数据的方式,对数据含义的解释和使用最终都是应用软件的事。

两天后,Web版的RSS阅读器设计完成了。接下来的是应用XML和XSLT技术的学生成绩发布板的设计。在这一部分内容中,我们学习了以下几种新的技术:

XSLT:

XSLT的英文标准名称为eXtensible Stylesheet Language Transformation。根据W3C的规范说明书(/TR/xslt),最早设计XSLT的用意是帮助XML文档(document)转换为其它文档。但是随着发展,XSLT已不仅仅用于将XML转换为HTML或其它文本格式,更全面的定义应该是:XSLT是一种用来转换XML文档结构的语言。

XPath:

XPath是XSLT的重要组成部分。在学习XML时我们已经知道XML是一个完整的树结构文档。在转换XML文档时可能需要处理其中的一部分(节点)数据,那么如何查找和定位XML文档中的信息呢,XPath就是一种专门用来在XML文档中查找信息的语言。XPath隶属XSLT,因此我们通常会将XSLT语法和XPath语法混在一起说。

用一种比较好理解的解释:如果将XML文档看作一个数据库,XPath就是SQL查询语言;如果将XML文档看成DOS目录结构,XPath就是cd,dir等目录操作命令的集合。

学生成绩发布板完成以后,我们进入到了Web开发的实战阶段。

虽然在公司实习的时间是有限的,但是它让我感触颇深。首先,公司跟学校是两个不同的概念,在学校时除了上课自己的课余时间比较多,也可以随意的安排自己的时间。但在公司一天的时间都在工作,这样的时间不是属于自己的,我们必须认认真真的工作学习,否则在这样竞争激烈的社会就很难找到我们的立足之地。其次是纪律方面,在学 3

校的时候随着上课铃响进课堂那是很正常的事,甚至有的同学会迟到,老师只是批评两句警告下次注意,但在公司每天必须在规定的上班时间之前到达公司以刷卡的形式进行监督,迟到次数少的有相应的惩罚措施一般都是扣除奖金,迟到次数多的就得“另谋高就”。此外,公司还有一些技术性资料是保密性质的,这就要求我们遵守基本的职业道德必须对其进行保密,所有这些我们在学校的时候都是没有接触过的问题。随着时钟一分一秒的走过,我们也在不知不觉中长大,长大了就要离开学校、进入社会参加工作。周围的环境在不断变化着,我们的责任也在不断变化着,这就要求我们必须要很强的适应能力,要努力认真的工作。

由于公司是主要是做网站的,所以我们利用大概一周的时间对ASP和SQL Server 2000进行了系统的学习,在这里带我的师傅只是很粗略的给我们讲讲或者干脆直接告诉我们应该学会哪儿什么时候检查。这时才真正感受到了在学校时老师耐心的教我们一点一滴知识时的珍贵。真后悔在学校时不应该那么浪费时间。但是现在也认识到自学能力的重要性,认识到“活到老学到老”的真谛。

本系统通过ASP编程与SQL Server 2000数据库相结合的技术手段组装完成基于B/S模式的教学网站。基本思想是把整个网站的建设分成若干个阶段,严格遵照软件开发的步骤先进行调查研究、之后是需求分析、整体规划、编写代码、软件测试等。在整个实施过程当中还必须注意每个阶段都尽量做好并写成文档,还要注意页面友好、可用性强等特点。这样就会给以后的调试和维护工作带来极大的方便,也容易达到用户满意的效果。

基于ASP的学习网站在改进传统的学习模式,通过一种新的以互联网为基础的模式为学校创造一新的学习环境,使教学管理突破时空限制提高学习效率和标准化水平,使学校管理者、教师和学生可以随时随地通过网络完成教与学的管理。将网上教学代替传统的手工方式应用于教学管理中协助办公是当今的发展趋势,不仅节省了大量的时间,还提高了工作效率同时也方便了学生。以致于每个人都可以不受时间、空间和地点的限制而自由学习,以较低的付出得到高质量的教育。它提供了丰富的知识库与信息库,能够激发学习者的学习兴趣,从而达到让学习者主动构建知识的目的,实现自己获取知识、自我更新知识的理想目标。随着网络的不断发展和普及,学习网站必将在教育科研的各个方面发挥越来越重要的作用。

几年的大学生活,让我对计算机理论知识有了一定的了解,但实践出真知,唯有把理 4

论与实践相结合,才能更好地为社会服务. 实习期间每天紧张的工作状态,完全没有时间考虑其它事情。在这期间,我上网查阅了一些计算应用知识并对毕业论文所需的资料进行了粗浅的了解,为接下来的毕业设计作准备,提高了我的动手能力,同时也让我了解到了自己的不足, 今天我学到的所有这些都必将对我将来的就业产生深刻的影响。而对我来说,真正的就业也已经不远了。我庆幸也感谢有这样一个学习的机会,能够在就业前很好的提高自己、锻炼自己。同时也让自己对自己的能力更加自信,相信自己将来能够成为一个对社会有用的一员,为社会主义现代化建设做贡献。

五、实习日志

3月5日

今天是到公司报到的第一天,早上8:20来到公司,在于主任的带领下参观了一下公司,一一向员公见面互相人识。于主任之后安排我在他旁边实习。桌上一台电脑,一些资料。我学习了公司的企业文化,对公司的运行有了一定的了解。接着拿出工作计划书重新思考我们这次实习主要:ASP、SQL的基础知识的理论学习;并能理论联系实际学会用SQL建数据库及所需表格的具体方法;理解连接SQL数据库的语句及能正确的应用于实践;通过具体的网站设计使所学的知识能很好的应用于实践。

3月6日

从今天开始我便按照实习计划逐步展开了学习,首先是对ASP基础知识的学习,ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序,是一种简单、方便的编程工具。通过学习对其提供的几种内置对象有了更进一步的认识。利用这些对象还可以从客户端浏览器中获得信息或者向客户端浏览器发送消息。同时查看了一些公司已完成的网站,开拓了视野,丰富了自己的资料库。

3月7日

通过学习,自己已经对ASP的基本知识有了一个初步的认识,今天的任务是学习SQL Server 2000,了解到它由三个基本服务组成,为了保证这些服务能够正常运行,必须为每一个服务分别指定一个用户帐户。它是一种具有客户机/服务器架构的关系型数据库产品,即可以用于普通的联机事物处理环境,也可以用于决策支持的联机分析处理环境。联系到做网站的需要,最重要的是学会如何建立新的数据库,建立新的表。利 5

用这一天的时间我学会了SQL Server 2000的一些理论知识并能正确的运用于实践。从而在以后的网站开发中能正确、准确的运用这几种方法进行数据库的连接。之后,我安装了IIS和Dreamwaver,并测试成功。

3月8日

通过学习,我对ASP和SQL Server 2000的理论知识有了一定的了解,今天我有针对性的浏览、学习了一些和本次设计相关的网站,借见他们的思想、方法,从而构建出自己的网站的风格、样式。

3月9日

今天是这周的最后一天,可行性研究之后就进入了需求分析的阶段,该教学网站所运行的环境有了初步的确定,对该网站的各个模块应实现的功能进行了具体的描述,对创建数据库时所需表的建立也有了一个具体规划,这样在真正的动手做网站时就有据可依,严格的按照需求分析当中的要求一个模块一个模块的有计划的进行。这样就避免了进行网站设计时的盲目性。我把这一周所学的知识又系统的学了一遍,认识到自己不足的地方,我明白要想真正的掌握知识就必须一点一滴的积累,明白无论做什么事情只要自己肯努力,再加上信心、耐心、细心就一定能达到自己的目标,获得最终的成功。 3月12日

新的一周开始了,学习了网站设计的一些基础知识之后,今天向于主任请教了一些做网站的方法、问题。于主任认识讲解了做每一个网站的过程及所遇到的一些技术性的困难。以一个网站为例着重介绍了一些模块的具体实现方法及应注意的问题。之后,我做了一些静态的页面。主要包括用户登录、用户注册、教师队伍、课程描述、课件浏览、留言板等功能。本来以为一个页面也没什么应该是比较容易吧,可是做起来才知道美工的重要性。经过自己耐心的设计一天的工夫几个页面的设计便圆满结束。

3月13日

今天重新对该网站的各个模块应实现的功能进行了具体的描述,对创建数据库时所需表的建立也有了一个具体规划,这样在真正的动手做网站时就有据可依,严格的按照需求分析当中的要求一个模块一个模块的有计划的进行。这样就避免了进行网站设计时的盲目性。之后,我在数据库中建立了数据表。总之通过今天的学习我了解到不但要根据不同的客户设计页面的特点而且更懂得了后台数据库的重要性。可以说几乎每一个动态功能的实现都离不开跟数据库的连接。

6

3月14日

今天我在IIS中加入了一些功能代码。连接了相应的数据库。一开始就把我给能的一塌糊涂。根本一点思路也没有,盲目的连接了一个用户登录随之而来的就是好几个连接的错误。再次向于主任请教有关数据库连接的问题。在主任的认识详细的指导下我成功的连接了用户登录、注册、教师人员的添加、修改等模块。各个模块实现的最基本的思想都是相通的,相信通过自己的努力一定会陆续实现其它模块的功能。

3月15日

今天的任务仍然实现各各模块的功能。首先做了网上课堂的设计。把课件上传到网上课堂模块上。这部分实现比较容易一些,接下来做的在现交流模块就比较费劲的。通过查看资料、向同事请教最终通过自己的努力实现了基本功能,但是还有很多的漏洞,还需要再加以完善。一天下来,自己觉得很充实,往往那一小小的功能运行通过后自己会有成功的喜悦。

3月16日

今天是本次实习的最后一天,面对即将过去的实习生活,我更加珍惜这最后的时光,抓紧每分每秒争取把设计做的完善些。忙碌一天后,此时整个网站将接近尾声,面对即将结束的学习,面对即将告别的领导和同事,我不禁有种依依不舍的感觉,谢谢你们给我这次实习的空间,给我学习工作的机会,在这短短的两周内,使我受益匪浅学到了课本上学不到的知识,感受到团体协作精神的可贵。

有了这次的经历,相信在自己的毕业设计中和以后的工作中自己一定能做好相关的工作。

7

相关推荐