前言:中文期刊网精心挑选了程序设计的结构范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
程序设计的结构范文1
全书共20章。1.Python编程101:对使用Python语言编程进行总体介绍,包括创建对象、对象调用方法、运算符重载、读取文件方法、XML文件等内容;2.计算复杂度:包括计算机体系结构介绍、常见的计算复杂性、摊销复杂度的方法等;3.递归:包括时栈和堆的概念、简单递归函数的编写、运行,递归计算机图形学、列表与字符串等;4.排序:包括选择排序、归并排序、快速排序、链表、栈和队列等内容;5.集合与映射:数独游戏介绍、集、散列等相关概念,最后分析规划问题;6.树:抽象语法树和表达、前缀和后缀表达式、解析前缀表达式、二叉搜索树等内容;7.图:包括图的定义及理论、存储结构及算法实现、Kruskal算法、Dijkstra算法、图的表示方法等;8.Bloom过滤器、Trie数据类型等相关内容;9.堆:包括堆的主要思想及其建立、排序算法、与其他算法的比较等;10.平衡二叉搜索树:二叉搜索树的概念、存储结构与性质、AVL树与 Splay树等具体实例;11.B树:包括关系型数据库的概念、B树的组织结构、优势、实现、B树的插入与删除等内容;12.启发式搜索:包括深度优先搜索与广度优先搜索、A*搜索、最佳搜索等相关内容;13.附录A:整数操作符;14.附录B:浮算子;15.附录C:字符串运算符和方法;16.附录D:列表操作符和方法;17.附录E:字典操作和方法;18.附录F:Turtle方法;19附录G:TurtleScreen方法;20.附录H:完整的程序。
作者Kent D.Lee博士是美国艾奥瓦洲路德学院计算机科学教授,已成功出版两本著作:Python编程基础和编程语言基础。另一作者Steve Hubbard博士是路德学院数学与计算机科学系教授。
本书介绍了初级与高级的数据结构和算法问题,每一章开始提供了学习目标,复习题和编程练习,以及众多的例证;同时在相关的网站提供可下载的程序和补充文件。本书可以作为计算机学科相关专业的教材或参考书,同时对计算机科技工作者也有参考价值。
程序设计的结构范文2
关键词:教学设计;分支结构;IF语句
中图分类号:G633.67 文献标志码:A 文章编号:1674-9324(2012)03-0226-02
教材分析:
该课题的内容选自于《算法与程序设计》教材,该教材是上海市高中信息科技课程选修模块。学习本模块的内容,目的是进一步激发学生对计算机探索学习的兴趣,培养运用计算机解决具体问题的基础能力,养成良好的思维与程序设计基本习惯。
《分支结构的程序实现》是本模块第四章第一节的内容。分支结构的授课分为两课时,第一课时:分支结构的流程图绘制;第二课时:分支结构的程序实现。本课为第二课时,主要内容是用IF语句解决日常生活中涉及分支结构的实际问题。
通过本课的学习,有助于学生体会和理解程序设计的思想,提升学生解决问题的能力,而且也为之后循环结构、枚举算法的学习打下基础。
学情分析:
学生在学习本课内容前,需有两方面的知识储备:
1.通过分支结构第一课时“分支结构的流程图绘制”知识的学习,理解并掌握分支结构的特点、执行流程及其作用。
2.通过“顺序结构及其程序实现”知识的学习,基本掌握VB控件的设置、动作的实现等内容,对于VB程序的建立、运行、调试过程也有一定的实践经验。
对上述内容的学习和掌握为本节课的学习奠定了一定的基础。另外,高一的学生分析解决问题的能力、自我探究的能力也有了一定的水平。
教学资源:
根据教学内容和学生实际,在教学资源方面做如下准备:
1.技术准备:计算机网络机房、多媒体广播软件、Microsoft Visual Basic 6.0中文版
2.资源。①教师机:1个PPT课件,2个程序(1个“猜价格”的演示程序,1个“ATM机录入密码”半成品程序)②学生机:1个“半成品”程序(包含3个小任务)
教学目标分析:
1.知识与技能:①掌握分支选择中IF语句(块语句)的格式和功能。②学会用IF语句解决日常生活中的实际问题。
2.过程与方法:①通过依次学习单分支语句、双分支语句,再到分支嵌套语句,学生能循序渐进地掌握分支结构。②通过采用VB半成品加工策略来完善程序,学生能体验运用编写程序解决问题的基本过程。
3.情感态度与价值观:①培养学生严密的逻辑思维能力、自主探究能力。②加强学生利用本学科解决日常学习生活中问题的意识。
教学重点难点:
教学重点:掌握分支结构IF语句的格式。
教学难点:能根据实际分析问题,写出程序并调试成功。
教法与学法:
1.教法:半成品加工方法。采用半成品加工方法,可以淡化与分支结构无关的内容,例如可视化VB界面的设计,从而有效提高课堂效率,这种方式在巩固练习中使用非常合适。
2.学法:自主学习、小组讨论、组间交流。学生作为学习的个人主体,必须通过自主学习掌握本节课的学习内容,从而培养学生独立解决问题的能力。采用小组讨论、组间交流的方法,培养学生互助、团结协作的良好品质;增强学生协作学习、与人合作交流的意识;形成积极主动的学习和使用信息技术、参与信息活动的态度。
教学过程设计:
(一)创设情境,激发兴趣
1.教师演示猜价格的小程序。
2.提出问题:该程序是一种什么结构?顺序结构?还是分支结构?
3.举例:生活中有很多分支结构的问题。
4.引出分支结构的程序实现。
(设计意图:从生活中提取问题,让学生能有学习兴趣,并能及时了解本节课的学习任务。)
(二)合作探究,获得新知
以“银行ATM机录入密码”程序为例:
1.教师展示“密码判断”的单分支结构流程图,请同学用自然语言来描述。学生回答:如果(用户输入的密码为999)那么(程序提示密码正确)。
2.教师引出VB中单分支结构IF语句的基本用法。同时让同学们讨论IF…THEN…中省略号代表什么含义。学生回答:IF(条件)THEN(条件成立时执行的语句)。
3.师生共同共同编写代码,程序实现。
4.教师提出问题:如果密码是错误的,那么将会出现什么情况?如果要让程序在密码输入错误时,也要出现提示,该如何做。
5.教师展示双分支结构流程图,请同学用自然语言来描述算法。学生回答:如果(用户输入的密码为999)那么(程序提示密码正确)否则(程序提示密码错误)。
6.教师引出VB中双分支结构IF语句的基本用法,同时让学生讨论IF…THEN…ELSE…中省略号代表什么含义。学生回答:IF(条件)THEN(条件成立时执行的语句)ELSE(条件不成立时执行的语句)。
7.师生共同编写代码,程序实现。
8.教师讲解IF语句的两种格式:行IF语句和块IF语句的用法。
(设计意图:通过自然语言与程序设计语言的比对,加深学生对分支结构的认识。通过师生共同参与改写程序,使学生了解IF语句的书写格式,并感受程序语言的严谨性。)
(三)学生实践,解决问题
1.教师布置3个任务,学生选择其中一个进行操作,要求自主完成。①判断是否中奖,要求如下:程序设置初始中奖号码,若用户输入的号码为中奖号码,程序则显示“恭喜您,您中奖啦!”②判断是否打折,超市进行苹果促销,如果买5斤以内就按价格4.5元/斤计算,如果大于等于5斤,总价可打九折。要求如下:输入你买的苹果重量(单位:斤),程序显示总金额。③判断一元二次方程是否有解。要求:输入一元二次方程的系数a,b,c,判断该方程是否有解,如果有解,则输出解,如果没有解,则输出“该方程无解”。
2.任务分析:判断是单分支还是双分支结构?鼓励学生可多选任务来完成。
3.展示成果,教师强调IF语句的格式规范。
(设计意图:通过三道难易不同的题目进行分层训练,让不同知识基础和思维能力的学生都能够体验到成功的喜悦,提高学生分析问题、解决问题的能力,突出本课的重点。)
(四)交流提升,应用拓展
1.教师提出在任务2中,若要求如下:输入斤数,如果小于5斤,就按价格4.5元/斤计算,如果大于等于5斤,就打九折,如果大于等于10斤就打八折,程序显示总金额,该如何设计算法?学生回答:利用分支嵌套结构可以实现该算法。
2.教师展示分支嵌套流程图。
3.学生小组讨论,组间交流。
4.学生组内共同撰写程序。
5.教师展示学生的代码,再次强调语句撰写的规范。
(设计意图:通过对新任务的探讨、分析,加深学生对分支结构嵌套语句的理解。同时进一步养成良好的编程习惯。)
(五)总结回顾,布置作业
程序设计的结构范文3
关键词:液压支架;结构件断面;抗弯强度计算;VB软件计算
DOI:10.16640/ki.37-1222/t.2017.02.034
1 引言 背景技术
液压支架为煤矿机械化采煤的主要支护设备,结构件是液压支架的主体框架,其结构多呈箱型,目前,对于液压支架结构件箱体断面抗弯强度设计计算,多为依靠OPT液压支架计算程序、采用迈实软件或人工列方程计算等方式进行计算,前者涉及到程序不能升级、不能支持win7以上操作系统,且界面可视化程度不好;中者为采用导入截面图形来识别各个截面图形尺寸分别对每块板进行计算,原理不同,使用起来效率方面并不算出众;而后者在计算时效性方面计算太烦琐,耗时耗力,多已放弃采用。
2 计算原理
根据液压支架受力分析给出结构件危险断面的最大弯矩M进行抗弯强度校核,画出该部件危险断面图,该断面图通常为数十块钢板拼装组成,首先需对相同类型尺寸钢板进行归类,整理出若干组钢板类型;分别对每组钢板进行截面积、截面型心高度计算,进而计算出断面的总型心高度、并分别计算出每组钢板的矩形截面惯性矩,进而计算出断面总惯性矩J;依次计算出最大、最小弯曲应力、、最大最小安全系数;通过使用VB语言编制出自动计算结构件断面抗弯强度计算分析程序,获得相应安全系数并校核出该断面是否设计合理;如图1所示为某一部件危险断面图:
3 设计意图及VB程序的实现
(1)设计意图:使用VB语言编写程序代替人工计算意义在于利用计算机快捷准确、功能强大以及具有可视化界;本程序设计目的在于克服上述缺点,基于VB语言设计,对各功能模块编写代码、并进行编译生成可执行exe文件。该程序包括信息参数输入模块、导入导出模块、计算结果显示模块,并设有计算按钮、导入、导出、清除按钮;断面抗弯强度计算分析截图如2所示:
(2)信息参数输入模块:可按要求将已知的箱体截面的组件数量、断面最大高度、箱体选用的材料强度、断面位置所受最大弯矩,各组件的宽度、高度、形心高度、块数依次输入模块;如该断面中有某组钢板高于或低其他材料强度,可按相应的板材屈服强度比比值换算出该组钢板在与其他钢板使用相同材料强度时的厚度换算输入即可;如钢板组数9为使用Q690材料,其他各组钢板都采用Q550材料,相应厚度换算为30*690/550=37.636。
(3)计算结果显示模块:点击计算按钮后,计算程序就会根据信息参数输入模块中的数据计算出截面形心高度y、截面惯性矩Jz、最大弯曲应力σmax、最小弯曲应力σmin、最大安全系数Nmax、最小安全系数Nmin,并在计算结果显示模块中相应位置显示出来,液压支架工艺设计人员可根据计算分析安全系数大小作出相应的强度增补或验证措施。
(4)导入导出模块:点击导出按钮后,计算程序会弹出另存为对话框,将信息参数输入数据及输出分析按txt格式保存;以备后期存档或方便查看。点击导入按钮后,计算程序会弹出打开对话框,供工艺设计人员选择已保存的txt文件进行导入至信息参数输入模块,方便设计人员及时验算用;既可在信息参数输入模块直接输入数据方式,也可按导入txt数据文件方式计算,期间可以根据设计意图临时更改输入的参数,并且还可识别原OPT生成格式文件进行导入、计算分析进而实现新旧计算工具的融合体现。
4 使用效果及结语
使用效果:在进行液压支架结构件箱体设计计算时,将技术人员从繁重的强度计算中解放出来,实现了方便快捷的抗弯强度计算过程,而且计算结果可靠,经验证与OPT液压支架优化软件计算结果一致,界面友好,计算结果可靠,简单易用、不受操作系统限制,适用所有windows98以上系统,所用时间相对较少。
程序设计的结构范文4
关键词:大数据;荷载与结构设计方法课程;教学研究;教学现代化
中图分类号:G642.0;TU 文献标志码:A 文章编号:1005-2909(2016)05-0086-04
大数据是21世纪的重要技术革新成果,大数据开发与应用带来更多新技术的出现,各行各业也急需适应大数据发展的人才。2015年8月国务院颁发的促进大数据发展纲要提出了应加快适应大数据发展需求的人才培养,所以培养适应大数据时代需求的创新人才是摆在高等学校面前的重要任务[1-4]。目前,国内高校土木工程专业人才的培养还不能满足大数据产业的需求,基于大数据背景下的教学改革也比较少[5-8],所以应积极推进基于大数据背景下的土木工程专业课程改革。结合土木工程专业背景和社会实际需求,融合大数据时代的技术和思想开展土木工程专业课程教学改革,除了要培养学生的基本技能,还应注重培养学生对海量数据的采集、存储、管理、挖掘与分析等综合能力。黑龙江科技大学土木工程专业荷载与结构设计方法课程组开展了面向大数据需求的教学改革。该项改革以荷载与结构设计方法课程的基本知识为基础,以项目为载体,以培养学生获取信息的能力、分析能力、工程实践能力和综合应用的能力为主线,从教学内容、教学方法、教学手段等方面进行改革探索,力求实现“信息―知识―能力”一体化课程教学目标。
一、大数据背景下荷载与结构设计方法课程教学现状及存在问题
(一)教学内容离散,系统性差,知识跨越性大
由于该课程涵盖了数学、力学及土木工程所有专业课程的荷载基本计算及原理知识,而且教材各个章节的内容联系不紧密,所以各章节的知识跨越性大、连贯性差,导致学生学习效果不尽人意。此外,与修订后的新规范相配套的教材内容滞后,导致教学内容差异性大,教师只能将新规范内容融入教学中,学生学习起来常常感到很茫然。加上该课程是专业基础课,其教学内容很多是后续专业课的内容,学生由于对专业课内容不了解,也不明白该课程的具体实际用途,因此对课程的重要性认识不够,以致学习效果差。
(二)主导思想滞后,教学方法、教学手段更新慢
教学中尽管教师也不断改进教学方法和手段[9],如创设启发式、讨论式、案例式、比较式、互动式等教学方法,但是并没有从根本上改变以教师讲授为主导的教学理念。在大数据时代,信息量大,而且传播速度快,很多知识仅靠教师的讲授是无法跟上信息时代步伐的。因此,教师必须要转变教学思维,构建教师与学生合作、协同参与的多元教学模式。
二、大数据时代背景下课程教学改革的总体思路
笔者所在学校荷载与结构设计方法课程教学改革总体思路:遵照国家大数据时代加快创新人才培养的纲要要求,结合土木工程专业人才培养需求,以及荷载与结构设计方法课程内容特点,借鉴国内外先进的教学理念、教学方式、方法和手段,以大数据建设为平台,以荷载与结构设计方法课程建设项目为载体,以培养学生获取信息的能力、分析能力、工程实践能力和综合应用能力为主线,实现“信息―知识―能力”一体化课程教学目标(见图1)。大数据时代背景下,最大程度挖掘学生潜力,使荷载与结构设计方法课程教学模式越来越趋于理性,教学活动更多地开展实践教学和情感教学,充分彰显以学生为本的教学理念,让教师与学生的沟通越来越多,让教学互动性越来越强,进一步完善该课程现代多元化的教学模式。
三、基于大数据需求的课程改革路径
(一) 依托大数据平台建设,构建分层次、分模块的课程内容体系
基于大纲要求,在改革原来课程内容的基础上进一步梳理,分成荷载计算与结构设计方法两个层次,然后将荷载计算分成竖向荷载、水平荷载两个大模块,结构设计方法分为结构可靠度理论、规范设计方法,并注重内容与新规范之间的差别,强调新旧规范的对比,同时更新规范知识,突出以信息化为主导,将各模块的内容与专业课程内容衔接起来,教学中引入各专业课程知识,将荷载课程内容平台与专业课程平台进行合理的衔接。
(二)借鉴国内外先进的教学经验,构建“信息化、开放式、多元化”的教学模式
1.构建“多元混合式”教学模式,实现翻转课堂教学
借鉴“慕课”网络教学平台的教育模式,开发该课程的网络教学平台,构建“多元混合式”教学模式,实现课程教学信息化。该课程教学中将网络在线教学与课堂教学相结合,实现每节荷载课程的课前网络在线导学,特别对课程中涉及的相关专业课程内容提前在导学内容中进行布置,学生可以利用多方资源有针对性地提前对相关内容进行学习。在课堂上教师可组织学生对学习过程中的收获、问题和心得进行交流、解答和分享,并针对学生的学习情况进行有针对性的指导和讲解,对教学内容的主要知识点进行总体梳理和总结,整个教学过程实现信息与知识的融合,加深教师与学生的沟通。可以说这种“多元混合式”教学模式,实现了由传统以教师为主的填鸭式课堂教学模式向以学生为主的翻转课堂教学模式的转变,有助于教学相长,有利于学生的全面发展。
2.采用微课教学的辅助模式,开放、拓展教学和学习空间
在改革传统教学模式的基础上,引入现代化的微课教学模式,发挥微课内容精短、主题鲜明的优势,利用其形象性、精品化、便捷性等特征,将每一章的重点和难点内容制作成微课。例如,水平荷载中的风荷载、地震、土侧压力等的计算是学习的重点,也是学习的难点,将这部分内容制作成微课后学生不仅在课堂上,而且在课堂后也可以对教师所讲的内容进行学习,非常方便。将微课教学与传统教学相结合,拓展了教师教学和学生学习的空间,使教学任务和学习任务得到分解,解决了传统教学中课堂时间紧、任务重的问题。目前微课教学应用越来越广,因此,在荷载课程教学中将微课教学模式与传统教学模式相结合,是大数据时代荷载课程教学模式改革的有效途径之一。
3.加强传统教学模式与新的教学模式的融合
一切事物都具有两面性,优缺点并存,教学模式也不例外,新的教学模式也存在弊端,需要与传统教学模式进行融合,这样才可以达到事半功倍的效果。新的教学模式可以体现学生的自主性,引导学生自觉参与学习。但是针对目前学生的基本功、能力等状况,荷载与结构设计方法课程学习还需要教师的督促和指导。另外,对荷载课程中实际规范的应用及新旧规范的对比,也需要在教师的指导下对具体实际问题进行分析,尤其需要教师与学生的及时沟通。因此,完全依靠学生通过网络等新的教学模式仍然不能很好地解决学习中的实际问题,现代教学与传统教学的融合才是理想的教学方式。
(三) 依托大数据的平台建设,创建荷载课程的教学空间与学习环境
以土木工程专业大数据平台建设为契机,创建荷载与结构设计方法课程教学现代化环境。通过大数据信息平台建设,建设并完善荷载与结构设计优秀课程网络平台,为教师教学、学生学习和师生交流提供网络空间,教师和学生都可以在网络平台上下载该课程的学习资源、作业要求,还可以实现学生和教师在线互动、答疑解惑。此外,平台还提供与该课程内容相关的众多专业课程优秀网络资源的链接地址(例如:土力学、工程结构抗震、高层建筑结构等精品课程资源网址),大家可以在这里获取与课程相关内容的有益资源。在此平台还可获取该课程在后续课程及工程中的实际应用实例、工程事故案例等,帮助学生明确该课程学习的重要性,拓展学生专业视野。另外,可以建立该课程的微信群和QQ群,师生可以随时随地进行沟通交流。教学和学习空间的拓展,能充分发挥学生和教师的主观能动性,开阔学生的视野,增强学生的学习积极性。
(四) 依托荷载优秀课程平台,建立“网上―课上―卷上”一体化、全方位的考核评价体系现代化的信息技术,为荷载课程考核评价提供了众多的评价手段。改革原有荷载与结构设计方法课程评定办法,在继续采取将期末最终评定与平时考核相结合的考核办法的基础上,基于荷载优秀课程网络平台建设增加网上评价的环节,评定内容更加全面,方式更加多样。最终期末成绩(100分)=网上(15分)+课上(15分)+创新(10分)+期末试卷(60分)。具体考核办法网络评价10分:由学生在荷载课程网络学习平台上完成各阶段学习任务及作业情况,系统给出评价;学生互评5分:通过网络平台学生提出并解决问题,学生之间给出客观评价;创新实践能力10分:学生应用荷载课程的知识对实际工程事故案例提出自己的观点和处理办法;课堂作业、出勤率和课堂表现各5分:课堂上学生对该课程的重视程度,对教学内容的掌握和课程参与互动情况;试卷评价60分:通过期末考试考核学生对整体内容的掌握情况。由此建立的“网上―课上―卷上”一体化、多样性、全方位的考核评价体系(如图2所示),打破了传统的一张试卷定成绩的考核办法,是信息时代荷载课程教学改革的又一突破。
四、结语
大数据正在改变当今的社会生活,对高等教育改革也提出了一个全新的课题。本文基于教育大数据平台建设,对荷载与结构设计方法课程教学进行前瞻性研究,从课程的教学内容体系、教学模式、教学环境及考核评价体系进行创新改革探索,立足该课程学科前沿,顺应大数据时代的需求,充分彰显荷载课程教学以学生为本的教学理念,最大程度挖掘学生的潜力,实现教学方法手段的现代化、多元化,以及“信息―知识―能力”一体化的教学目标,使荷载与结构设计方法课程教学符合时代的发展步伐。
参考文献:
[1]许晔.大数据时代中国面临的挑战与对策[J].中国科技论坛,2015(3):24-30.
[2]万静.大数据:大学变革的机遇[J].国家教育行政学院学报,2015(4):67-72.
[3]黄晋.关于大数据人才培养的思考与探索[J].教育教学论坛,2014(45):201-204.
[4]楚文波.大数据背景下的教育教学改革[J].教学与教育信息化, 2015(13):181-183.
[5]孙锋.面向大数据的信息与计算科学专业实验课程体系研究[J].福建电脑, 2014(2):57-59.
[6]詹少强.大数据背景下的数据挖掘课程教学新探[J]. 长春教育学院学报,2014(22):30-33.
[7]曾祥蓉,陈进,谢孝,王薇.土木工程专业网络课程推广应用研究与实践――以混凝土结构设计原理网络课程为例[J].高等建筑教育, 2012,(21)5:142-145.
程序设计的结构范文5
当前,计算机技术飞速发展,程序设计技术已从结构化程序设计技术向面向对象程序设计技术过渡,对一个规模较大的应用程序,总体框架是由面向对象程序设计构搭而成,而在局部实现时仍需采用结构化程序设计技术。C语言是一种很好的结构化程序设计语言,因此,笔者论述了C中的的结构化程序设计的方法。
结构化程序设计(STRUCTURED PROGRAMING,简称SP)的概念是由荷兰学者E·W.DUKSTRA等人在20世纪60年代后期提出的,是以模块化设计为中心,将原来较为复杂的问题化简为一系列简单模块的设计,也就是将—个大的计算任务划分为一个个比较小的任务,这些小任务均由函数来完成。而函数既可以是C的标准库函数。也可以是自定义函数。在C中,一个具备一定规模的C程序往往是由多个函数组成,其中必有一个名为main的主函数,由main来调用其他函数,必要的话,其他函数还可以调用另外的函数。同一函数可以被一个或多个函数调用一次或多次。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。
结构化程序设计的思想是一个程序的任何逻辑问题,均可用顺序结构、选择结构和循环结构这3种基本结构来描述。顺序结构的程序流程是按语句的书写顺序依次执行;选择结构是对给定条件进行判断,根据判断结果决定执行两分支中的一个分支或多分支中的一个分支;循环结构是在给定条件成立的情况下,反复执行某个程序段。实现这些程序流程的语句都是流程控制语句。流程控制语句在程序设计中起着重要的作用,通过3种基本控制结构使结构化程序具有唯一的人口和出口,没有死循环,而且程序的静态形式与动态执行形式之间具有良好的对应关系。在C语言中,有4种语句是顺序执行的:①空语句,光有一个分号“;”作为语句结束符,它表示什么也不做。②表达式语句,表达式后面加一个分号,表达式语句主要有赋值语句、自加减运算符构成的语句和逗号表达式语句。③函数调用语句,它是由一个函数调用加上一个分号组成的。④复合语句,由“{”和“}”把一些变量说明和语句组合放在一起,又称为语句块。选择语句有if语句和switch语句。循环语句有for,while和do-while语句以及一些辅助流程转向语句如continue,break,goto等。顺序结构,选择结构和循环结构共同作为各种复杂程序的基本构造单元,由这3种结构经过反复嵌套构成的程序称为结构化程序,也就是说,结构化程序是由上述3种基本结构组成的。但如果在编程过程中无限制地使用转移语句(-goto),会使程序的控制流程强制性地向前或向后跳转而导致程序的流程无序可循,结构杂乱无章。结构化构造减少了程序的复杂性,提高了可靠性、可测试性和可维护性,使用少数的基本结构,就可使程序逻辑结构清晰,易读易懂,并且容易验证程序的正确性。对—个初学计算机语言的人来说。最重要的就是要有正确的程序流程概念,不仅要懂得而且要灵活应用。由此可见,用结构化方法设计的结构是清晰的,有利于编写出结构良好的程序。因此。结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句。
程序设计的结构范文6
关键词:C语言;程序设计;for循环语句;程序算法
中图分类号:G433 文献标识码:A 文章编号:16727800(2013)003018403
0 引言
设计程序就好比写文章和盖房子,写文章要有文章结构,盖房子要事先设计房子的建筑结构,设计程序则要有程序结构。早在1966年,Bohm和Jacopini提出了程序设计的3种基本结构:顺序结构程序设计、选择结构程序设计和循环结构程序设计,并且已经证明所有程序都可以由这3种基本结构组合而成。其中,循环结构程序设计是《C语言程序设计》中最重要和最难掌握的一种结构,几乎每一个实用的程序都少不了循环结构。因此,循环结构程序的教学内容对《C语言程序设计》的学习非常重要,在《C语言程序设计》中提供了3种循环语句:while循环语句、do~while循环语句和for循环语句。其中,for循环语句是最难掌握和最难使用的一种语句,是整个C语言程序结构中的一个重点内容,也是初学者最难理解的一种语句。在《C语言程序设计》中,for循环语句是最常使用的“计数”型循环结构语句。解决实际问题时,一般情况下,如果题目中明确给出循环次数,应该首选for循环语句设计程序,因为for循环语句看起来结构最清晰、最紧凑,在语句结构中循环结构程序设计的四要素一目了然,而且执行效率高,使用灵活,可以完全取代while语句和do~while语句。当然,对于一些循环次数不明确的问题,同样也可以使用for语句来解决。
1 教学问题分析
for循环语句是3种循环语句之一,一般情况下,教学是在学生掌握了《C语言程序设计》的基本语法知识、顺序结构和选择结构,学习了while循环语句和do~while循环语句后,对循环结构程序设计的进一步学习。for循环语句对于那些没有学习《C语言程序设计》的初学者来说,的确有点难度。但是,学好for循环语句对后续章节内容的学习相当重要,因此,作为教师一定要清楚学生学好for循环语句的重要性,明确教学目标。对于学生而言,能够灵活地使用for循环语句解决实际问题,并非一件容易的事情。在多年教学实践中,笔者发现学生学习for循环语句时主要存在以下几个方面的问题:①不清楚什么样的问题需要循环结构来处理;②对for循环语句的执行过程不易掌握和理解;③不能灵活地使用for循环语句解决实际问题;④编写的程序经常出现死循环。2 教学问题解决
教师在教学过程中如何取得良好的教学效果,并很好地达到教学目标,离不开教师的“教”和学生的“学”,如何“教”和怎样引导学生“学”是教师所要探讨的问题。整个教学过程的教学设计、教学环节、教学方法、教学手段和教学思路都特别重要。对《C语言程序设计》这门课程中的for循环语句来说,根据知识点的特点,主要应采用案例教学法和任务驱动教学法,并通过迁移式指导的学习方法,引导学生学会如何运用新知识解决实际问题。
在教学活动中,学生掌握for循环语句的格式,并能够正确地理解for循环语句的流程和功能,对于学生学习和使用for循环语句来编写程序相当重要。所以,本节课的重点确定为“掌握for循环语句的结构”。学生掌握for语句的结构和用法并不困难,难的是在实际应用中,如何分析问题、解决问题,使程序变得更加简洁、高效。因此,本节课的难点确定为“for循环语句的应用”。为了取得良好的教学效果,让学生很好地掌握for循环语句,根据知识点的特点,设计的教学思路是:厚基础、抓重点、破难点。根据知识点难易程度的不同,把教学新内容由易到难、由浅入深地划分为3个层次进行讲解。
第一:讲解for循环语句的一般格式和流程。
在教学过程中,主要采用的办法是把教材原本复杂的内容简单化,变得易于理解和掌握。针对语句格式,首先讲解语句的一般格式:
for(表达式1;表达式2;表达式3)
{ 循环体语句; }
进一步讲解易于理解的应用格式:
for( 循环变量初始化;循环控制条件;修正循环变量 )
{ 循环体语句; }
最后讲解简化为容易掌握的四要素格式:
for( 1 ; 2 ; 4 )
{ 3; }
同时,为加深学生对知识点的理解,将for循环语句与while循环语句、do~while循环语句进行比较学习,并且强调应用for语句格式应注意的事项。
针对语句的流程,并没有讲解教材中描述的复杂流程图,而是想办法把复杂内容简单化后再讲解。在for循环语句四要素格式的基础上,给出一种能够将语句的流程在语句格式上体现得清晰、明了的 “语句格式流程图”。见图1。
在讲解了语句格式和流程后,紧接着采用案例教学法和任务驱动教学法,引导学生自己设计一个简单程序:运用for语句在屏幕上输出20个“*”。主要目的是给学生创造一定的条件,引导学生主动探索、独立思考、发现问题、分析问题和解决问题,以培养学生的探索精神和自学能力,从而提高学生学习新知识、解决新问题的能力。
第二:讲解for循环语句灵活多变的语句格式。
for循环语句灵活多变的格式是学习for循环语句的重点内容。紧抓重点,在教学活动中主要采用迁移式指导的学习方法,教师“举一”,主要以输出20个“*”的问题为例,培养学生“反三”,反复变化for语句的格式来解决同一个问题。结合循环结构程序设计的四要素,对for循环语句的各种形式进行详细地剖析,并且演示程序的运行结果,使学生完全透彻地理解for语句灵活多变的结构。从而解决教学的重点内容:for语句的结构,并从中拓展以提高学生对知识点的学习。
第三:for循环语句的应用。
运用for循环语句解决实际问题是教学的难点所在。教师在授课时应尽量结合生活中的实际问题,讲解程序设计的基本思想和方法。既让学生掌握for循环程序设计的思路和方法,同时教会学生学习新知识,并培养其解决实际问题的能力。在教学活动中通过解决一个实际问题:判断素数(输入一个正整数m,判断它是否为素数),来突破教学的难点内容。教学活动中采用了案例教学法和情景教学法,并辅以任务驱动及讨论的方式。从问题的概念出发,教学活动通过如下的一系列问答来开展:
问:什么是素数?
答:除了1和它本身,不能被其它数整除的数叫素数。
问:17是不是素数?
答:是。
问:你们是怎么知道17是素数的?怎么才能让计算机明白?
答:从2开始一个一个去找,看是否能找到一个能被17整除的数,如果找到了,就不是素数,如果找不到,就是素数。
教学的目的是为学生创造自主体验的情景和语言描述的情景,使学生在课堂上处于主体地位,并且为学生提供良好的暗示和启迪,从而锻炼学生的创造性思维,以培养学生的适应能力为目标。在学生主动参与教学活动的前提下,详细讲解算法分析,从而获得良好的教学效果。
算法分析如下:
判断一个数m是否为素数,需要判断该数是否能被除了1和自身以外的其它数整除,即判断m能否能被2~m-1之间的数整除。运用C语言算术运算符中的求余运算来判断整除。
设i取值\[2,m-1\],如果判断m不能被该区间上的任何一个数整除,即对每个i,m%i都不为0,则m是素数;但是只要m能被该区间上的某个数整除,即只要找到一个i,使m%i为0,则m肯定不是素数。显然,这个判断过程是一个循环问题。
从数学的角度考虑,m不可能被大于m/2的数整除,所以上述i的取值区间可以缩小到\[2,m/2\]。
引导学生编写程序代码如下:
#include
void main ( )
{ int i , m ;
printf (“ 请输入m的值:”);
scanf (“%d” , &m);
for ( i=2 ; i
if ( m%i==0 ) break ;
if ( i>m/2)
printf (“%d是一个素数\n” , m);
else printf (“%d不是素数\n” , m);
}
数学上可以充分证明,i的取值区间还可以缩小到\[2,sqrt(m)\]。从减少判断范围的角度出发,进一步优化程序的算法,编写出更加简洁、高效的程序,从而提高学生的程序设计能力,激发学生的编程兴趣。
#include
#include
void main ( )
{ int i , m ;
printf (“ 请输入m的值:”);
scanf (“%d” , &m);
for ( i=2 ; i
if ( m%i==0 ) break ;
if ( i>sqrt(m))
printf (“%d是一个素数\n” , m);
else printf (“%d不是素数\n” , m);;
}
为巩固学生对新知识点的掌握,安排课堂作业:仍然解决判断素数的问题,在以上讲解的基础上,引导学生从排除偶数的角度出发,进一步优化程序的算法,要求学生分组讨论问题,课堂完成作业。教学设计的主要目的是实现学生情感目标的培养,增强学生的编程兴趣,提高学生的学习积极性。
3 循环程序实现要点
实现循环结构程序必须具备4个组成部分:循环变量的初始化;循环控制条件;循环体语句;循环变量的修改。其中,最关键的是要确定以下两点:①归纳出哪些操作需要反复执行?――循环体语句;②这些操作在什么情况下重复执行?――循环控制条件。只要明确地分析出循环体语句和循环控制条件,那么循环结构也就基本确定了,再根据具体问题,加上循环变量的初始化和循环变量的修改,最后从《C语言程序设计》提供的3种循环语句中选择一种具体循环语句来实现程序代码。
4 结语
for循环语句在整个《C语言程序设计》的学习中相当重要,在程序设计中几乎是无处不用。因此,在教学过程中一定要想办法让学生很好地掌握for循环语句,为学好《C语言程序设计》打下坚实的基础。
参考文献:
\[1\] 廖雷.C语言程序设计\[M\].北京:高等教育出版社,2002.
[2] 谭浩强.C语言程序设计\[M\].北京:清华大学出版社,2000.
[3] 杨起帆.C语言程序设计\[M\].杭州:浙江大学出版社,2006.