09C++选择结构(3)——教学

一、求3个整数中最小值

(第20课 求3个整数中最小值)
题目:输入三个整数,表示梨的重量,输出最小的数。

方法1:经过三次两两比较,得出最小值。

a<=b && a<=c min=a

b<=c && b<=a min=b

c<=b && c<=a min=c

流程图:

方法2:先找出a和b中较小的那个数,把较小的数赋值给min,然后再让min和c比较,找出最小值。


流程图:

方法3:先假设第一个数a为最小值,把它赋值给min;然后和第二个数b比较,若b比min小,就把第二数b赋值给min;再和第三个数c比较,若第三个数c比min小,就把三数c赋值给min,有点儿类似打擂台。


流程图:

注:通俗地讲,程序算法就是为解决某一特定问题而采取的具体有限的操作方法步骤。

二、3个数排序

第21课 3个数排序

问题:试编一程序,输入三个数,表示三匹马跑100米的秒数,时间越小速度越快,请将秒数按由小到大的顺序输出。
方法:

流程图:

三、随机函数rand()

第22课 随机函数rand

随机数rand()函数返回的值是一个大于等于0且小于等于RAND_MAX的随机整数,RAND_MAX是一个符号常量(通俗讲,符号量就是“替代”。即用一个标识符来代常量)它的值与操作系统、编译器等有关。若在Windows操作系统下的DevC+中其值为32767。若在Linux操作系统下的g++中其值为2147483647。在使用随机函数rand()前,需要包含cstdlib头文件,即#include<cstdlib>
*编程实验随机函数rand()的使用。
要产生真随机数,方法是:
(1)使用srand()来设置随机种子,srand(time(0))设置当前的系统时间值为随机种子;需要包含头文件ctime,即#include <ctime>
(2)要产生一个[a,b]的随机整数,就要使用通用公式:
rand()%(b-a+1)+a
rand()%5+1 //可以产生一个[1,5]的随机整数。
例题:试编一个程序,计算机随机产生一个整数(1至5),自己输入一个整数,若两数相同,则输出“恭喜你,中奖了!奖金10元”,否则输出“没中奖,请付费2元”;同时公布中奖号码。
流程图:

英汉小词典:
rand random(随机)的缩写
srand 设置随机种子

注意:数据输入时,输入状态是处于半角还是全角。参考阅读

四、if语句的应用

第23课 if语句的应用

问题:周末,格莱尔和爸爸打车到游乐场玩。打车计价方案为:2千米内起步是6元;超过2千米之后按1.8元/千米计价;超过10千米之后在1.8元/千米的基础上加价50%,如图示。此外,停车等候则按时间计费每3分钟加收1元(注:不满3分钟不计费)。试编一程序,计算格莱尔需要付的打车费是多少?

流程图:

英汉小词典:
路程:path length
费用:cost

五、bug与debug

第24课 bug与debug

问题————体质指数(BMI)由19世纪中期比利时的通才凯特勒最先提出,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。它的计算方法如下:
体质指数(BMI)=体重(kg)/身高(m)的平方

以上标准只适合于成年人,试编一程序,根据体重、身高,判断其胖瘦程度。
流程图如下:

测试数据:①1.71 62
②-1.71 62
③20 165
本程序运行时输入的数据存在问题,如运行结果②输入负数,运行结果③输入不太现实的数据。任何一个程序,都是有数据范围要求的,超出了数据范围,程序可能就不对了。在参加全国青少年信息学奥林匹克联赛(NOIP)等竞赛上机编程时,会发现每道题目都会给出数据范围,这就要求我们在设计算法时,要根据数据范围做更加全面细致的考虑,否则程序会出现bug。说到bug,这背后有一个有趣的故事:有一天,美国海军准将、计算机女科学家、世界最早的一批程序设计师葛丽丝·霍波(Grace Hopper),在调试设备时出现故障,拆开继电器后,发现有一只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐地把程序故障统称为“臭虫(bug)”,把排除程序故障叫debug,而这奇怪的“称呼”,竟成为后来计算机领域的专业术语。

六、教学反思与拓展

1、全角和半角

(1)全角:是指一个字符占用两个标准字符(或两个半角字符)的位置。全角占两个字节。
汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。在全角中,字母和数字等与汉字一样占据着等宽的位置。
(2)半角:是指一个字符占用一个标准的字符位置。半角占一个字节。
半角就是 ASCII 方式的字符,在没有汉字输入法起作用的时候,输入的字母、数字和字符都是半角的。
效果如下图:
全角:

半角:

提示:
每个半角字符只占用一字节的空间(一字节有8位,共256个编码空间)。汉语、日语、及朝鲜文等象形字语言的字库量远大于256个编码空间,所以改用两个字节来储存。同时,由于中日韩等象形文字的书写习惯,如果统一使用全角字符的话,排列起来也显得整齐。为了排列整齐,英文和其它拉丁文的字符和标点也提供了全角格式。
在我们日常使用的电脑系统里,一般默认设置输入法为英文输入法,这时候自动处于半角状态下,此时输入字母、符号或数字,始终都只占一个英文字符的位置。如果切换到中文输入法状态下,则会有全角半角两种选择,对中文字符来说,这两种选择都没有影响,它始终都要占两个英文字符的位置,但是对于输入的符号、数字以及英文字母来说,就显得很重要了。在选择全角后,字母、符号及数字都要被当成汉字进行处理,从视觉角度上看,它们因此也显得别扭了许多。
(3)全角和半角的使用
在中文输入法中,切换全角和半角格式的快捷键为SHIFT+空格。
1)一般的系统命令是不用全角字符的,只是在作文字处理的时候才会使用全角字符。
2)在编程序的源代码中只能使用半角标点,但是字符串内部的数据可以使用全角字符或者全角标点。
3)在不支持汉字等语言的计算机上只能使用半角标点。其实,在这种情况下根本就不存在全角半角的概念了。
4)在汉字输入法中,输入的字母数字默认为半角,但是标点则是默认为全角。

posted @ 2024-11-15 20:52  gdyyx  阅读(108)  评论(0)    收藏  举报