欢迎来到天天文库
浏览记录
ID:28976143
大小:4.25 MB
页数:26页
时间:2018-12-15
《计算机科学和工程学院教案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算机科学与工程学院教案课程名称:大学计算机基础授课章节:第9章程序设计基础课时:2学时/周所在部门:公共计算机基础教学部授课班级:2012级数学3班、4班授课教师:张玉磊25西北师范大学计算机科学与工程学院教案编号9-1第1页课程名称大学计算机基础授课章节第9章程序设计基础§9.2算法设计课程类型理论课授课教师张玉磊授课班级2012级数学3班、2012级数学4班教学方法讲授法为主,启发法为辅教学目标知识目标理解算法的含义和特性掌握常用算法设计方法的设计思路能力目标能够使用“程序流程图”描述算法情感目标学习软件开发人员的协作精神教学重点★算法的特性算法描述工具中的程序流程图迭
2、代法和穷举法的设计思路教学难点▲算法设计方法中的“递归法”计算算法的时间复杂度教师准备熟知教学内容查阅关于算法的历史知识查阅“汉诺塔问题”和“八皇后问题”等相关资料学生准备预习25西北师范大学计算机科学与工程学院教案编号9-1第2页教学活动安排与教学内容时间【组织教学】检查教学设备;询问到课情况(或课间询问)。【导入新课】通过“2012高教社杯全国大学生数学建模竞赛B题-太阳能小屋的设计”引入计算机解决问题的常规方法:使用现有软件解决问题和设计新软件(程序)解决问题。引出计算机解决问题的一般步骤,强调“建立模型、确定数据结构”和“算法设计”的重要性。【讲授新课】第9章程序设计
3、基础9.2算法设计9.2.1程序设计的过程①分析问题②建立模型③算法设计④编写程序⑤调试运行论断:程序=算法+数据结构(尼克劳斯-沃思),国际著名计算机科学家,图灵奖获得者(1984),Pascal语言之父。提问:算法是否等价于方法?知识扩充:该论断的出处及尼克劳斯-沃思的功绩和影响。本节内容概述:算法的定义、特性、描述、方法和评价。9.2.2算法基本概念1.算法定义1)中文算法历史-《周髀算经》;英文算法Algorithm解释:Analgorithmisaseriesofmathematicalsteps,especiallyinacomputerprogram,which
4、willgiveyoutheanswertoaparticularkindofproblemorquestion2)算法:对特定问题求解方法和步骤的一种描述;指令序列(程序)。3)第一个算法-欧几里得算法(辗转相除)。gcd(m,n):求两个正整数m和n的最大公约数(因子)。知识回忆:初高中数学中如何计算。例1:计算gcd(15,12)。推导gcd(15,12)的计算过程①输入m和n的值,要求m≧n;②计算m除以n余数,赋值给r;③判断r是否为0:若为0则跳转到⑤步;不为0继续执行;④n的值赋值给m,r的值赋值给n,跳转到②步;⑤输出n的值。分钟2~3905~67~8注:宋体
5、为教学活动安排,楷体为教学内容。25西北师范大学计算机科学与工程学院教案编号9-1第3页教学活动安排与教学内容时间回顾旧知识:判断两台计算机是否属于同一子网?(提问)布置作业:仿照欧几里得算法描述当前问题:①输入IP1、SMask1和IP2、SMask2;②计算IP1+SMask1→x;③计算IP2+SMask2→y;④判断x是否等于y:若相等,“是”→z,否则“否”→z;⑤输出z的值。2.算法的特性与设计要求(教学重点)1)算法的特性输入(大于等于0项)-可选;输出(大于等于1项)-必须;有穷性-有限步骤;确定性-无歧义;可行性-计算步骤可分解、每个步骤在有限时间内实现。举
6、例:中文的“你”随语境的不同而不同,但算法的每个步骤必须确定。2)算法的设计要求正确性-不要“南辕北辙”;可读性-符合规范+注释;健壮性-易于处理“边界值“;高效性-速度快、资源少。举例:计算m除以n的结果,若不区分n是否为零,则对于n=0将报错-不“健壮”。9.2.3算法描述工具自然语言-“大白话”;伪代码-“大白话”+代码;程序代码-语言代码;程序流程图-用图形描述执行过程;NS图-体现“结构”。1)程序流程图(教学重点)起止框输入输出框判断框处理框流程线6~77~8注:宋体为教学活动安排,楷体为教学内容。25西北师范大学计算机科学与工程学院教案编号9-1第4页教学活动安
7、排与教学内容时间用程序流程图描述三种控制结构(顺序、选择和循环)顺序结构选择结构循环结构9.2.4常用算法1)迭代法(教学重点)利用问题本身所具有的一种递推关系(规律)求解问题的一种方法。重复执行一组指令,且每次通过变量的旧值推出新值。举例:①1累加到100:s=s+i(1≤i≤100)。②斐波那契数列:fn=fn-1+fn-2(n≧3),f1=1,f2=1。分别用自然语言、伪代码、程序流程图和N-S图描述“1累加到100”:自然语言描述:①变量s赋初值为0,i赋初值为1;②判读i是否超过100,若是执
此文档下载收益归作者所有