项目5 while循环

本项目是对前几个项目学习内容的总结,学习用已有的编
程知识和技能解决问题。结合六年级数学课本中关于圆的面积
和周长的学习内容,通过编程用公式计算圆形的面积和周长,
将编程学习与其他学科紧密结合,培养学习编程的兴趣。



项目5.1 蛋糕的面积



1. 任务描述

你想要多大的生日蛋糕?去蛋糕店买蛋糕就会发现,有直径为6寸、8寸、
10寸等。这些蛋糕首先要进行规划设计,设计时要设计蛋糕直径,计算面
积和周长,现在小明的生日蛋糕是8寸的,你能计算出这个8寸蛋糕的面
积吗?

2. 任务分析

蛋糕有厚度,是立体的,更像一个实心圆柱体,因此,实际上要计算的
只是蛋糕的表面圆形面积。可以把圆形蛋糕看作数学中的圆形,这个实际问
题就可以转换为求8寸圆形的面积。

8寸指的是直径,直径的一半就是半径。但是8寸不能直接参与计算,需
要转换为厘米,即1寸=2.54 cm,8寸=8*2.54=20.32 cm,半径=20.32/2=10.16 cm

3. 程序设计

用变量r表示半径的值,用变量S表示面积的值,π取值3.14,使用
公式S=πr2,使用print函数输出结果。

4. 代码编写和调试

(1)打开IDLE,依次选择File→New File命令,新建一个文件。

(2)输入程序代码,还可以为其增加注释,一般以红色显示,用#开头,
如图5-1所示。

(3)依次选择Run→Run Module命令后,提示保存文件,保存后自动
弹出运行窗口。

(4)屏幕上已经打印出计算结果了,如图5-2所示。

(5)修改代码中r的数值,重复步骤(3)和(4),观察运行结果。





图5-1 求圆形面积代码




图5-2 运行结果

5. 程序优化

按以上方法编写计算圆的面积,如果需要更改半径,每一次都需要经历
修改程序、保存程序、运行程序的过程。如果写一段代码,直接输入任意圆
形的半径数值,就可以马上计算并显示出该圆形的周长和面积,就可以避免
重复修改原程序的麻烦和风险了。

使用原有的变量,将直接赋值改为使用input函数获取输入的数据。修
改后的程序如图5-3所示。编写代码,保存并运行程序,观察运行结果。




图5-3 求圆形面积的优化

运行上面的程序,发现可以输入半径来计算面积和周长了,但是只计算
一次,程序就执行结束了。想要多次执行,就要设置循环条件:只要半径值



不是字符q,就执行计算程序。因此,使用while循环就可以了。项目4已
经学习过相关的知识和方法了,再次修改后的程序如图5-4所示。




图5-4 求圆形面积的循环

任务5.2 扩展阅读:程序的灵魂——算法和数据结构



算法是解决问题的流程/步骤(如可用顺序结构、分支结构、循环结
构等)。

数据结构是将数据按照某种特定的结构来保存。

数据怎么储存?设计良好的数据结构会造就好的算法。获得图灵奖的
Pascal之父——Nicklaus Wirth提出过一个著名公式:

算法+数据结构=程序

这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦提出的
E=MC2,这个公式展示出了程序的本质。

通俗地说,算法相当于逻辑,小部分已被人们发掘出来(这里的小部分
指的是书本里讲的各种算法,属于人们对于特定模式抽象出来的核心,如排
序),可以看作一种模式。一种逻辑(可能由其他子逻辑组合而成)一旦确
定下来,便可看作常量,是固定不变的。

 数据结构即数据表示,如用户数据,属于互联网的主要部分。这里面
有一个问题,就是如何合理、高效地表示数据。为此,人们想出了各种各样
的数据结构,如数组、树。还有一点就是代码通用性的考量。对于一个设计



良好的数据(结构)来讲,应当可以保证在代码逻辑不变的基础上,功能的
增加只需在数据层做些修改就能完成:如在下拉菜单数据中追加一条“详情
页”的数据和对应的回调方法,即可完成新菜单项的添加工作。因此,“算法”
即逻辑,“数据结构”即存储。总结一下,用程序来解决问题的过程就是

问题→数据结构+算法 = 程序→解决问题

任务5.3 总结和评价



(1)展示程序运行结果。

(2)说说本项目中while循环的设计过程。

(3)项目5已完成,在表5-1中画☆,最多画3个☆。

表5-1 项目5评价表

评 价 描 述

评 价 结 果

我能使用公式计算圆形面积和周长

我能编写任务中的while循环程序,并调试成功

我能描述任务中的while循环的执行过程

我能完成编程挑战任务:设计程序,并调试成功

我能熟练地使用键盘输入代码,细致且有耐心





(4)编程挑战如下。

① 任务中的程序可以设计为其他循环条件吗?自己试一试。

② 如果蛋糕是一个半圆,怎样计算它的面积和周长?设计程序解决这
个问题。