北邮计算机实习报告.docx
- 文档编号:8214842
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:35
- 大小:2.69MB
北邮计算机实习报告.docx
《北邮计算机实习报告.docx》由会员分享,可在线阅读,更多相关《北邮计算机实习报告.docx(35页珍藏版)》请在冰豆网上搜索。
北邮计算机实习报告
计算机实习报告
一、倒计时器
题目要求:
制作一个倒计时器,输入倒计时时间后,显示剩余时间,时间到后有提示音和提示画面。
设计方案:
使用语言为:
FlashCS3的ActionScript脚本语言
开发工具为:
FlashCS3
通过导入背景,声音,添加按钮,影片剪辑等实例(全为自己手动制作),利用ActionScript脚本语言来控制程序的运行,从而实现倒计时器的功能。
流程图:
代码:
stop();
importflash.utils.Timer;
importflash.events.TimerEvent;
importflash.events.TextEvent;
//num[0]代表最右边的显示数字
fscommand("fullscreen","true");
//输入的有效性:
只允许输入五位以下的数字
inputText.maxChars=5;
inputText.restrict="0-9";
varsnd:
Sound=newsecondsound();//报警声
varnum:
Array=[one,two,three,four];//液晶数字动画数组
for(varn:
uint=0;n<4;n++){//初始为0,灰暗
num[n].gotoAndStop(10);
num[n].alpha=0.3;
}
vari:
Number=60;//默认60秒
vartimer:
Timer=newTimer(1000);//按秒计时
timer.stop();
timer.addEventListener(TimerEvent.TIMER,run);
functionrun(e){
if(i>0){//开始倒计时
i--;
if(i<10){//少于10秒报警
snd.play();
}
vars=i.toString();//数字转字符
varleng:
uint=s.length;
for(varj:
uint=0;j<4;j++){
if(j vark: uint=10-Number(s.substr(j,1));//分离字符得到数字对应的帧号 num[leng-1-j].gotoAndStop(k); num[leng-1-j].alpha=1;//正在使用的数字动画,高亮 }else{ num[j].gotoAndStop(10);//不用的数字动画处理为显示0 num[j].alpha=0.3;//灰暗 } } }else{ timer.stop();//计时完成 playBtn.alpha=1;//开始可用 num[0].alpha=0.3;//最后一个数字动画也变暗 } } function_play(e){ if(playBtn.alpha==1){//如果按钮处于高亮 init();//按输入框中的时长,初始化显示窗 i=Number(inputText.text); timer.start();//计时开始 playBtn.alpha=.5;//计时过程中,开始按钮不可再用 } } playBtn.addEventListener(MouseEvent.CLICK,_play);//开始按钮 functioninit(){//初始化函数 vars=inputText.text; varleng: uint=s.length;//文本框中字符末尾总有个“段标志符” for(varj: uint=0;j<4;j++){ if(j vark: uint=10-Number(s.substr(j,1)); num[leng-1-j].gotoAndStop(k); num[leng-1-j].alpha=1; }else{ num[j].gotoAndStop(10); num[j].alpha=0.3; } } } 程序主要运行界面截图: 功能介绍: 本软件可以进行较宽时间段内的倒计时(4位数,以秒计时),倒计时之中可以退出,重新计时。 且有倒计时10秒时会有声音提示,可以限制只可输入数字。 点击开始后,开始按钮,开始计时后,开始按钮若再次点击,无效,增强了程序的抗错能力。 界面美观灵动。 二、算术运算测试程序 题目要求: 制作一个可供小学数学运算的程序,要求能计算0—100整数加减乘除四则运算,如结果为小数四舍五入保留小数点后两位,根据输入题数出题,题目应为随机,每次应不一样。 判断是否正确,如不正确给出正确答案,并计算分数,分数为正确题目的百分比(四舍五入取整数)。 设计方案: 使用语言为: FlashCS3的ActionScript脚本语言 开发工具为: FlashCS3 点击“出题”按钮,调用函数,开始出题,点击“提交”按钮,与正确答案相比对给出对错与否提示,点击提交按钮给出最后分数 流程图: 源代码: vari: int=0;//记录总题数 varj: int=0;//记录正确个数 varf: Number; vard: Number;//=(100)*Math.random(); vare: Number;//=(100)*Math.random(); vart: Array=[];//=["+","-","×","\÷"]; varn: Number;//=Math.floor(Math.random()*t.length); varbool: Boolean=false; functionkaishia(event: MouseEvent): void{ if(bool==false){ bool=true; c.text=""; dn.text=""; b.text=""; /*vard: Number=(100)*Math.random(); vare: Number=(100)*Math.random(); vart: Array=["+","-","×","\÷"]; varn: Number=Math.floor(Math.random()*t.length);*/ do{ d=(100)*Math.random(); e=(100)*Math.random(); t=["+","-","×","\÷"]; n=Math.floor(Math.random()*t.length); a.text=String(int(d))+t[n]+String(int(e))+"="; if(t[n]=="+"){ f=Math.round(100*(int(d)+int(e)))/100; }elseif(t[n]=="-"){ f=Math.round(100*(int(d)-int(e)))/100; }elseif(t[n]=="×"){ f=Math.round(100*(int(d)*int(e)))/100; }elseif(t[n]=="\÷"){ f=Math.round(100*(int(d)/int(e)))/100; } }while(f<0); en.text=String(++i); kn.text=String(j); } } kaishi.addEventListener(MouseEvent.CLICK,kaishia); functiontijiaoa(event: MouseEvent): void{ if(bool==true){ if(Number(b.text)==f){ c.text="√"; //j=1; //i=1; //j++; //i++; kn.text=String(++j); }else{ //i=1; //j=0; c.text="×"; dn.text="正确结果为: "+String(f); kn.text=String(j); } } //en.text=String(++i); bool=false; } tijiao.addEventListener(MouseEvent.CLICK,tijiaoa); /*functionjixua(event: MouseEvent): void{ c.text=""; b.text=""; dn.text=""; vard: Number=(100)*Math.random(); vare: Number=(100)*Math.random(); vart: Array=["+","-","×","\÷"]; varn: Number=Math.floor(Math.random()*t.length); a.text=String(int(d))+t[n]+String(int(e))+"="; varf: Number; if(t[n]=="+"){ f=int(d)+int(e); }elseif(t[n]=="-"){ f=int(d)-int(e); }elseif(t[n]=="×"){ f=int(d)*int(e); }elseif(t[n]=="\÷"){ f=int((int(d)/int(e))*100)/100; } functiontijiaob(event: MouseEvent): void{ if(Number(b.text)==f){ c.text="√"; dn.text=""; j++; i++; en.text=String(i); kn.text=String(j); }else{ c.text="×"; dn.text="正确结果为: "+String(f); i++; en.text=String(i); kn.text=String(j); } } tijiao.addEventListener(MouseEvent.CLICK,tijiaob); } jixu.addEventListener(MouseEvent.CLICK,jixua);*/ functionjieshua(event: MouseEvent): void{ if(bool==false){ varm: Number=Number(en.text); varn: Number=Number(kn.text); varl: Number=int(100*n/m); chengji.text="您的成绩为: "; fenshu.text=String(l)+"分"; } } jieshu.addEventListener(MouseEvent.CLICK,jieshua); functionchonglaia(event: MouseEvent): void{ chengji.text=""; fenshu.text=""; a.text=""; b.text=""; c.text=""; dn.text=""; en.text=""; kn.text=""; i=0; j=0; bool=false; } chonglai.addEventListener(MouseEvent.CLICK,chonglaia); 程序主要运行界面截图 功能介绍: 本四则运算软件可以随机产生100以内加法、减法、乘法、除法运算题目,并且考虑到该系统面向对象是小学生,因而题目不会出现负数。 本程序还具有已做题目提示,做对题目提示,可以对所做的每道题目进行检查对错,并最终给出分数。 此外,本程序在执行过程中,还可以随时退出重来,且当答案输入为字符时,会认为该道题答案是错误的,提高了程序的人性化。 每个按钮只有在正确情况下按下才会有效(如按“出题”后,必须提交答案后才能再按,否则点击无效),提高了程序的稳定性、抗干扰能力。 界面友爱美观,按钮等各个实例均由本人亲自制作,具有灵动性,活泼,动感,很适合小学生使用。 三、健康计算器 题目要求: 设计一个测量身体BMI指数和体脂率的健康计算器,要求给出数据能正确计算,并且能给出健康提示。 设计方案: 使用语言为: FlashCS3的ActionScript脚本语言 开发工具为: FlashCS3 通过点击按钮实现场景转换和函数的调用,输入数值的计算,利用函数和按钮的显现与否实现错误提示窗口的显现。 利用输入文本框和动态文本框实现人机的交互。 流程图: ↓ 源代码: 总界面源代码: //stop(); fscommand("fullscreen","true"); functionna(event: MouseEvent): void { gotoAndPlay(1,"男"); //stop(); } nan.addEventListener(MouseEvent.CLICK,na); functionnvv(event: MouseEvent): void { gotoAndPlay(1,"女"); //stop(); } nv.addEventListener(MouseEvent.CLICK,nvv); stop(); 男性界面(场景)源代码: stop(); shuchu.text=""; fh.alpha=0; functionb(event: MouseEvent): void{ varstr: String; varyan: int=0; varbool: Boolean=false; str=byw.text; for(varf: int=0;f if(str.charCodeAt(f)==46){ yan++; } } if(yan>1){ beijing4.alpha=0; fh.alpha=1; manniu.alpha=0; //kuang.alpha=0; byw.text=""; btz.text=""; bsg.text=""; shuchu.text="您的输入有误! "; bool=true; stop(); } for(f=0;f if((str.charCodeAt(f)>57||str.charCodeAt(f)<48)&&str.charCodeAt(f)! =46){ beijing4.alpha=0; fh.alpha=1; manniu.alpha=0; byw.text=""; btz.text=""; bsg.text=""; shuchu.text="您的输入有误! "; bool=true; stop(); } } yan=0; str=btz.text; for(f=0;f if(str.charCodeAt(f)==46){ yan++; } } if(yan>1){ beijing4.alpha=0; fh.alpha=1; manniu.alpha=0; //kuang.alpha=0; byw.text=""; btz.text=""; bsg.text=""; shuchu.text="您的输入有误! "; bool=true; stop(); } for(f=0;f if((str.charCodeAt(f)>57||str.charCodeAt(f)<48)&&str.charCodeAt(f)! =46){ beijing4.alpha=0; fh.alpha=1; manniu.alpha=0; byw.text=""; btz.text=""; bsg.text=""; shuchu.text="您的输入有误! "; bool=true; stop(); } } str=bsg.text; yan=0; for(f=0;f if(str.charCodeAt(f)==46){ yan++; } } if(yan>1){ beijing4.alpha=0; fh.alpha=1; manniu.alpha=0; //kuang.alpha=0; byw.text=""; btz.text=""; bsg.text=""; shuchu.text="您的输入有误! "; bool=true; stop(); } for(f=0;f if((str.charCodeAt(f)>57||str.charCodeAt(f)<48)&&str.charCodeAt(f)! =46){ beijing4.alpha=0; fh.alpha=1; manniu.alpha=0; byw.text=""; btz.text=""; bsg.text=""; shuchu.text="您的输入有误! "; bool=true; stop(); } } if(bool==false){ vari: Number=Number(byw.text); varp: Number=Number(btz.text); varq: Number=Number(bsg.text); varj: Number=i*(0.74); vark: Number=i*(0.082)+44.7; varm: Number=j-k; varn: Number=int(100*(m/p)*(100))/100; varu: Number=p/((q)*(q)); beijing4.alpha=0; manniu.alpha=0; btz.text=""; bsg.text=""; byw.text=""; fh.alpha=1; if(u<18.5){ shuchu.text="您的体重过低,请注意增加营养! "+"\n"+"您的体脂率为: "+"\n"+String(n)+"%"; }elseif(18.5<=u<=23.9){ shuchu.text="您的体重正常,请保持! "+"\n"+"您的体脂率为: "+"\n"+String(n)+"%"; }elseif(24<=u<=27.9){ shuchu.text="您的体重偏高,需要注意运动! "+"\n"+"您的体脂率为: "+"\n"+String(n)+"%"; }elseif(u>=28){ shuchu.text="您的体重过高,! "+"\n"+"您的体脂率为: "+"\n"+String(n)+"%"; } } } manniu.addEventListener(MouseEvent.CLICK,b); functionffha(event: MouseEvent): void{ gotoAndPlay(1,"总界面"); stop(); } fh.addEventListener(MouseEvent.CLICK,ffha); 女性界面(场景)源代码: 女性界面(场景)源代码因与男性界面(场景)源代码只是函数名和部分实例名称不同,逻辑实现完全相同,此处为避免冗余,故略去。 程序运行界面部分截图: 功能介绍: 本健康计算器软件可以通过输入的身高、体重、腰围以及性别来计算BMI指数和体脂率,并且可以根据计算结果给出相应的提示和建议,“返回界面”按钮方便用户进行多次计算。 此程序采用了Flash中的多场景设置,使程序模块化,性能更加优良;在输入身高体重和腰围时,实现了限制输入仅为数字和只可输入一次小数点的功能,输出超过范围时会给出提示因而软件的抗错较强。 四、动画设计 题目要求: 以每位同学自己为原型设计一组舞蹈或者体育运动动画设计方案,时间不少于20秒,动作不重复,突出人物形象特点,能看出为作者本人,画面细致,要有与动作相符的配音。 设计方案: 使用软件为: AdobeFlash6Professional 分图层创作,将声音与背景图像,人体骨架等放在不同的图层。 以一系列舞蹈分解动作为基础,分布在不同的帧数,通过调整使舞蹈动作与音乐节奏相匹配。 此动画不仅实现了认为流畅的动作,还实现了群星闪烁、人物眨眼、小溪流动、帷幕下放等功能,使动画内容更加丰富,更具有灵动性。 主要截图: 五、矩阵计算器 题目要求: 可输入矩阵,并最大可进行10*10矩阵运算,实现两矩阵的加法乘法,矩阵转置以及求秩运算。 设计方案: 使用语言为: C# 开发工具为: C#2010 流程图: 部分源代码: privatevoidbutton5_Click(objectsender,EventArgse) { button9.Visible=true; label5.Text="+"; label4.Text="="; inti,j,a,b,l,w; a=Convert.ToInt32(numericUpDown1.Text); b=Convert.ToInt32(numericUpDown2.Text); for(i=0;i<10;i++) for(j=0;j<10;j++) { TextBoxtextbox=newTextBox(); textbox.Name="t1"+Convert.ToString(i)+Convert.ToString(j); this.Controls.Add(textbox); textbox.Multiline=true; l=350/10;w=3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 实习 报告