zoukankan      html  css  js  c++  java
  • C语言程序设计1:从问题到c语言的程序设计

    程序设计面向的问题

    许多常见问题通过软件解决了。

    而比如打印九九乘法表、图形变换、文件压缩、求和问题、排序问题、数列问题等这种小问题,用程序解决。一切可计算问题都可以用程序解决

    程序设计的五个步骤

    • 确定问题可计算;
    • 建立问题的数学模型;
    • 设计算法和数据结构;
    • 选择合适的计算机语言编写程序;
    • 调试运行程序分析结果

    计算

    • 什么是计算

      从一个按规则组织的符号集合开始,再按照既定的规则一步步地改变这些符号集合,经过有限步骤之后得到一个确定的结果。

    • 可计算与不可计算

      输入参数和输出参数的对应关系是明确的

    • 计算复杂性

      从时间复杂度和空间复杂度两个方面度量

    算法

    • 什么是算法

      有穷规则的集合

    • 算法的特性

      - 有穷性:有限步骤
      - 确定性:含义确切
      - 有效性:有效执行
      - 有零个或多个输入
      - 有一个或多个输出
      
    • 算法描述方法

      - 自然语言
      - 程序语言
      - 流程图:顺序结构、条件结构、循环结构
      - N-S图
      - PAD图
      - 伪代码
      

    程序设计方法

    • 程序设计风格:

      - 正确性:正确实现功能
      - 易读性:易于阅读和理解、便于调试、修改和扩充
      - 健壮性:算法的对交互和环境的反应或处理能力。正确的输入有正确的结果,不正确的输入有相应的提示
      - 高效率:达到所需要的时空性能
      
    • 良好的设计风格应该是:

      - 源程序文档化:有意义的符号名如FindRoot;采用缩进格式...
      - 数据说明标准化:顺序;同类数据排序;对重要数据进行注释
      - 语句规范化:避免使用临时变量;尽量使用库函数;公共函数使用括号;避免二义性...
      - 输入输出格式化:格式简单;对输入数据要进行检验;对输入数据给出必要的提示;输入风格要一致;注释
      
    • 结构化程序设计的特征:

      - 模块化结构;
      - 以三种基本结构的组合来描述程序
      - 有限制地使用转移语句;
      - 每个结构只有一个入口,一个出口;
      - 采用结构化程序设计语言书写程序,并采用一定的书写格式使程序结构清晰,易于阅读;
      

    小结

    程序设计=数据结构+算法+方法

    算法=问题分解+算法表达+程序实现

    程序实现=语言+环境

  • 相关阅读:
    CSS网站变灰
    长列表优化之滚动替换数据方案小记
    JS把数组中相同元素组合成一个新的数组问题
    yahoo CSS reset
    IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows)
    KMP算法的JavaScript实现
    Android系统版本SDK_INT与版本对应关系
    利用jQuery的deferred异步按顺序加载JS文件
    Javascript图像处理之平滑处理
    IE调试网页之七:使用探查器工具分析代码性能 (Windows)
  • 原文地址:https://www.cnblogs.com/sanhuamao/p/13869372.html
Copyright © 2011-2022 走看看