文档视界 最新最全的文档下载
当前位置:文档视界 › 第二届程序设计竞赛文件

第二届程序设计竞赛文件

第二届程序设计竞赛文件
第二届程序设计竞赛文件

第二届全国软件专业人才设计与开发大赛选拔赛竞赛规则及样题注:本次比赛从软件、应用、游戏专业09级,10级中选拨出10到15名学生参加此次比赛,欢迎有兴趣的同学到学习委员处报名。由学习委员把名单发到彭老师邮箱:114757461@https://www.docsj.com/doc/ed6901565.html,.报名截止时间4月12号,初赛时间定于4月19号2:00---6:00,机房212 (可带参考书籍,电子档资料除外)。

下面是竞赛规则,请同学仔细阅读,认真复习考试大纲,提前做好初赛准备。详细情况请登陆:https://www.docsj.com/doc/ed6901565.html,

1.时间

考试为4小时全程封闭。

2.形式

全程机考。局域网络、浏览器方式发放试题、提交代码。

3.考试环境

X86 兼容机器,内存>1G,硬盘>60G

Windows NT 内核系统(WindowsXP, Windows2000等)

●C 语言

Visual C++ 6.0 (英文版)

MSDN帮助文档(中英文)

Turbo C

●Java

JDK 1.5

Eclipse 3.1

JCreator 2.0

API 帮助(英文,中文,chm格式)

4.涉及知识

? ●JAVA软件开发(本科)

涉及知识:语法、面向对象、网络编程、接口、集合、IO、多线程、内部类、异常、数据结构。(awt、swing不考)

? ●JAVA软件开发(高职高专)

涉及知识:语法、面向对象、网络编程、接口、集合、IO、多线程、内部类、异常。(数据结构、awt、swing不考)

? ●C语言程序设计(本科)

涉及知识:结构、数组、指针、标准输入输出、递归、函数指针、文件I/O、位运算

? ●C语言程序设计(高职高专)

涉及知识:结构、数组、指针、标准输入输出

5.考核内容

●侧重考核考生的独立软件分析、设计、编码、调试等能力。

●题目形式为若干程序完善题及编程题。没有选择、改错、问答等题型。

6.题目形式

(1)程序完善题

题目为若干具有一定难度梯度、分值不等的程序完善题。要求对既定代码中的空缺部分进行补充完善,使整段代码完整。

(2)编程题

题目为若干具有一定难度梯度、分值不等的编程题目。这些题目的要求明确、答案客观。要求考生通过编程的办法搜索题目的解。一般难点集中于对算法的设计和逻辑的组织上。理论上,考生不可能通过猜测或其它非编程的手段获得问题的解。

7.评分

主要以考生所的提交的程序的运行效果为依据进行评估。同时也会参考考生程序的编码风格、逻辑性、可读性等方面。

8.样题

●下列乘法算式中:每个汉字代表1个数字(1~9)。相同的汉字代表相同的数字,不同的汉字代表不同的数字。

赛软件 * 比赛 = 软件比拼

试编程确定使得整个算式成立的数字组合,如有多种情况,请给出所有可能的答案。

●计算24是流行的扑克游戏。其方法是任意取出4张牌,A J Q K 王牌

算 1,其它牌按点数计算,花色不计。目标是通过加、减、乘、除和括号最终算出24。设计一个程序,输入4个数字(1~10),则列出所有可能计算结果为24的方案。要求:

方案不能重复(加法乘法交换律等算不同方案)。

计算中局部可以为分数,结果为整数即可(如 3 3 7 7 算法: (3 + 3/7)*7)如果没有找到方案输出:无解。

●(C语言)下列代码把一个串p复制到新的位置q。请填写缺少的语句;

char* p = "abcde";

char* q = (char*)malloc(strlen(p)+1);

for(int i=0;_____________; i++) q[i] = p[i];

●(Java语言)有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。问剩下第几个孩子。下面的程序以10个孩子为例,模拟了这个过程,请完善之(提示:报数的过程被与之逻辑等价的更容易操作的过程所代替)。

Vector a = new Vector();

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

{

a.add("第" + i + "个孩子");

}

for(;;)

{

if(a.size()==1) break;

for(int k=0; k<2; k++)

________________;

a.remove(0);

}

System.out.println(a);

9.注意事项

(1)选手必须符合参赛资格,不得弄虚作假。资格审查中一旦发现问题,则取消其报名资格;竞赛过程中发现问题,则取消竞赛资格;竞赛后发

现问题,则取消竞赛成绩,收回获奖证书及奖金、奖品等,并在大赛官网上公示。

(2)参赛选手应遵守竞赛规则,遵守赛场纪律,服从大赛组委会的指挥和安排,爱护竞赛赛场地的设备。

C语言程序设计竞赛题及其答案

数学与统计学院 第三届计算机程序设计竞赛题 竞赛需知: 1、答案必须写在答题纸上。 2、程序采用C/JAVA/VB/VFP语言实现均可。 3、考虑到各种因素,程序的键盘输入和结果输出可以用伪代码或者自然语言表示。但是必 须说明输入变量和输出变量。 4、题目最好能用完整、正确的语言程序来解决问题,如确实无法编写完整语言程序的,可 以写出程序主要框架和流程,必要时可以用伪代码或者自然语言描述算法(程序)。 一、玫瑰花数(20分) 如果一个四位数等于它的每一位数的4次方之和,则称为玫瑰花数。例如: + + 1634+ =, 4^4 4^3 4^6 4^1 编程输出所有的玫瑰花数。 #include void main() { int i,j,k,l,m; for(i=999;i<=9999;i++) { j=i/1000; k=i%10; l=i/100-10*j; m=i/10-100*j-10*l; if(i==j*j*j*j+k*k*k*k+l*l*l*l+m*m*m*m) printf("%d\n",i); } } 二、菱形图案(20分) 对给定的奇数n,编程打印菱形图案。 输入样例: 7 输出样例: * *** ***** ******* ***** *** * #include #include void main() {

int i,j,k; int n; scanf("%d",&n); for(i=0;i #include void main() { int i,j,x,y; float r; int a,b,count=0; printf("请输入矩阵的行列i,j:"); scanf("%d%d",&i,&j); printf("请输入圆心的坐标点及半径x,y,r:"); scanf("%d%d%f",&x,&y,&r); for(a=0;a

程序设计大赛致辞稿(精选多篇)

程序设计大赛致辞稿(精选多篇) 第二届涂鸦大赛领导致辞稿 各位老师、亲爱的同学们: 大家,下午好: 很高兴今天下午能够与大家相聚于校园文化广场,同时也很期待大家的涂鸦作品新鲜出炉,在这里,我想对在场的每一位同学说三句话。 我的第一句话:你们都是好样的。为什么这样讲?因为我觉得现在站在赛场上的,那些手拿笔墨纸砚的同学们,你们是勇敢与自信的;那些胸前挂着工作牌的同学们以及背后默默地工作者们,你们辛苦了;那些走在文化广场能停下脚步观看本次活动的同学们,我也要感谢你们的大力支持。 我的第二句话呢,我想谈一下我对涂鸦的认识。涂鸦,它起源于20世纪60年代美国的费城和宾夕法尼亚州的graffiti。听说制作者将自己的绰号以及自家门牌号之类涂绘于墙面等介质上,后来扩大到汽车、火车和车站站台等不同表面上做graffiti,墙不再是唯一的介质。而今,我们现在所在的现场是我院第二届涂鸦大赛现场,我认为本届“我的生活我涂鸦”第二届涂雅大赛不仅增强了我院大学生的创新意识和创新素养,而且激发了青年学生的创意资源与成果,引导大学生以创造的激情、创新的思

维、创意的形式描绘了我们多彩的交院生活,为搭建大学生创意能力的培养平台、为营造良好的校园文化氛围发挥了重要作用。 下面是我的最后一句话:预祝第二届涂鸦大赛取得圆满成功。 谢谢大家 全文结束》》xx程序设计大赛通讯稿 为进一步加强学校教学质量工程建设,提高学生的创造力及运用计算机技术解决实际问题的综合能力,培养学生的创新思维与合作精神,激发广大同学学习程序设计的热情与兴趣,xx年11月26日由淮南师范学院教务处主办,计算机与信息工程系承办,院计算机协会协办的第二届程序设计大赛在校图书馆六楼举行。本次比赛的组委会主任xxx老师,副主任xxx老师、xx老师,大赛组委会成员xx老师、xx老师、xx老师和组委会秘书xx老师出席了本次比赛。本次比赛的选手是来自我院各届学生共计77人。 本次比赛是以c语言和java语言为主要程序设计语言,共计5题,比赛时长为三小时,比赛强调参赛者计算机程序设计的专业素质,重点考察参赛者程序设计语言、计算理论等相关知识及综合应用能力。每人在规定时间内答题数量最多的人胜出,相同答题数量以最快完成答题的胜出,比赛过程中,选手们热情高涨,信心足地将一个个难题攻克,到了比赛的中间阶段,有的选手在为自己未能编出的程序而绞尽脑汁,有的

程序设计比赛试题

程序设计比赛试题 最少钱币数: 【问题描述】 这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。 你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。 【要求】 【数据输入】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值M (1<=M<=2000,整数),接着的一行中,第一个整数K(1<=K<=10)表示币种个数,随后是K个互不相同的钱币面值Ki(1<=Ki<=1000)。输入M=0时结束。 【数据输出】每个测试用例输出一行,即凑成钱数值M最少需要的钱币个数。如果凑钱失败,输出“Impossible”。你可以假设,每种待凑钱币的数量是无限多的。 【样例输入】 15 6 2 5 10 20 50 100 1 1 2 【样例输出】 2 Impossible

Feli的生日礼物 【问题描述】 Felicia的生日是11月1日(和Kitty是同一天生的哦)。于是Feli请来Kitty一起过生日。Kitty带来了最新款的“Kitty猫”玩具准备送给Feli,不过她说,这份礼物可不是白送的。Feli要帮她一个忙,才能够得到心仪已久的玩具。Kitty说,“Kitty猫”玩具已经卖出了n!个,n<=10^100*_*,Kitty想知道确切的数字,而不是无聊的“一个数加个感叹号”。Feli听了大吃一惊。要知道,算出n!是一个无比艰巨的任务。Feli告诉Kitty,就算Feli算出n!,Kitty也看不下去,因为当n=20时,计算机的长整型已经存不下了(Kitty只能接受1-9之间的数字)。于是Kitty说,你只要告诉我n!最后一位非0的数就可以了。Feli想了想,立刻动手写了个程序算出了正确的答案。现在,请你也试试看!注意哦,AC的男生将会得到一个“Hello Kitty”计算器(可编程,CPU 1THz,Mem 1TMB),AC的女生将会得到一个仿真“Hello Kitty”宠物(善解人意,无须喂养,智商1101,附带写情书功能)。 【要求】 【数据输入】每行一个n,直到输入数据结束 【数据输出】对应输入的n,每行输出一个答案 【样例输入】 1101 【样例输出】 8

ACM国际大学生程序设计竞赛指南

ACM国际大学生程序设计竞赛指南 2008年09月29日星期一 01:01 一、ACM竞赛介绍及规则 ACM/ICPC(国际大学生程序设计竞赛)是由ACM(Association for Computing Machinery,美国计算机协会)组织的年度性竞赛,始于1970年,是全球大学生计算机程序能力竞赛活动中最有影响的一项赛事。ACM/ICPC采用赛区选拔的方式产生参加世界决赛学校的资格,2001年,来自全球超过25个地区1141所大学的2362支队伍参加了第26届ACM/ICPC的赛区竞赛。在2002年3月,来自世界各地的约60支队伍,200多名选手参加了夏威夷总决赛的角逐。可以说,ACM国际大学生程序设计竞赛是参赛选手展示计算机才华的广阔舞台,是著名大学计算机教育成果的直接体现,是信息企业与世界顶尖计算机人才对话的最好机会。在过去十几年中,世界著名信息企业 APPLE、AT&T、MICROSOFT和IBM分别担任了竞赛的赞助商。中国大陆高校从1996年开始参加ACM/ICPC亚洲预赛,前五届 ACM/ICPC亚洲区选拔赛在上海设有赛区,由上海大学主办。2002年,第六届ACM/ICPC亚洲预赛将该在北京设赛区,由清华大学主办。第七届竞赛将于2002年10月在清华园拉开帷幕,预计将有超过60所国内外著名大学的上百支队伍参加本次竞赛(这也是北京工业大学首次参加此项赛事)。 ACM 竞赛规定,教练是参赛队伍所代表学校的正式教师,每支队伍最多由三名参赛队员组成,每支队伍中至少有两名参赛队员必须是未取得学士学位或同等学历的学生,取得学士学位超过两年,或进行研究生学习超过两年的学生不符合参赛队员的资格,任何参加过两次决赛的学生不得参加地区预赛或者世界决赛。 二、竞赛组织 竞赛在由各高等院校派出的3人一组的队伍间进行,分两个级别。参赛队应首先参加每年9月至11月在世界各地举行的“区域竞赛(regional contest)”。各区域竞赛得分最高的队伍自动进入第二年3月在美国举行的“决赛(final contest)”,其它的高分队伍也有可能被邀请参加决赛。每个学校有一名教师主管队伍,称为“领队”(faculty advisor),他负责选手的资格认定并指定或自己担任该队的教练(coach)。每支队伍最多由三名选手(contestant)组成,每个选手必须是正在主管学校攻读学位并已读完至少一半时间的学生。每支队伍最多允许有一名选手具有学士学位,已经参加两次决赛的选手不得再参加区域竞赛。 三、竞赛形式与评分办法 竞赛进行5个小时,一般有6—8道试题,由同队的三名选手使用同一台计算机协作完成。当解决了一道试题之后,将其提交给评委,由评委判断其是否正确。若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。程序运行不正确是指出现以下4种情况之一: (1)运行出错(run-time error); (2)运行超时〔time-limit exceeded); (3)运行结果错误(wrong answer); (4)运行结果输出格式错误(presentation error)。 竞赛结束后,参赛各队以解出问题的多少进行排名,若解出问题数相同,按照总用时的长短排名。总用时为每个解决了的问题所用时间之和。一个解决了的问题所用的时间是竞赛开始到提交被接受的时间加上该问题的罚时(每次提交通不过,罚时20分钟)。没有解决的问题不记时。美国英语为竞赛的工作语言。竞赛的所有书面材料(包括试题)将用美国英语写出,区域竞赛中可以使用其它语言。总决赛可以使用的程序设计语言包括pascal,c,c++及java,也可以使用其它语言。具体的操作系统及语言版本各年有所不同。 四、竞赛奖励情况 总决赛前十名的队伍将得到高额奖学金:第一名奖金为12000美元,第二名奖金为6000美元,第三名奖金为3000美元,第四名至第十名将各得到l500美元。除此之外还将承认北美冠军、欧洲冠军、南太平洋冠军及亚洲冠军 五、关于竞赛的题型分析

程序设计大赛试题及答案

试题 1、数学黑洞(程序文件名maths.c/maths.cpp) 【问题描述】 任给一个4位正整数,其各位数位上的数字不全相同,将数字重新组合成一个最大的数与最小的数相减,重复这个过程,最多7步,必得6174。对任给的4位正整数(各位数位上的数字不全相同),编程输出掉进黑洞的步数。 【输入】 一行,一个4位正整数n(1000< n<9999) 【输出】 掉进黑洞的步数 输入 1234 输出 3 2、进制转换(程序文件名conver.c/conver.cpp) 【问题描述】 任给一个十进制整数n,及正整数m(m<=16且m≠10), 将n转换成m进制并输出。 【输入】 一行,两个整数n,m(0 ≤ n ≤ 500000,2 ≤ m ≤ 16,且m≠10),中间用一个空格隔开,其中n 表示十进制数。 【输出】 转换后的数 【输入输出样例】 输入 255 8 输出 377 3、分数线划定(程序文件名score.c/score.cpp) 【问题描述】 公务员选拔工作正在 A 市如火如荼的进行。为了选拔优秀人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名公务员,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。 【输入】 第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的人数。输入数据保证m*150%向下取整后小于等于n。 第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。数据保证选手的报名号各不相同。 【输出】 第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。 从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。 【输入输出样例】 输入 6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88

2018年西门子杯中国智能制造挑战赛

2018年“西门子杯”中国智能制造挑战赛 (原全国大学生工业自动化挑战赛) 连续过程设计开发赛项决赛竞赛细则 一、总则 1.以公平、公正、公开为原则,以参赛队现场实施效果为考核标准。 2.全国竞赛组委会以甲方的身份发布工程项目招标需求,各参赛队以乙方的身份,根据甲方提出的 要求,进行项目方案设计,并以工程承包商的身份进入比赛现场实施。全国竞赛组委会将组织专家就项目方案设计、系统开发和现场实施等三个方面,对参赛队的系统设计方案和实施效果进行综合考察。 3.项目方案设计内容: (1)系统分析,包括需求分析、对象特性分析、安全分析等。 (2)控制系统设计,包括开车顺序、控制回路、控制PI&D图、控制算法、安全联锁、人机界面等。 (3)控制系统组成,包括控制器、IO卡件、通讯网络等。 (4)系统实施说明,包括系统连接、系统安装、系统组态、系统整定、系统调试、系统投运等。 (5)经济效益分析,包括产能、耗能、安全、环保等。 4.项目方案实施内容: (1)在SIMATIC S7-400 PLC上,完成硬件组态和控制程序开发;在SIMATIC WINCC上,完成监控画面组态与开发;建立PLC和WINCC之间的通讯连接。 (2)系统调试,包括控制器参数整定、故障排除、系统投运等。 (3)系统验收,包括项目方案设计书、现场实施报告,接受甲方对系统性能的评估。 5.全国竞赛组委会和决赛组委会只保证比赛设备正常可用,比赛现场不再对硬件组态、程序下载等 基础问题作技术支持。参赛队需要自行分析解决问题,全国竞赛组委会将此作为比赛考核内容之一。

6.参赛队需要自行携带电脑,作为系统的上位机,并自己负责设备的连接。全国竞赛组委会和决赛 组委会不再提供备用机。 7.决赛环节由“现场实施”与“方案答辩”两部分组成。 8.正式比赛期间,指导教师不得进入比赛现场。如有不听规劝者,将取消其所带领参赛队的比赛资 格。原则上不允许以任何原因离开赛场,如有特殊原因,需要边裁或巡检陪同。 9.在现场比赛过程中,主裁宣读完注意事项之后十五分钟内,指导教师可以通过手机通话的方式(只 能通话,不能视频、拍照)与参赛队员进行远程交流和指导,十五分钟后,所有参赛队员关闭手机。 二、决赛规则 1.各参赛队针对比赛题目自主构思控制方案,完成系统设计、控制算法及程序开发,并于指定日期 和地点参加决赛的现场比赛。 2.决赛环节由“现场实施”与“方案答辩”两部分组成(高职组只有上机,没有答辩,满分80分)。 分值分配如下: 3.“现场实施”环节包括:接线、系统实现(含WINCC画面组态与方案的调试实施)等,其中接线 分值5分、WINCC画面组态分值5分、方案调试实施分值70分(第一阶段30分,第二阶段40分)。 4.决赛报到的参赛队需在赛前参与抽签,以决定现场比赛的组别和顺序。 5.参赛队员须经大赛志愿者检录后进入赛场。如发现有冒名顶替者,将取消该参赛队的比赛资格。 【现场实施】 6.参赛队员全部入场后,主裁宣读比赛注意事项,并分发具体任务要求(赛题与竞赛规则)。主裁宣 读比赛注意事项期间,参赛队员不得进行任何操作。 7.“现场实施”环节总的时间为4小时(240分钟)。 8.主裁宣读完注意事项之后十五分钟内,参赛队员可以通过手机寻求场外指导教师的帮助,十五分 钟后,统一关闭手机。 9.接来下是接线环节,该环节总共40分钟,要求将PCS 7远程IO中的AI模块与SMPT-1000的仪 表测量输出模块进行接线,并确保通讯正常(至少确保一路TI1101能够接入到PCS 7远程IO中)。

程序设计竞赛常用算法

常用算法设计方法 要使计算机能完成人们预定的工作,首先必须为如何完成预定的工作设计一个算法,然后再根据算法编写程序。计算机程序要对问题的每个对象和处理规则给出正确详尽的描述,其中程序的数据结构和变量用来描述问题的对象,程序结构、函数和语句用来描述问题的算法。算法数据结构是程序的两个重要方面。 算法是问题求解过程的精确描述,一个算法由有限条可完全机械地执行的、有确定结果的指令组成。指令正确地描述了要完成的任务和它们被执行的顺序。计算机按算法指令所描述的顺序执行算法的指令能在有限的步骤内终止,或终止于给出问题的解,或终止于指出问题对此输入数据无解。 通常求解一个问题可能会有多种算法可供选择,选择的主要标准是算法的正确性和可靠性,简单性和易理解性。其次是算法所需要的存储空间少和执行更快等。 算法设计是一件非常困难的工作,常用的算法设计方法主要有迭代法、穷举搜索法、递推法、递归法、贪婪法、回溯法、分治法、动态规划法等。 一、迭代法 迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行:(1)选一个方程的近似根,赋给变量x0; (2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0; (3)当x0与x1的差的绝对值还大于指定的精度要求时,重复步骤(2)的计算。 若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。上述算法用C程序的形式表示为: 【算法】迭代法求方程的根 { x0=初始近似根; do { x1=x0; x0=g(x1); /*按特定的方程计算新的近似根*/ } while ( fabs(x0-x1)>Epsilon); prin tf(“方程的近似根是%f\n”,x0); } 具体使用迭代法求根时应注意以下两种可能发生的情况: (1)如果方程无解,算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考察方程是否有解,并在程序中对迭代的次数给予限制; (2)方程虽然有解,但迭代公式选择不当,或迭代的初始近似根选择不合理,也会导致迭代失败。 【举例】求方程X2-X-1=0的正根,误差<0.05 解:(1)建立迭代公式 由于X=X2-1

高级语言程序设计课程如何培养学生的问题求解能力

高级语言程序设计课程如何培养学生的问题求解能力 孙志岗 语言基础教研室,空间计算技术研究中心 摘要:教育的根本目标之一是培养学生的问题求解能力。本文结合作者在高级语言程序设计课程中的经验和构想,探讨如何培养学生的问题求解能力。文章总结了基于培养“自学、自主、自信、自乐”四个必备素质为目标的一系列教学方法,打破常规,启发学生独立自主、乐于创新、大胆实践,从而锻炼学生的问题求解能力。 关键词:问题求解;高级语言程序设计课程建设 0.引言 Gagné说过:“教育的中心目标就是教会人们思考,运用他们的理性,成为更好的问题解决者。”[1]现行的中国教育体系中,也强调培养问题求解能力,但实际中更注重的是知识的传授,和应用已有的知识解决已知问题(已经知道解决方法的问题)的能力。这种思路应用在中学教育还情有可原,但对高等教育来说,创造新知识、解决未知问题的能力才是教育的根本目标。因为大学的职责就是为社会培养具有这种能力的人才。 本科教育阶段,因为学生的专业知识结构尚未建立,基础知识比较薄弱,似乎应该以学习知识为主,不宜揠苗助长,去培养创新性的问题求解能力。但作者认为,本科阶段才是培养问题求解能力的最佳时机。这时的学生刚走出枯燥的高考,满怀憧憬地想走入全新的求学之路,其热情与求知欲都是空前的。他们虽然可能无知,但是也无畏,可以不受束缚地去迎接挑战、开拓创新。本文总结了作者在针对本科生的“高级语言程序设计”课程中的教学经验和新的构想,探讨如何培养学生的问题求解能力。 1.培养问题求解能力的根本途径 什么是问题求解能力?Jonassen总结了Gagné、Bloom、Merrill的观点和其它一些传统看法,认为: “问题求解必定包括各种各样的认知成分,如命题、概念、规则和原理(领域性知识),但它同时也包括学习者的结构性知识(信息网络、语义地图、概念网络和心智模式)、拓展技能(建构、辩论、分析和推理)、元认知技能(设定目标、收集认知资源、评价先前知识、评价进展、校正错误)。此外,问题求解还包括动机/态度因素(付出的努力、坚持性、有目的的投入),当然也包括自我知识(阐明先前知识、社会文化知识、个人策略、认知偏见/弱点)。”[2][3][4] 作者认为,结合当前实际情况,该能力可以定义为:面对一个新问题,运用所有资源将其解决的能力。“新问题”可能对所有人都是新问题,比如各种尚未解决的科学问题;也可能只对自己是新问题,比如尚未学过排序的学生面对排序问题。无论是哪种问题,其解决途径都是阅读资料,运用储备的知识,发挥智力与经验,再加上一点点运气和灵感,只不过前者的难度更高、结果更不确定。 求解能力是“教”不会,“学”不会,只能“练”会的。求解是一个复杂且综合的过程,口口相传的课堂教学无法表现其精髓,只可能教授求解知识和一点片面的求解经验。真正的求解能力是在求解的实践中锻炼、体会出来的。因此,教学中培养求解能力的根本途径是引出问题,激励学生的主动性,让学生自己动手解决问题。此过程能有效实施的关键是培养学生的四个必备素质:“自学、自主、自信、自乐”。

第六届程序设计比赛题目与答案

一、鸡兔同笼 问题描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物 输入数据 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (a < 32768)。 输出要求 n行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出2个0。 输入样例 2 3 20 输出样例 0 0 5 10 解题思路 这个问题可以描述成任给一个整数N,如果N是奇数,输出0 0,否则如果N是4的倍数,输出N / 4 N / 2,如果N不是4的倍数,输出N/4+1 N/2。这是一个一般的计算题,只要实现相应的判断和输出代码就可以了。题目中说明了输入整数在一个比较小的范围内,所以只需要考虑整数运算就可以了。 参考程序 1.#include 2.void main( ) 3.{ 4.int nCases, i, nFeet; //nCases 表示输入测试数据的组数,nFeet表示输入的脚数。 5.scanf("%d", &nCases); 6.for(i = 0; i < nCases; i++){ 7.scanf("%d", &nFeet); 8.if(nFeet %2 != 0) // 如果有奇数只脚,则输入不正确, 9.// 因为不论2只还是4只,都是偶数 10.printf("0 0\n"); 11.else if (nFeet%4 != 0) //若要动物数目最少,使动物尽量有4只脚 12.//若要动物数目最多,使动物尽量有2只脚 13.printf("%d %d\n", nFeet / 4 + 1, nFeet / 2); 14.else printf("%d %d\n", nFeet / 4, nFeet / 2); 15.} 16.}

acm程序设计大赛题目

The Mailboxes Manufacturers Problem Time Limit:1000MS Memory Limit:65536K Total Submit:299 Accepted:227 Description In the good old days when Swedish children were still allowed to blowup their fingers with fire-crackers, gangs of excited kids would plague certain smaller cities during Easter time, with only one thing in mind: To blow things up. Small boxes were easy to blow up, and thus mailboxes became a popular target. Now, a small mailbox manufacturer is interested in how many fire-crackers his new mailbox prototype can withstand without exploding and has hired you to help him. He will provide you with k(1 ≤ k≤ 10) identical mailbox prototypes each fitting up to m(1 ≤ m≤ 100) crackers. However, he is not sure of how many firecrackers he needs to provide you with in order for you to be able to solve his problem, so he asks you. You think for a while and then say, “Well,if I blow up a mailbox I can’t use it again, so if you would provide me with only k = 1 mailboxes, I would have to start testing with 1 cracker, then 2 crackers, and so on until it finally exploded. In the worst case, that is if it does not blow up ev en when filled with m crackers, I would need 1 + 2 + 3 + … + m = m ×(m+ 1) ? 2 crackers. If m = 100 that would mean more than 5000 fire-crackers!” “That’s too many,” he replies. “What if I give you more than k = 1 mailboxes? Can you find a strategy that requires less crackers?” Can you? And what is the minimum number of crackers that you should ask him to provide you with? You may assume the following: 1.If a mailbox can withstand x fire-crackers, it can also withstand x? 1 fire-crackers. 2.Upon an explosion, a mailbox is either totally destroyed (blown up) or unharmed, which means that it can be reused in another test explosion.

C语言程序设计大赛题目

C语言程序设计大赛题 目 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

1.角谷猜想 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。 *问题分析与算法设计 本题是一个沿未获得一般证明的猜想,但屡试不爽,可以用程序验证。 题目中给出的处理过程很清楚,算法不需特殊设计,可按照题目的叙述直接进行证。 *程序说明与注释 #include<> intmain() { intn,count=0; printf("Pleaseenternumber:"); scanf("%d",&n);/*输入任一整数*/ do{ if(n%2) { n=n*3+1;/*若为奇数,n乘3加1*/ printf("[%d]:%d*3+1=%d\n",++count,(n-1)/3,n); } else { n/=2;/*若为偶数n除以2*/ printf("[%d]:%d/2=%d\n",++count,2*n,n); } }while(n!=1);/*n不等于1则继续以上过程*/

}

2.四方定理 数论中着名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。 请编程证此定理。 *问题分析与算法设计 本题是一个定理,我们不去证明它而是编程序验证。 对四个变量采用试探的方法进行计算,满足要求时输出计算结果。 #include<> #include<> intmain() { intnumber,i,j,k,l; printf("Pleaseenteranumber="); scanf("%d",&number);/*输入整数*/ for(i=1;i intmain() { inta,b,c,d; printf("Pleaseenteranumber:"); scanf("%d",&a);/*输入整数*/

首届程序设计大赛题目及答案

首届程序设计大赛题目及答案 程序设计大赛题目 1. 硬币兑换:用一元人民币兑换一分、二分和五分的硬币,编程求出所有兑换方法,并打印每种情况下各面值硬币需几枚?(10分) 2. 旅馆里有一百个房间,从1到100编了号。第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间“相反处理”,第三个服务员把所有编号是3的倍数的房间作“相反处理”,……,以后每个服务员都是如此。问第100个服务员来过后,哪几扇门是打开的。(所谓“相反处理”是:原来开着的门关上,原来关上的门打开。) (15分) 3. 整型数组,长度为10,输入数组各元后,求数组各元的平均值,并找出最接近平均值的那个元素。打印输出上述两个结果,用逗号隔开,不要有其它字符。(20分) 4. 编程求两个很长的整数之和,比如两个20位十进制整数。(很长的整数指无法用long型存储的数)(25分) 例如: 12345678900987654321+12345678900987654321=24691357801975308642 5.编写布雷程序。(30分) 在一个10*10的方格中,随机分布10个地雷,并在其它没有地雷的格中显示该方格周围相邻的方格中共有几枚地雷。 样例输出:(图中-1的位置表示地雷,其它值表示该位置相邻的八个格子中的地雷数) 答案: 第一题: #include using namespace std; int main() { int i,j,k; for(i=1;i<=20;i++) for(j=1;j<=50;j++) {

k=100-5*i-2*j; if(k>0) cout<<"五分硬币"< using namespace std; int main() { int i,j; //i为服务员编号,j为房间编号 int a[101]; for(int t=1;t<101;t++) a[t]=1; for(i=2;i<101;i++) for(j=i;j<101;j++) if(j%i==0) a[j]*=-1; cout<<"打开的房间为:"; for(i=1;i<101;i++) if(a==1) cout< #include using namespace std; int main() { int a[10],i,sum=0,n=0; float ave,ca; for(i=0;i<10;i++) { cin>>a; sum+=a; } ave=sum/10.0; cout<<"数组平均值为:"<

C语言程序设计大赛题目

日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。 *问题分析与算法设计 本题是一个沿未获得一般证明的猜想,但屡试不爽,可以用程序验证。 题目中给出的处理过程很清楚,算法不需特殊设计,可按照题目的叙述直接进行证。 *程序说明与注释 #include int main() { int n,count=0; printf("Please enter number:"); scanf("%d",&n); /*输入任一整数*/ do{ if(n%2) { n=n*3+1; /*若为奇数,n乘3加1*/ printf("[%d]:%d*3+1=%d\n",++count,(n-1)/3,n); } else { n/=2; /*若为偶数n除以2*/ printf("[%d]: %d/2=%d\n",++count,2*n,n); } }while(n!=1); /*n不等于1则继续以上过程*/ }

数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。请编程证此定理。 *问题分析与算法设计 本题是一个定理,我们不去证明它而是编程序验证。 对四个变量采用试探的方法进行计算,满足要求时输出计算结果。 #include #include int main() { int number,i,j,k,l; printf("Please enter a number="); scanf("%d",&number); /*输入整数*/ for(i=1;i int main() { int a,b,c,d; printf("Please enter a number:"); scanf("%d",&a); /*输入整数*/ b=a*a*a; /*求整数的三次方*/ printf("%d*%d*%d=%d=",a,a,a,b); for(d=0,c=0;c

程序设计竞赛规程

一、活动名称 2013年“华为”杯程序设计大赛 二、举办单位 主办单位:华为技术有限公司 协办单位:(排名不分先后) 华中科技大学、武汉大学、武汉理工大学 三、活动时间 2013年5月1日-7月30日 四、参赛资格 ●本次大赛面向武汉三所目标高校在校全日制本科及以上学历学生(毕业时间在2013年9月30日之后)。 ●初赛以个人为单位,性别、专业不限;预计800人; ●在华为官方网站注册报名,报名成功后获得参赛资格,只有在报名期间进行网上注册后才能参与比赛。 四、竞赛流程 第一阶段:报名参赛(5月10日—5月24日) ●?参赛选手阅读参赛注意事项,确认协议内容,在华为官方网站上注册简历,获 得参赛资格的选手以个人身份参赛。 第二阶段:初赛(6月1日8:00—6月1日12:00) ●?网吧集中测试(集中招聘机试流程) 1. 5月30日18:00前,通过邮件、短信和电话的形式通知通过简历筛选的 学生初赛场地、机试场次、时间、所需证件及注意事项; 2. 1日当天,学生凭身份证刷卡签到,并获取自己的登录账号与密码。 3. 学生按安排的批次进行入座考试,机试全程为30分钟,逾时将视为不及 格。全程考试属封闭式测试,不得翻阅网页及手机,完全独立完成整个测 试过程。一旦发现翻阅行为,一律视为作弊,将会被取消参赛资格。 4. 考试成绩按照答案正确率与用时两个维度进行评价,在追求准确的同时对 学生们的编程效率也作出了要求。 第三阶段:软件训练营(6月2日9:00—6月2日16:00) ●? 1日晚将通过邮件、短信与电话的形式,邀请通过初赛的18位学生参加为期6 个小时的软件训练营-敏捷开发的训练课程,本课程主要是针对学生编程思维 进行的引导式更新,课程内容比较灵活多变,动手环节较多,较有吸引力。 ●?中午学生将统一在华为A2食堂进行就餐。 ●?完成培训的学生将会收到华为武研所办法的“敏捷技能拥有者”的荣誉证书和决 赛工具包(题目+小贴士+输出文件)。 ●?培训后,同学将会自主组成6个三人组进行接下来的决赛。每两个三人组将会 由一位导师(业务部门提供的业务骨干)进行指导,每个导师将会利用自己 的课余时间给每个队伍进行技术和思维两个方面的指导(通过邮件、电话和 QQ等方式),指导需不涉及课题核心信息。 第四阶段:决赛前预审(6月7日9:00—6月7日16:00)

C语言程序设计竞赛方案

计算机网络专业(C语言程序设计)竞赛方案 万友利 一、竞赛项目 C语言程序设计编程竞赛 二、竞赛方式与内容 (一)竞赛方式 1.竞赛采取个人竞赛方式, 2.竞赛时间120分钟。 3.竞赛使用的计算机软件、硬件和工具全部由竞赛组织方提供,选手不得私自携带任何软件、设计资源和通信工具进入赛场。 4.比赛过程中参赛选手必须保持安静,不得有舞弊现象。发现违规取消该队参赛资格。 (二)竞赛内容 利用所学知识完成基本程序的编写,要求在编写过程中考虑全面。 1、从键盘输入三个数据,并把数据按照从小到大顺序输出。 2、打印九九乘法表。 3、编写一个程序,将字符串转置并输出。例如“abcde”至“edcba”。 (三)成绩评定方法 1、参赛选手所完成的作品必须能够正常,否知不予评分或评分偏低。 2、由裁判人员根据选手作品独立进行客观评判、计分。得分相同时,以完 成时间少者优先排前确定获奖名次。 3、竞赛结束后,所有获奖作品向参赛选手和指导教师展示,并由竞赛项目的 评委进行点评。 三、竞赛规则 1. 参赛选手应严格遵守赛场纪律,服从指挥,着装整洁,仪表端庄,讲文 明礼貌。各地代表队之间应团结、友好、协作,避免各种矛盾发生。 2. 比赛当天,由各地代表队领队参加抽签确定机位。 3. 参赛选手须提前20分钟入场,入场必须佩戴参赛证并出示身份证。按机

位号入座,将参赛证和身份证置于台桌左上角备查,检查比赛所需一切物品齐全后选手签字方可开始参赛。选手在比赛中应注意随时存盘。迟到超过30分钟不得入场。开考后30分钟内不准交卷出场。严禁将试卷带出考场。 4. 参赛选手应遵守竞赛规则,遵守赛场纪律,服从大赛组织人员的指挥和安排,爱护竞赛场地的设备和器材。 5. 对参赛选手的安全教育和纪律教育,保障比赛过程的安全有序,避免发生意外事故。在竞赛过程中,要严格按照规程进行操作。 6. 比赛过程中如发生机器故障,必须经裁判长确认后方能更换设备或者机位,更换耽误的时间不另外增加或者延长比赛时间。 7. 比赛过程中或比赛后发现问题(包括反映比赛或其它问题),应由领队在当天向组委员会提出书面陈述。 四、项目小组 指导老师:万友利 裁判员:鲁丽娟 深圳技工学校 计算机网络教研组 2018年4月13日

相关文档