深入“自自顶向下,逐步求精”——面向过程程序设计方法

2023-10-29

文章转自:http://blog.csdn.net/sxhelijian/article/details/7303605
程序设计初学者常常受困于不会想问题:“不知道让计算机解决这个问题该如何做”。其实,程序员的一个基本功是,能够将复杂的问题分解开来。学会分解任务,因超级大分为大的、中的、小的、超小的,直到能用很直接的方法解决。记住一个很管用的策略:自项向下,逐步求精。不管做何事,都拿这个策略套一套,程序能编好,其他事也都能做。
  本讲的主要目标在于:
  (1)让你建立“自顶向下,逐步求精”的思维方式,你的大脑先能“机械化”,为指挥计算机“一步一步”地完成任务打下基础;
  (2)让循环的概念在头脑中扎根:在顺序、选择、循环三种控制结构中,循环是最复杂的(只要你掌握了,也就不复杂,而成为一种自然的思维方式了),也是解决问题的最有效的结构,我们就先在此力求先期得到体会。
  (3)C++程序的基本单位是函数,用函数解决更小的问题,这是求精实现的途径。
  【例1】求1+2+3+…+100
  解题思路为:
设:和用sum表示,循环100次,第i次循环将i累加到sum
sum初值为0;
i初始为1,每循环一次增加1,直到100
伪代码,数据流程图 N-S图

4,自顶向下设计,当前focus层业务需明确,其他层相当于一个黑匣子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深入“自自顶向下,逐步求精”——面向过程程序设计方法 的相关文章

  • 计算机组成原理(1)-软件设计(二十二)

    程序设计语言 软件设计 二十一 https blog csdn net ke1ying article details 129344983 计算机组成原理在软件设计考试分值占比较高 主要会考 1 数据的表示 数据进制转化 日常生活中使用的都
  • 真题详解(有向图)-软件设计(六十二)

    真题详解 极限编程 软件设计 六十一 https blog csdn net ke1ying article details 130435971 CMM指软件成熟度模型 一般1级成熟度最低 5级成熟度最高 采用更高级的CMM模型可以提高软件
  • 软件设计 基础篇(二) 交互设计

    软件设计 基础篇 系列文章目录 软件设计 基础篇 二 交互设计 文章目录 软件设计 基础篇 系列文章目录 1 软件设计 1 1 设计简介 1 2 设计基础 2 交互设计 2 1 交互概述 2 2 交互起源 总结 1 软件设计 软件设计是从软
  • 阿里云中搭建FTP服务器

    在阿里云中搭建ftp服务器一定要记得在云平台配置防火墙的端口
  • 23种设计模式之策略模式

    文章目录 概览 策略模式的优缺点 策略模式的应用场景 策略模式的结构与实现 模式的结构 模式的实现 策略模式的扩展 总结 概览 策略模式定义了一系列算法 并将每个算法封装起来 使他们可以相互替换 且算法的变化不会影响到使用算法的客户 需要设
  • 二叉树、队列、栈、广义表(二)数据结构与算法(十八)

    数据结构与算法 一 软件设计 十七 https blog csdn net ke1ying article details 129220378 线性表 队列与栈 队列 先进先出 栈 先进后出 循环队列 队投和队尾连接起来 队空的条件 Hea
  • 真题详解(有限自动机)-软件设计(七十七)

    确定有限自动机 和 不确定有限自动机 解析 M1的A当0的时候 会变成A 也可能变成B 所以M1是不确定有限自动机 M2的A1的时候只会使A 0的时候只会是B B的0只会是B 1的时候只会是C C0的时候只会是B 1的时候只会是A 所以M2
  • 基于QT开发的截图工具

    概述 这是一个使用QT设计的截图工具 目前效果图 历程 意动 现在网上免费的截图工具很多 最近用了一款很不错的 叫Snipaste 这个软件就是基于QT开发的 不过并没有开源 软件设计的很好用 界面也很清新 于是我也想自己尝试这设计一个这样
  • 软件系统概要设计的三大要素

    概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程 其结果往往以反映交互控件布置 界面元素分组以及界面整体板式的页面框架图的形式来呈现 这是一个在用户研究和设计之间架起桥梁 使用户研究和设计无缝结合 将对用户目标与
  • 设计模式(十五)-面向对象概念

    软件设计 十五 UML建模 下 https blog csdn net ke1ying article details 129152487 一 设计原则 1 单一职责 设计目的单一的类 2 开放 封闭原则 对扩展开放 对修改关闭 3 里氏替
  • 系统开发(上)-软件设计(三十二)

    信息系统安全 对称加密 软件设计 三十一 https blog csdn net ke1ying article details 129678350 瀑布模型SDLC 是结构化的开发 步奏 软件计划 gt 需求分析 gt 软件设计 gt 程
  • 真题详解(Flynn分类)-软件设计(四十六)

    真题详解 计算机总线 软件设计 四十五 https blog csdn net ke1ying article details 130046829 Flynn分类将计算机分为四类 单指令流单数据流机器 SISD 早期的机器 在某个时钟周期
  • 从分层架构到微服务架构(五)之服务化架构

    从分层架构到微服务架构 是一系列介绍 Fundamentals of Software Architecture 中提到的8种架构模式的文章 这里不会事无巨细地介绍所有的细节 而是会挑选其中关键内容 更多详情请阅读原书 往期精彩 从分层架构
  • 真题详解(语法分析输入记号流)-软件设计(八十)

    真题详解 求叶子结点数 软件设计 七十九 https blog csdn net ke1ying article details 130787349 spm 1001 2014 3001 5501 极限编程XP最佳实践 测试先行 按日甚至按
  • 真题详解(数字签名算法)-软件设计(七十八)

    真题详解 有限自动机 软件设计 七十七 https blog csdn net ke1ying article details 130748759 可用于数字签名算法的是 答案 非对称RSA 移植性 易安装 易替换 适应性 UML状态图转换
  • 计算机组成原理(海明码效验)(3)-软件设计(二十四)

    计算机组成原理 2 软件设计 二十三 https blog csdn net ke1ying article details 129394115 一 总线 分为 内部总线 系统总线 外部总线 内部总线 指芯片级别的总线 连接各个芯片 系统总
  • 真题详解(UML图)-软件设计(四十七)

    真题详解 Flynn分类 软件设计 四十六 https blog csdn net ke1ying article details 130072198 某搜索引擎在使用过程中 若要增加接受语音输入的功能 使用户可以通过语音来进行搜索 此时对
  • 多媒体(视频容量计算)-软件设计(四十二)

    真题详解 有向图 软件设计 四十一 https blog csdn net ke1ying article details 129942490 一 音频概念 声音带宽 人耳 20Hz 20KHz 说话300 3400Hz 小于20Hz次声波
  • STM32单片机开发-01 STM32介绍

    通过野火开发板学习单片机 1 STM32介绍 1 1 STM32分类 从内核上分有Cortex M0 M3 M4 和M7 F1 代表了基础型 基于Cortex M3 内核 主频为72MHZ F4 代表了高性能 基于Cortex M4 内核
  • 真题详解(传引用)-软件设计(七十五)

    真题详解 补码转换 软件设计 七十四 https blog csdn net ke1ying article details 130674214 分治算法技术设计 答案 1 问题划分 2 递归求解 3 合并解 虚拟存储体系 两级构成 解析

随机推荐

  • PeopleSoft PeopleTools Meta-Tables

    This is an attempt to list PeopleSoft meta tables along with some kind of description for every table The list will be b
  • 手把手教你使用vue2搭建微前端micro-app

    简述 本文主要讲述新手小白怎么搭建micro app 几乎是每一步都有截图说明 上手应该很简单 研究背景 这段时间在网上找了很多有关微前端相关的知识 起初本来是想着先搭建一个single spa 但是奈何网上能找到的内容都是千篇一律 我也是
  • 时钟芯片DS1302的原理及使用

    一 描述 DS1302时钟芯片是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片 它可以对年 月 日 周 时 分 秒进行计时 且具有闰年补偿等多种功能 DS1302芯片包含一个用于存储实时时钟 日历的 31 字节的静态
  • Installing with get-pip.py

    本文转载至 https pip readthedocs io en stable installing 由于 Mac OS X 下默认没有安装 pip 可以使用如上的脚本来安装 pip 安装方法很简单 1 下载 get pip py htt
  • libtorch编译C++版本

    libtorch编译C 版本 一 下载pytorch源码 git clone https github com pytorch pytorch git cd pytorch git submodule sync git submodule
  • 如何配置Kubernetes仪表板dashboard支持http方式并使用ingress-nginx代理访问实践

    公众号关注 WeiyiGeek 设为 特别关注 每天带你玩转网络安全运维 应用开发 物联网IOT学习 本章目录 配置 Kubernetes dashboard 以支持 http 方式访问 原文地址 https blog weiyigeek
  • centos6、centos7 脚本管理rsync服务状态

    1 环境准备 centos6 虚拟机 centos7 虚拟机 2 centos6 编写脚本 分析脚本管理的逻辑 centos6中管理 服务的脚本都是在 etc init d 目录下的 我们要在此目录下创建一个管理的脚本 centos系统是通
  • kafka配置之service.properties文件

    Server Basics 唯一标识一个broker broker id 1 Socket Server Settings 绑定服务监听的地址和端口 要填写hostname i 出来的地址 否则可能会绑定到127 0 0 1 produce
  • SQL-labs的第32关——union联合查询攻击 宽字节注入(Get)

    绕过向危险字符添加斜杠的自定义筛选器 注意只要出现危险字符就会自动添加斜杆 这里的危险字符只有单引号 所以只要写了单引号 就要干扰斜杠 1 判断闭合方式 输入语句 id 1 返回页面如下 按理来说 它这次是无法正常返回内容的 但是它正常返回
  • 全面解析Web3社交:深层次的链上社交将成为可能

    Web3是什么 Web3是一个没有既定定义的总括性术语 这个词包含了由社区和用户所有权驱动的去中心化的想法和愿景 Him Gajria写的一篇关于Web3 0的文章说得很好 Web1是只读的 网络托管内容 人们可以消费内容 但不能分享 We
  • matlab高代求商与余式,matlab求商取余remmod区别

    当除数和被除数同为正时 gt gt rem 10 91 ans 10 gt gt mod 10 91 ans 10 当除数和被除数同为负时 gt gt rem 10 91 ans 10 gt gt mod 10 91 ans 10 当除数和
  • 数字一阶低通滤波器立体解析

    一阶惯性环节 一个独立储能元件和一个耗能元件的组合 就可以构成一个惯性环节 下图就是一个常见的电路 一阶滤波电路 也可以叫一阶惯性环节 为什么叫一阶惯性环节呢 是因为当输入信号发生突变的时候 输出信号不能突变 只能按照指数规律逐渐变化 是不
  • react基础05--react-router 路由

    react基础05 react router 路由 1 介绍 2 方法 案例 react router 路由的基本使用 路由传参 Switch 路由匹配 嵌套路由 3 注意事项 4 说明 1 介绍 react基础04 redux 管理数据
  • jQuery实现各种轮播图

    目录 无限循环滚动 百叶窗 轮播一 轮播二 轮播三 无限循环滚动 margin 0 padding 0 div width 1120px height 300px border 1px solid 000 margin 100px auto
  • 推荐5个非常强大的ChatGPT浏览器插件|你的生产力提高工具

    近期 ChatGPT变得越来越热门 为此 许多浏览器插件也随之问世 这些基于ChatGPT的浏览器插件大大提高了ChatGPT的能力 使得我们能够更高效地在平时的上网 工作和学习中获得帮助 从而节省了大量时间 今天我来给大家介绍几款非常好用
  • .asp中.cs文件路径在哪_ASP.NET实战007:MVC解决跨域请求问题详解

    前面刚说到Vue实战057 前端解决跨域问题详解 今天顺便把ASP NET MVC的跨域解决方案也分享下 什么是跨域问题这里就不在复述了 前面已经解释了很多次了 需要了解的可以参考Vue实战057 前端解决跨域问题详解 这里主要说下在ASP
  • 史上最强多线程面试47题(含答案),建议收藏

    点击上方 Java之间 选择 置顶或者星标 你关注的就是我关心的 来源 java互联网架构 上一篇 天天吹微服务 单体应用有啥不好 金九银十快到了 即将进入找工作的高峰期 最新整理的最全多线程并发面试47题和答案总结 希望对想进BAT的同学
  • windows下docker的安装

    1 打开官网 https www docker com products docker desktop 看了一下官网这个页面是有些变化的 但是只要你认识windows这个单词 基本上下个windows版本的docker安装包是没问题的 2
  • ruoyi框架解决单个账户并发登录,限制多个浏览器或同一浏览器登录同个一账号

    ruoyi框架解决单个账户并发登录 限制多个浏览器或同一浏览器登录同个一账号 今天突然要解决限制一个账号多个浏览器登录问题 系统用的是若依框架 实现思路如下 application yml配置 这里在配置文件里面设置是否限制 如果以后不需要
  • 深入“自自顶向下,逐步求精”——面向过程程序设计方法

    文章转自 http blog csdn net sxhelijian article details 7303605 程序设计初学者常常受困于不会想问题 不知道让计算机解决这个问题该如何做 其实 程序员的一个基本功是 能够将复杂的问题分解开