自顶向下,逐步求精

“自顶向下,逐步求精”方法简要介绍 什么是自顶向下,逐步求精 “自顶向下, 逐步求精”是结构化程序设计常见的思路。 “自顶向下”是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。 “逐步求精” 是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。 总的来说,就是采用模块分解与功 阅读详情

自顶向下:将复杂的、大的问题划分为小的问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。 (分而治之)
  
逐步求精:将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象化(精化)处理,最后到求解域中只是比较简单的编程问题。(也就是复杂问题简单化)

优势:能够将复杂问题逐步简单化,使得一个复杂问题的解决方案更加清晰。

举个栗子·~·
这是一个输出螺旋数组的代码

#include<stdio.h>
int main() {
    static int i=0,j=0;
    int count=1;
    int max,min=0;
    int MAX;
    int a[100][100]={0};
    scanf( "%d", &max);
    MAX = max;
    if(max%2!=0) a[(max-1)/2][(max-1)/2] = max*max;
    for( max=max-1; max>0; max-=1,min+=1 ) {
        for(; j<max; j++ ) {
            a[i][j] = count;
            count++;
        }
        for(; i<max; i++ ) {
            a[i][j] = count;
            count++;
        }
        for(; j>min; j-- ) {
            a[i][j] = count;
            count++;
        }
        for(; i>min; i-- ) {
            a[i][j] = count;
            count++;
        }
        i++;j++;
        if(a[i][j]) break;
    }

    for( i=0; i<MAX; i++ ) {
        for( j=0; j<MAX; j++ ) {
            printf( "%d", a[i][j]);
            if(j<MAX-1) printf(" ");
        }
        printf( "\n" );
    }
    return 0;
} 

这里写图片描述

打印螺旋数组——>填充数组——>四个方向——> 中心的最后一个数
| | |
| ——>确定坐标 |——>每次填充完一圈将边界缩小
——>打印数组 |
——>行列奇偶

简述“自顶向下,逐步求精”的方法 结构化程序设计支持“自顶向下, 逐步求精”的程序设计方法。什么叫作“自顶向下,逐步求精”呢?“自顶向下” 将复杂的大问题分解为相对简单的小问题,找出每个问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。其核心本质是”分解”。 “逐步求精” 将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化,到最 阅读详情

相关推荐

“自顶向下,逐步求精”的方法

1.什么叫做“自顶向下,逐步求精”? 目前软件开发方法使用最广泛的,当属结构化的方法和面向对象的方法。而其中,结构化程序设计支持“自顶向下, 逐步求精”的程序设计方法。 “自顶向下”的具体内涵是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。而“逐步求精”的具体内涵是是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为

wenhlin的博客 8571

逐步求精

转过来的:http://www.moon-soft.com/program/bbs/readelite8947.htm   主题:我们需要逐步求精及其必然性发信人: martinliu()整理人: majorsun(2000-03-08 19:19:06), 站内信件    今天到偶然到网易逛逛,看见大家在

fuzb的专栏 1254

自顶向下,逐步求精的程序设计方法。

自顶向下,逐步求精的程序设计方法。“自顶向下” 是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。“逐步求精” 是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。若想让计算机解题必须用清晰而无两义性的方式给它提供算法。要求: 1 .

MADAYEI的博客 3226

自顶向下 逐步求精

过程:自顶向下:将复杂问题逐层分解为若干个更简单的子问题。复杂问题——>较简单的子问题——>更简单的子问题——>。。。。(继续拆分)逐步求精:将现实中的问题逐步求精变化为能够以一定算法或者组合解决的问题。现实问题——>。。。。——>能以算法或组合解决的问题详细说来,“自顶向下,逐步求精”就是从问题的整体(最顶层)出发,将问题分解成独立而互不交叉的若干子问题,每个子问题解决问题的一部分或一种情况。然后

Excef的博客 1258

程序设计中自顶向下,逐步求精的方法

自顶向下设计自顶向下设计, 一种逐步求精的设计程序的过程和方法。对要完成的任务进行分解,先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。这样逐层、逐个地进行定义、设计、编程和测试,直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。 自顶向下逐步求精的应用简单的说, 自顶向下就是将复杂的,大的问题是将复杂、大的问题划分为小问题

akanine的博客 1922

“自顶向下,逐步求精”思想方法的介绍

有时,我们需要编写一个功能复杂的大程序。没有头绪?无从下手?那是因为你没有采用“自顶向下,逐步求精”的思想方法。

WillKen的博客 1164

自顶向下 逐步求精

一个让计算机处理问题的程序应该怎么写呢?处理一个问题的时候我们应该把问题分解,所以我们需要把一个问题一步步分解它. 一个超级大问题 > 大问题 > 问题 > 小问题 > 不是问题的问题. 一个程序员学会把问题简单化是非常重要的,超大问题大问题小问题超小问题,知道用一个简单的办法解决问题.这就是我们所说的: 自顶而下,逐步求精,采用自顶向下、逐步求精方法构造程序有如下优点: 1. 程序的层次分明、结构

EstebanLinOu的博客 890

"自顶向下,逐步求精" ——程序结构化设计方法

“自顶向下”   是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。 “逐步求精”   是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。   “自顶向下、逐步求精”的程序设计技术是目前较为时髦的(当然也是较为合

White3zz的博客 3188

自顶向下、逐步求精

自顶向下、逐步求精自顶向下、逐步求精是计算机编程里面常用的思路 自顶向下将大问题分解为各个小问题,再逐步求解逐步求精对于每个问题逐次细化,不断完善例子就如对一个洗衣机程序 先将他的洗衣这个大问题分为多个小问题: 选择 洗衣模式 输入 水位、时间 注水至预设水位 浸泡预设时间 漂洗预设时间 每个周期 电机转动左三秒、右三秒 排水至水位为0 脱水 电机快速转动

Cynosure^ 577

告别简陋行情!在Ubuntu24.04系统用Wine9.0跑同花顺远航版的全流程记录

本文详细记录了在Ubuntu 24.04系统上,通过Wine 9.0兼容层成功安装并流畅运行同花顺远航版的全过程。文章对比了该方案与官方简陋Linux原生版本的功能差异,重点解决了高分辨率屏幕下的字体与界面显示问题,并提供了关键配置调优与长期维护建议,为Linux用户提供了功能完备的专业金融行情解决方案。

weixin_29207533的博客 1074

基于WEB的报价管理系统的设计与实现

该系统采用B/S模式,后台运用SpringMVC和MyBatis搭建,利用MySQL数据库,来组织存储和管理数据,使用tomcat服务器向外提供服务。使用该系统对外有利于提高企业的综合竞争力,对内有利于提高成本管理和控制的水平,简化了报价流程、提高了工作效率、精简了报价机构,降低了成本。研究和掌握必要的信息采集和数据查询技术,是各个企业,事业单位信息化的一个重要标志。当前大多数企业采取的报价方式仍然是用EXCEL表格和人工的方式,这不仅不利于大量数据的总结,更不利于对销售利润的控制。

m0_60918862的博客 999

对 “自顶向下 逐步求精” 的理解

最近看知乎某答主提到“自顶向下,逐步求精”的思想,很受启发,在这里写下自己的理解和感悟吧。 什么是“自顶向下,逐步求精”? 自顶向下 把问题分解成一套子问题,然后把子问题分解成更小的问题。这一过程将一直持续到每个子问题足够基础,不再需要进一步分解为止。 逐步求精 将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能...

每天都要学Python的博客 1351

最小路径和——动态规划求解(Java实现)

最小路径和——动态规划求解(Java实现) 题目: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小。 这题和机器人走路的思路类似,就是状态方程有所不同,...

weixin_43395911的博客 894

模块化程序设计之自顶向下、逐步求精

模块化程序设计之自顶向下、逐步求精

hkiller1999的博客 6936

从梯度泄露到数据复原:DLG与iDLG算法实战解析

本文深入解析了DLG与iDLG算法在梯度泄露与数据复原中的实战应用,揭示了联邦学习中的隐私风险。通过详细代码示例和实验数据,展示了如何从梯度中复原原始训练数据,并探讨了梯度压缩、差分隐私等防御措施。文章特别强调了iDLG算法在标签破解中的高效性,为AI安全领域提供了重要参考。

weixin_30552811的博客 191

为什么你的SSE连接总断?深入对比EventSource与fetch-event-source的5大差异点

本文深入对比了原生EventSource与@microsoft/fetch-event-source库在SSE连接稳定性上的五大关键差异。重点剖析了后者在请求能力、连接控制、错误处理、数据解析及性能优化方面的优势,特别是其支持POST请求、自定义Header、精细化的重连策略与生命周期管理,为解决生产环境中SSE连接频繁断开的问题提供了专业方案。

weixin_28077113的博客 494

自顶向下、逐步求精的算法设计

采用自顶向下、逐步求精的方法来解决班级平均成绩的问题。这种方法对于开发结构良好的程序是必要的,自顶(top)顶指的是一条描述程序总体功能的伪代码语句:                 确定测验中的班级平均成绩 顶是一个程序有效的完整的描述。但是顶很少能将编写一个Java程序所需的细节充分地表达出来。因此,我们现在开始求精过程。先将顶划分成一系列的更小的任务,并将它们按照执行的先后顺序列出来。第

u013019004的博客 1597

开发simulink 以及stm32半物理仿真碰到的问题,以及处理方法,Error:External Mode Open Protocol Connect command failed(实测有用)

串口实现的,但是在测试的时候发现,这个串口可以正常发送和接收数据,但是一旦把这个串口只让其进行版物理仿真就报错。直接刷写程序是可以的,最后查到问题了。我要实现半物理仿真,就是通过matlab实现可以直接控制stm32板子,实际上是通过xcp on。然后点击simulink上的观测按钮就可以直接和stm32平台进行通讯了。3,还是使用串口3,但是重新需要设置一下com口,因为重新插拔了一下,按照这个设置方法就可以。2,重新加载ioc文件。

pvmsmfchcs的博客 1499
上一篇: Construct新手体会2
下一篇: IT行业的伦理与道德
Tifinity
博客等级 码龄9年 18粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值