习题课(二)
- 格式:ppt
- 大小:840.00 KB
- 文档页数:28
第四章习题讲解4.6 实训实训1【实训内容】简单if语句。
【实训目的】掌握简单if语句的使用。
【实训题目】分析下面两个程序,写出程序的功能并上机验证。
【程序1】#include <stdio.h>main(){float x,y,z;printf("Please enter x,y,z:");scanf("%f,%f,%f",&x,&y,&z);if(x<y) x=y;if(x<z) x=z;printf("%5.2f\n",x);}【程序2】#include <stdio.h>main(){float x,y,z,max;printf("Please enter x,y,z:");scanf("%f,%f,%f",&x,&y,&z);max=x;if(max<y) max=y;if(max<z) max=z;printf("%5.2f\n",max);}实训2【实训内容】if-else语句。
【实训目的】掌握if-else语句的使用。
【实训题目】简单加法练习程序。
阅读程序并上机调试,改正其中的错误,使之能正常运行。
#include <stdio.h>#include <stdlib.h>#include <time.h>main(){int num1,num2,answer;srand(time(NULL));num1=rand()%100;num2=rand()%100;printf("%d+%d=",num1,num2);scanf("%d",&answer);if(answer==num1+num2)printf("回答正确.\n");elseprintf("回答错误.\n");}实训3【实训内容】if嵌套【实训】编写程序,根据输入的某年某月,输出该月的天数。
运筹学习题课二---小组任务(解答) 要求:1、 以小组形式共同完成习题任务,每小组人数为3人,成员自定;2、 小组成员共同讨论任务解决方案,最后由一人撰写习题报告;3、 习题报告需给出完整的数学模型及求解过程;4、 习题报告中签署所有成员的班级、姓名及学号。
任务1:P152-6.4:某城市的消防总部将全市划分为11个防火区,设有4个消防(救火)站。
图6-8表示各防火区域与消防站的位置,其中①、②、③、④表示消防站,1, 2, 3, …, 11表示防火区域。
根据历史的资料证实,各消防站可在事先规定的允许时间内对所负责的地区的火灾予以消灭。
图中虚线即表示各地区由哪个消防站负责(没有虚线连接,就表示不负责)。
现在总部提出:可否减少消防站的数目,仍能同样负责各地区的防火任务?如果可以,应当关闭哪个?解答:使用0-1整数规划求解,可知规划只有两个可行解,比较后可知可以关闭第2个消防站。
任务2:P312-11.15-(2):已知矩阵对策A =(400008060)的解为x ∗=(613,313,413)T ,y ∗=(613,413,313)T ,对策值为 2413 . 求下列矩阵对策的解,其赢得矩阵A 分别为(1)(−2−226−2−2−24−2), (2)(322020202044203820).解答:使用矩阵对策基本定理的定理7-8进行求解,可得(1)及(2)的最优策略不变,最优对策值分别为:−213,33213. 其中矩阵(1)是在矩阵A 的基础上交换了1,3列后再减2而得,易知交换赢得矩阵的任意两行或两列不改变原矩阵对策的值,只需对局中人的最优策略的分量作相应的交换即可。