《程序设计与问题求解》实验指导书(2015-11-26)
更新时间:2024-01-06 01:39:01 阅读量: 教育文库 文档下载
- 程序设计与问题求解实验六推荐度:
- 相关推荐
程序设计与问题求解
实验指导书
《程序设计与问题求解》教改项目组
2015年9月
实验一 熟悉上机环境和顺序结构编程
一、实验目的
1. 了解和使用VC集成开发环境; 2. 熟悉常用的功能菜单命令; 3. 掌握C语言中的输入输出; 4. 掌握变量定义和使用;
5. 理解顺序结构程序设计方法 。
二、实验内容和步骤
1. 熟悉VC环境,练习自己的第一个程序
(1)启动VC环境 选择菜单“开始/程序/Microsoft Visual Studio 6.0/Microsoft Visual C++ 6.0”,得到Visual C++ 6.0启动后的用户界面,如图所示。
(2)创建新文件
单击菜单“文件/新建”,显示对话框。
在此对话框的列表栏中,有“文件、工程、工作区、其他文档”4个选项。
注意系统进入的时候是“工程”一栏被选中,简单起见,我们要用鼠标选中“文件”,会弹出下拉式菜单。在菜单里用鼠标选中“C++ source file”,然后在右边的文件框里填入你要创建的文件名,如 eg1_1.cpp.然后点击确定。
(3)在“C++源程序编辑”窗口下编辑C++源程序。
在编辑窗口键入C/C++源程序。如图所示,键入上面程序。
(4)编译连接和运行源程序
选择菜单项“编译”,出现“编译”的下拉菜单,在该下拉式菜单中选择“编译 eg1-1.cpp”菜单项,这时系统开始对当前的源程序进行编译,在编译过程中,将所发现的错误显示在屏幕最下方的“编译”窗口中。所显示的错误信息中指出该错误所在行号和该错误的性质。我们可根据这些错误信息进行修改。
编译无错误后,可进行连接生成可执行文件(.exe),这时选择“编译”下拉菜单中的“构件 eg1-1.exe”选项。“编译”窗口出现信息说明编译连接成功,并生成以源文件名为名字的可执行文件(eg1-1.exe)。
执行可执行文件的方法是选择“编译”菜单项中“执行 eg1-1.exe”选项。这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中。
(5)关闭工作区,为下个实验做准备。
单击菜单“文件”中的“关闭工作区”选项,关闭工作区。注意:这一步很重要,不然其他的程序做不了,所以建议同学们每做完一个实验都要关闭工作区,这样可以一次做多个实验!!
2.简单的数据输入输出实验
(1)输入下面的程序,运行并分析结果。(注意: 绝对值函数fabs(x)。)
#include
int main( void )
{ double question =-45.35, answer;
answer = fabs( question );
printf( \数 %.2f 的绝对值是 %.2f\\n\}
(2) 分析并修改下面程序错误,使之能够正常运行。
错误代码一: #include
错误代码二: #include
3.编写程序实现以下功能
1).输入3个数,求他们的平均值并输出。(保留2为小数) 2).计算1?11?的值,并输出结果(保留2为小数) 23三、实验报告内容及要求
1.按实验报告要求(样板)撰写并打印实验报告; 2.给出2(1)的实验结果,(如有和自己预期的结果不一致的要分析); 3.说明2(2)错误原因,给出正确的源程序代码并运行结果输出数据; 4.实验中遇到的问题和解决问题的方法。
实验二 选择结构程序设计
一、实验目的
1. 正确使用关系表达式和逻辑表达式表示条件; 2. 掌握选择语句if-else和switch语句的使用方法; 3. 掌握分支结构程序设计。
二、实验内容
1. 选择结构编程示例
year是闰年,即year能被4整除但不能被100整除,或year能被400整除。从键盘读入一个年份,然后输出其是否为闰年。具体代码如下: #include
int year;
printf(\请输入年份:\ scanf(\
if ((year%4==0 && year0!=0)||(year@0==0)) { printf(\闰年!\ } else { printf(\不是闰年!\ } }
2. 分析并修改下面程序错误,使之能够正常运行。
错误代码一:下面的这个程序是当a和b的值相等的情况下输出“a和b相等”,而a与b的值不相等的话无输出。
#include
int a=5,b=6; /* 或 int a=5, b=5 ;*/ if (a==b); { printf(\和b相等\\n\ } }
错误的代码二:下面的这个程序是当a和b的值相等的情况下a与b的值同时增加1,而a与b的值不相等的话,二者的值保持不变。 #include
void main()
{ int a=5; /* 或 int a=6*/ int b=6; if (a==b) a++; b++;
printf(\}
3.编写程序实现以下功能
1).身高预测
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为
男性成人时身高=(faHeight + moHeight)×0.54cm 女性成人时身高=(faHeight×0.923 + moHeight)/2cm
此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
编程要求:有用户输入输出提示信息。
2).简单的计算器
用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:
操作数1 运算符op 操作数2
计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 编程要求:程序能进行浮点数的算术运算,有用户输入输出提示信息。
提示:因为除法中的除数不能为0,因此关键在于如何比较浮点变量data2和常数0是否相等。作为整型变量跟0的比较,简单的==就可以解决。而浮点型等实型变量需要用 if (fabs(data2) <= 1e-7) 进行判断(即判断其是否足够小)。若使用函数fabs,需要包含头文件cmath.h
三、实验报告内容及要求
1.按实验报告要求(样板)撰写并打印实验报告; 2.分析2中的程序错误,修改后运行并写出结果; 3. 给出3中的源代码及输入输出结果截图; 4.实验中遇到的问题和解决问题的方法。
实验三 循环结构程序设计(一)
一、实验目的
1. 掌握循环程序设计思想;
2. 掌握三种循环结构程序的写法;
2. 能熟练适当使用三种循环结构进行循环程序的编写。
二、实验内容
1. 循环结构编程示例
要求编程计算1到100的和并输出,具体代码如下:
#include
2. 分析并修改下面程序错误,使之能够正常运行。
错误代码如下: 该程序用于求从1到100的整数和。
#include
3.编写程序实现以下功能
1). 请用三种结构实现从1到100之间的偶数累加,奇数相乘,并将偶数累加的结果输出,奇数相乘
的结果输出。
2). 从键盘输入一批学生的成绩(以负数为结束标志),计算平均分,并统计不及格成绩的个数。 3). 从键盘输入任意字符(直到输入字符q或Q时退出),分别统计输出一共有多少个数字,多少个小写字母,多少个大写字母及多少个除上述以外的其他字符的个数。(注意:这里最后一个q或Q也要计算在内!)
三、实验报告内容及要求
1.按实验报告要求(样板)撰写并打印实验报告;
2.分析2中的程序错误,修改后运行并写出结果; 3. 给出3中的源代码及输入输出结果截图; 4.实验中遇到的问题和解决问题的方法。
实验四 循环结构程序设计(二)
一、实验目的
1. 学习和掌握二重循环结构编程; 2. 学习和使用基础算法--枚举算法
二、实验内容
1. 二重循环结构编程示例
要求按如下数字形状输出,代码有错误,请修改正确。
1 123 12345 1234567 代码如下:
#include
int main() {
int i, j;
for(i=1;i<=4;i++) {
for(j=1;j<=i;j++)
{
printf(“%d”,j);
}
printf(“\\n”); } }
2.编写程序实现以下功能
1) 编写程序,打印99乘法表
2) 将一面额为10元倍数的整钱(<=100元)换成1元、2元和5元的零钱组合(每种面值都要有)。输入要换的面额(如10元),输出所有可能的换法(如2种)。
进阶:若希望换出来的零钱数量越少越好,怎么修改程序可以很快得到最优方案? 3) 输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。 输入输出示例
Input words: The sum of the odd numbers. Count = 6
三、实验报告内容及要求
1.按实验报告要求(样板)撰写并打印实验报告; 2.分析1中的程序错误,修改后运行并写出结果; 3. 给出2中的源代码及输入输出结果截图; 4.实验中遇到的问题和解决问题的方法。
printf(“%d %s %d\\n”,p->num,p->name,p->score); return 0;
2.简单有序链表的创建和查询修改
(1)建立一个单链表 21 3 15 27 11 18,并输出该链表; (2)输入序号n,查找序号为n的结点,并输出; (3)输入值x,查找值为x的结点,并输出;
(4)插入结点: 输入序号 n和值x。在序号为n的结点后插入x,并输出该链表; (5)删除结点: 输入序号 n,册除序号为 n 的结点,并输出该链表。
三、实验报告内容及要求
1.按实验报告要求(样板)撰写并打印实验报告; 2.分析1.中的程序错误,修改后运行并出结果截图; 3. 给出2.中的源代码及输入输出结果截图; 4.实验中遇到的问题和解决问题的方法。
实验十 综合编程设计
一、实验目的
1.熟悉和回顾编程的一般方法 2.循序渐进编写实际编程问题
3.进一步学习和提高综合编程能力和解决编程中出现的问题的能力
二、实验内容
1. 设计和完成:简单学生成绩管理信息系统
学生成绩信息包括:学号,姓名,课程名,平时成绩,实验成绩,考试成绩,总评成绩。 2. 要求实现如下功能:
1) 能够实现学生成绩信息的插入、删除和修改;
2) 能够实现各种查询(分别根据学生学号、姓名、课程名称等); 3) 能够实现按照考试成绩、总评成绩进行排序;
4) 能够查询某门课程的最高分、最低分并输出相应学生信息; 5) 能够查询某门课程的优秀率(90 分及以上)、不及格率;
3. 说明:本次试验是综合设计实验,用6个学时(3次实验课)完成 ,程序的最终运行结果界面如下,根据输入序号选择执行相应功能(仅供参考)
三、实验报告内容及要求
1.按实验报告要求(样板)撰写并打印实验报告; 2.分析并画出主要程序流程图(1)(2); 3. 给出源代码及输入输出结果截图; 4.实验中遇到的问题和解决问题的方法。
正在阅读:
《程序设计与问题求解》实验指导书(2015-11-26)01-06
教师教学风格对小学生学习习惯形成的影响06-27
第8课中华文化的勃兴(一)(学案)07-19
2014年安徽公务员考试行测:行测真题之八宗“最”01-26
实验4 网际协议(IP)11-01
环境监测试卷B及答案12-09
新生儿病室医院感染监控和报告制度 医院感染监测报告制度04-05
小说阅读网站的设计 - 图文04-20
锦和百货各楼层定位性品牌结构图04-14
制药化工原理课后习题答案06-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 指导书
- 求解
- 程序设计
- 实验
- 问题
- 2015
- 11
- 26
- 安阳市城市规划建设管理介绍
- 采购谈判中的沟通技巧应用 崔雅慧
- 一次性工伤待遇补偿协议书
- 永钢实习报告 - 图文
- 2014年期货从业资格考试-基础知识
- 课程标准
- 关于对XX银行科技信息风险管理进行专项审计的报告
- 临时用电施工方案2016-7 - 图文
- 高考英语书面表达讲解与训练 - 如何写好情景写作(一)
- 第18周 认识百分数及百分数的应用
- 有机化学选择题与答案
- 19、“精彩极了”和“糟糕透了”·教案
- 中央企业班组长远程教育培训总结
- 二年级数学万以内的加法和减法
- 2019春九年级数学下册第24章圆24.6正多边形与圆课时作业新版沪科版
- 2019初三化学教案空气语文
- 2016河北版四年级上册科学期末模拟试题及答案
- 齿轮传动消除反向间隙机构的装配与调整(赵庆志修改2010,6,3) - 图文
- 流固耦合的研究与发展综述
- 大蒜的营养神奇功效每日一练(11月12日)