课件编号19340983

3.2算法及其描述 课件(共15张PPT) 2023—2024学年高中信息技术粤教版(2019)必修1

日期:2024-04-29 科目:信息技术 类型:高中课件 查看:95次 大小:1524797Byte 来源:二一课件通
预览图 1/7
2024,必修,2019,教版,信息技术,高中
  • cover
(课件网) 3.2算法及其描述 学习目标 能理解算法的概念,掌握算法的基本特征。 能够掌握描述算法的3种基本方法。 基础性目标 能够利用3种基本结构解决简单问题 拓展性目标 结合汉字找不同问题,尝试利用3种方法描述解决问题的方法 挑战性目标 学习新知 1、认识算法 算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。 2、算法的特征 有穷性 确定性 数据输入 可行性 数据输出 学习新知 3、算法的描述 算法是对解题过程的精确描述,需要使用一些方法来表示。 描述算法的常用方法有: 用自然语言描述算法 用流程图描述算法 用伪代码描述算法 ①读取excel文件。 ②设置要查找的目标文字。 ③在excel表中逐个单元格的查找是否有目标文字。 ④如果找到就输出所在单元格的行和列的位置。否则继续找,直到把整个表格都查找完为止。 (1)用自然语言描述算法 学习新知 学习新知 (2)用流程图描述算法 将“汉字找不同” 自然语言描述算法转为流程图描述算法。 2)用流程图描述算法 ①读取excel文件。 ②设置要查找的目标文字。 ③在excel表中逐个单元格的查找是否有目标文字。 ④如果找到就输出所在单元格的行和列的位置。否则继续找,直到把整个表格都查找完为止。 开始 设置目标文字 读取excel文件 遍历所有单元格 判断单元格的值是否等于目标值 结束 Y Y N 输出行和列信息 import openpyxl workbook=openpyxl.load_workbook('汉字找不同.xlsx') sheet=workbook.active target_value='学' for row in sheet.iter_rows(): for cell in row: if (cell.value==target_value) {row_index=row[0].row; column_index=cell.column ; "不同字所在的行和列分别为",row_index,column_index} 用伪代码描述算法(书写方便,无图形符号,文字和符号,易于理解) 用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。 (3)用伪代码描述算法 学习新知 探究实践 ———完善流程图 P51 辗转相除法———求最大公约数 设定的两个正整数位m和n,求它们的最大公约数的步骤为: ①以m除以n,令所得的余数为R。 ②若r=0,则输出结果n,算法结束;否则,继续步骤③。 ③令m=n,n=r,并返回步骤①继续进行。 将上述算法的流程图补充完整。 流程图描述 开始 输入正整数m,n R=0? m=n 输出 n n=R 结束 输出n Y N r=m%n + - * / % ** // 加 减 乘 除 求余 幂运算 整除(商) 能力提升———完善算法 十进制整数转换为二进制整数采用“除2取余”法。以下是“除2取余”法的自然语言算法表达,请将不完整的流程图补充完整。 第1步:输入一个十进制正整数n; 第2步:将n除以2,记录余数r; 第3步:将r追加到字符串s的左边(s用于记录转换后 的二进制数,初值为空); 第4步:将n除以2的商赋给n; 第5步:若n为0,则转到第6步;若n不为0,转到第2步; 第6步:输出s(即逆序输出每一次的余数) 自然语言算法描述 能力提升———完善流程图 十进制整数转换为二进制整数采用“除2取余”法。以下是“除2取余”法的自然语言算法表达,请将不完整的流程图补充完整。 第1步:输入一个十进制正整数n; 第2步:将n除以2,记录余数r; 第3步:将r追加到字符串s的左边(s用于记录转换后 的二进制数,初值为空); 第4步:将n除以2的商赋给n; 第5步:若n为0,则转到第6步;若n不为0,转到第2步; 第6步:输出s(即逆序输出每一次的余数) 输入十进制正整数n r=n除2的余数 开始 r追加到s左边 n=n//2 结束 Y N + - * / % ** // 加 减 乘 除 求余 幂运算 整除(商) 求最大公约数 开始 输入正整 ... ...

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