公务员期刊网 精选范文 程序设计的结构范文

程序设计的结构精选(九篇)

前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的程序设计的结构主题范文,仅供参考,欢迎阅读并收藏。

程序设计的结构

第1篇:程序设计的结构范文

关键词:循环结构;C语言程序设计;非计算机专业

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)26-6323-05

Discussion on Loop Structure Teaching in C Language Programming of Non-computer Specialty

XIA Yun

(College of Mathematics and Computer Science, Anhui Normal University , Wuhu 241000 , China)

Abstract: The teaching of loop structure is an important component in C language programming. This paper designed 5 teach? ing examples for the students of non-computer specialty. This paper analyzes the teaching progress in detail and emphasizes the teaching points of the loop structure teaching. And it produces a good effect in the actual teaching progress.

Key words: loop structure; C Language programming; non-computer specialty

大学计算机应用基础作为一门课程大约于20世纪90年代中期开设,现在已成为大学里的计算机学习基础课程,是所有非计算机专业大一新生的必修公共基础课,也是培养学生基本素质的一门重要课程[1]。作为大学计算机应用基础课程,理工类专业大部分会开设程序设计课程,有部分专业会开设C程序设计课程。C语言是一种语法灵活、适用范围广的高级程序设计语言。结构化程序设计方法有三种基本结构:顺序结构、分支结构和循环结构。顺序结构和分支结构比较简单,循环结构从教学上来说是重点也是难点。本文主要对C语言循环结构教学进行探讨。

1教学内容的分析

C语言循环结构编程主要涉及到三种循环结构语句while、do-while和for。本文作者认为非计算机专业开设这门课程,主要是讲解程序设计的方法,培养学生的编程能力和思维能力,因此,在教学中上述的三种语句可以以while语句为重点,讲解循环结构编程的思想,do-while和for语句可以简单举例说明它们的流程。在讲解循环结构编程分析时,可以以流程图或者用自然语言逐步描述操作步骤的形式,指出循环结构编程关键是找到在什么情况下需要反复执行某些操作,并找到这些反复执行的操作是什么。

2教学用例的分析

在课程教学过程中,需要用一些例子来配合讲解循环结构的编程。在教学时,选取一些比较合适的例子,可以很好地帮助学生理解所教授的内容。教师在教学过程中除了要加强课堂启发外,尽可能结合课程自身的特点,注重学生现场演练,并采用任务驱动、师生互动、鼓励学生等教学手段来提高其学习的主动性和积极性[2]。

2.1导入的例子

在教学活动中,讲授后面知识内容时要与前面知识相互呼应[3],因此,在上课时,可以以这样的问题开始,例题1:用户输入正整数n值的大小后,要求计算1+2+3+…+n,将所得出的结果输出。这个例题主要是复习前面的内容,复习输入、输出函数和分支结构的编程。该问题提出后,可以让同学们思考一下,然后再进行提问,提问时可以让学生说出编程思路,若课堂时间比较多也可以请学生直接编写源代码并运行。

提问时,有的同学可能给出如下的顺序结构编程的解答:

步骤1:输入整数n

步骤2:求s=(1+n)*n/2

步骤3:输出s

while (j

{输出i*j

j++;}

由此,得出在循环while (i

循环结构是结构化程序设计的一种重要结构,在教学中不仅需要学生掌握这种结构的语法,更重要的是培养学生的设计思维和思考方法,本文主要是从教学的角度,对循环结构的整个教学过程设计了5个教学用例,并对其进行展开分析,重点是让学生掌握循环结构编程的思想,实际上就是在问题分析过程中找循环条件和循环操作,在实际教学中取得了较好的效果。

[1]何文海,吴明珠,谢剑刚.情商与智商相结合的教学模式[J].现代计算机,2007(8):73-75.

[2]郭海花,陈允芳,王健.非计算机专业中“VB程序设计”教学方法初探[J].计算机教育,2009(18):98-100.

第2篇:程序设计的结构范文

关键词:PLC;结构化;给排水

1 引言

随着现代工业发展进程的不断加快,工业自动化控制技术发挥着越来越大的作用,PLC控制系统的应用也日益广泛。PLC程序设计的水平优劣往往决定着工程能否及时竣工投产,工业设备能否充分发挥其设计生产能力。传统的PLC编程方式程序繁琐冗长,结构不清晰,不利于控制程序在多个项目中的重复使用。如何迅速、优质地编制符合不同设备工艺特点,参数的PLC程序,对工业控制系统的及时完工,提高自动化控制水平具有较大的意义。本文结合给排水行业常用设备及工艺程序的编写,对结构化编程在PLC中的应用进行了初步的探索,取得了较理想的效果。

2 PLC程序设计方法简介

常见的程序设计方法分为三种:线性化方法、模块化方法以及结构化方法[1]。

线性化编程方法:将所有的程序代码全部放在一个程序块中,如对S7-300/400来说,在OB1中写入数据采集、设备控制、台时统计等全部用户程序。该方法与PLC所代替的继电器控制电路类似,系统按照顺序处理各条指令。它适用于小型设备配套PLC的编程,对于大中型项目则显得程序结构不清晰,同时由于需要对不同设备编制大量类似的代码,导致代码冗长,难以调试和维护。

模块化编程方法:将程序根据不同功能需求分成不同的块,每个功能的控制指令在各自的块内,OB1按顺序调用每个块。该方法程序结构清晰,便于调试和维护,但仅将功能按块分配,加以有条件的调用,故虽然CPU效率得到提高,但代码冗长、调试困难的缺点未得到明显改善。

结构化编程方法:将复杂的自动化任务分割成过程相关的功能或可多次处理的小任务,以提供可以用于类似任务的通用的程序代码,这样更易于控制复杂任务。而这些小任务以相应的程序段表示,称为块。只需要在调用程序块时针对不同的设备和工艺流程代入不同的参数或地址,即可实现不同设备的控制,无须多处重复输入相同功能的代码。当需要对功能进行修改时只需要修改程序块即可,提高了编程的效率和可靠性。

3 结构化编程方法设计实例

在实际应用中,在对给排水行业通用设备和工艺进行详细分析的基础上,针对典型设备和工艺分别编制了水泵、仪表、阀门、泵站水泵调度、自动加药等不同的控制模块,使高效开发PLC程序在给排水行业的应用成为可能。下面以变频水泵及泵站的水泵调度为例来介绍结构化编程方法。

3.1 变频水泵功能块

变频水泵是给排水行业最常见的设备,其调用如图2所示。

图2为变频水泵控制块的调用实例,该FB的输入输出参数如图3示。

功能块接口参数共分为三种类型:输入(INPUT);输出(OUTPUT);输入输出(IN_OUT)。其中输入参数主要有:远程信号,上电信号,运行信号,水泵故障,电回路故障,变频器故障,频率输入等;输出参数主要有:开停控制,频率控制输出,实际运行频率等;输入输出类型参数主要有:变频电机状态,变频电机控制命令,电机台时及开停次数统计,频率设定值等。

输入输出类型参数可由人工或自控程序在功能块外部进行赋值,也可由本功能块内部逻辑进行修改。其中的State、Command等参数均为WORD类型,其每一位分别代表了不同的含义。

该功能块包含了除电流外的变频水泵常见的绝大部分信号处理及控制功能,对于部分实际工程中未使用的参数,可通过直接设置默认值或空置的方式进行处理。水泵电流可通过专门的模拟量处理程序块进行数据转换和上下限报警判断,当电流超过上下限设定值时发出报警信号(过流、欠流)传送给变频水泵功能块,从而实现水泵的电流超限保护功能。

3.2 泵站水泵调度功能块

污水厂一般具有进水泵房、中间提升泵站、出水泵房等工艺段,其水泵控制模式基本相同,都是根据液位的变化来调节运行的水泵频率和台数,调泵时又要考虑单台设备的运行台时和启停间隔等因素。其基本原理介绍如下:

泵站的液位控制一般采用根据液位分段启停泵的模式,不同的液位分别对应当前需要开泵的台数,同时具备死区保护功能,停泵液位设定值比启泵液位设定值略低,以防止特殊情况下水泵的频繁启停[2]。

水泵的启停选择需要考虑以下几个条件:

(1)热备状态。PLC首先检测水泵上电情况,远程状态,控制模式,故障情况等,当以上条件均满足时认为该泵处于热备状态,可被自控程序进行开停调度。

(2)平衡调泵。累计运行时间最短的泵优先被启动,运行时间最长的泵优先停止,使每台泵运转时间大致相等。当运行时间相同时,按泵的顺序启停。

(3)启动间隔保护。控制程序使每一台泵每小时起动次数少于6次,两次起动间隔≥10分钟,且不论何种情况,不同时起动2台及2台以上水泵。

在实际应用中,根据分段启泵原理以及低水位保护等条件编制泵站自控功能块,计算当前需要开泵台数。根据上述三条件,编制了水泵启停调度选择功能块,用于选择当前需要启动的水泵编号。两功能块配套使用,可快速完成泵站自动调泵程序的编制工作。限于篇幅,本处不再详述其具体实现过程。

第3篇:程序设计的结构范文

关键词:管理原理;设计;设计管理

作者简介:徐刚(1974-),男,河南开封人,硕士,河南大学讲师,主要从事企业形象策划、品牌战略、广告创意、包装装璜设计等研究。

中图分类号:C939;F270.7 文献标识码:A 文章编号:1006-1096(2007)04-0096-03 收稿日期:2007-04-14

设计,自20世纪60年代成为一门独立学科到现在,一直都处于研究的边缘状态。随着经济文化的发展以及人们物质、文化生活水平的提高,设计的风格、功能、形式日新月异。在这种情势下,设计水准往往也成为一种竞争手段,大型的设计项目层出不穷。例如,影视美术设计、建筑设计、工业设计、企业形象工程设计等等,都需要几十人、甚至上百人的分工、合作才能完成。社会对高度体系化、专业化的策划设计制作公司的需求越来越大,要求也越来越高,而针对设计项目的管理制度和意识也就应运而生。

学术界对设计管理理论的探讨,目前主要从综合层面、设计层面、管理层面三个角度展开(刘国余,2003)。笔者在整体考察各个层面研究成果的基础上,倾向于赞同管理层面的理论观点。在此前提下,总结出设计管理的模式、流程步骤,并提出了相关的研究建议。

一、设计管理的层面及其概念

(一)综合层面的释义

所谓设计,指的是把一种计划、规划、设想、问题解决的方法,通过视觉的方式传达出来的活动过程(刘国余,2003)。它的核心内容包括三个方面:计划、构思的形成,视觉传达方式,计划通过传达之后的具体应用(刘国余,2003)。而所谓管理,则是由计划、组织、指挥、协调及控制等职能要素组成的活动过程,其基本职能包括决策、领导、调控几个方面(王金献,1993)。

设计管理,从不同的角度去理解,则会产生多种不同的字面意思。它可以是对设计进行管理,也可以是对管理进行设计;可以是对产品的具体设计工作进行管理,也可以是对从企业经营角度的设计进行的管理。然而不管怎样,设计管理已经发展为一个新的概念,一门新的学科,有着特定的内容与规律,并且作为企业提高效率、开发新品的一件利器,越来越多地受到企业界、设计界和经济学界的研究和重视。日本学者认为,日本产品之所以具有国际竞争力,在设计的应用与营销上经常创新的重要因素就是强调在设计部门所进行的管理,“图谋设计部门活动的效率化,而将设计部门的业务体系化的整理,以组织化、制度化而进行管理”(陈伟,1996)。出于使用者不同的职业背景,设计管理(Design Management)一词带有广泛的含义。自1966年英国Royal Society of Arts首度提供设计管理奖项以来,其定义已被争论了近1/4世纪(陈伟,1996)。因为该名词结合设计和管理两方面的复杂内容,所以其定义也是分别基于这两方面而展开的。这些定义大致可以分为两类:一种基于设计师的层面,指对具体设计工作的管理;而另一种则基于企业管理的层面,指对特定企业的新产品设计以及为推广这些产品而进行的辅设计工作所作的战略性管理与策划。从这个意义上讲,所谓设计管理,就是让货品结果与营销目标的销售指标和认知度目标最大限度地接近的过程管理。

(二)设计层面的释义

设计管理的第一个定义由英国设计师Michael Farry于1966年首先提出。设计管理是在界定设计问题,寻找合适设计师,且尽可能地使设计师在既定的预算内及时解决设计问题(陈伟,1996)。可见,Michael Farry是站在设计师的角度提出定义的。他把设计管理视为解决设计问题的一项功能,侧重于设计管理的导向,而非管理的导向。其后,Turner(1968)、Topahain(1984)、Oakley(1984)、Lawrence(1987)、Chung、Gorb等学者都各自从设计和管理的角度提出了自己的观点。而英国和美国的一些设计管理课程由此大概可以分为两种类型:一种是把设计管理列入现行管理课程,偏重于设计,这是属于管理系科的;另一种是将管理注入设计课程中,偏重于管理,这是由设计学校开设的,其目的是让学生了解和掌握以下内容:第一是影响创造和创新的要素;第二是产品与生产、设计之间的相关性;第三是设计程序;另外还有工业创新与工业设计师所从事工作的性质,以及与设计相关的各种法律保护等。

(三)管理层面的释义

站在企业管理层面理解的设计管理,则是指企业领导从企业经营角度对设计进行的管理。它以企业理念和经营方针为依据,以使设计更好地为企业的战略目标服务。其主要内容包括:决定设计在企业内的地位与作用,确立设计战略和设计目标、制定设计政策和策略,建立完善的企业设计管理体系、提供良好的设计环境和有效地利用设计部门的资源,协调设计部门与企业其他部门以及企业外部的关系等。其中,企业品牌形象――CIS战略的运用,便是一个典型的例子。设计管理作为一门新学科出现,既是设计的需要,也是管理的需要。没计管理的基本出发点是提高产品开发设计的效率。对设计师来说,设计不是艺术家的即兴发挥,也不应是设计师的个性追求。在现代经济生活中,设计越来越成为一项有目的、有计划、与各学科、各部门相互协作的组织行为。在这样的背景下,缺乏系统、科学、有效的管理,必然造成盲目、低效的设计和没有生命力的产品,从而浪费大量的时间和宝贵的资源,给企业带来致命的打击,同时设计师的思想意图也不可能得到充分的贯彻实施;而另一方面,设计作为一门边缘性学科,它有着自身的特点和科学规律,并且与科研、生产、营销等行为的关系愈来愈紧密,在现代经济生产中发挥着越来越重要的作用。因此,产品设计以及为推广这些产品而进行的辅设计必然成为现代企业管理的重要内容之一。不了解设计规律和特点的管理,以及对设计管理不力,都会造成企业其他各项管理工作得不力。由此可见,在现代企业行为中,不管是以设计为背景,还是以管理为背景去理解,设计管理的基本内涵已逐步走向一致。综上所述,设计管理研究的是如何在各个层次整合、协调设计所需的资源和活动,并对一系列设计策略与设计活动进行管理,寻求最合适的解决方法,以达成企业的目标和创造出有效的产品(凌继尧,2006)。

二、设计管理的模式与意义

(一)设计管理的体系模式

在现实生活中,所有的设计,归根结底都可以解析成三个层面:度――元素――组合方式。其中“度”的清晰与否决定

选择“元素”的范围;选择“元素”的准确与否决定成品与目标的对位;“组合方式”的专业和灵感飞扬决定了成品的精彩。当然,设计管理作为完成设计合作计划的核心部分,它是运转设计资源的一套知识体系,包括设计计划、组织系统、设计人员、评估机构等等(凌继尧,2006)。

从图1可以看出,设计管理是一个研究领域。它把设计管理作为管理的一个战略工具,侧重研究管理者、设计师和专家的知识结构,用以实现组织目标并创造有生命力的产品。从这个意义上看,设计管理旨在有组织地联合创造性及合理性去完成组织战略,并最终为促进环境文化做出贡献。在现代市场经济条件下,品牌的经营需要财务目标和认知目标的双重实现。因此,我们才需要清晰地解析设计,才能轻松有效地管理设计。也许,昨天没有管理,才气、灵感和个人经验都能让设计带来财务幸运,但是在已是买方市场而不是卖方市场的今天,没有管理的设计就没有幸运的未来。

(二)设计管理在企业管理中的意义

现代管理学有很多新的理念,其中一点就是对于产品与企业形象包装的高度重视,它们往往体现着企业的经营理念和价值定位。在产品和服务趋于同质化的今天,新颖的视觉传达设计和准确的市场定位及有力的市场宣传,将带给企业滚滚商机。良好品牌的传播与形成,与设计的作用不可分离,“设计”可以成为企业商品形式的“卖点”。

设计管理在企业管理中具有更多的管理意味。设计对于潮流动向和审美趣味要有敏锐的感知和预测;设计可以成为功能的一部分,满足人们个性化的需求;设计还可以节约成本、控制预算;优秀设计可以提升产品的附加价值;设计还是形式创新和创意拓展的一部分。因此,设计管理具有行政管理上的目标、计划、组织、控制等作用。对于企业来说,设置相关设计管理部门,对于其内部整合资源、提高竞争力,从长远来看是十分必要的。在企业的管理部门中,加强设计管理具有重要的意义。作为一个不断要求上进的企业,作为一个想做到艺术境界的企业,就必须要引入设计与设计管理。设计管理不仅能改善其产品的品质,更会改善其公司的气质,还会通过产品改善社会情调。

三、设计管理的程序结构

这里将遇到一个相对矛盾的问题:管理的一个重要特征就是解决非程序化问题,但是在这里我们却在谈论艺术设计管理的程序。为了避免理解上的偏差,在此,有必要作一些解释。这里所探讨的程序,指的是基于设计管理系统的结构程序。退一步说,如果没有程序的建立,也谈不上“非程序”的应用。设计管理的程序主要包括以下步骤。

(一)确认项目信息

在项目设计开始之前,首先需要明晰审查项目小组现有的信息,以确保项目从一开始就沿着正确的方向前进。这些信息包括五个方面:设计项目的发起者;直接客户以及间接客户;使用此设计的成果当事人;设计项目小组的初步候选人;可能影响设计项目的其他人(利益共享者)。

(二)制定设计管理计划

在项目得到确定以后,制定设计管理计划是一项非常必要的工作。中国有句老话“凡事预则立,不预则废”恰当地表达了计划的重要性。在制定管理计划时,首先应明确列出整个设计管理的任务和时间,接下来的工作是细化(分化)任务,也就是将任务分解。分解的办法有两个,一是按照时间分解,大致确定某一时间段内的任务,这一点要考虑任务的前后结构关系;二是按照任务的构成分解,主要考虑合理利用人力资源。

(三)分析资源需求与风险预测

明确项目设计过程中可能涉及到的资源,考虑解决办法,同时考虑规避风险的途径。

(四)明确职责,优化管理

每一个组员的工作应该被写进计划。细化时间计划,制作详细的甘特图日程表、设计管理计划总表、工作细化以及职责分配表、监控程序图等图表。重大事件与交流计划也应该被注意。在制定计划的过程中,应该听取组员的意见,同时设计管理者也必须建立相对的管理权威,形成自己的管理风格。比制定计划更重要的事情就是让你的组员理解并支持它。因此,设计管理计划的传达也是一个不可忽视的环节。

(五)监控计划执行过程

计划执行的过程中,监控程序是比较重要的。设计管理者要随时把握设计的进程,评价每一个阶段的目标,及时纠正方向的偏差。同时解决意外事件的能力在这一过程中也得到体现。

(六)评价设计管理

建立完成标准是十分重要的。当然,客观的给予设计项目评价,总结其中的经验教训,也许对我们的帮助会更大。

四、结论与建议

(一)研究结论

设计专业的划分到现在已经相当精细,一个设计师精通现代设计的每个环节已不可能。除了设计专长,他还需要具备一定的市场、管理、营销等方面的知识,才能够胜任分工合作过程中的定位和协作任务。设计师不再总以独立的个体而存在,而是依照管理的要求,成为设计产业链条、设计生产流水线上的员工。这种改变,使得设计管理上升为一种使组织高效和管理优化的手段。当然,设计管理作为一门新兴的交叉学科,需要融合吸收大量的相关学科内容,形成自己完善的体系,像传播学、广告学、公共关系学、美学、市场营销、组织行为学、管理学等等。国外有许多较为先进的设计管理经验和理论,我们可以加强与国际的沟通与交流,引进国外大公司的设计管理模式和经验,发展我国的设计管理学科。在高等教育院校,完善设计管理的教学体系,让设计管理的意识渗透到教学中去,已成为当下一个新的课题。

(二)研究要求

知识经济带来全球经济一体化进程,中国也正在迎头赶上这一次由高科技产业和信息传播技术催生的新经济浪潮。蓬勃而起的创意性产业越来越成为增长最快的行业。设计是创意产业链条的一部分,也具有高速发展的特点。现代设计基本上是应用数字技术手段在电脑平台上完成的,设计的拷贝与传输,甚至加工制作都是在电脑程控下精确进行的。因此,设计管理在数字化潮流下具有现代化的意识和观念。首先,技术手段的丰富与更新,新的合作生产方式的展开,使得管理作用强化。其次,新材料、新工艺的应用,为设计形态与色彩提供了广阔的表现空间,设计管理要具有信息的优势,并在一定高度上起到宏观的战略制定和指导作用。最后,设计领先还在于对流行预期和市场走向的把握,比如在材质、色彩和造型设计上,能够令人们感到新颖美观,因而能促进产品的销售,提高市场占有率,并延长产品的生命线。

(三)研究建议

第4篇:程序设计的结构范文

未来设计将怎样发展变化?未来设计的目的将是什么?未来设计评价的标准将如何变化?未来设计对人类的发展将意味着什么?在现代设计塑造了一个“人为世界”,而“人为世界”又反过来塑造人类自身的今天,我们不得不思考这些问题。

关键词 个性化 时空化 绿色设计 解构 人性化 地域

现代平面设计艺术作为视觉传达艺术中的主要组成部分,经历了从工业化社会到信息化社会的转变。而中国的平面设计艺术在观念上,在功能上、在语意和形式表现上,都备受东西方文化思潮和艺术风格的影响。在现代设计多元化发展的大趋势下,人类生存方式上新观念的介入,思维的引导和情感的表达上,我们发现以往贯于平面设计中运用的法则正逐渐被打破,固有的符号现象被解构,人类在跨越世纪的里程中力求找到合理化的视觉空间。,中国现代平面设计的发展形成了新的设计需求。

(一)要具备个性化设计需求。20世纪80年代中期电脑的出现为我们带来了前所未有的速度-------商业操作的速度和变化速度。重要的是,全球商业环境的剧变意味着从此可以通过直邮和电视广告与客户取得联系。这一切都为平面造型设计行业设计者创造了一种激烈环境元素。当前,商业和设计行业出现了重叠,设计工作必须要在这个需求较高的新环境中能标出自己的领地。设计不仅要跟上美学的发展,还必须赶上科技的进步。随着周围标识语的不断增多,设计者要重新去适应不熟悉的新领域。在设计和制作中都占主导地位的网络领域就是其中一种。在科技带来的种种压力下,平面设计行业似乎有渐渐衰落的可能。但事实恰恰相反,商业界提出的新挑战不仅加强了设计的重要性,还提高了设计的潜在能力。当平面设计走向程式化之后,其设计创意就必须具有个性化。个性化是设计师对平面设计个性差异的独到见解,设计就成为无限超越自我,获取随心所欲的表达。平面设计行业从业人员通过对设计内容,版式等设计元素的重新组构,在演变中寻找个性,倡导设计风格。施展个人非凡的干劲和创造精神,设计在个性表达的道路上才更有生命力。

(二)具备国际化与多元化的设计需求。在近乎持续变化的国际环境中,平面设计者不得不与他们的客户尽量保持同步;客户所经历的最大变化之一,就是趋向更多样化劳动力对象的转变,这个变化在近十多年尤为激烈。从而,人们在设计方面不得不尝试面向大众,在现代平面设计作品中,把不同民族图像通过需要进行再组合,力求把所有新的成分因素考虑在内,设计描绘面尽可能的宽广,以达到传达多样性文化信息的目的。

90年代,电信国际化以及相应的商业国际性特征,在理解文化及国家差异这一问题上赋予了新的意义。尤其当各国在金融及贸易交往中相互依赖中变的越来越重要的时候,就更是如此。同时在文化方面,尤其是青年文化,变的越来越全球化,音乐和广告都成为了特别强大的力量,伴随它们的则是那种能跟随国家变化而自我更新观念的能力。由各种不同民族不同国家文化的设计图像的结合,进入到各国的交流活动中,甚至于引领了更具融合性的年轻一代。在平面设计领域,图形是其视觉语言,它给人们的感受是共同的,它的最大特点是追求国际视野,使设计具备一流品质。而全球化与多元化的设计需求对图形的创造,思考角度,大众理解提出了合理化的认知观。在构思和表现上现代平面设计的语言表述是一致的。“简练、达意、巧妙、智慧,观看世界现代设计的走势,研究现代社会对平面设计的影响,对保持敏锐的设计思维和使作品和现代世界设计接轨显得十分需要。

(三)时空化设计需求。平面设计所处的地位与从前已大不相同。而在观看方式方面,无论是通过眼睛还是用鼠标去点击,深入设计空间的方式也不同了,最主要的是速度比从前快了。平面设计以往多在二维状态中进行创作。在经历二维程式化的设计之后,设计师在探索新的界面,力求打开新的思维空间。科技进步和全球信息化,从某种程度上缩短了时空差,人的想象随着时空概念的变化而延伸,平面设计也逐步从二维向三维到四维空间延展,设计中的时空化与科技化为我们展现出丰富的空间符号。宇宙之外的奥秘,天际星体的存在。东、西方空间想象因式,设计图象的叠加、透视、错位、渐变等仿佛将我们带到立体思维的大空间。符合了平面设计界较早提出的超越和突破二维平面的提法。在视觉空间上创造失控景观,以平面版式为例,20世纪80年代传统期刊设计者在同样字体的版面内往往通过改变大标题和副标题的行列来突出文章要点,用字体的大小及其外形来区分大小标题,而不是把大标题中的所有文字都列在一起,并将它们与大小标题分开。而现在,我们可以看到以各种各样方式排列的标题:有的位于页面的边缘,有的斜掠过整整一页或横贯两页,有的竖立在文章的旁边,还有的紧靠甚至是陷入正文里面,这些排列无疑会使版面给人一种立体感,在平面设计者跨入其他媒介设计过程中,超越二维的设计是一个重要的需求。 转贴于

另外,重点内容的突出方式也发生了改变。设计者不再把整个标题制造得比正文字体大,相反,标题中文字的大小可有多种不同。设计者打破的这种设计规则,使他们可以以任何一种自认为恰当的新样式来设计一行行的文字,通过这样的设计,文字图形便形象生动的跳跃在页面上,屏幕上,包装盒面上,瓶子标签上或更多地方,这种动态感觉是印刷品和交互式制图作品的典型特征代表,是新时代设计的需求。

(四)地域本土化设计需求,所指的实际是设计师在本土所处环境通过思考,而逐渐形成的设计思想。无论设计多么入流,由于地域,思维,生活方式决定了他们的设计风格,本土的文化对其设计形成了一定的影响,所以,设计师所处地域成长决定了它对设计的认知观。设计师若能立足于本土文化来完成平面设计作品,其创作的图像就带有本民族的思想理念及独立的表达能力,通过这样,令人们领悟到历史发展的文脉。现代设计观念无论形态还是形式上从艺术发展的角度来看,与中国传统视觉造型元素还是有着一定的渊源的。我们知道现代平面设计的诸多流派均来源于印象主义、立体主义、构成主义等现代绘画风格,而这些西方近现代派绘画在其启蒙时或多或少地受了东方艺术的影响,特别是中国传统绘画所强调的散点透视,虚实疏密,留白等形式和形态上的处理方法,对于它们的启示是不容置疑的。通过这样的梳理,应该说找到旧有造型元素与现代设计的契合点并对前者的改良更应是顺理成章的。对于具有中国地域特色旧有造型元素其形态上的改造,则使元素不仅传递了现代设计观念,更使旧有元素能够真正传递载体的现代信息,符合现代设计的功用,从而摆脱元素在使用上的局限与语意上的偏差。对本土设计师来说,守一方水土研究自成体系的平面设计就显得非常的重要。

(五)人性化设计需求与绿色设计。人性化设计与绿色设计思想是21世纪设计的主题,设计承载了对人类精神和心灵慰籍的重任。年轻人购买商品是为了张扬个性和焕发蓬勃的青春活力,年壮者是为了填补青春已逝的失落和展示成熟与自我成就感 ;年老者则怀着一股怀旧感和饱经沧桑的平静感。所有设计其实都是以人为本,围绕人的需要展开的,平面设计也不例外,刺激消费的美学观念曾经成为现代平面设计唯一的评判标准,从而导致能源浪费,资源破坏,生态失调。工业文明带来的危机正在唤醒越来越多的人。

绿色设计需求给平面设计师提出了一个严肃的课题,它强调在保护自然,生态,充分利用资源,以人为本,与环境为善。作为平面设计行业与其外沿,无论从意念到表现,都会给设计带来新的生命内涵,随着时展,人们审美观念的改变,设计作品一方面完善实用功能,从需求上获得满足,另一方面,顺现代审美潮流,追求美的情调。往常盲目的视觉刺激行为,往往造成视觉灾难。人类被围困在强烈的色彩,呆板的图形中。因此,视觉上运用绿色设计观念,让平面设计维持合理的视觉秩序,制止视觉污染,完善设计作品与人类的协调非常必要,另一方面,通过传达对环境的关注与自然相关的图象以及单字,词组也具有非常重要的意义,平面设计专业语也已开始逐渐适应这些变化,设计师们开始意识到他们在纸张耗费与污染技术应用方面所扮演的主要决策人的角色。1996年,美国平面造型艺术学院出版了“平面设计中环境责任指南”。又为某纸张制造商起草“设计之生态学”手册,为美国设计师提供了关于减少对环境冲击的指导方针。在中国,人们也已逐渐意识到以人为本的绿色设计的重要性,以人为本的绿色设计将会是中国平面设计发展历程的长期需求。

在经历了分解与重构后的现代平面设计艺术,未来的设计将着眼于与平面设计相关环境的设计上,其关系是相连的,内在的,互动的,广义的。当然,要设计师们和企业家们立即改变观念,设计出符合未来标准的作品决非易事。这将面临太大的难度。特别是在当今刺激消费,市场经济的大形势笼罩着整个世界的气氛下,要做一点真正有利于人类长远利益的好的设计是非常难的一件事。不过,工业“文明”,市场经济给人类带来的危机正在唤醒越来越多的有良知的人。从每天用的各类设计产品,到自认摩登的现代化国际性大都市,其中究竟有多少是必要的?。“合理消费”,“道德经济” 变是必然。也是未来人类自救的方向。 未来,平面设计的职责就是维护伦理性和道德性。 转贴于

好的设计,将是未来正确价值观的体现。

---------------------------------------

参考书目

《边缘设计》凯恩.费舍尔编著中国轻工业出版社

《非物质社会》滕守尧著四川人民出版社

第5篇:程序设计的结构范文

论文摘要:该文分析了程序设计在计算机学科中的地位以及程序设计有关的知识和能力构成,结合自己多年的计算机专业教学实践,探讨了在计算机教学中培养学生程序设计能力的有效策略。

计算机科学是一种创造性思维活动,其教育必须面向设计。计算机的本质是“程序的机器”, 只有懂得程序设计,才能懂得计算机,真正了解计算机是怎样工作的。培养学生程序设计能力对计算机专业的学生来说不仅是培养职业技能的需要,也是培养大学生创造性思维的重要途径。学习程序设计语言可以培养学生运用算法来解决实际问题的能力,这种解决问题的方式是计算机所独有的,也只有通过对计算机的程序设计语言和程序设计方法的学习才有可能获得这种解决问题的能力。

1 程序设计在计算机学科中的地位

程序设计是利用某种计算机语言,编制完成某一特定功能的程序的过程,是涉及描述、开发及有效实现求解的一系列活动,是利用计算机实现自动化的重要手段。

计算机学科主要是系统地研究信息描述和变换的算法过程,包括它们的理论、分析、设计、效率、实现和应用。可以这样说,一切算法的基本问题是“什么能被自动化”以及“如何有效地自动化”。这个自动化的过程就是程序设计的过程。

程序设计语言是人们学习计算机的最基本的工具,也是人们学习计算机基础与应用知识的基本课程。通过学习,使学生掌握程序设计的基本概念、基本知识和基本方法,养成良好的程序设计风格,得到一定的程序设计训练,具备初步编写程序解决实际问题的能力。程序设计也正是有形表达抽象思维的方法,在程序设计过程中贯穿阅读判断、分析思考、工具利用、抽象表达、综合创造等多项技能,是理论、抽象、设计和应用的综合能力培养过程。因此程序设计是计算机学科教学的重要内容之一,对计算机专业人才素质的培养至关重要。

2 程序设计的知识和能力构成

根据循序渐进的原则,与程序设计有关的教学内容主要有:计算机基础知识和操作、程序设计语言和基本的程序设计方法、最基本的数据结构及其基本算法、常用的算法设计方法等。在学习这些知识的同时,必须与能力的训练有机地结合起来。程序设计能力表现在以下几个方面:

1)自然语言能力。要有较强的运用自然语言描述现实事物的能力,只有运用背景知识正确且清晰地陈述问题及其求解目标,才能确定程序的功能。

2)数学描述能力。程序设计是为了告诉计算机做什么和如何做。这就需要利用定义、定理、公式、函数等数学工具把问题形式化,建立数学模型。

3)数据结构设计能力。选择合理的存储结构,在计算机中表示数学模型,是程序设计的一个重要方面。

4)算法构造能力。好的程序由精心构造的、好的算法构成。给出问题求解的离散化计算过程,是程序设计中最具有创造性的工作。

5)程序编码能力。用某种程序设计语言表达算法,尽管这种能力往往被认为技术含量不高,但也需要对程序设计语言的熟练掌握和对算法设计的深刻理解。

6)程序调试能力。程序调试能力是一种专业综合技能,需要对程序设计语言和程序结构有深刻的理解,需要熟练的操作技能,需要会设置测试数据和设置程序断点,这些都有待于学生在实践中逐步积累经验。

可以说,程序设计能力的高低很大程度上反映在驾驭自然语言、数学语言和计算机语言的能力上。这3种语言是人们毕生有用的3种通用智能工具。前两者是后者的基础,良好的英语和数学训练是学好程序设计语言和培养程序设计能力的重要基础。

3 培养程序设计能力的有效策略

知识的价值在于运用,知识的运用需要技能,而技能的形成则依赖训练。程序设计知识的学习和能力的培养需要各方面的知识基础,它是一个系统的教育训练过程,需要多个教学环节的紧密配合才能完成。

1)明确教学要求

程序设计语言课程一般是为应用性教学而设置的,因此,课程的教学不仅仅是传授知识,而且应该强调应用性,应该以培养学生的能力为主。程序设计语言的内容比较丰富,在教学中如果面面俱到,必会耗费较多课时,而且教学效果不一定好。因为过分强调程序设计语言的系统性和完整性就可能会转移学生对课程重点的注意力,关键在于教会学生如何正确运用程序设计语言编写程序,训练实用编程能力。所以必须突出重点,突出应用性,侧重教思想,即把程序设计语言的基本思想、基本环境、基本概念、基本知识和基本方法教给学生,使他们在学习中对硬件、软件环境、程序设计的基本思想和基本技巧,所学程序设计语言的基本概念和使用方法以及编程技术有一个比较全面的感性认识,从而提高解决实际问题的能力。

2)打好数学基础。严格的数学训练是程序设计能力的基础,学习和加强排列与组合、数列、数学归纳法等离散系统的数学方法对提高程序设计能力尤为重要。问题描述和建立数学模型是程序设计的前奏,数学归纳法、穷举法、构造证明法等证明技巧是算法设计方法的基础。

3)强化英语水平。程序设计语言的符号系统以英语为基础,程序设计文档语言首选英语。英文资料是计算机最新和最大的技术资料来源,英语水平是我国软件产业发展和参与国际竞争的制约因素。

4)重视阅读训练。从某种意义上来说,程序设计是用程序设计语言和方法进行的一种写作。可以想象,如果学生没有阅读过一份完整、规范、有实用价值的标准程序,即使记住了有关语言的语法规则,也不可能写出像样的程序。所以,大量阅读、分析、修改和扩充典型的算法和程序,是提高程序写作能力的有效途径。而这个重要学习环节往往未得到应有的重视,缺乏配套的程序设计阅读分析教材。教师应经常指导学生阅读程序,理解程序,提高学生分析程序的能力。

5)注重算法设计,突出数据结构内容。瑞士科学家、PASCAL语言和MODULA-2语言的发明者沃思(Wirth)教授提出了著名的公式:程序=算法+数据结构。这个公式表达了程序的实质,说明对于一个程序设计问题来讲,算法与程序设计是紧密联系的,绝不能脱离数据结构去讲解算法设计。程序设计语言的教学应该结合数据结构的基本内容。对于同一个计算问题,选用不同的数据结构,其算法大不一样,算法的优劣程度也不同。因此,要教会学生对不同的问题选择合适的数据结构。在整个程序设计课程中,必须强调算法设计方法,通过不断的算法设计训练,使学生切实掌握迭代、枚举、递归、分类等常用算法设计方法。

6)更新教学内容。计算机学科是一门综合性学科,而且程序设计语言的应用领域在不断扩大和发展。因此,在教学中应结合专业的特点和教学的要求,将软件工程的思想方法贯穿于整个教学过程,介绍程序设计语言的最新发展和应用,重视面向对象程序设计方法的引入,搞好教材内容的更新。如图形程序设计、下拉式或弹出式菜单、计算机病毒防治等等。这样不仅能把最新的知识和最新发展动态充实到教学上来,大大丰富了教学内容,而且使学生加深对程序设计语言的理解和掌握,保持对信息技术和专业的兴趣,及时跟上信息技术日新月异的发展趋势,在今后工作中保持领先地位。

7)采用先进教学手段。用传统的课堂教学方法讲授动态的算法和数据结构是十分低效的,像排序、递归等抽象动态的内容讲解就常常是费力不讨好。应该根据课程特点,采用先进的现代教学方法,如直观教学方法:利用挂图、教具等讲解,以及计算机辅助教学(CAI)和计算机辅助学习(Computer Aided Learning,简称CAL)进行教学,通常开发利用与课程内容与教学特点相适应的多媒体课件进行教学。它们是讲解算法和进行程序设计训练的最佳教学平台,既能增加学习的趣味性,又可利用图形的直观性帮助抽象和动态过程的理解。

8)加强实践环节,强化创造性思维能力培养。在教学中,常常听到学生提出这样的问题:“程序设计语言有什么用?”,有的学生还反映:“程序设计语言并不难学,就是不知道如何应用?”一些学生学到了一定的科学知识,但上机动手水平低。这种现象与普遍忽视实践环节有关。为了扭转这一局面,在整个教学过程中,必须强调实践环节的重要性,充分安排上机实践时间,加强系统训练和实践能力的培养,强化创造性思维能力培养。根据课程特点,在教学中,采用案例驱动教学,进行兴趣引导;在实践中,可以精心组织一系列由易到难、由浅入深、配套衔接、结合学科学习、有一定设计技巧的程序设计作业,最后再安排一次综合性强、有一定难度的课程设计实践,对学生进行项目训练,提高学生应用能力。通过上机作业和课程设计的完成,使学生独立思考,各显才干,总结经验,培养他们的动手能力和编程能力,以及分析问题和解决问题的能力。

4 结论

总之,培养学生计算机程序设计能力的方法和途径很多,但是编程序不难,编好程序不易。作为教师,必须从培养学生编程思维的角度出发,按照以上策略认真进行编程知识的教学和技能的培养,加强实践,提高学生科学思维的能力,真正学会程序设计的真本领。

参考文献:

[1] ,王楠.浅谈程序设计语言课程教学方法[J].吉林大学学报(信息科学版),2005(S2).

[2] 徐进华.提高学生程序设计能力的几个措施[J].计算机时代,2005(11).

[3] 李凌.浅谈高级语言程序设计课堂教学方法[J].淮北职业技术学院学报,2005(04).

第6篇:程序设计的结构范文

1.思维导图

思维导图(Mind Maps)是英国人东尼?博赞(Tony Buzan)在20世纪70年代提出的一种先进的记笔记方法,一般通过带顺序标号的树状结构来实现思维过程,它是以图和直观形象的线条进行思考和表达的,并将放射性思考实现具体化。国外的一些世界500强企业,如微软、IBM、惠普等,都是思维导图的第一受益者和倡导者。思维导图主要由图像、颜色、曲线和关键词等元素构成,其主要特点有:主题主干作为分支呈放射状、注意力主要集中在中央图形上、分支构成一个连接的节点结构体系、由关键词或关键图形构成分支。

2.“C语言程序设计”课堂教学的现状

《C语言程序设计》是一门理论与实践并重的程序设计课程,教学难度较大,对于很多知识,学生总是似是而非,概念模糊,不能完全理解和掌握。

目前,《C语言程序设计》课程教学情况主要表现在以下几个方面:

(1)在教学模式上,教师多采用多媒体教学,课堂理论加上机实验的教学模式,课堂理论为主;

(2)在教学手段上,教师按照CAI教学课件进行讲解,学生所接受的都是零散的知识,这一节课学完,下一节课可能就忘记了最基本的知识点;

(3)在教学方法上,以教师讲授为主,缺乏师生互动和驱动式任务教学,对于课程和章节,学生也不能从整体进行认识和掌握;

(4)在实验环节中,由于学生对基础理论知识掌握的不够扎实,在上机课时,只是机械的照搬教材代码,以验证课堂内容为主,不能很好地理解程序的编程思路和方法,以致于课程结束时,学生不能很好地开发一个小的C语言程序。

为了加强学生的逻辑思维能力,提高学生学习效果,我们将思维导图这一教学方法应用在《C语言程序设计》课堂教学中。

3.思维导图在C语言程序设计课堂教学中的探索

在《C语言程序设计》这门课程中,教学内容非常多, 包括程序设计基础知识、常量变量、数据类型和表达式、顺序结构程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针、用户自己建立用户类型、文件的输入输出等。

(1)课程的综合性设计。由于C语言内容较多,学生对知识只是进行线性的接受,不能对课程形成整体的认识,因此,首先对课程进行整体设计。

采用XMind思维导图设计软件,对C语言课程整体结构图进行设计,如图1所示。

在第一节课授课过程中,教师采用思维导图呈现给学生这门课程的整体结构,学生头脑中能够对课程有整体的认识和了解,有助于提高学生的学习兴趣和求知欲望,便于学生进一步学习。

(2)章节的连续性设计。C语言中的三种程序设计结构在知识讲授结束时,要进行章节的总结,将三种程序结构的相关知识以思维导图的形式展现出来,一方面不仅可以加深了学生对知识的理解和掌握,另一方面也潜移默化地引导学生主动学习和对知识连续记忆的能力。

(3)知识点的扩展性设计。在引入新章节时,教师首先向学生展示章节完整的思维导图,将其作为目标教学的工具。思维导图的运用能使学生明确学习目标、学习内容与范围,以及各知识点之间的先后顺序,能够更形象、更直观、更全面的表述学习进度目标。以循环结构一章为例,教师首先给出整体的章节结构,同时每个知识点都可以进行扩展,辅助学生记忆。

(4)学生的自主性设计。在进行章节复习时,教师展示章节完整思维导图的同时,引导学生自行绘制出思维导图,教师也可以只给出提示或关键词,引导学生建立内容全面、详实的思维导图,从而建立自己的知识结构,更好地掌握知识。

教师通过学生设计的思维导图能够发现学生的知识结构和对知识的理解和认知程度,从而更好的优化教学。学生在自我设计过程中,能够及时发现知识的盲点区,不断学习并进行弥补,提高自己对知识的掌握。

第7篇:程序设计的结构范文

关键词:软件工程;程序设计;课程群;建设;实践

软件工程专业的培养目标是面向我国软件产业培养急需的工程应用型人才。软件产业的发展要求学生具备较强的系统分析、设计、开发与维护能力[1]。为培养学生软件系统方面的相关能力,许多高校的软件工程专业都设置了系列课程模块,如程序设计课程模块、网络技术课程模块、计算机体系和操作系统课程模块、软件工程课程模块等,这些模块往往是一些单独课程的组合,有很多学生学了这门课程,又忘记了那门课程,到毕业时专业能力达不到社会所要求的层次。程序设计课程群是软件工程专业系列课程的重要组成部分,其承载的技能培养目标是专业培养的子目标[2],处于非常重要的地位。课程群建设是专业建设的一部分[3],有利于打通课程知识脉络,避免课程内容重复或前后脱节,使前后连贯,内容融合,进而获得整体优势[4]。程序设计课程群主要培养计算思维能力、算法设计与分析能力、程序设计与实现能力和系统分析开发能力[5]。学生通过程序设计课程群的学习,可掌握1~2门程序设计语言,更进一步理解程序设计方法,熟练掌握常用的数据结构和算法,形成良好的程序设计风格,可独立分析、设计和开发中小型软件系统。所以对程序设计课程群进行研究并积极实践对专业培养目标的实现具有重要现实意义。

1问题分析

目前,大多数高校信息类相关专业都开设了程序设计系列课程,一般为C语言程序设计、数据结构与算法、java程序设计等。许多高校都将C程序设计作为第一门程序设计课程[6],一般安排在第一学期或者第二学期,学完C语言之后,再学其他程序设计课程,如数据结构等。由于C语言本身比较灵活且语法内容比较多,对于初学者来说并不太好掌握。一些教师在授课过程中,没有站在软件设计的高度思考教学内容,往往过多地强调语言成分的语法和语义,而忽视了计算思维能力[7]的培养,使学生从开始就扎进程序设计语言的细枝末节中去,忽略了软件工程思想的渗透,到最后学生掌握了一些语法,却不能写出较为优美的程序或没有形成较好的程序设计思维和风格。算法是程序的灵魂,数据结构和算法在课程群中具有基础和核心地位[8]。在实际教学过程中,学生普遍反映数据结构和算法课程抽象难学,在学习和实际应用中出现的问题比较多,很难写出能正确运行的程序,学习过程中成就感不强,学完之后还是不知道如何应用,很难达到预期的效果。由于在前期的学习中,程序设计基础没有打牢,对常用的数据结构和算法没有真正掌握,模块化程序设计思维没有有效建立,良好的程序设计风格没有形成,导致后续的高级面向对象语言程序设计学习很难深入,最终导致软件分析与设计能力得不到有效的提升。

2程序设计课程群建设

我校软件工程专业采取校企合作办学模式,由吉首大学和中软国际共同建设,企业参与人才培养的全过程,在具体实施过程中,学校侧重于理论教学部分,企业侧重于实践教学部分[9]。程序设计课程群是软件工程专业课程体系的重要组成部分,企业参与讨论与建设,确定该课程群以软件设计能力培养为主线,以C语言程序设计、数据结构、面向对象技术、算法设计与分析几门课程为基础组建课程群,C语言程序设计开设在第一、二学期,数据结构、面向对象技术、算法设计与分析分别开设在第三、四、五学期,第六学期可开设JavaWeb程序设计或Asp.NetWeb程序设计,使课程群在能力构建和开设形式方面形成一个不间断的体系。

3程序设计课程群实施

3.1精讲课程主要内容,提高程序设计能力

课程组教师首先需要站在软件分析与设计的角度研究各门课程在课程群中的地位和作用,把课程群中的系列课程作为一个有机的整体,研究各门课程的主要教学内容,针对课程重点、难点、疑惑点进行精讲,做到理论与实践课并重,有效提高学生程序设计水平。在课程群系列课程中,由于第一门课程是后续系列课程的基础,所以学生必须掌握它。在C语言的教学中,要渗透软件分析与设计的思想,把握程序的主要框架,不纠缠于一些细枝末节的语法。函数是C语言教学中的重点,需要重点突破,从模块设计的角度来考虑函数设计,对于一个具体的函数,则要掌握函数的返回类型、参数类型以及参数个数。如用函数处理一个数组时,需要传递数组的首地址和数组的规模,首地址用指针表示,数组的规模则有两种表示方法,一是数组的长度,二是数组的起始下标和结束下标,这两种方式可能会分别应用到不同的地方,如果教师一直不提示第二种方法,则将来学生在写数组做参数的递归程序时可能会遇到困难。从多年的教学实践来看,如果学生真正掌握了函数设计方法,再加上必要的算法知识,一般情况下,程序设计就会变得得心应手而且十分有趣;对于数据结构课程,采取以数据存储(内存)为主线的方法,将重点放在数据的存储和相关算法方面,在算法实现时渗透模块化的思想,需注意头文件和实现文件的定义,因为数据结构内容具有很强的连贯性且程序的初始化工作较多,如链表的具体应用则先要建立链表、树的遍历和节点的查找等则先要建立树、图的遍历和最短路径及关键路径等则先要建立图,在实验过程中有意识地把一些基础工作放入头文件,则会极大地提高实验的效率;在面向对象技术教学中,以面向对象程序设计的方法为核心,以语言中的面向对象机制为主要内容,在适当的时候引入《ThinkinginC++》、《EffectiveC++》、《ThinkinginJa-va》等优秀书籍中的一些思想和经验,要注重面向对象程序设计过程中大的程序框架的合理性以及具体处理算法的正确性;在讲授算法设计与分析的时候,应集中精力将主要算法讲透,直到学生学懂为止,在实现算法时,应充分运用面向对象设计的思想,将算法封装在类中;在web程序设计教学中,采用案例驱动的方式,精讲软件项目设计中的主要方法和主要问题,培养学生工程化设计思想。精讲的目的是让学生多练,精讲之后要布置任务并为学生提供练习环境和相关指导,必须充分发挥教师主导和学生主体作用,教师要认真检查学生的作业、实验和练习情况,及时纠正问题,引导学生运用软件工程的思想设计程序,培养学生良好的程序设计思维和程序设计风格,激发学生自觉学习和实现相关算法,最终提高程序设计能力。

3.2大规模开展程序设计训练,培养程序设计能力

为培养学生算法设计与分析能力,学院在晚上和周末开放了实验室,在实验室搭建了ACM在线测评系统(ACMOnlineJudgeSystem),并接入了校园网,结合C程序设计、数据结构与算法等课程部署了大量习题。学院利用课余时间,有计划组织学生进入实验室进行编程训练,并为每次训练配备了指导教师。平时,学生也可以在寝室登录平台进行训练。教师在讲授C程序设计等课程的时候,要求学生利用课余时间在ACM平台上完成至少上百道题的训练,并将完成情况计入课程的平时成绩。通过大规模开展在线程序设计训练,学生的程序设计能力有了明显的提高。

3.3开展课程设计训练,培养工程化设计思想

在课程群中除开设理论课程对应的实验项目之外,还针对整门课程开设了综合性课程设计项目,如C语言课程设计、面向对象技术课程设计、javaweb课程设计,单个课程设计周期为1-4周。学院课程设计项目主要由企业教师指导完成,该类项目采用分组形式,在组内模拟软件企业运行模式设置相关岗位角色,学生在仿真企业环境中,利用仿真的软件开发项目,进行轮岗和角色体验,培养学生的软件工程应用能力、软件项目开发与测试能力、职业素质等,从而使学生熟悉软件项目开发流程和规范,养成良好的软件开发习惯。课程设计结束时,要求学生演示并讲解自己的项目开况,由学院教师和企业教师组成评定小组进行评分。

3.4改革考核与评价方式,理论与实践、平时与期末相结合

理论与实践相结合。程序设计课程群内的课程都是实践性很强的课程,其目的是运用所学的知识解决实际问题,决定了课程的期末考核要综合考虑理论和实践两部分内容。理论部分主要考查学生对基本概念的理解和对基本知识的掌握情况,实践部分侧重考查学生的综合应用能力,这两部分成绩都在期末完成,占课程总成绩的60%左右。平时与期末相结合。期末考核重在体现学习的结果,平时成绩则侧重于体现学习过程,在课程总成绩中,平时成绩占40%左右,即一门课程约有40分来自平时的学习过程。平时成绩一般由出勤、作业和平时实验情况、课程设计情况组成。在学期开始第一堂课的时候将课程评分方式告知每一个学生,必须抓紧平时的学习,若平时分小于20分,则取消课程考试资格或直接将课程总成绩记为不及格。

4结语

程序设计课程群对培养学生计算思维能力、算法设计与分析能力、系统分析与设计能力具有重要作用。本文分析了学生在课程群学习中遇到的一些问题,从软件分析与设计的角度对课程群进行建设与改革,提出了以C语言程序设计、数据结构、面向对象技术、算法设计与分析等几门课程为基础组建程序设计课程群,给出了课程群的主要知识与能力体系要求,通过精讲课程主要内容、大规模有组织地开展程序设计训练、企业教师指导课程设计、改革考核与评价方式等方法进行教学改革,学生的程序设计能力得了到较大的提高。

参考文献

[1]韦迎春,文俊浩,陈蜀宇.以能力培养为核心构建示范性软件学院实践教学体系[J].中国高等教育,2011(2):49-50.

[2]乔付,王国权,张凤武.CDIO理念下计算机程序设计课程群建设探索[J].内蒙古师范大学学报,2011,24(11):39-41.

[3]孙雷,王新.计算机专业程序设计课程群的研究与实践[J].教育教学论坛,2013(11):222-224.

[4]翁伟,吴克寿,吴芸,等.程序设计课程群建设探索与实践[J].计算机教育,2009(23):123-125.

[5]王海舜,蒋巍巍.基于程序设计能力培养的软件设计类课程群架构[J].计算机教育,2012(2):23-26.

[6]万臣,谢芳,胡泉.计算机专业程序设计课程群的建设与研究[J].合肥工业大学学报:社会科学版,2009,23(1):33-36.

[7]汪红兵,姚琳,武航星,等.C语言程序设计课程中的计算思维探析[J].中国大学教学,2014(9):59-62.

第8篇:程序设计的结构范文

关键词: C程序设计 运算符 预算顺序 算法 结构

一、引言

现在许多院校的计算机专业开设了C语言课程,将其作为学生学习程序设计技术的入门课程,这与C语言的特点是分不开的。C语言不但可以编写系统软件,而且可以根据用户的需要编写出满足用户要求的应用软件,尤其是C语言具有很好的对计算机的硬件编程能力。同时,C语言具有逻辑性强、处理问题周密、严谨的特点,是集知识和技能于一体,实践性很强的课程。学生通过学习C语言可掌握程序设计的一些基本方法和技巧。然而C语言的数据类型较多、表达式丰富、语法结构较复杂,是一门教师难教、学生难学的课程。

《C程序设计》的内容很丰富,按照我们现在的教学大纲,教学的主要内容是基础知识、四种结构的程序设计、函数与数组的应用和一些简单的算法。在学习时,同学们应该把主要精力放在这些部分,多进行练习和上机调试。当然,在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不要气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解了。学习C语言始终要记住“曙光在前头”和“千金难买回头看”。学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识。这是我们学生最不易做到的,然而却又是最重要的。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C语言知识。那么,我们到底该如何学好《C程序设计》呢?

二、奠定基础――了解、学好运算符和运算顺序

C语言的运算非常灵活,功能十分丰富,运算种类远多于其他程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单。但初学者往往会觉得这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来会得心应手,而有些可暂时放弃不理,等用到时再记不迟。对于运算符的优先级也是必须明确的。《C程序设计》运算符可分为15种优先级,从高到低,优先级为1―15,且除第2、3级和第14级为从右至左结合外,其他都是从左至右结合,它决定着同级运算符的运算顺序。这里就给大家介绍一个优先级口诀:

括号成员第一

全体单目第二

乘除余三、加减四

移位五、关系六

等于(与)不等排第七

位与异位和位或

“三分天下”八九十

逻辑或跟与

十二和十一

条件高于赋值

逗号运算级最低。[1]

下面我们来举个例子:

a=3;b=5;c=++a*b;d=a++*b;

对于c=++a*b来说,按表中所列顺序,++先执行,*后执行,所以++a执行后,a的值为4,由于++为前置运算,所以a的值4参与运算,C的值计算式为4*5=20而不是3*5=15了。而对于d=a++*b来说,由于a++为后置运算,所以a值为4参与运算,使得d的值仍为20,而a参与运算后其值加1,值为5。这个例子执行后,a的值为5,b的值为5,c的值为20,d的值也是20。

三、砌砖垒墙――了解、学好四种程序结构

(1)顺序结构

顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。例如:a=3,b=5,现交换a,b的值。这个问题就好像交换两个杯子的水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c=a;a=b;b=c;执行结果是a=5,b=c=3。

(2)分支结构

顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。学习分支结构不要被分支嵌套所迷惑,只要正确绘制出流程图,弄清各分支所要执行的功能,嵌套结构也就不难了。嵌套只不过是分支中又包括分支语句而已,不是新知识,只要对双分支的理解清楚,分支嵌套是不难的。那么就先来简单介绍一下二分支选择结构。C语言的if语句有两种基本形式,即独立的if结构和if-else结构。[2]其语法形式如下:

1)独立的if结构

if(表达式)

语句

2)if-else结构

if(表达式)

语句1

else

语句2

再来看一下分支嵌套的语法形式

if(表达式1)

if(表达式2)语句1

else语句2

else语句3

(3)循环结构

循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。C语言中提供四种循环,即goto循环、while循环、do-while循环和for循环。[3]四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,在学习中我们主要学习while、do...while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。对于它们的异同点,我们也应该了解,明确:用while和do...while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的;while循环和for循环都是先判断表达式,后执行循环体,而do...while循环是先执行循环体后判断表达式,也就是说do...while的循环体最少被执行一次,而while循环和for就可能一次都不执行。另外还要注意的是这三种循环都可以用break语句跳出循环,用continue语句结束本次循环,而goto语句与if构成的循环,是不能用break和continue语句进行控制的。[4]在这里介绍一下三种常见循环的一般格式:

1)while循环:

while(表达式)

循环体

2)do-while循环:

do

循环体

while(表达式)

3)for循环:

for(表达式1;表达式2;表达式3)

循环体语句(组)

(4)模块化程序结构

C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写。因此常说:C程序=主函数+子函数。因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。[5]

其实,顺序结构、分支结构和循环结构并不是彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,但是不管哪种结构,我们均可广义地把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成模块化结构。[6]

四、修饰――掌握一些简单的算法

所谓算法,就是解决某类问题的方法。确切地说,就是对某一类特定的问题,给出解决该问题的一系列(有穷的)操作,而每一操作都有其确切的意义,并在有限时间内可以计算出结果。一个算法有多少个输入量,它是问题给出的初始数据,经过算法的实现,它有一个或多个输出量,这就是算法对输入运算的结果,即问题的解答。《C程序设计》教学大纲,只要求我们掌握一些简单的算法,在掌握这些基本算法后,要完成对问题的分析就容易了。[7]如两个数的交换、三个数的比较、选择法排序和冒泡法排序,这就要求我们要清楚这些算法的内在含义,其中选择法排序和冒泡法排序稍难,但只要明白排序的具体过程,对代码的理解就不难了。如要将两个变量X、Y的值交换。

用自然语言描述如下:

步骤1,将X值存入中间变量Z中:XZ。

步骤2,将Y值存入变量X中:YX。

步骤3,将中间变量Z值存入Y中:ZY。

用伪代码可表示如下:

BEGIN

xz

yx

zy

END

当然还可以用流程图表示,这里就不列举了。

五、结语

在大学里,许多学C语言的人,都有着不同的目的。有的人是认真对待每一门所学的课程,包括C语言,有的人是对程序设计有着浓厚的兴趣,还有的人只是为了获得学分而学习C语言。这样,一部分人会觉得C语言容易学,一部分人又会觉得C语言难学,还有一部分人会觉得C语言容易学,但是不会编写程序。这样就导致了学习C语言效果的差异。其实,学习C语言并不是进行一种职业培训,而是一种综合思维的训练。我们应当正确认识什么是程序,并学会一种思考问题的方法,初步掌握用C语言来进行程序设计。

参考文献:

[1]田祥宏,荣政.C语言程序设计.西安电子科技大学出版社,2007.

[2]李丽娟.C程序设计基础教程.

[3]Stephen Prata著.云巅工作室译.C Primer Plus.

[4]Kenneth A.Reek著.徐波译.C和指针POINTERS ON C.

第9篇:程序设计的结构范文

关键词:计算机;系统程序设计;C语言

中图分类号:TP391.1

科技的进步给人们的生活带来了翻天覆地的变化,计算机系统应用程序的不断开发研究更是提高了人们的生活水平,人们对于计算机系统程序的要求也越来越越高。单一的平台基础已经不能满足人们对计算机程序的需求,计算机系统程序开发者面临越来越大的挑战。高性能的计算机系统已经成为衡量一个国家科学以及经济等综合实力的最重要的标志。

1 计算机系统程序设计的平台基础功能及特点阐述

计算机系统程序设计的平台基础通过抽象的图形,对计算机程序用户进行了隐藏,用户只需要通过环境的图形的界面完成一系列的活动,包括本地编辑以及远程提交等。平台基础对于计算机程序用户来说只需要完成图形、图标等形式的代码编辑,利用C语言进行计算机程序设计,主要是通过远程提交模块,实现与计算机进行交互。平台的特点主要有以下几点:首先,编程过程中不断追求精准,在进行计算机系统程序的设计过程中,应该具备层次式的设计思想,分为应用层、进程层、代码层三层,这三层是层层递进的关系,相互补充,共同对程序设计起作用。其次是抽象的图形和图标,计算机系统程序设计不论是从功能上,还是从逻辑关系上,都需要相互关联,例如在进程层利用的抽象的图标表现程序结构,从而设计程序。最后代码的自动生成,通过对以上三个层析进行的编辑以及代码的编写,自动产生C代码,此代码是在MPI的基础上生成的。

2 基于C语言基础的计算机系统程序设计特点

C语言是对应的计算机程序设计中的语言,它主要包含了有关的高级语言以及汇编语言的特点。以下阐述C语言的相关的特征信息:

首先,操作较为简单。因为C语言的操作较为简单,因此灵活性较强,它主要是由32个关键字以及9种控制语言组成,所以在进行计算机系统程序设计时,形式相对而言较为自由,并且能够区分大小写。C语言可以有效的将高级语言的基本结构和和对应的低级语言的使用性进行较为准确的结合。

其次,C语言的运算有三种运算符,设计范围较为广泛。C语言在对括号、赋值等在一定程度上的处理将其看做是运算符,进而丰富了C语言的运算类型,并不是与其他语言一般进行较为单一的运算类型,C语言的表达类型也因此表现得多样化。

最后,C语言的输入操作基本由标准库函数实现。在C语言中顺序、选择以及循环是其三种基本结构,还有9种控制语句,因此,在计算机系统程序设计中,除了学习9条控制语句和各种运算符之外,还要熟练应用常用的标准库函数。函数作为C语言设计的程序的基本单位,一般情况下,C语言程序的开始基本的是由main()函数开始,当其执行完毕,程序便执行完毕。目标代码生成后具有高质量,高效率的特征。与汇编语言相比,C语言的可移植性较强,对硬件可以直接操纵。

3 C语言的语法分析

假如一个对应的变量名称后面带着一个囊括特定数字括号,那么这个对应的声明便是的数组声明。而对于字符串来说,实际上也是一种数组,主要是以ASCII的NUL形成数组的方式退出,以下从两个方面分析语法:

第一是指针,它是指一个相应的变量声明时前面利用了*号,就说明这是一个指针变量,这一变量的对应一个的存储地址,但是*号便主要使用内容操作符,即是指会自动取该地址中的存储内容。在C语言中,指针是区别于其他高级语言的主要特征。因为指针这一因素不仅可以是相关变量的地址,还可以成为数组以及数组元素甚至是相应函数的地址。但是需要注意,指针在计算机系统程序设计中是一把双刃剑,带来益处的同时也存在弊端,在一般程序设计的操作中,通过指针可以很自然的表达,但是一旦没有正确或者过分的运用指针便会使得系统程序存在重大的安全隐患。

第二是字符串,在C语言中,字符串实际就是指CHAR型的数组,因此在使用字符串的时候不需要引用库。但是C语言的标准库实际上包含了一些对应的操作函数,表面上看他们是字符串而不是数组。在C语言中,程序的输入输出是经过标准库中的某一组函数实现的,这些操作函数被定义在头文件中。

4 计算机系统程序设计中的C语言结构分析

4.1 顺序结构的程序设计

相对来说,顺序结构的程序设计较为简单,只需要根据解决问题的顺序设计对应的语句,就可以完成系统程序设计,程序的执行顺序遵循从上至下的原则依次执行。例如假设A等于3,B等于5,那么在程序设计中,需要对A和B的数值进行交换,实际上可以将这个问题具体化,可以将他们看成是两个水杯中的水进行交换,但是还需要第三杯水C的加入,正确的程序执行方式应该是的C等于A,A等于B,B等于C,最终执行的结果便是A等于5,B等于C等于3。对于计算机系统程序设计的初学者来说,关联性的错误很容易犯,最为常见的顺序结构便是输入、计算,以及输出三个步骤。

4.2 选择结构的程序设计

选择结构的执行主要依据的是一定相关条件对应与相关路径的选择,对于此类系统程序设计来说主要运用于使用性较强的分支条件,以及分析程序的相应的流程。在选择相应的语句时,要选择不同的程序流程进行。拥有较强逻辑关系的以及在一定程度上需要相应条件的判断计算,比较适合运用选择结构,进行此类系统程序设计时,一般都需要先绘制程序的流程图,然后根据流程图写源程序。将程序设计与语言相互分开,将问题简单化,便于设计者理解。

4.3 循环结构的程序设计

循环结构主要用于减少源程序重复书写的工作量,主要是对循环往复执行某一段算法问题的描述,在程序设计中,此种方法的是最充分发挥计算机特长的程序结构。在C语言中,主要包含GOTO循环,WHILE循环,DOWHILE循环以及FOR循环四种形式的循环,此四类循环可以针对同一问题进行相应的处理,在正常情况下,这四种循环之间还可以进行一定的替换。C语言较为丰富,其中指针是其最为凸显的特征,这一特征充分体现了C语言的优越性。C++在C语言上进行了一定程度的改进,保留了指针的相关操作,并且加强了其安全性,受到用户的热烈追捧,Java语言是在C++上的改进,取消了指针操作,同时也改进了C++饱受争议的地方,无论是从适应性上还是的从安全性上,都取得了较为好的效果。那么无论是基于何种语言进行系统程序开发,C语言是最为基础以及最为重要的。

5 结语

随着经济的腾飞以及的科技水平的不断提高,计算机技术水平也在不断提高,21世纪,计算机技术显然成为了最热门的技术之一,它不仅促进了生产力的发展,也促进经济以前所未有的步伐增长。计算机系统程序的设计还在不断地推成出新,作为程序设计的基础平台之一的C语言也在不断的进行完善和发展,其本身具有较多的优点,因此被广发的应用。但是存在的不足也是显而易见的,但是随着科技的不断进步以及时代的不断发展,C语言肯定会不断的得到完善,给计算机系统程序设计带来意想不到的益处。

参考文献:

[1]陈斌.基于单片机的光电式叶片面积测量仪[D].西北农林科技大学,2010.

[2]罗莎.计算机中C语言的应用特点分析[J].计算机光盘软件与应用,2012,7.

[3]夏欢庆.C语言在计算机中的应用[J].电脑知识与技术,2011,8.

相关热门标签