1课程编号:02202001课程名称:程序设计实践课程性质:专业基础限选总学时:30(实践学时30)学分:2适用专业:计算机科学与技术《程序设计实践》教学大纲一、教学目标《程序设计实践》课程的教学目标旨在训练学生C语言编程的基本能力。通过本课程的训练,使学生具备后续程序设计类课程,如数据结构、算法分析与设计等,所要求的编程能力,为这些教学活动的顺利开展打下良好基础。二、教学说明《程序设计实践》分模块对学生的C语言编程技能进行训练,涵盖了基本设计方法、输入输出、指针、字符串、参数传递、递归调用、文件操作等项目。这些技能即是后续与程序设计类课程经常要用到的,也是日后从事C语言程序开发所必备的,乃至对掌握其他编程语言,如C++、Java和C#等也是非常有益的。训练模块的设计,以及各模块中训练题目的选择是基于以往教学经验,挑选学生普遍薄弱以及未来经常使用的编程技能编辑而成。教师可根据具体情况,特别是学生对C语言编程的掌握情况,灵活调整训练模块和模块中的训练题目。目前各模块基本相对独立,前后顺序可以调整,但仍建义将实验一和实验二放在最开始;实验三不晚于实验六;实验四不晚于实验五。建议每次课能抽出部分时间对与本模块相关的理论知识做简单归纳总结。本课程是对编程能力的训练,因此反对学生参考成熟的程序,甚至鼓励学生尽量少用库函数,而是自己独立编程实现。这一点与其他程序设计类课程有所不同,望在教学实施过程中予以注意。本课程虽是对编程能力的训练,但在注重结果正确的前提下,也应注意对学生良好编程风格的培养。鼓励学生选择与训练模块相关的,来自于自己程序开发实践活动的题目参与训练,但要事先征得教师的认可。如果条件允许,应该全程开展对训练结果的机器自动检查。三、教学内容及要求实验一基本设计方法训练(一)实验内容本次实验对基于程序流程图写代码,以及通过程序流程图分析代码的程序设计方法进行训练。实验题目分如下两大类,学生可分别从每类中选择1道来完成:1.流程图转换为代码(1)写出下列流程图对应的代码22)写出下列流程图对应的代码32.代码转换为流程图(1)画出下列代码的流程图p=head;for(j=1;j
next;while(head->next!=head){for(j=1;jnext;q=p->next;p->next=q->next;printf("%d",q->number);if(q==head)head=q->next;free(q);p=p->next;}printf("%d\n",head->number);(2)画出下列代码的流程图r1=head1;p1=head1->next;r2=p2=head2->next;while(p1&&p2){if(p1->index==p2->index){p1->modulus=(p1->modulus)+(p2->modulus);p2=p2->next;free(r2);r2=p2;r1=p1;p1=p1->next;}elseif(p1->index>p2->index){r2->next=p1;r1->next=r2;p2=p2->next;r2=p2;}elseif(p1->indexindex){r1=p1;p1=p1->next;}}4}5*******(3)打印倒的杨辉三角形,层数由用户输入,第一行左侧顶格。例:13311211113.综合类(1)输入一组以逗号分隔的整数,以回车结尾,以每行5个,空格分隔,左对齐的方式输6出它们。例:【输入】100,21,3950,7,8,3289,943,495,34134,343,209,47,2,7293,29,2732,843,392,24【回车】输出】10021395078328994349534134343209472729329273284339224(2)输入一组以逗号分隔的整数,以回车结尾,以每行5个,空格分隔,右对齐的方式输出它们。例:【输入】100,21,3950,7,8,3289,943,495,34134,343,209,47,2,7293,29,2732,843,392,24【回车】输出】10021395078328994349534134343209472729329273284339224(3)输入一组以空格分隔的英文单词,以回车结尾,以每行5个,空格分隔,左对齐的方式输出它们。例:【输入】MachinelearningisthetermthatreferstolearningpatternsinthedataInotherwords【回车】【输出】MachinelearningisthetermthatreferstolearningpatternsinthedataInotherwords4)输入一组以空格分隔的英文单词,以回车结尾,以每行5个,空格分隔,右对齐的方式输出它们。例:【输入】MachinelearningisthetermthatreferstolearningpatternsinthedataInotherwords【回车】输出】MachinelearningisthetermthatreferstolearningpatternsinthedataInothe...