课件编号7989727

项目七第一课时 设计算法实现用数学公式计算 课件(共35张PPT)+教案

日期:2024-05-09 科目:信息技术 类型:高中教案 查看:15次 大小:2923846Byte 来源:二一课件通
预览图 0
项目,课件,PPT,35张,计算,数学公式
    (课件网) 第一课时 设计算法实现用数学公式计算 信息技术沪教版 必修1 项目七 用计算机计算圆周率 ———设计简单数值数据算法 目录 一 数值数据及其运算 二 循环结构的算法构建 五 课后作业 三 实现循环结构的语句 四 计算圆周率 一、数值数据及其运算 整数 浮点数 (float) 数值数据 (int) 数值数据的运算符号 运算符 含义 示例 运算结果 + 加法 53+21 74 - 减法 63.1-2.2 60.9 乘法 300 1.5 450.0 / 除法 1/8 0.125 // 整除 1//8 0 次幂 2 3 8 % 求余数 17%3 2 运算符 执行的是次幂运算 01 >>> 4.8//1.2 4.0 >>>5//1.2 4.0 >>>7//2 3 >>>3//4 0 02 a b等价于数学运算ab >>>2 3 8 >>>16 0.5 4.0 >>>1.6 2.5 3.238172324012421 03 运算符%执行的是求余数运算 >>>x=34 >>>x%2 0 >>>x%3 1 >>>x%17 0 >>>x%4 2 二、循环结构的算法构建 构建循环结构 要素 变量的初值 变量的终值 重复 分析问题 变化的语句 例1:求50! 1.分析问题 50!=1 2 3 4 5…… 50,和累加问题类似,计算机算法的处理是逐项将1.2.3.……,50累乘到一介变量中。 算法一 算法二 1.令s=1; 2.令i=1; 3.循环当i小于等于50; 3.1 s=s i; 3.2 i=i+1. 1.令s=1; 2.s=s 1; 3.s=s 2; …… 51.s=s 50. 例2:输入一个任意正整数,求它的逆序数。 求一个正整数的逆序数的方法,是每次取该数的最后一位数字,构造出一个新的整。例如,726的逆序数的求解过程如下。 1.分析问题 构造循环控制时,可以将表示输入数的变量作为循环控制变量。输入初始值后,每次整除10,直到该数为0,循环结束。重复执行的操作是将原数的最后一位取下,通过位权值构造到新的逆序数中。 2.设计算法 设输入的数为num,逆序数为reverseNum。 1.输入一个正整数到num; 2.令reverseNum=0; 3.循环当num>0; 3.1reverseNum=reverseNum 10+num%10; 3.2num=num//10; 4.输出reverseNum。 三、实现循环结构的语句 1.确定次数循环 Python语言中通过for语句来实现确定次数循环。 for<循环控制变量>in<遍历结构>; <语句块> 1.确定次数循环 用for语句实现求50!的语句块如下: s=1 for i in range(1,51); s=s i print(s) 1.确定次数循环 将1~50之间所有的奇数累加的语句块如下: s=0 for i in range(1,50,2); s=s i print(s) 2.不确定次数循环 Python语言中通过while语句来实现不确定次数循环: While<条件>: <语句块> 2.不确定次数循环 用while语句实现例2求逆序数的语句块如下: num=int(input(“请输入一个数:“)) reverseNum=0 while(num): reverseNum=reverseNum 10+num%10 num=num//10 print(“它的逆序数是:”,reverseNum) while语句也可以用于完成确定次数循环,请用它实现求解50!。 s=1 i=1 while i<=50: s=s i i=i+1 print(s) 四、计算圆周率 观察欧拉发现的数学公式可知,它是一项一项连续相加的,且每一项都可由前一项经过有规律的变化得到。有规律的数据项连续相加的问题,称为累加问题,用计算机算法处理就是逐项累加。上述累加计算的算法可以用自然语言描述。 1.分析问题 1.设置累加器变量s的初值为0; 2.s=s+1/(1 1); 3.s=s+1/(2 2); …… 累加可以用一个公式来表示:s= s+item。这个式子称为累加的通项公式。对上述欧拉发现的公式来说,item的值是1/i2,即1/(ixi),i从1开始,每次增加1解决本问题需要重复进行的工作是; ①累加item到s,即s=s+item; ②构造item,即item=1/(i i),i=i+1。 2.设计算法,编写程序 from math import sqrt i=1 s=0 item=1 while item>0.000001: s=s+item i=i+1 item=1/(i i) pi=sqrt(6 s) print(“pi的值是:",pi) 1.令i=1,em=1.,s=0; 2.循环当item大于等0.000001; 2.1 s=s+item; 2.2 i=i+1; 2.3 item=1/ ... ...

    ~~ 您好,已阅读到文档的结尾了 ~~