Page 99 - 高中 信息技术 必修1 数据与计算
P. 99

 4.4 运用循环结构描述问题求解过程







                         问 题


                         项目小组经过讨论,最后选择购买单价分别为1.8元的笔记本、1.9元的笔、2.1元的
                    小饰品作为活动的奖品和纪念品,每一种物品至少买100件,并且尽可能地用完1000元经

                    费。如何设计方案,才能实现购买物品数量最多呢?如数量相同的情况下余额最小的方案
                    为最佳,则最佳方案中每一种物品的数量是多少?余额是多少?



                         思 考

                         如何运用循环嵌套的方法编程解决上述的最优采购方案设计问题?
                        ③y从100~526穷举;广东教育出版社


                         观 察

                         要解决这个问题,需要用到循环嵌套的知识,下面提供了其中一种解法:

                         (1)分析问题。
                         设购买单价为1.8元、1.9元、2.1元的物品数量分别为x,y,z,当前余额为r元,所买
                                                                                                            *
                                                                                                       *
                    物品总数量为s,根据题意有下面关系式:1.8x+1.9y+2.1z≤1000(x,y,z∈N ,N 为自
                    然数),我们分别将x,y,z从100至555,526,476逐个穷举,如果x,y,z的值满足式子
                                                        *
                                                             *
                    1.8x+1.9y+2.1z≤1000(x,y,z∈N ,N 表示自然数),如x+y+z>s,则s=x+y+z,r=1000-
                    (1.8x+1.9y+2.1z),并记录此时x,y,z的值;如x+y+z=s,且1000-(1.8x+1.9y+2.1z)<r,
                    则r=1000-(1.8x+1.9y+2.1z),并记录此时x,y,z的值。
                         (2)设计算法。
                         根据上述的分析,可设计出如下的算法:
                         ①令x1=100,令y1=100,令z1=100,令s=300,令r=1000-(100×1.8+100×

                    1.9+100×2.1);
                        ②x从100~555穷举;



                        ④z从100~476穷举;
                        ⑤如果1.8x+1.9y+2.1z≤1000,若x+y+z>s,则s=x+y+z,r=1000-(1.8x+1.9y+2.1z),
                    x1=x,y1=y,z1=z;若x+y+z=s,且1000-(1.8x+1.9y+2.1z)<r,则r=1000-

                    (1.8x+1.9y+2.1z),x1=x,y1=y,z1=z;
                         ⑥转步骤④;
                         ⑦转步骤③;

                         ⑧转步骤②;
                         ⑨输出x1,y1,z1,s和r的值。
                         (3)编写程序。
                         根据上面设计的算法,编写出解决该问题的程序(见配套学习资源包“第四章\课本

                    素材\程序4-7”)如下:

                                                                                                                    91 91







          37X1939  第四章.indd   91                                                                                   2019/5/18   13:06:37
   94   95   96   97   98   99   100   101   102   103   104