标题：程序设计
步骤
（1）分析问题
对于接受的任务要进行认真的分析，研究所给定的条件，分析最后应达到的目标，找出解决问题的规律，选择解题的方法，完成实际问题。
（2）设计算法
即设计出解题的方法和具体步骤。
（3）编写程序
将算法翻译成计算机程序设计语言[1]，对源程序进行编辑、编译和连接。
（4）运行程序，分析结果
运行可执行程序，得到运行结果。能得到运行结果并不意味着程序正确，要对结果进行分析，看它是否合理。不合理要对程序进行调试，即通过上机发现和排除程序中的故障的过程。
（5）编写程序文档
许多程序是提供给别人使用的，如同正式的产品应当提供产品说明书一样，正式提供给用户使用的程序，必须向用户提供程序说明书。内容应包括：程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据，以及使用注意事项等[2]。
方法
一，面向过程的结构化程序设计
三种基本结构：顺序结构、选择结构、循环结构
原则：
1,自顶向下：指从问题的全局下手，把一个复杂的任务分解成血多易于控制和处理的子任务，子任务还可能做进一步分解，如此重复，直到每个子任务都容易解决为止。
2，逐步求精
3，模块化：指解决一个复杂问题是自顶向下逐层把软件系统划分成一个个较小的、相对独立但又相互关联的模块的过程。[3]
注意事项
1，使用顺序、选择、循环等有限的基本结构表示程序逻辑。
2，选用的控制结构只准许有一个入口和一个出口
3，程序与剧组称容易识别的块，每块只有一个入口和一个出口。
4，复杂结构应该用基本控制结构进行组合或嵌套来实现。
5，程序设计语言中没有的控制结构，可用一段等价的程序段模拟，但要求改程序段在整个系统中应前后一致。
6，严格控制GOTO语句。[3]
二，面向对象的程序设计
面向对象的基本概念
1，对象
2，类
3，封装
4，继承
5，消息
6，多态性[3]
优点
1，符合人们认识事物的规律
2，改善了程序的可读性
3，是人机交互更加贴近自然语言[3]
语言
(Programming Language)
是用于编写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中，这些记号串就是程序。程序设计语言包含三个方面，即语法、语义和语用。语法表示程序的结构或形式，亦即表示构成程序的各个记号之间的组合规则，但不涉及这些记号的特定含义，也不涉及使用者。语义表示程序的含义，亦即表示按照各种方法所表示的各个记号的特定含义，但也不涉及使用着，语用表示程序与使用的关系。语言分类程序设计语言的基本成分有：①数据成分，用于描述程序所涉及的数据；②运算成分，用以描述程序中所包含的运算；③控制成分，用以描述程序中所包含的控制；④传输成分，用以表达程序中数据的传输。
程序设计语言程序设计 程序设计语言 计算机 IT按照语言级别可以分为低级语言和高级语言。低级语言有机器语言和汇编语言。低级语言与特定的机器有关、功效高，但使用复杂、繁琐、费时、易出差错。机器语言是表示成数码形式的机器基本指令集，或者是操作码经过符号化的基本指令集。汇编语言是机器语言中地址部分符号化的结果，或进一步包括宏构造。高级语言的表示方法要比低级语言更接近于待解问题的表示方法，其特点是在一定程度上与具体机器无关，易学、易用、易维护。
程序设计语言按照用户的要求有过程式语言和非过程式语言之分。过程式语言的主要特征是，用户可以指明一列可顺序执行的运算，以表示相应的计算过程，如FORTRAN、COBOL、PASCAL等。
按照应用范围，有通用语言与专用语言之分。如FORTRAN、COLBAL、PASCAL、C语言等都是通用语言。目标单一的语言称为专用语言，如APT等。
按照使用方式，有交互式语言和非交互式语言之分。具有反映人机交互作用的语言成分的语言成为交互式语言，如BASIC等。不反映人机交互作用的语言称为非交互式语言，如FORTRAN、COBOL、ALGOL69、PASCAL、C语言等都是非交互式语言。
按照成分性质，有顺序语言、并发语言和分布语言之分。只含顺序成分的语言称为顺序语言，如FORTRAN、C语言等。含有并发成分的语言称为并发语言，如PASCAL、Modula和Ada等。
程序设计语言是软件的重要方面，其发展趋势是模块化、简明化、形式化、并行化和可视化。
程序设计语言还分为面向对象和面向过程，面向对象的例如：C++/C#/Delphi……面向过程的例如：Free Pascal/C语言……常见语言AAuto
ActionScript
APL、
A+
B语言
J语言
Ada
汇编语言
AWK
Basic
Fortran
VBScript
Brainfuck
C语言
C++
C#
Clipper
COBOL
dBase
易语言
PASCAL
Delphi
Forth
FoxPro
F#
Fava
IDL
Java
JavaScript
J#
LISP
Lua
LOGO
Modula
Nuva
Perl
PHP
PL/I
Prolog
Python
R语言
Ruby
Scheme
Smalltalk
IceMaker
SQL
Tcl/Tk
Visual Basic
Visual FoxPro
XML
分类
按照结构性质，有结构化程序设计与非结构化程序设计之分。前者是指具有结构性的程序设计方法与过程。它具有由基本结构构成复杂结构的层次性，后者反之。按照用户的要求，有过程式程序设计与非过程式程序设计之分。前者是指使用过程式程序设计语言的程序设计，后者指非过程式程序设计语言的程序设计。按照程序设计的成分性质，有顺序程序设计、并发程序设计、并行程序设计、分布式程序设计之分。按照程序设计风格，有逻辑式程序设计、函数式程序设计、对象式程序设计之分。
规范
程序设计的基本概念有程序、数据、子程序、子例程、协同例程、模块以及顺序性、并发性、并行性、和分布性等。程序是程序设计中最为基本的概念，子程序和协同例程都是为了便于进行程序设计而建立的程序设计基本单位，顺序性、并发性、并行性和分布性反映程序的内在特性。 程序设计规范是进行程序设计的具体规定。程序设计是软件开发工作的重要部分，而软件开发是工程性的工作，所以要有规范。语言影响程序设计的功效以及软件的可靠性、易读性和易维护性。专用程序为软件人员提供合适的环境，便于进行程序设计工作。
程序设计=数据结构+算法
程序设计(Programming)是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。由于程序是软件的本体，软件的质量主要通过程序的质量来体现，在软件研究中，程序设计的工作非常重要，内容涉及到有关的基本概念、工具、方法以及方法学等。程序设计通常分为问题建摸，算法设计，编写代码，编译调试和整理并写出文档资料五个阶段。
按照结构性质，有结构化程序设计与非结构化程序设计之分。前者是指具有结构性的程序设计方法与过程。它具有由基本结构构成复杂结构的层次性，后者反之。按照用户的要求，有过程式程序设计与非过程式程序设计之分。前者是指使用过程式程序设计语言的程序设计，后者指非过程式程序设计语言的程序设计。按照程序设计的成分性质，有顺序程序设计、并发程序设计、并行程序设计、分布式程序设计之分。按照程序设计风格，有逻辑式程序设计、函数式程序设计、对象式程序设计之分。
程序设计的基本概念有程序、数据、子程序、子例程、协同例程、模块以及顺序性、并发性、并行性、和分布性等。程序是程序设计中最为基本的概念，子程序和协同例程都是为了便于进行程序设计而建立的程序设计基本单位，顺序性、并发性、并行性和分布性反映程序的内在特性。
程序设计规范是进行程序设计的具体规定。程序设计是软件开发工作的重要部分，而软件开发是工程性的工作，所以要有规范。语言影响程序设计的功效以及软件的可靠性、易读性和易维护性。专用程序为软件人员提供合适的环境，便于进行程序设计工作。