欢迎来到天天文库
浏览记录
ID:49321131
大小:656.50 KB
页数:15页
时间:2020-02-04
《条件语句(已改).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、3.1条件语句我们已经学习了用自然语言和流程图来描述算法,它们各有优缺点,对于自然语言不足:1.语言容易出现歧义;2.语句太长;3.所有语句都是串行或线性排列的,对构成选择、循环结构的算法不易清楚的显示出来对于流程图的缺点是灵活性不如自然语言,严密性不如程序设计语言,用计算机程序设计语言表示算法显得清晰、简明、一步到位,而且可以直接交给计算机处理.要使算法在计算机上实现,还得借助程序语言.程序语言的种类很多,但是,有一些基本语句是所有语言都要使用的,例如,输入语句、输出语句、赋值语句条件语句和循环语句。这些语句在程序语言中是最重要的和最基本的。输入输出语句很好理解,赋
2、值语句前面已作了介绍,这一节主要介绍条件语句和循环语句。在算法中,顺序结构和选择结构是一种基本结构,条件语句是表达选择结构最常用的语句。下面通过实例说明条件语句的用法。例1:根据输入x的值,计算y的值写出算法步骤,并绘出流程图。步骤:(1)输入x;,则y=输出y;(2)若(3)若,则y=输出y.开始输入x是否输出y结束这里(2)、(3)步的选择部分可以用条件语句表示:IfThenElseEndIf输出y一般地,对于形如右方流程图的算法,都可以用下列语句来表示:假真条件语句2语句1计算机在执行If-Then-Else语句时,首先判断条件,当条件成立时,执行Then后的语
3、句,如果条件不成立,就执行Else后的语句IfThenElseEndIf条件语句1语句2教技场广州市出租车公司规定:2.3公里及2.3公里以内为起步价7元,若超过2.3公里,超过部分按每公里2.6元收费,用语句描述一个乘客所付车费的算法,并画出流程图.输入xIfx≤2.3Theny=7Elsey=7+2.6(x-3)开始输入xx≤2.3y=7+2.6(x-3)y=7输出y结束是否你了解当地的出租车行情吗?你知道你乘出租车要付多少钱吗?EndIf输出y例2在音乐唱片超市里,每张唱片售价25元.顾客如果购买5张以上(含5张)唱片,则按照九折收费;如果顾客购买10张以上(含
4、10张)唱片,则按照八五折收费.请用语句描述完成计费工作的算法,画出算法流程图.解假如用变量a表示顾客购买的唱片数,用变量C表示顾客要缴纳的金额.则这个算法可以表示为:1、输入a.2、对a进行判断:(1)若05、图描述的算法都可以用下面的复合if语句来表示:条件1条件2语句3语句2语句1假真真假符合条件语句一般含有两个或两个以上的条件结构中,编程时,要明确条件与语句之间的对应关系,最好先作流程图,理清判断的先后顺序,再编程If条件1Then语句1Else语句2Else语句3IfThenEndIfEndIf条件2开始4整除y100整除y输出y是闰年输出“y不是闰年”400整除y输出“y是闰年”输出“y不是闰年”结束否是是否输入y1.请试着用复合if语句表示闰年问题的算法.纸上练兵输入yIf4不能整除yThen输出y不是闰年ElseIf100不能整除yThen输出y是闰年Else6、If400能整除yThen输出y是闰年Else输出y不是闰年EndIfEndIfEndIf2.一只公鸡5元,一只母鸡3元,三只小鸡1元,如果花100元钱买100只鸡,公鸡、母鸡和小小鸡各几只?分析:这就是一个求方程组的正整数解的问题消去z得y=(100-7x)/4,由于y>0,所以x≤14,x从1变到14,检查y是否为整数,如果y是整数,检查100-x-y是否为正整数,如果是,那这组数就是一组解。解:x从1变到14,检查y是否为整数,如果y是整数,检查100-x-y是否为正整数,如果是,那这组数就是一组解,流程图如下所示:
5、图描述的算法都可以用下面的复合if语句来表示:条件1条件2语句3语句2语句1假真真假符合条件语句一般含有两个或两个以上的条件结构中,编程时,要明确条件与语句之间的对应关系,最好先作流程图,理清判断的先后顺序,再编程If条件1Then语句1Else语句2Else语句3IfThenEndIfEndIf条件2开始4整除y100整除y输出y是闰年输出“y不是闰年”400整除y输出“y是闰年”输出“y不是闰年”结束否是是否输入y1.请试着用复合if语句表示闰年问题的算法.纸上练兵输入yIf4不能整除yThen输出y不是闰年ElseIf100不能整除yThen输出y是闰年Else
6、If400能整除yThen输出y是闰年Else输出y不是闰年EndIfEndIfEndIf2.一只公鸡5元,一只母鸡3元,三只小鸡1元,如果花100元钱买100只鸡,公鸡、母鸡和小小鸡各几只?分析:这就是一个求方程组的正整数解的问题消去z得y=(100-7x)/4,由于y>0,所以x≤14,x从1变到14,检查y是否为整数,如果y是整数,检查100-x-y是否为正整数,如果是,那这组数就是一组解。解:x从1变到14,检查y是否为整数,如果y是整数,检查100-x-y是否为正整数,如果是,那这组数就是一组解,流程图如下所示:
此文档下载收益归作者所有